w_email_view.srw 195 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598
  1. $PBExportHeader$w_email_view.srw
  2. forward
  3. global type w_email_view from w_publ_base
  4. end type
  5. type cb_rev from uo_imflatbutton within w_email_view
  6. end type
  7. type cb_send from uo_imflatbutton within w_email_view
  8. end type
  9. type cb_write from uo_imflatbutton within w_email_view
  10. end type
  11. type cb_back from uo_imflatbutton within w_email_view
  12. end type
  13. type lv_fj from uo_email_lv within w_email_view
  14. end type
  15. type dw_mail from u_dw_rbtnfilter within w_email_view
  16. end type
  17. type dw_rep from u_dw_rbtnfilter within w_email_view
  18. end type
  19. type dw_fj from u_dw_rbtnfilter within w_email_view
  20. end type
  21. type cb_sendother from uo_imflatbutton within w_email_view
  22. end type
  23. type cb_del from uo_imflatbutton within w_email_view
  24. end type
  25. type cb_rep from uo_imflatbutton within w_email_view
  26. end type
  27. type cb_fresh from uo_imflatbutton within w_email_view
  28. end type
  29. type lb_1 from listbox within w_email_view
  30. end type
  31. type cb_help from uo_imflatbutton within w_email_view
  32. end type
  33. type p_resize from picture within w_email_view
  34. end type
  35. type p_resize1 from picture within w_email_view
  36. end type
  37. type ln_bar from line within w_email_view
  38. end type
  39. type ln_bar2 from line within w_email_view
  40. end type
  41. type r_bar from rectangle within w_email_view
  42. end type
  43. type tv_1 from treeview within w_email_view
  44. end type
  45. type sp_v1 from u_lbs_stsplitbar within w_email_view
  46. end type
  47. type sp_h1 from u_lbs_stsplitbar within w_email_view
  48. end type
  49. type ole_1 from olecustomcontrol within w_email_view
  50. end type
  51. type st_3 from statictext within w_email_view
  52. end type
  53. type em_1 from editmask within w_email_view
  54. end type
  55. type pb_em1 from picturebutton within w_email_view
  56. end type
  57. type st_4 from statictext within w_email_view
  58. end type
  59. type em_2 from editmask within w_email_view
  60. end type
  61. type pb_em2 from picturebutton within w_email_view
  62. end type
  63. type pb_2 from picturebutton within w_email_view
  64. end type
  65. type p_1 from picture within w_email_view
  66. end type
  67. type st_refresh from statictext within w_email_view
  68. end type
  69. type dw_user from u_dw_rbtnfilter within w_email_view
  70. end type
  71. type dw_list from u_dw_rbtnfilter within w_email_view
  72. end type
  73. type cb_1 from uo_imflatbutton within w_email_view
  74. end type
  75. type st_del from uo_text_m_main within w_email_view
  76. end type
  77. type p_del from picture within w_email_view
  78. end type
  79. type cbx_showmeredeal from checkbox within w_email_view
  80. end type
  81. type cb_viewbill from commandbutton within w_email_view
  82. end type
  83. type cb_view_his from commandbutton within w_email_view
  84. end type
  85. type sle_find from singlelineedit within w_email_view
  86. end type
  87. type cb_find from uo_imflatbutton within w_email_view
  88. end type
  89. type ddlb_1 from dropdownlistbox within w_email_view
  90. end type
  91. type em_3 from editmask within w_email_view
  92. end type
  93. end forward
  94. global type w_email_view from w_publ_base
  95. integer y = 388
  96. integer width = 5321
  97. integer height = 2381
  98. string title = "消息管理"
  99. boolean maxbox = true
  100. windowstate windowstate = maximized!
  101. event ue_revall ( )
  102. event ue_revcur ( )
  103. event ue_sendall ( )
  104. event ue_sendcur ( )
  105. event ue_open_fj ( )
  106. event ue_emailset ( )
  107. event ue_rev_email ( )
  108. event ue_retr_all ( )
  109. event ue_retr_cur ( )
  110. event ue_1 ( )
  111. event ue_reply ( )
  112. event ue_sendother ( )
  113. event ue_del ( )
  114. event ue_send ( )
  115. event ue_saveas ( )
  116. event ue_import_eml ( )
  117. event ue_msg_retr ( )
  118. event ue_msg_back ( )
  119. event ue_msg_del ( )
  120. event ue_msg_his ( )
  121. event ue_msg_view1 ( )
  122. event ue_msg_view2 ( )
  123. event ue_date1 ( )
  124. event ue_date2 ( )
  125. event ue_date3 ( )
  126. event ue_msg_send ( )
  127. event ue_emailset_property ( )
  128. event ue_export_eml ( )
  129. event ue_newlebox ( )
  130. event ue_renamebox ( )
  131. event ue_delbox ( )
  132. event ue_newbox ( )
  133. event ue_set_signature ( )
  134. event ue_revlemsg ( )
  135. event ue_afteropen ( )
  136. event ue_viewbill_msg ( )
  137. event ue_move_eml ( )
  138. event ue_set_cust ( )
  139. event ue_set_email_move ( )
  140. event ue_autorev ( )
  141. event ue_rep_group ( )
  142. cb_rev cb_rev
  143. cb_send cb_send
  144. cb_write cb_write
  145. cb_back cb_back
  146. lv_fj lv_fj
  147. dw_mail dw_mail
  148. dw_rep dw_rep
  149. dw_fj dw_fj
  150. cb_sendother cb_sendother
  151. cb_del cb_del
  152. cb_rep cb_rep
  153. cb_fresh cb_fresh
  154. lb_1 lb_1
  155. cb_help cb_help
  156. p_resize p_resize
  157. p_resize1 p_resize1
  158. ln_bar ln_bar
  159. ln_bar2 ln_bar2
  160. r_bar r_bar
  161. tv_1 tv_1
  162. sp_v1 sp_v1
  163. sp_h1 sp_h1
  164. ole_1 ole_1
  165. st_3 st_3
  166. em_1 em_1
  167. pb_em1 pb_em1
  168. st_4 st_4
  169. em_2 em_2
  170. pb_em2 pb_em2
  171. pb_2 pb_2
  172. p_1 p_1
  173. st_refresh st_refresh
  174. dw_user dw_user
  175. dw_list dw_list
  176. cb_1 cb_1
  177. st_del st_del
  178. p_del p_del
  179. cbx_showmeredeal cbx_showmeredeal
  180. cb_viewbill cb_viewbill
  181. cb_view_his cb_view_his
  182. sle_find sle_find
  183. cb_find cb_find
  184. ddlb_1 ddlb_1
  185. em_3 em_3
  186. end type
  187. global w_email_view w_email_view
  188. type prototypes
  189. Function ulong FindWindow(string lpClassName, string lpWindowName ) LIBRARY "user32.dll" ALIAS FOR "FindWindowW"
  190. end prototypes
  191. type variables
  192. //s_email_set cur_set
  193. //s_email_set s_set[]
  194. //Boolean have_text = false
  195. //Boolean have_html = false
  196. boolean have_fj = false
  197. boolean have_inout = false
  198. boolean have_rep = false
  199. string fjfilepathname = 'fjtemp'
  200. //long all_count
  201. uo_email mail
  202. //Long cur_hand
  203. //TreeViewItem l_tvi
  204. //String Pathname
  205. //string cur_address
  206. ////uo_email obj_emial
  207. //
  208. long tv_root
  209. Int ls_dealflag = 0 // 内部消息
  210. //
  211. boolean have_user = false
  212. long ins_can_see_other = 0
  213. long ins_can_edit = 0
  214. string C_root = '根'
  215. string C_innerroot = '内部消息'
  216. string C_innerrev = '内部消息收件箱'
  217. string C_innersend = '内部消息发件箱'
  218. string C_mailacount = '邮箱帐号'
  219. string C_mailbox = '邮箱'
  220. string C_smsroot = '短信'
  221. string C_smssend = '短信发件箱'
  222. string C_leroot = 'LE'
  223. string C_lebox = 'LE箱'
  224. transaction Commit_Tran // 帐号表所有数据库
  225. boolean has_fj_tran = false
  226. transaction fj_tran // 邮件附件数据库
  227. long ins_deletingrow = 0
  228. boolean ins_candrag = false
  229. string C_Sys_admsg_fj = 'Sys_admsg_fj'
  230. string C_u_email_fj = 'u_email_fj'
  231. string C_from_file = 'from_file'
  232. s_tv_data1 tv_data_move
  233. s_tv_data1 tv_data_move1
  234. long ins_innerrevhandle
  235. //20130720荣 查邮件时显示主题信息
  236. string lss_subject,lss_sendman,lss_senddate,lss_revdate
  237. //20130720荣 查邮件时显示主题信息
  238. boolean if_autorev=false //是否自动收邮件
  239. long ll_autotime=0//自动收邮件间隔
  240. long handle1_email
  241. long cur_send = -1
  242. end variables
  243. forward prototypes
  244. public function integer wf_init (ref string arg_msg)
  245. public subroutine wf_delfj ()
  246. public function integer wf_revemail (s_email_set arg_set, ref string arg_msg)
  247. public function integer wf_retrievemx (long arg_id, integer arg_fjtype, string arg_address, ref string arg_msg)
  248. public subroutine wf_retreve_inout (string arg_address)
  249. public subroutine wf_retreve_rep (long arg_id, integer arg_fjtype)
  250. public subroutine pf_retrievetree (long arg_handl, integer arg_flag)
  251. public subroutine wf_retrieve ()
  252. public subroutine wf_retrievetree (integer arg_flag)
  253. public function integer wf_import_eml (string arg_file, ref string arg_msg)
  254. public function integer days_in_month (integer month, integer year)
  255. public subroutine wf_set_read (long row)
  256. public subroutine wf_set_unread (long row)
  257. public function integer wf_tv_build_tree (ref string arg_msg)
  258. public function long wf_tv_insert (long arg_handle, string arg_label, long arg_picindex, any arg_data)
  259. public subroutine wf_tv_insertallacount (long handle)
  260. public subroutine wf_tv_insertallbox (long handle)
  261. public function s_tv_data1 wf_tv_getdata (long handle)
  262. public function integer wf_ds_getmailset (ref s_email_set arg_set[], ref string arg_msg)
  263. public function integer wf_ds_getmailbox (long arg_mailid, long arg_parentid, ref s_email_box arg_box[], ref string arg_msg)
  264. public function long wf_tv_getcurrent ()
  265. public subroutine wf_tv_setcurrenttext (string arg_text)
  266. public subroutine wf_dw_rowfocuschanged_innermsg_rev ()
  267. public subroutine wf_dw_rowfocuschanged_innermsg_send ()
  268. public subroutine wf_dw_rowfocuschanged_mailmsg ()
  269. public function long wf_tv_getacount (long arg_handle)
  270. public subroutine wf_ui_reflash ()
  271. public subroutine wf_dw_retrieve_innermsg_rev ()
  272. public subroutine wf_dw_retrieve_innermsg_send ()
  273. public function integer wf_ds_get_mail_set (long arg_mailid, ref s_email_set arg_set, ref string arg_msg)
  274. public function integer wf_ds_get_mail_box (long arg_boxid, ref s_email_box arg_box, ref string arg_msg)
  275. public function integer wf_ds_del_msg (long arg_id, ref string arg_msg)
  276. public function long wf_ds_gettrunkbox (long arg_mailid)
  277. public function integer wf_ds_move_msg_box (long arg_id, long arg_boxid, ref string arg_msg)
  278. protected function long wf_box_gettotle (long arg_boxid)
  279. public function long wf_box_getunread (long arg_boxid)
  280. public subroutine wf_box_update_label (long arg_boxid)
  281. public subroutine wf_tv_settext (long arg_handle, string arg_label)
  282. public subroutine wf_html_set (string arg_text)
  283. public function integer wf_admsg_getfj (long arg_msgid, ref s_email_lvfj arg_lvfj[], ref string arg_msg)
  284. public function integer wf_mail_gethtml (long arg_msgid, ref string arg_text, ref string arg_msg)
  285. public function integer wf_admsg_gethtml (long arg_msgid, ref string arg_text, ref string arg_msg)
  286. public subroutine wf_str_replace (ref string arg_source, string arg_str1, string arg_str2)
  287. public function integer wf_mail_getfj (long arg_id, ref s_email_lvfj arg_lvfj[], ref string arg_msg)
  288. public function integer wf_admsg_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg)
  289. public function integer wf_mail_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg)
  290. public subroutine wf_blob_saveas (ref blob arg_blob, string arg_filename)
  291. public subroutine wf_blob_runfj (ref blob arg_blob, string arg_filename)
  292. public subroutine wf_ui_row (long arg_row)
  293. public subroutine wf_ui_unselectall ()
  294. public subroutine wf_revert_read (long arg_row)
  295. public subroutine wf_read_row (long arg_row)
  296. public subroutine wf_tv_setdata (long arg_handle, s_tv_data1 arg_data)
  297. public subroutine wf_tv_reflash (long arg_handle)
  298. public function long wf_tv_gettrunkhandle (long arg_handle)
  299. public subroutine wf_tv_retrieve ()
  300. public subroutine wf_tv_retrieveallchildbox (long arg_handle)
  301. public subroutine wf_tv_getchild (long arg_handle, ref long arg_child[])
  302. public function boolean wf_hasdotnet ()
  303. public subroutine wf_str_modfilepath (ref string ls_filepath)
  304. public subroutine wf_dw_readlayout ()
  305. public subroutine wf_dw_retrieve_smssend ()
  306. public subroutine wf_tv_insertlebox (long arg_handle, long arg_parentid)
  307. public subroutine wf_dw_retrieve_le (long arg_boxid)
  308. public subroutine wf_dw_retrieve_smssendmx ()
  309. public subroutine wf_dw_retrieve_mailmsg (long arg_mailid, long arg_boxid, string arg_boxname)
  310. public function long wf_findtreeitem (treeview tv_tree, boolean findby, any data)
  311. public function string of_globalreplace (string as_source, string as_old, string as_new)
  312. public subroutine wf_move ()
  313. end prototypes
  314. event ue_revall();ULong lu_class
  315. String ls_name
  316. SetNull(lu_class)
  317. //ls_name = "龙嘉接收邮件工具"
  318. //IF FindWindowA(lu_class, ls_name) > 0 THEN
  319. // MessageBox('提示','正在收取邮件,请稍后!',information!,OK!)
  320. // RETURN
  321. //END IF
  322. IF NOT FileExists(sys_cur_path + 'longjoe_rev.exe') THEN
  323. MessageBox('提示','longjoe_rev.exe文件缺失,请联系软件供应商!',information!,OK!)
  324. RETURN
  325. END IF
  326. // DONE: 检测是否安装.net
  327. if not wf_hasDotNet() then
  328. MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
  329. RETURN
  330. end if
  331. if not has_fj_tran then
  332. MessageBox('提示','未设置邮件数据库!',information!,OK!)
  333. RETURN
  334. end if
  335. String ls_run
  336. ls_run = 'longjoe_rev.exe -longjoe&'&
  337. + sys_system_id + '&'&
  338. + sys_cur_version + '&'&
  339. + String(sys_if_register) + '&'&
  340. + Commit_Tran.Database + '&'&
  341. + Commit_Tran.UserID + '&'&
  342. + f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
  343. + Commit_Tran.LogID + '&'&
  344. + f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
  345. + Commit_Tran.ServerName + '&'&
  346. + string(sys_empid) + '&'&
  347. + '-1&'&
  348. + '0&'&
  349. + fj_tran.Database + '&'&
  350. + fj_tran.UserID + '&'&
  351. + f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
  352. + fj_tran.LogID + '&'&
  353. + f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
  354. + fj_tran.ServerName + '&'
  355. IF Run(sys_cur_path + ls_run) = -1 THEN
  356. MessageBox('错误','运行程序失败!',stopsign!,ok!)
  357. RETURN
  358. END IF
  359. //alltimmer.of_start(3,"ue_retr_all",'1')
  360. Long ll_cpu,ll_cpu1,ll_hwnd
  361. ll_cpu = CPU()
  362. DO WHILE CPU() - ll_cpu <2000
  363. Yield()
  364. LOOP
  365. DO
  366. DO WHILE CPU() - ll_cpu < 2000
  367. Yield()
  368. LOOP
  369. ll_hwnd = findWindow("WindowsForms10.Window.8.app.0.33c0d9d","收取邮件")
  370. IF ll_hwnd = 0 THEN
  371. ll_cpu1 = CPU()
  372. DO WHILE CPU() - ll_cpu1 < 1000
  373. Yield()
  374. LOOP
  375. ll_hwnd = findWindow("WindowsForms10.Window.8.app.0.33c0d9d","收取邮件")
  376. IF ll_hwnd = 0 THEN
  377. EXIT
  378. END IF
  379. END IF
  380. LOOP Until(1 = 2)
  381. wf_move()
  382. end event
  383. event ue_revcur();//String ls_msg
  384. //
  385. //IF wf_revemail(cur_set,ls_msg) = 0 THEN
  386. // MessageBox('错误',ls_msg,stopsign!,OK!)
  387. // RETURN
  388. //ELSE
  389. // wf_retrievetree(1)
  390. // MessageBox('提示','收取邮件完成!',information!,OK!)
  391. //END IF
  392. //
  393. //if cur_set.mailid <= 0 then // DONE: cur_set不准确
  394. // MessageBox('提示', '请先选择邮件账号', information!, OK!)
  395. // return
  396. //end if
  397. Long Handle
  398. Handle = wf_tv_getacount(wf_tv_getcurrent())
  399. IF Handle <= 0 THEN
  400. MessageBox('提示', '请先选择邮件帐号', information!, OK!)
  401. RETURN
  402. END IF
  403. s_tv_data1 tv_data
  404. tv_data = wf_tv_getdata(Handle)
  405. Long ll_mailid
  406. ll_mailid = tv_data.relid
  407. ULong lu_class
  408. String ls_name
  409. SetNull(lu_class)
  410. //ls_name = "龙嘉接收邮件工具"
  411. //IF FindWindowA(lu_class, ls_name) > 0 THEN
  412. // MessageBox('提示','正在收取邮件,请稍后!',information!,OK!)
  413. // RETURN
  414. //END IF
  415. IF Not FileExists(sys_cur_path + 'longjoe_rev.exe') THEN
  416. MessageBox('提示','longjoe_rev.exe文件缺失,请联系软件供应商!',information!,OK!)
  417. RETURN
  418. END IF
  419. // DONE: 检测是否安装.net
  420. IF Not wf_hasDotNet() THEN
  421. MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
  422. RETURN
  423. END IF
  424. IF Not has_fj_tran THEN
  425. MessageBox('提示','未设置邮件数据库!',information!,OK!)
  426. RETURN
  427. END IF
  428. String ls_run
  429. //MESSAGEBOX('','RUN')
  430. ls_run = 'longjoe_rev.exe -longjoe&'&
  431. + sys_system_id + '&'&
  432. + sys_cur_version + '&'&
  433. + String(sys_if_register) + '&'&
  434. + Commit_Tran.Database + '&'&
  435. + Commit_Tran.UserID + '&'&
  436. + f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
  437. + Commit_Tran.LogID + '&'&
  438. + f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
  439. + Commit_Tran.ServerName + '&'&
  440. + String(sys_empid) + '&'&
  441. + String(ll_mailid) + '&'&
  442. + '0&'&
  443. + fj_tran.Database + '&'&
  444. + fj_tran.UserID + '&'&
  445. + f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
  446. + fj_tran.LogID + '&'&
  447. + f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
  448. + fj_tran.ServerName + '&'
  449. //messagebox('','exit')
  450. IF Run(sys_cur_path + ls_run) = -1 THEN
  451. MessageBox('错误','运行程序失败!',stopsign!,OK!)
  452. RETURN
  453. END IF
  454. //WindowsForms10.Window.8.app.0.33c0d9d
  455. //curtimmer.of_start(3,"ue_retr_cur",'1')‘
  456. Long ll_cpu,ll_cpu1,ll_hwnd
  457. ll_cpu = CPU()
  458. DO WHILE CPU() - ll_cpu <2000
  459. Yield()
  460. LOOP
  461. DO
  462. DO WHILE CPU() - ll_cpu < 2000
  463. Yield()
  464. LOOP
  465. ll_hwnd = findWindow("WindowsForms10.Window.8.app.0.33c0d9d","收取邮件")
  466. IF ll_hwnd = 0 THEN
  467. ll_cpu1 = CPU()
  468. DO WHILE CPU() - ll_cpu1 < 1000
  469. Yield()
  470. LOOP
  471. ll_hwnd = findWindow("WindowsForms10.Window.8.app.0.33c0d9d","收取邮件")
  472. IF ll_hwnd = 0 THEN
  473. EXIT
  474. END IF
  475. END IF
  476. LOOP Until(1 = 2)
  477. wf_move()
  478. end event
  479. event ue_sendall();ULong lu_class
  480. String ls_name
  481. SetNull(lu_class)
  482. //ls_name = "龙嘉发送邮件工具"
  483. //IF FindWindowA(lu_class, ls_name) > 0 THEN
  484. // MessageBox('提示','正在发送邮件,请稍后!',information!,OK!)
  485. // RETURN
  486. //END IF
  487. if not FileExists(sys_cur_path + 'longjoe_rev.exe') then
  488. MessageBox('提示','longjoe_rev.exe文件缺失,请联系软件供应商!',information!,OK!)
  489. RETURN
  490. end if
  491. // DONE:检测是否安装.net
  492. if not wf_hasDotNet() then
  493. MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
  494. RETURN
  495. end if
  496. if not has_fj_tran then
  497. MessageBox('提示','未设置邮件数据库!',information!,OK!)
  498. RETURN
  499. end if
  500. string ls_run
  501. ls_run = 'longjoe_rev.exe -longjoe&'&
  502. + sys_system_id + '&'&
  503. + sys_cur_version + '&'&
  504. + String(sys_if_register) + '&'&
  505. + Commit_Tran.Database + '&'&
  506. + Commit_Tran.UserID + '&'&
  507. + f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
  508. + Commit_Tran.LogID + '&'&
  509. + f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
  510. + Commit_Tran.ServerName + '&'&
  511. + string(sys_empid) + '&'&
  512. + '-1&'&
  513. + '1&'&
  514. + fj_tran.Database + '&'&
  515. + fj_tran.UserID + '&'&
  516. + f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
  517. + fj_tran.LogID + '&'&
  518. + f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
  519. + fj_tran.ServerName + '&'
  520. IF Run(sys_cur_path + ls_run) = -1 THEN
  521. MessageBox('错误','运行程序失败!',stopsign!,ok!)
  522. RETURN
  523. END IF
  524. //alltimmer.of_start(3,"ue_retr_all",'1')
  525. //Long i,sendcount,j,sendmxcount,k,l,fjcount,rslt = 1,ll_cnt_lp
  526. //datastore ds_revlist,ds_send,ds_fj
  527. //String errmsg,arg_msg
  528. //ds_revlist = CREATE datastore
  529. //ds_send = CREATE datastore
  530. //ds_fj = CREATE datastore
  531. //ds_revlist.DataObject = 'dw_email_sendmx'
  532. //ds_revlist.SetTransObject(sqlca)
  533. //ds_send.DataObject = 'dw_email_view_send'
  534. //ds_send.SetTransObject(sqlca)
  535. //ds_fj.DataObject = 'ds_email_fj'
  536. //ds_fj.SetTransObject(sqlca)
  537. //
  538. //s_email_send s_send, s_send_null
  539. //s_email_sendmx s_sendmx ,s_sendmx_null
  540. //s_email_fj s_fj, s_fj_null
  541. //s_email_set ss_set, ss_set_null
  542. //
  543. //
  544. //
  545. //FOR i = 1 TO all_count
  546. // ss_set = ss_set_null
  547. // ss_set = s_set[i]
  548. // sendcount = ds_send.Retrieve(s_set[i].mailid)
  549. // IF sendcount > 0 THEN
  550. // Open(w_sys_wait_jdt) //初始化进度条
  551. // w_sys_wait_jdt.Show()
  552. // w_sys_wait_jdt.wf_accepttol(sendcount)
  553. // ll_cnt_lp = 0
  554. // FOR j = 1 TO sendcount
  555. //
  556. // ll_cnt_lp++
  557. // w_sys_wait_jdt.st_msg.Text = cur_set.mailuser + "<" + cur_set.mailAddress + ">"+ " 正在发送邮件(" + String(j) + "/" + String(sendcount) + ")." //进度信息
  558. // w_sys_wait_jdt.wf_inc(ll_cnt_lp)
  559. //
  560. // s_send = s_send_null
  561. // s_sendmx = s_sendmx_null
  562. // s_fj = s_fj_null
  563. //
  564. // sendmxcount = ds_revlist.Retrieve(ds_send.Object.id[j])
  565. // fjcount = ds_fj.Retrieve(ds_send.Object.id[j],0)
  566. // IF sendmxcount > 0 THEN
  567. //
  568. // s_send.Subject = Trim(ds_send.Object.Subject[j])
  569. // s_send.Priority = ds_send.Object.Priority[j]
  570. // s_send.Textbody = Trim(ds_send.Object.Textbody[j])
  571. // s_send.sendid = ds_send.Object.id[j]
  572. //
  573. // FOR k = 1 TO sendmxcount
  574. // IF Trim(ds_revlist.Object.revaddress[k]) <> '' THEN
  575. // s_sendmx.revaddress[k] = Trim(ds_revlist.Object.revaddress[k])
  576. // END IF
  577. // NEXT
  578. //
  579. // IF fjcount > 0 THEN
  580. // FOR l = 1 TO fjcount
  581. // s_fj.fjid[l] = ds_fj.Object.fjid[l]
  582. // s_fj.Filename[l] = ds_fj.Object.Filename[l]
  583. // NEXT
  584. // END IF
  585. //
  586. // IF obj_email.f_send(ss_set,s_send,s_sendmx,s_fj,arg_msg) = 0 THEN
  587. // errmsg = ss_set.mailuser + "<" + ss_set.mailAddress + ">"+ arg_msg + '~n'
  588. // rslt = 0
  589. // GOTO ext
  590. // END IF
  591. //
  592. // END IF
  593. //
  594. // NEXT
  595. // IF IsValid(w_sys_wait_jdt) THEN
  596. // Close(w_sys_wait_jdt)
  597. // END IF
  598. // END IF
  599. //NEXT
  600. //
  601. //ext:
  602. //IF IsValid(w_sys_wait_jdt) THEN
  603. // Close(w_sys_wait_jdt)
  604. //END IF
  605. //IF rslt = 0 THEN
  606. // MessageBox('错误',errmsg, StopSign!, OK! )
  607. // ROLLBACK;
  608. //ELSE
  609. // wf_retrievetree(-1)
  610. // MessageBox('提示','发送全部邮件成功' )
  611. // COMMIT;
  612. //END IF
  613. //
  614. //
  615. //
  616. //
  617. //
  618. //
  619. //
  620. //
  621. //
  622. //
  623. //
  624. //
  625. //
  626. //
  627. //
  628. //
  629. //
  630. //
  631. //
  632. //
  633. //
  634. //
  635. //
  636. //
  637. //
  638. //
  639. end event
  640. event ue_sendcur();//if cur_set.mailid <= 0 then // cur_set不准确
  641. // MessageBox('提示', '请先选择邮件账号', information!, OK!)
  642. // return
  643. //end if
  644. long handle
  645. handle = wf_tv_getacount(wf_tv_getcurrent())
  646. if handle <= 0 then
  647. MessageBox('提示', '请先选择邮件帐号', information!, OK!)
  648. return
  649. end if
  650. s_tv_data1 tv_data
  651. tv_data = wf_tv_getdata(handle)
  652. long ll_mailid
  653. ll_mailid = tv_data.relid
  654. ULong lu_class
  655. String ls_name
  656. SetNull(lu_class)
  657. //ls_name = "龙嘉发送邮件工具"
  658. //IF FindWindowA(lu_class, ls_name) > 0 THEN
  659. // MessageBox('提示','正在发送邮件,请稍后!',information!,OK!)
  660. // RETURN
  661. //END IF
  662. if not FileExists(sys_cur_path + 'longjoe_rev.exe') then
  663. MessageBox('提示','longjoe_rev.exe文件缺失,请联系软件供应商!',information!,OK!)
  664. RETURN
  665. end if
  666. // DONE: 检测是否安装.net
  667. if not wf_hasDotNet() then
  668. MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
  669. RETURN
  670. end if
  671. if not has_fj_tran then
  672. MessageBox('提示','未设置邮件数据库!',information!,OK!)
  673. RETURN
  674. end if
  675. string ls_run
  676. ls_run = 'longjoe_rev.exe -longjoe&'&
  677. + sys_system_id + '&'&
  678. + sys_cur_version + '&'&
  679. + String(sys_if_register) + '&'&
  680. + Commit_Tran.Database + '&'&
  681. + Commit_Tran.UserID + '&'&
  682. + f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
  683. + Commit_Tran.LogID + '&'&
  684. + f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
  685. + Commit_Tran.ServerName + '&'&
  686. + string(sys_empid) + '&'&
  687. + string(ll_mailid) + '&'&
  688. + '1&'&
  689. + fj_tran.Database + '&'&
  690. + fj_tran.UserID + '&'&
  691. + f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
  692. + fj_tran.LogID + '&'&
  693. + f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
  694. + fj_tran.ServerName + '&'
  695. IF Run(sys_cur_path + ls_run) = -1 THEN
  696. MessageBox('错误','运行程序失败!',stopsign!,ok!)
  697. RETURN
  698. END IF
  699. //curtimmer.of_start(3,"ue_retr_cur",'1')
  700. //
  701. //
  702. //Long i,sendcount,j,sendmxcount,k,l,fjcount,rslt = 1,ll_cnt_lp
  703. //datastore ds_revlist,ds_send,ds_fj
  704. //String errmsg
  705. //ds_revlist = CREATE datastore
  706. //ds_send = CREATE datastore
  707. //ds_fj = CREATE datastore
  708. //ds_revlist.DataObject = 'dw_email_sendmx'
  709. //ds_revlist.SetTransObject(sqlca)
  710. //ds_send.DataObject = 'dw_email_view_send'
  711. //ds_send.SetTransObject(sqlca)
  712. //ds_fj.DataObject = 'ds_email_fj'
  713. //ds_fj.SetTransObject(sqlca)
  714. //s_email_send s_send, s_send_null
  715. //s_email_sendmx s_sendmx ,s_sendmx_null
  716. //s_email_fj s_fj, s_fj_null
  717. //
  718. //
  719. //sendcount = ds_send.Retrieve(cur_set.mailid)
  720. //IF sendcount > 0 THEN
  721. // Open(w_sys_wait_jdt) //初始化进度条
  722. // w_sys_wait_jdt.Show()
  723. // w_sys_wait_jdt.wf_accepttol(sendcount)
  724. // FOR j = 1 TO sendcount
  725. // ll_cnt_lp++
  726. // w_sys_wait_jdt.st_msg.Text = cur_set.mailuser + "<" + cur_set.mailAddress + ">"+ " 正在发送邮件(" + String(j) + "/" + String(sendcount) + ")." //进度信息
  727. // w_sys_wait_jdt.wf_inc(ll_cnt_lp)
  728. //
  729. // s_send = s_send_null
  730. // s_sendmx = s_sendmx_null
  731. // s_fj = s_fj_null
  732. //
  733. // sendmxcount = ds_revlist.Retrieve(ds_send.Object.id[j])
  734. // fjcount = ds_fj.Retrieve(ds_send.Object.id[j],0)
  735. // IF sendmxcount > 0 THEN
  736. //
  737. // s_send.Subject = Trim(ds_send.Object.Subject[j])
  738. // s_send.Priority = ds_send.Object.Priority[j]
  739. // s_send.Textbody = Trim(ds_send.Object.Textbody[j])
  740. // s_send.sendid = ds_send.Object.id[j]
  741. //
  742. // FOR k = 1 TO sendmxcount
  743. // IF Trim(ds_revlist.Object.revaddress[k]) <> '' THEN
  744. // s_sendmx.revaddress[k] = Trim(ds_revlist.Object.revaddress[k])
  745. // END IF
  746. // NEXT
  747. //
  748. // IF fjcount > 0 THEN
  749. // FOR l = 1 TO fjcount
  750. // s_fj.fjid[l] = ds_fj.Object.fjid[l]
  751. // s_fj.Filename[l] = ds_fj.Object.Filename[l]
  752. // NEXT
  753. // END IF
  754. //
  755. // IF obj_email.f_send(cur_set,s_send,s_sendmx,s_fj,errmsg) = 0 THEN
  756. // errmsg = cur_set.mailuser + "<" + cur_set.mailAddress + ">"+ errmsg + '~n'
  757. // rslt = 0
  758. // GOTO ext
  759. // END IF
  760. // END IF
  761. //
  762. //
  763. // NEXT
  764. //
  765. //END IF
  766. //
  767. //ext:
  768. //
  769. //IF IsValid(w_sys_wait_jdt) THEN
  770. // Close(w_sys_wait_jdt)
  771. //END IF
  772. //
  773. //IF rslt = 0 THEN
  774. // MessageBox('错误',errmsg, StopSign!, OK! )
  775. // ROLLBACK;
  776. //ELSE
  777. // wf_retrievetree(1)
  778. // MessageBox('提示','发送邮件成功' )
  779. // COMMIT;
  780. //END IF
  781. //
  782. //
  783. //
  784. //
  785. //
  786. //
  787. //
  788. end event
  789. event ue_open_fj();dw_fj.AcceptText()
  790. IF dw_fj.GetRow() = 0 THEN RETURN
  791. Blob ls_filedata
  792. Long ll_fjid
  793. String ins_cur_fjname,errmsg,lsNull,ls_Pathname
  794. SetNull(lsNull)
  795. ins_cur_fjname = dw_fj.Object.u_email_fj_filename[dw_fj.GetRow()]
  796. ll_fjid = dw_fj.Object.u_email_fj_fjid[dw_fj.GetRow()]
  797. SELECTBLOB Fileblob
  798. INTO :ls_filedata
  799. FROM u_email_fj
  800. Where (fjid = :ll_fjid);
  801. ls_Pathname = sys_cur_path+fjfilePathname+'\'+ins_cur_fjname
  802. IF Trim(ls_Pathname) <> '' THEN
  803. IF FileExists(ls_Pathname) THEN FileDelete(ls_Pathname)
  804. IF f_blobtofile(ls_Pathname,ls_filedata,errmsg) = 0 THEN
  805. MessageBox('系统提示',errmsg)
  806. RETURN
  807. ELSE
  808. //打开附件
  809. ShellExecute32( Handle(THIS), lsNull, ls_Pathname, lsNull, lsNull, 1 )
  810. END IF
  811. END IF
  812. end event
  813. event ue_emailset();IF Not uo_email_power.can_see_mailset(sys_msg_pow) THEN
  814. MessageBox(publ_operator,'你没有使用权限')
  815. RETURN
  816. END IF
  817. //s_edit_index_tran s_tran //传递参数使用
  818. //OpenWithParm(w_email_set,s_tran)
  819. Open(w_email_set_list)
  820. //String ls_msg
  821. //wf_init(ls_msg)
  822. end event
  823. event ue_rev_email();//Long i
  824. //string ls_msg
  825. //i = Message.LongParm
  826. //
  827. //IF wf_revemail(s_set[i],ls_msg) = 0 THEN
  828. // MessageBox('错误',ls_msg,stopsign!,OK!)
  829. // RETURN
  830. //END IF
  831. //
  832. end event
  833. event ue_retr_all();ULong lu_class ,lu_class1
  834. String ls_name,ls_name1
  835. SetNull(lu_class)
  836. SetNull(lu_class1)
  837. ls_name = "龙嘉发送邮件工具"
  838. ls_name1 = "龙嘉接收邮件工具"
  839. IF FindWindowA(lu_class, ls_name) > 0 or FindWindowA(lu_class1, ls_name1) > 0 THEN
  840. wf_retrievetree(-1)
  841. else
  842. // alltimmer.stop()
  843. END IF
  844. end event
  845. event ue_retr_cur();ULong lu_class ,lu_class1
  846. String ls_name,ls_name1
  847. SetNull(lu_class)
  848. SetNull(lu_class1)
  849. ls_name = "龙嘉发送邮件工具"
  850. ls_name1 = "龙嘉接收邮件工具"
  851. IF FindWindowA(lu_class, ls_name) > 0 or FindWindowA(lu_class1, ls_name1) > 0 THEN
  852. wf_retrievetree(1)
  853. else
  854. // alltimmer.stop()
  855. END IF
  856. end event
  857. event ue_reply();if dw_list.dataobject <> 'dw_email_view_msg' then return
  858. dw_list.accepttext()
  859. if dw_list.getrow() <= 0 then return
  860. s_email_set s_parm
  861. string ls_msg
  862. S_PARM.ID=dw_list.object.id[dw_list.getrow()]
  863. s_parm.mailid = dw_list.object.mailid[dw_list.getrow()]
  864. if wf_ds_get_mail_set(s_parm.mailid, s_parm, ls_msg) <> 1 then
  865. return
  866. end if
  867. s_parm.flag = 1
  868. s_parm.revuser = dw_list.object.senduser[dw_list.getrow()]
  869. s_parm.revaddress = dw_list.object.sendaddress[dw_list.getrow()]
  870. s_parm.relid= dw_list.Object.id[dw_list.GetRow()]
  871. s_parm.reltype = 3
  872. s_parm.subject =" RE:" + dw_list.object.subject[dw_list.getrow()]//带主题
  873. OpenWithParm(w_email_send_new,s_parm)
  874. end event
  875. event ue_sendother();dw_list.AcceptText()
  876. IF dw_list.GetRow() <= 0 THEN RETURN
  877. s_email_set s_parm
  878. String ls_msg
  879. IF dw_list.DataObject = 'dw_deal_admsg_1_copy' Or dw_list.DataObject = 'dw_hismsg_copy' THEN
  880. // 选择账号
  881. Long ll_id = 0 //传递参数使用
  882. OpenWithParm(w_email_set,ll_id)
  883. s_parm = Message.PowerObjectParm
  884. IF s_parm.mailid <= 0 THEN
  885. RETURN
  886. END IF
  887. ELSEIF dw_list.DataObject = 'dw_email_view_msg' THEN
  888. Long mailid
  889. mailid = dw_list.Object.mailid[dw_list.GetRow()]
  890. IF wf_ds_get_mail_set(mailid, s_parm, ls_msg) <> 1 THEN
  891. MessageBox('错误', ls_msg, stopsign!)
  892. RETURN
  893. END IF
  894. ELSEIF dw_list.DataObject = 'dw_sms_spring_send' THEN
  895. s_spring_send s_send
  896. s_send.msg = dw_list.Object.msg[dw_list.GetRow()]
  897. s_send.sendid = 0
  898. s_send.sendflag = 2
  899. s_send.empid = sys_empid
  900. openwithparm(w_sms_send_new, s_send)
  901. RETURN
  902. ELSE
  903. RETURN
  904. END IF
  905. s_parm.flag = 2
  906. IF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
  907. s_parm.Title = dw_list.Object.sys_admsgmx_s_msgtitle[dw_list.GetRow()]
  908. s_parm.reltype = 2
  909. s_parm.relid = dw_list.Object.sys_admsgmx_msgid[dw_list.GetRow()]
  910. IF wf_admsg_gethtml(s_parm.relid, s_parm.htmlbody, ls_msg) <> 1 THEN
  911. MessageBox('错误', ls_msg, stopsign!)
  912. RETURN
  913. END IF
  914. ELSEIF dw_list.DataObject = 'dw_hismsg_copy' THEN
  915. s_parm.Title = dw_list.Object.s_msgtitle[dw_list.GetRow()]
  916. s_parm.reltype = 2
  917. s_parm.relid = dw_list.Object.msgid[dw_list.GetRow()]
  918. IF wf_admsg_gethtml(s_parm.relid, s_parm.htmlbody, ls_msg) <> 1 THEN
  919. MessageBox('错误', ls_msg, stopsign!)
  920. RETURN
  921. END IF
  922. ELSEIF dw_list.DataObject = 'dw_email_view_msg' THEN
  923. s_parm.reltype = 0
  924. s_parm.relid = dw_list.Object.id[dw_list.GetRow()]
  925. s_parm.Title = dw_list.Object.Subject[dw_list.GetRow()]
  926. IF wf_mail_gethtml(s_parm.relid, s_parm.htmlbody, ls_msg) <> 1 THEN
  927. MessageBox('错误', ls_msg, stopsign!)
  928. RETURN
  929. END IF
  930. ELSEIF dw_list.DataObject = '' then
  931. elseif dw_list.DataObject = '' then
  932. END IF
  933. //s_parm.textbody = ole_1.object.document.body.innertext
  934. //s_parm.htmlbody = blob(ole_1.object.document.body.innerhtml)
  935. S_PARM.ID=dw_list.object.id[dw_list.getrow()]
  936. OpenWithParm(w_email_send_new,s_parm)
  937. //wf_retrievetree(1)
  938. end event
  939. event ue_del();
  940. //messagebox('','del')
  941. IF tv_data_move.a_long = 0 Or tv_data_move.b_string <> "废件箱" THEN
  942. IF Not uo_email_power.can_deleteemail(sys_msg_pow) THEN
  943. MessageBox(publ_operator,'你没有删除邮件的权限')
  944. RETURN
  945. END IF
  946. ELSEIF tv_data_move.a_long <> 0 And tv_data_move.b_string = "废件箱" THEN
  947. IF Not uo_email_power.can_deleteemail_forever(sys_msg_pow) THEN
  948. MessageBox(publ_operator,'你没有彻底删除邮件的权限')
  949. RETURN
  950. END IF
  951. END IF
  952. If (dw_list.DataObject <> 'dw_email_view_msg' ) Or Not (dw_list.RowCount() > 0) THEN RETURN
  953. s_email_box box
  954. String ls_msg
  955. Long i
  956. IF wf_ds_get_mail_box(dw_list.Object.boxid[1], box, ls_msg) <> 1 THEN
  957. RETURN
  958. END IF
  959. IF box.boxtype = '废件箱' THEN
  960. IF MessageBox ("询问","是否确定要永久删除选中邮件吗",Question!,YesNo! ) = 2 THEN RETURN
  961. dw_list.SetRedraw(False)
  962. FOR i = dw_list.RowCount() To 1 Step -1
  963. IF dw_list.IsSelected(i) THEN
  964. IF wf_ds_del_msg(dw_list.Object.id[i], ls_msg) = 1 THEN
  965. ins_deletingrow = 1
  966. dw_list.DeleteRow(i)
  967. ins_deletingrow = 0
  968. END IF
  969. END IF
  970. NEXT
  971. dw_list.Trigger Event RowFocusChanged(dw_list.GetRow())
  972. dw_list.SetRedraw(True)
  973. wf_tv_reflash(wf_tv_getcurrent())
  974. ELSE
  975. IF MessageBox ("询问","是否确定要把当前邮件放入废件吗",Question!,YesNo! ) = 2 THEN RETURN
  976. Long trunkboxid
  977. trunkboxid = wf_ds_gettrunkbox(dw_list.Object.mailid[1])
  978. IF trunkboxid <= 0 THEN
  979. MessageBox('错误', '查找帐号的废件箱失败', stopsign!)
  980. RETURN
  981. END IF
  982. dw_list.SetRedraw(False)
  983. FOR i = dw_list.RowCount() To 1 Step -1
  984. IF dw_list.IsSelected(i) THEN
  985. IF wf_ds_move_msg_box(dw_list.Object.id[i], trunkboxid, ls_msg) = 1 THEN
  986. ins_deletingrow = 1
  987. dw_list.DeleteRow(i)
  988. ins_deletingrow = 0
  989. END IF
  990. END IF
  991. NEXT
  992. dw_list.Trigger Event RowFocusChanged(dw_list.GetRow())
  993. dw_list.SetRedraw(True)
  994. wf_tv_reflash(wf_tv_getcurrent())
  995. wf_tv_reflash(wf_tv_gettrunkhandle(wf_tv_GetCurrent()))
  996. END IF
  997. end event
  998. event ue_send();//// DONE: 发送选中邮件
  999. //int rslt = 1
  1000. //s_email_send s_send
  1001. //s_email_sendmx s_sendmx
  1002. //s_email_fj s_fj
  1003. //string ls_msg
  1004. //long ll_row, ll_sendid, ll_sendmx_count, ll_fj_count
  1005. //ll_row = dw_list.getrow( )
  1006. //if ll_row <= 0 then return
  1007. //ll_sendid = dw_list.object.id[ll_row]
  1008. //
  1009. //if cur_set.viewtype <> 2 then // 不是发件箱的邮件另存后再发送
  1010. // if obj_email.uf_get_send(ll_sendid, s_send, ls_msg) <> 1 then
  1011. // MessageBox('系统提示', ls_msg, StopSign!)
  1012. // rslt = 0
  1013. // goto ext
  1014. // end if
  1015. //
  1016. // if obj_email.uf_get_sendmx(ll_sendid, s_sendmx, ll_sendmx_count, ls_msg) <> 1 then
  1017. // MessageBox('系统提示', ls_msg, StopSign!)
  1018. // rslt = 0
  1019. // goto ext
  1020. // end if
  1021. //
  1022. // if obj_email.uf_get_fj(ll_sendid, 0, s_fj, ll_fj_count, ls_msg, true) <> 1 then
  1023. // MessageBox('系统提示', ls_msg, StopSign!)
  1024. // rslt = 0
  1025. // goto ext
  1026. // end if
  1027. //
  1028. // s_send.sendid = 0
  1029. // s_send.mailtype = 0
  1030. // if obj_email.f_save(s_send, s_sendmx, s_fj, ls_msg) <> 1 then
  1031. // MessageBox('系统提示', ls_msg, StopSign!)
  1032. // rslt = 0
  1033. // goto ext
  1034. // end if
  1035. // ll_sendid = s_send.sendid
  1036. //end if
  1037. //
  1038. //if obj_email.uf_get_send(ll_sendid, s_send, ls_msg) <> 1 then
  1039. // MessageBox('系统提示', ls_msg, StopSign!)
  1040. // rslt = 0
  1041. // goto ext
  1042. //end if
  1043. //
  1044. //if obj_email.uf_get_sendmx(ll_sendid, s_sendmx, ll_sendmx_count, ls_msg) <> 1 then
  1045. // MessageBox('系统提示', ls_msg, StopSign!)
  1046. // rslt = 0
  1047. // goto ext
  1048. //end if
  1049. //
  1050. //if obj_email.uf_get_fj(ll_sendid, 0, s_fj, ll_fj_count, ls_msg, false) <> 1 then
  1051. // MessageBox('系统提示', ls_msg, StopSign!)
  1052. // rslt = 0
  1053. // goto ext
  1054. //end if
  1055. //
  1056. //
  1057. //if obj_email.f_send(cur_set, s_send, s_sendmx, s_fj, ls_msg) <> 1 then
  1058. // MessageBox('系统提示', ls_msg, StopSign!)
  1059. // rslt = 0
  1060. // goto ext
  1061. //end if
  1062. //
  1063. //MessageBox('提示', '发送成功')
  1064. //wf_retrieve()
  1065. //ext:
  1066. //if rslt = 0 then
  1067. // rollback;
  1068. //elseif rslt = 1 then
  1069. // commit;
  1070. //end if
  1071. end event
  1072. event ue_saveas();//// DONE: 另存一份到发件箱
  1073. //int rslt = 1
  1074. //s_email_send s_send
  1075. //s_email_sendmx s_sendmx
  1076. //s_email_fj s_fj
  1077. //string ls_msg
  1078. //long ll_row, ll_sendid, ll_sendmx_count, ll_fj_count
  1079. //ll_row = dw_list.getrow( )
  1080. //if ll_row <= 0 then return
  1081. //ll_sendid = dw_list.object.id[ll_row]
  1082. //if obj_email.uf_get_send(ll_sendid, s_send, ls_msg) <> 1 then
  1083. // MessageBox('系统提示', ls_msg, StopSign!)
  1084. // rslt = 0
  1085. // goto ext
  1086. //end if
  1087. //
  1088. //if obj_email.uf_get_sendmx(ll_sendid, s_sendmx, ll_sendmx_count, ls_msg) <> 1 then
  1089. // MessageBox('系统提示', ls_msg, StopSign!)
  1090. // rslt = 0
  1091. // goto ext
  1092. //end if
  1093. //
  1094. //if obj_email.uf_get_fj(ll_sendid, 0, s_fj, ll_fj_count, ls_msg, true) <> 1 then
  1095. // MessageBox('系统提示', ls_msg, StopSign!)
  1096. // rslt = 0
  1097. // goto ext
  1098. //end if
  1099. //
  1100. //s_send.sendid = 0
  1101. //s_send.mailtype = 0
  1102. //if obj_email.f_save(s_send, s_sendmx, s_fj, ls_msg) <> 1 then
  1103. // MessageBox('系统提示', ls_msg, StopSign!)
  1104. // rslt = 0
  1105. // goto ext
  1106. //end if
  1107. //
  1108. //MessageBox('提示', '另存成功')
  1109. //wf_retrieve()
  1110. //ext:
  1111. //if rslt = 0 then
  1112. // rollback;
  1113. //elseif rslt = 1 then
  1114. // commit;
  1115. //end if
  1116. end event
  1117. event ue_import_eml();s_tv_data1 tv_data
  1118. tv_data = wf_tv_getdata(wf_tv_getcurrent())
  1119. if tv_data.a_string <> C_mailbox then
  1120. MessageBox('提示', '请先选择导入邮箱')
  1121. return
  1122. end if
  1123. string ls_title, ls_pathname, ls_filename[], ls_extension, ls_filter
  1124. ls_title = '选择eml文件导入'
  1125. ls_extension = 'eml'
  1126. ls_filter = 'eml文件,*.eml'
  1127. if GetFileOpenName(ls_title, ls_pathname, ls_filename, ls_extension, ls_filter) <> 1 then
  1128. return
  1129. end if
  1130. long ll_i
  1131. open(w_sys_wait_jdt)
  1132. w_sys_wait_jdt.wf_accepttol(upperbound(ls_filename))
  1133. for ll_i = lowerbound(ls_filename) to upperbound(ls_filename)
  1134. string ls_emlFile
  1135. if upperbound(ls_filename) = 1 then
  1136. ls_emlFile = ls_pathname
  1137. else
  1138. ls_emlFile = ls_pathname + '\' + ls_filename[ll_i]
  1139. end if
  1140. w_sys_wait_jdt.wf_set_msg('正在导入' + ls_emlFile)
  1141. // 导入文件
  1142. string ls_msg, ls_sumMsg = ''
  1143. if wf_import_eml(ls_emlFile, ls_msg) <> 1 then
  1144. // 导入文件失败
  1145. ls_sumMsg = '导入文件失败:' + ls_emlFile + ';原因:' + ls_msg + '~r~n'
  1146. end if
  1147. w_sys_wait_jdt.wf_inc(ll_i)
  1148. next
  1149. close(w_sys_wait_jdt)
  1150. if ls_sumMsg <> '' then
  1151. MessageBox('', ls_sumMsg)
  1152. end if
  1153. tv_1.trigger event selectionchanged(-1, wf_tv_getcurrent())
  1154. //if cur_set.mailid <= 0 then
  1155. // MessageBox('提示', '请先选择导入账号')
  1156. // return
  1157. //end if
  1158. //
  1159. //string ls_title, ls_pathname, ls_filename[], ls_extension, ls_filter
  1160. //ls_title = '选择eml文件导入'
  1161. //ls_extension = 'eml'
  1162. //ls_filter = 'eml文件,*.eml'
  1163. //
  1164. //if GetFileOpenName(ls_title, ls_pathname, ls_filename, ls_extension, ls_filter) <> 1 then
  1165. // return
  1166. //end if
  1167. //
  1168. //long ll_i
  1169. //for ll_i = lowerbound(ls_filename) to upperbound(ls_filename)
  1170. // string ls_emlFile
  1171. // if upperbound(ls_filename) = 1 then
  1172. // ls_emlFile = ls_pathname
  1173. // else
  1174. // ls_emlFile = ls_pathname + '\' + ls_filename[ll_i]
  1175. // end if
  1176. // // 导入文件
  1177. // string ls_msg, ls_sumMsg = ''
  1178. // if wf_import_eml(ls_emlFile, ls_msg) <> 1 then
  1179. // // 导入文件失败
  1180. // ls_sumMsg = '导入文件失败:' + ls_emlFile + ';原因:' + ls_msg + '~r~n'
  1181. // end if
  1182. //next
  1183. //
  1184. //if ls_sumMsg <> '' then
  1185. // MessageBox('', ls_sumMsg)
  1186. //end if
  1187. end event
  1188. event ue_msg_retr();wf_retrieve()
  1189. end event
  1190. event ue_msg_back();String sendemp,msgtitle,msg
  1191. Long ll_row
  1192. ll_row = dw_list.GetRow()
  1193. IF ll_row <= 0 THEN RETURN
  1194. sendemp = dw_list.Object.sendemp[ll_row]
  1195. msgtitle = dw_list.Object.sys_admsgmx_s_msgtitle[ll_row]
  1196. msg = dw_list.Object.sys_admsgmx_s_msg[ll_row]
  1197. s_admsg s_msg
  1198. s_msg.sendemp = sendemp
  1199. s_msg.msgtitle = msgtitle
  1200. s_msg.msg = msg
  1201. s_msg.ifback = 1
  1202. OpenWithParm(w_msg_send,s_msg)
  1203. end event
  1204. event ue_msg_del();Long rslt = 1,ls_msgid ,ls_empid,ls_senddtint,row
  1205. String arg_msg
  1206. uo_transmsg uo_msg
  1207. row = dw_list.GetRow()
  1208. IF row > 0 THEN
  1209. IF MessageBox ("询问","是否确定要确认当前消息记录?"+' '+String(dw_list.Object.sys_admsgmx_s_msgtitle[row]),Question!,YesNo! ) = 2 THEN RETURN
  1210. ls_msgid = dw_list.Object.sys_admsgmx_msgid[row]
  1211. ls_empid = dw_list.Object.sys_admsgmx_empid[row]
  1212. ls_senddtint = dw_list.Object.sys_admsgmx_senddtint[row]
  1213. rslt = uo_msg.f_redeal_admsg(ls_msgid,ls_senddtint,ls_empid,arg_msg,TRUE)
  1214. IF rslt = 0 THEN
  1215. MessageBox('提示',arg_msg,information!,ok!)
  1216. ELSE
  1217. THIS.TriggerEvent("ue_msg_retr")
  1218. END IF
  1219. END IF
  1220. end event
  1221. event ue_msg_his();open(w_msg_his)
  1222. end event
  1223. event ue_msg_view1();ls_dealflag = 0
  1224. wf_retrieve()
  1225. end event
  1226. event ue_msg_view2();ls_dealflag = -1
  1227. wf_retrieve()
  1228. end event
  1229. event ue_date1();em_1.text = string(today(),"yyyy-mm-dd")
  1230. em_2.text = string(today(),"yyyy-mm-dd")
  1231. end event
  1232. event ue_date2();
  1233. Int li_DayNum
  1234. li_DayNum = DayNumber(Today())
  1235. em_1.Text = String(RelativeDate ( Today(), 1 - li_DayNum ),"yyyy-mm-dd")
  1236. em_2.Text = String(RelativeDate ( Today(), 7 - li_DayNum ),"yyyy-mm-dd")
  1237. end event
  1238. event ue_date3();
  1239. Int li_Month, li_Year, li_Days
  1240. li_Month = Month(Today())
  1241. li_Year = Year(Today())
  1242. li_Days = days_in_month(li_Month, li_Year)
  1243. em_1.Text = String(Date(li_Year, li_Month, 1),"yyyy-mm-dd")
  1244. em_2.Text = String(Date(li_Year, li_Month, li_Days),"yyyy-mm-dd")
  1245. end event
  1246. event ue_msg_send();IF NOT IsValid(w_msg_send) THEN
  1247. s_admsg s_msg
  1248. s_msg.ifback = 0
  1249. OpenWithParm(w_msg_send,s_msg)
  1250. END IF
  1251. end event
  1252. event ue_emailset_property();s_email_set s_setparm
  1253. s_tv_data1 tv_data
  1254. tv_data = wf_tv_getdata(wf_tv_getcurrent())
  1255. if tv_data.a_string <> C_mailacount then return
  1256. s_setparm.mailid = tv_data.relid
  1257. if s_setparm.mailid > 0 then
  1258. if uo_email_power.can_edit(sys_msg_pow) then
  1259. s_setparm.flag = 1
  1260. else
  1261. s_setparm.flag = 0
  1262. end if
  1263. openWithParm(w_email_set_detail, s_setparm)
  1264. end if
  1265. end event
  1266. event ue_export_eml();if not has_fj_tran then
  1267. MessageBox('提示','未设置邮件数据库!',information!,OK!)
  1268. RETURN
  1269. end if
  1270. //if cur_set.mailid <= 0 then return
  1271. long i, ll_cnt = 0
  1272. string ls_title, ls_filepath, ls_filename, ls_extension, ls_filter
  1273. long ll_id
  1274. blob lb_orgData
  1275. string ls_msg
  1276. for i = 1 to dw_list.RowCount()
  1277. if dw_list.isselected(i) then
  1278. ll_cnt ++
  1279. end if
  1280. next
  1281. if ll_cnt < 1 then return
  1282. if ll_cnt > 1 then
  1283. ls_title = '导出邮件'
  1284. if GetFolder(ls_title, ls_filepath) <> 1 then
  1285. return
  1286. end if
  1287. if right(ls_filepath, 1) <> '\' then
  1288. ls_filepath = ls_filepath + '\'
  1289. end if
  1290. string ls_sum = ''
  1291. string ls_file
  1292. long ll_inc = 0
  1293. open(w_sys_wait_jdt)
  1294. w_sys_wait_jdt.wf_accepttol(ll_cnt)
  1295. for i = 1 to dw_list.RowCount()
  1296. if dw_list.isselected(i) then
  1297. ll_inc ++
  1298. ll_id = dw_list.object.id[i]
  1299. ls_file = dw_list.object.subject[i]
  1300. ls_sum = ls_sum + '保存<' + ls_file + '>'
  1301. w_sys_wait_jdt.wf_set_msg('正在导出<' + ls_file + '>')
  1302. selectblob orgData INTO :lb_orgData from u_email_msg where ID = :ll_id using fj_tran;
  1303. if fj_tran.sqlcode <> 0 then
  1304. ls_sum = ls_sum + '失败,获取原始数据失败,' + fj_tran.sqlerrtext + '~r~n'
  1305. continue
  1306. end if
  1307. wf_str_modFilePath(ls_file)
  1308. if FileExists(ls_filepath + ls_file + '.eml') then
  1309. long ll_num = 1
  1310. do while FileExists(ls_filepath + ls_file + '('+string(ll_num)+').eml')
  1311. ll_num ++
  1312. loop
  1313. ls_file = ls_filepath + ls_file + '('+string(ll_num)+').eml'
  1314. else
  1315. ls_file = ls_filepath + ls_file + '.eml'
  1316. end if
  1317. if f_blobtofile(ls_file, lb_orgData, ls_msg) <> 1 then
  1318. ls_sum = ls_sum + '失败,' + ls_msg + '~r~n'
  1319. continue
  1320. end if
  1321. ls_sum = ls_sum + '成功,保存到' + ls_file + '~r~n'
  1322. w_sys_wait_jdt.wf_set_msg('正在导出<' + ls_file + '>')
  1323. w_sys_wait_jdt.wf_inc(ll_inc)
  1324. end if
  1325. next
  1326. close(w_sys_wait_jdt)
  1327. MessageBox('提示', ls_sum)
  1328. return
  1329. end if
  1330. if dw_list.GetRow() <= 0 then return
  1331. ls_title = '导出邮件'
  1332. ls_extension = 'eml'
  1333. ls_filter = 'eml文件,*.eml'
  1334. ls_filepath = dw_list.object.subject[dw_list.GetRow()] + '.eml'
  1335. wf_str_modFilePath(ls_filepath)
  1336. if GetFileSaveName(ls_title, ls_filepath, ls_filename, ls_extension, ls_filter) <> 1 then
  1337. return
  1338. end if
  1339. ll_id = dw_list.object.id[dw_list.GetRow()]
  1340. selectblob orgData INTO :lb_orgData from u_email_msg where ID = :ll_id using fj_tran;
  1341. if fj_tran.sqlcode <> 0 then
  1342. MessageBox('系统错误', '网络或其它原因,获取原始数据失败:' + fj_tran.sqlerrtext, stopsign!)
  1343. return
  1344. end if
  1345. if f_blobtofile(ls_filepath, lb_orgData, ls_msg) <> 1 then
  1346. MessageBox('系统错误', '保存文件失败:' + ls_msg, stopsign!)
  1347. return
  1348. end if
  1349. MessageBox('文件保存成功', ls_filepath)
  1350. end event
  1351. event ue_newlebox();s_tv_data1 tv_data
  1352. Long parentid
  1353. tv_data = wf_tv_getdata(wf_tv_getcurrent())
  1354. IF tv_data.a_string = C_leroot THEN
  1355. parentid = 0
  1356. ELSEIF tv_data.a_string = C_lebox THEN
  1357. parentid = tv_data.relid
  1358. ELSE
  1359. RETURN
  1360. END IF
  1361. uo_ljmail_box uo_box
  1362. uo_box = Create uo_ljmail_box
  1363. String ls_msg
  1364. s_ljmail_box s_box
  1365. s_box.boxid = 0
  1366. s_box.boxname = '新目录'
  1367. s_box.empid = sys_empid
  1368. s_box.parentid = parentid
  1369. s_box.boxtype = 5
  1370. IF uo_box.uf_save(Ref s_box, Ref ls_msg) <> 1 THEN
  1371. MessageBox('错误1', ls_msg, stopsign!)
  1372. GOTO ext
  1373. END IF
  1374. tv_data.a_string = C_lebox
  1375. tv_data.relid = s_box.boxid
  1376. tv_data.b_string = s_box.boxname
  1377. tv_data.a_long = s_box.boxtype
  1378. tv_data.b_long = s_box.empid
  1379. Long boxhandle
  1380. boxhandle = wf_tv_insert(wf_tv_getcurrent(), s_box.boxname, 7, tv_data)
  1381. tv_1.SelectItem(boxhandle)
  1382. tv_1.EditLabel(boxhandle)
  1383. ext:
  1384. Destroy uo_box
  1385. //
  1386. //
  1387. //
  1388. //if box.uf_newbox(mailid, parentid, '新目录', true, ls_msg) <> 1 then
  1389. // MessageBox('错误', ls_msg, stopsign!)
  1390. // return
  1391. //end if
  1392. //
  1393. //s_tv_data1 s_box
  1394. //s_box.relid = box.boxid
  1395. //s_box.a_string = C_mailbox
  1396. //s_box.b_string = box.boxname
  1397. //s_box.a_long = mailid
  1398. //s_box.b_long = box.isdefault
  1399. //long unread
  1400. //unread = wf_box_getunread(box.boxid)
  1401. //long totle
  1402. //totle = wf_box_gettotle(box.boxid)
  1403. //string label
  1404. //label = trim(box.boxname) + '(' + string(unread) + '/' + string(totle) + ')'
  1405. //
  1406. //long boxhandle
  1407. //boxhandle = wf_tv_insert(wf_tv_getcurrent(), label, box.picindex, s_box)
  1408. //
  1409. //tv_1.SelectItem(boxhandle)
  1410. //
  1411. //tv_1.EditLabel(boxhandle)
  1412. //
  1413. //
  1414. //destroy box
  1415. end event
  1416. event ue_renamebox();tv_1.EditLabel(wf_tv_getcurrent())
  1417. end event
  1418. event ue_delbox();s_tv_data1 tv_data
  1419. long curhandle
  1420. curhandle = wf_tv_getcurrent()
  1421. tv_data = wf_tv_getdata(curhandle)
  1422. if tv_data.a_string <> C_mailbox then
  1423. return
  1424. end if
  1425. uo_email_box box
  1426. box = create uo_email_box
  1427. box.commit_tran = commit_tran
  1428. box.fj_tran = fj_tran
  1429. string ls_msg
  1430. if box.uf_del(tv_data.relid, ls_msg) = 1 then
  1431. tv_1.deleteitem(curhandle)
  1432. else
  1433. MessageBox('删除失败', ls_msg, stopsign!)
  1434. end if
  1435. destroy box
  1436. end event
  1437. event ue_newbox();s_tv_data1 tv_data
  1438. long mailid, parentid
  1439. tv_data = wf_tv_getdata(wf_tv_getcurrent())
  1440. if tv_data.a_string = C_mailacount then
  1441. mailid = tv_data.relid
  1442. parentid = 0
  1443. elseif tv_data.a_string = C_mailbox then
  1444. mailid = tv_data.a_long
  1445. parentid = tv_data.relid
  1446. else
  1447. return
  1448. end if
  1449. uo_email_box box
  1450. box = create uo_email_box
  1451. box.commit_tran = commit_tran
  1452. box.fj_tran = fj_tran
  1453. string ls_msg
  1454. if box.uf_newbox(mailid, parentid, '新目录', true, ls_msg) <> 1 then
  1455. MessageBox('错误', ls_msg, stopsign!)
  1456. return
  1457. end if
  1458. s_tv_data1 s_box
  1459. s_box.relid = box.boxid
  1460. s_box.a_string = C_mailbox
  1461. s_box.b_string = box.boxname
  1462. s_box.a_long = mailid
  1463. s_box.b_long = box.isdefault
  1464. long unread
  1465. unread = wf_box_getunread(box.boxid)
  1466. long totle
  1467. totle = wf_box_gettotle(box.boxid)
  1468. string label
  1469. label = trim(box.boxname) + '(' + string(unread) + '/' + string(totle) + ')'
  1470. long boxhandle
  1471. boxhandle = wf_tv_insert(wf_tv_getcurrent(), label, box.picindex, s_box)
  1472. tv_1.SelectItem(boxhandle)
  1473. tv_1.EditLabel(boxhandle)
  1474. destroy box
  1475. end event
  1476. event ue_set_signature();open(w_email_signmanage)
  1477. end event
  1478. event ue_revlemsg();open(w_ljmail_revmsg)
  1479. end event
  1480. event ue_afteropen();Long ll_num
  1481. Long ll_row
  1482. ll_num = Message.DoubleParm
  1483. tv_1.SelectItem(ins_innerrevhandle)
  1484. tv_1.trigger event selectionchanged(0, ins_innerrevhandle)
  1485. IF ll_num > 0 And dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
  1486. ll_row = dw_list.Find('sys_admsgmx_msgid = ' + String(ll_num), 1, dw_list.RowCount())
  1487. IF ll_row > 0 THEN
  1488. dw_list.SetRow(ll_row)
  1489. dw_list.ScrollToRow(ll_row)
  1490. dw_list.SelectRow(0, False)
  1491. dw_list.SelectRow(ll_row, True)
  1492. END IF
  1493. END IF
  1494. IF dw_list.GetRow() > 0 THEN
  1495. dw_list.Trigger Event RowFocusChanged(dw_list.GetRow())
  1496. END IF
  1497. end event
  1498. event ue_viewbill_msg();String ls_code
  1499. Long ll_scid
  1500. Long ll_row
  1501. IF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
  1502. ll_row = dw_list.GetRow()
  1503. IF ll_row > 0 THEN
  1504. ll_scid = dw_list.Object.sys_admsgmx_scid[ll_row]
  1505. ls_code = dw_list.Object.sys_admsgmx_billcode[ll_row]
  1506. IF ls_code <> '' THEN
  1507. f_open_win(ll_scid,ls_code)
  1508. END IF
  1509. END IF
  1510. END IF
  1511. end event
  1512. event ue_move_eml();
  1513. //tv_data = wf_tv_getdata(Handle)
  1514. openwithparm(w_email_move, tv_data_move)
  1515. this.cb_fresh.TriggerEvent(Clicked!)
  1516. //s_return = message.powerobjectparm
  1517. end event
  1518. event ue_set_cust();s_edit_index_tran s_ch_tran //传递参数使用
  1519. s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
  1520. s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
  1521. s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
  1522. String ls_souce,ls_name,ls_email
  1523. IF dw_list.RowCount() <= 0 THEN
  1524. RETURN
  1525. END IF
  1526. s_custom s_tran_cust
  1527. ls_souce = String(dw_list.Object.sendman[dw_list.GetRow()])
  1528. ls_name = Left(ls_souce,Pos(ls_souce,"<") - 1)
  1529. ls_email = Right(ls_souce,Len(ls_souce) - Pos(ls_souce,"<") )
  1530. ls_email = Left(ls_email,Len(ls_email) - 1)
  1531. s_ch_tran.d_long = 1
  1532. s_tran_cust.cuscode = String(Today(), "yyyyMMddHHmmss")
  1533. s_tran_cust.Name = ls_name
  1534. s_tran_cust.email = ls_email
  1535. s_ch_tran.a_any = s_tran_cust
  1536. OpenWithParm(W_cust_edit,s_ch_tran) //调用
  1537. //long ll_row
  1538. //
  1539. // w_cust_edit_popup w_me_cust_edit_popup
  1540. // f_sys_main(105)
  1541. // w_me_cust_edit_popup = s_sys_win_open[105].win
  1542. // DO WHILE Not IsValid(w_me_cust_edit_popup)
  1543. // Yield()
  1544. // LOOP
  1545. //
  1546. // w_me_cust_edit_popup.cb_add.TriggerEvent('clicked') //按新建客户
  1547. // ll_row = w_me_cust_edit_popup.tab_1.tabpage_1.dw_base.GetRow()
  1548. // w_me_cust_edit_popup.tab_1.tabpage_1.dw_base.Object.cuscode[ll_row] =string(today(), "yyyyMMddHHmmss") //编号
  1549. // w_me_cust_edit_popup.tab_1.tabpage_1.dw_base.Object.Name[ll_row] = string(dw_list.Object.sendman[dw_list.GetRow()]) //名称
  1550. // w_me_cust_edit_popup.tab_1.tabpage_1.dw_base.Object.custype[ll_row] = "张三" //业务员
  1551. // w_me_cust_edit_popup.tab_1.tabpage_1.dw_base.Object.rep[ll_row] = "小明" //联系人
  1552. end event
  1553. event ue_set_email_move();s_edit_index_tran ss_tran
  1554. Long ll_row,L1,L2
  1555. ll_row = dw_list.GetRow()
  1556. IF ll_row <= 0 THEN RETURN
  1557. ss_tran.b_long = dw_list.Object.mailID[ll_row]
  1558. ss_tran.b_string = dw_list.Object.sendman[ll_row]
  1559. L1 = Pos(ss_tran.b_string,"<")
  1560. L2 = Pos(ss_tran.b_string,">")
  1561. ss_tran.b_string = Mid(ss_tran.b_string,L1 + 1 ,L2 - L1 - 1)
  1562. //messagebox(string(ss_tran.b_long),ss_tran.b_string)
  1563. OpenWithParm(w_set_email_move,ss_tran)
  1564. end event
  1565. event ue_autorev();Open(w_email_ds_rev)
  1566. //f_SetProfileString (sys_empid,publ_userid+'_'+'sle_auottime', "autotime",String(long(trim(sle_auottime.text))))
  1567. ll_autotime = Long(f_ProfileString(sys_empid,publ_userid+'_'+'sle_auottime', "autotime",'0'))
  1568. IF ll_autotime > 0 THEN
  1569. if_autorev = True
  1570. timer(ll_autotime * 60)
  1571. END IF
  1572. end event
  1573. event ue_rep_group();s_edit_index_tran s_tranf
  1574. OpenWithParm(w_rep_group,s_tranf) //调用
  1575. end event
  1576. public function integer wf_init (ref string arg_msg);////用游标读取明细
  1577. //
  1578. Long i,NO_MXCHECK,rslt = 1
  1579. //Long ll_count
  1580. //i = 1
  1581. //all_count = 0
  1582. //DECLARE CUR_INWAERMX CURSOR FOR
  1583. // SELECT u_email_set.mailID,
  1584. // u_email_set.mailuser,
  1585. // u_email_set.mailaddress,
  1586. // u_email_set.mailpsw,
  1587. // u_email_set.popset,
  1588. // u_email_set.smtpset,
  1589. // u_email_set.Othermsg,
  1590. // 0,
  1591. // u_email_set.popport,
  1592. // u_email_set.smtpport,
  1593. // u_email_set.ifdelmsg,
  1594. // u_email_set.gap
  1595. // FROM u_email_set
  1596. // WHERE ( u_email_set.empid = :sys_empid AND u_email_set.mailtype = 0)
  1597. // OR u_email_set.mailtype = 1;
  1598. //
  1599. //OPEN CUR_INWAERMX;
  1600. //FETCH CUR_INWAERMX INTO :s_set[i].mailID,
  1601. // :s_set[i].mailuser,
  1602. // :s_set[i].mailaddress,
  1603. // :s_set[i].mailpsw,
  1604. // :s_set[i].popset,
  1605. // :s_set[i].smtpset,
  1606. // :s_set[i].Othermsg,
  1607. // :s_set[i].viewtype,
  1608. // :s_set[i].popport,
  1609. // :s_set[i].smtpport,
  1610. // :s_set[i].ifnodelmsg,
  1611. // :s_set[i].gap;
  1612. //s_set[i].mailpsw = Trim(f_psw_bczh(s_set[i].mailpsw,1,sys_power_key))
  1613. //DO WHILE sqlca.SQLCode = 0
  1614. // i++
  1615. // FETCH CUR_INWAERMX INTO :s_set[i].mailID,
  1616. // :s_set[i].mailuser,
  1617. // :s_set[i].mailaddress,
  1618. // :s_set[i].mailpsw,
  1619. // :s_set[i].popset,
  1620. // :s_set[i].smtpset,
  1621. // :s_set[i].Othermsg,
  1622. // :s_set[i].viewtype,
  1623. // :s_set[i].popport,
  1624. // :s_set[i].smtpport,
  1625. // :s_set[i].ifnodelmsg,
  1626. // :s_set[i].gap;
  1627. // s_set[i].mailpsw = Trim(f_psw_bczh(s_set[i].mailpsw,1,sys_power_key))
  1628. //LOOP
  1629. //CLOSE CUR_INWAERMX;
  1630. //
  1631. ////检验明细是否读入完整
  1632. //SELECT COUNT(*) INTO :NO_MXCHECK
  1633. // FROM u_email_set
  1634. // WHERE ( u_email_set.empid = :sys_empid AND u_email_set.mailtype = 0)
  1635. // OR u_email_set.mailtype = 1;
  1636. //IF sqlca.SQLCode <> 0 THEN
  1637. // rslt = 0
  1638. // arG_MSG = "查询操作失败,邮箱数量"
  1639. // GOTO ext
  1640. //END IF
  1641. //
  1642. //IF i <> (NO_MXCHECK+1) THEN
  1643. // rslt = 0
  1644. // arG_MSG = "查询操作失败,邮箱数量"
  1645. // GOTO ext
  1646. //END IF
  1647. //
  1648. //Long hand,li_handl,li_handl_son
  1649. //TreeViewItem ll_tvi
  1650. //String ls_mailuser
  1651. //Long tvi_hdl = 0
  1652. //Long ll_count1
  1653. //datastore ds_notread
  1654. //ds_notread = CREATE datastore
  1655. //ds_notread.DataObject = 'dw_email_view_rev_notread'
  1656. //ds_notread.SetTransObject(sqlca)
  1657. //
  1658. //datastore ds_temp
  1659. //ds_temp = CREATE datastore
  1660. //
  1661. //DO UNTIL tv_1.FindItem(RootTreeItem!, 0) = -1
  1662. // tv_1.DeleteItem(tvi_hdl)
  1663. //LOOP
  1664. //
  1665. //
  1666. //hand = tv_1.InsertItemLast(0,'全部邮箱',1)
  1667. //
  1668. //// 添加内部消息
  1669. //s_email_set s_tmp
  1670. //li_handl = tv_1.InsertItemLast(hand,'内部消息',8)
  1671. //IF tv_1.GetItem ( li_handl, ll_tvi) = 1 THEN
  1672. // s_tmp.mailid = -1
  1673. // s_tmp.viewtype = 0
  1674. // ll_tvi.Data = s_tmp
  1675. // tv_1.SetItem( li_handl, ll_tvi )
  1676. //END IF
  1677. //li_handl_son = tv_1.InsertItemLast(li_handl,'收件箱',7)
  1678. //IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
  1679. // s_tmp.mailid = -1
  1680. // s_tmp.viewtype = 1
  1681. // ll_tvi.Data = s_tmp
  1682. // SELECT count(0) INTO :ll_count
  1683. // FROM sys_admsgmx
  1684. // WHERE ( sys_admsgmx.dealflag = :ls_dealflag OR
  1685. // :ls_dealflag = -1 ) AND
  1686. // sys_admsgmx.empid = :sys_empid;
  1687. // if sqlca.sqlcode <> 0 then
  1688. // rslt = 0
  1689. // arg_msg = '数据库连接失败,获取内部消息收件箱数量失败'
  1690. // goto ext
  1691. // end if
  1692. // ll_tvi.label = '收件箱(' + string(ll_count) + ')'
  1693. // tv_1.SetItem( li_handl_son,ll_tvi )
  1694. //END IF
  1695. //li_handl_son = tv_1.InsertItemLast(li_handl,'发件箱',8)
  1696. //IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
  1697. // s_tmp.mailid = -1
  1698. // s_tmp.viewtype = 2
  1699. // ll_tvi.Data = s_tmp
  1700. // DateTime first_date, end_date
  1701. // first_date = DateTime(Date(em_1.Text), Time(0))
  1702. // end_date = datetime(date(em_2.Text), Time('23:59:59'))
  1703. // SELECT count(0) INTO :ll_count
  1704. // FROM Sys_admsg
  1705. // WHERE (Sys_admsg.sendempid = :sys_empid ) AND
  1706. // ( sys_admsg.senddt >= :first_date ) AND
  1707. // ( sys_admsg.senddt < :end_date );
  1708. // if sqlca.sqlcode <> 0 then
  1709. // rslt = 0
  1710. // arg_msg = '数据库连接失败,获取内部消息发件箱数量失败'
  1711. // goto ext
  1712. // end if
  1713. // ll_tvi.label = '发件箱(' + string(ll_count) + ')'
  1714. // tv_1.SetItem( li_handl_son,ll_tvi )
  1715. //END IF
  1716. //tv_1.expanditem(li_handl)
  1717. /////////////////////////////////////////
  1718. //
  1719. //FOR i = 1 TO NO_MXCHECK
  1720. // ls_mailuser = Trim(s_set[i].mailuser) + '<' + Trim(s_set[i].mailAddress) + '>'
  1721. // li_handl = tv_1.InsertItemLast(hand,ls_mailuser,2)
  1722. // IF tv_1.GetItem ( li_handl, ll_tvi) = 1 THEN
  1723. // ll_tvi.Label = ls_mailuser
  1724. // ll_tvi.Data = s_set[i]
  1725. // tv_1.SetItem( li_handl, ll_tvi )
  1726. // END IF
  1727. //
  1728. // li_handl_son = tv_1.InsertItemLast(li_handl,'收件箱',3)
  1729. // IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
  1730. //
  1731. // ds_temp.DataObject = 'dw_email_view_rev'
  1732. // ds_temp.SetTransObject(sqlca)
  1733. // ll_count = ds_temp.Retrieve(s_set[i].mailID)
  1734. // ll_count1 = ds_notread.Retrieve(s_set[i].mailID)
  1735. //
  1736. // IF ll_count = 0 THEN
  1737. // ll_tvi.Label = '收件箱'
  1738. // ELSE
  1739. // ll_tvi.Label = '收件箱(' + String(ll_count1) + '/' + String(ll_count) + ')'
  1740. // END IF
  1741. // s_set[i].viewtype = 1
  1742. // ll_tvi.Data = s_set[i]
  1743. // tv_1.SetItem( li_handl_son,ll_tvi )
  1744. // END IF
  1745. //
  1746. // li_handl_son = tv_1.InsertItemLast(li_handl,'发件箱',4)
  1747. // IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
  1748. // ds_temp.DataObject = 'dw_email_view_send'
  1749. // ds_temp.SetTransObject(sqlca)
  1750. // ll_count = ds_temp.Retrieve(s_set[i].mailID)
  1751. // IF ll_count = 0 THEN
  1752. // ll_tvi.Label = '发件箱'
  1753. // ELSE
  1754. // ll_tvi.Label = '发件箱(' + String(ll_count) + ')'
  1755. // END IF
  1756. // s_set[i].viewtype = 2
  1757. // ll_tvi.Data = s_set[i]
  1758. // tv_1.SetItem( li_handl_son, ll_tvi )
  1759. // END IF
  1760. //
  1761. // li_handl_son = tv_1.InsertItemLast(li_handl,'已发件箱',5)
  1762. // IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
  1763. // ds_temp.DataObject = 'dw_email_view_sent'
  1764. // ds_temp.SetTransObject(sqlca)
  1765. // ll_count = ds_temp.Retrieve(s_set[i].mailID)
  1766. // IF ll_count = 0 THEN
  1767. // ll_tvi.Label = '已发件箱'
  1768. // ELSE
  1769. // ll_tvi.Label = '已发件箱(' + String(ll_count) + ')'
  1770. // END IF
  1771. // s_set[i].viewtype = 3
  1772. // ll_tvi.Data = s_set[i]
  1773. // tv_1.SetItem( li_handl_son,ll_tvi )
  1774. // END IF
  1775. //
  1776. // li_handl_son = tv_1.InsertItemLast(li_handl,'废件箱',6)
  1777. // IF tv_1.GetItem ( li_handl_son, ll_tvi) = 1 THEN
  1778. // ds_temp.DataObject = 'dw_email_view_dust'
  1779. // ds_temp.SetTransObject(sqlca)
  1780. // ll_count = ds_temp.Retrieve(s_set[i].mailID)
  1781. // IF ll_count = 0 THEN
  1782. // ll_tvi.Label = '废件箱'
  1783. // ELSE
  1784. // ll_tvi.Label = '废件箱(' + String(ll_count) + ')'
  1785. // END IF
  1786. // s_set[i].viewtype = 4
  1787. // ll_tvi.Data = s_set[i]
  1788. // tv_1.SetItem( li_handl_son,ll_tvi )
  1789. // END IF
  1790. //
  1791. // tv_1.ExpandItem(li_handl)
  1792. //NEXT
  1793. //tv_1.ExpandItem(hand)
  1794. //
  1795. //all_count = NO_MXCHECK
  1796. //
  1797. //IF all_count = 0 THEN
  1798. // cb_rev.Enabled = FALSE
  1799. // cb_send.Enabled = FALSE
  1800. // cb_write.Enabled = FALSE
  1801. // cb_back.Enabled = FALSE
  1802. // cb_sendother.Enabled = FALSE
  1803. // cb_del.Enabled = FALSE
  1804. //END IF
  1805. //
  1806. //ext:
  1807. RETURN rslt
  1808. //
  1809. //
  1810. //
  1811. //
  1812. //
  1813. //
  1814. //
  1815. //
  1816. //
  1817. end function
  1818. public subroutine wf_delfj ();String ls_pathname
  1819. Long li_count,i
  1820. ls_pathname = sys_cur_path + fjfilepathname+'\' + '*.*'
  1821. lb_1.Reset()
  1822. lb_1.DirList(ls_pathname, 0)
  1823. li_count = lb_1.TotalItems()
  1824. IF li_count > 0 THEN
  1825. FOR i = li_count TO 1 STEP -1
  1826. ls_pathname = sys_cur_path+fjfilepathname+'\' + lb_1.Text(i)
  1827. IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
  1828. NEXT
  1829. END IF
  1830. end subroutine
  1831. public function integer wf_revemail (s_email_set arg_set, ref string arg_msg);Long rslt = 1
  1832. //String tUID
  1833. //Long ll_count
  1834. //Long ll_mailcount
  1835. //Long ll_attcount
  1836. //Long i,j
  1837. //String ls_pathname
  1838. //String ls_popport
  1839. //Blob lb_fileblob,lb_null
  1840. //Long ll_cnt_lp = 0
  1841. //String ls_msg
  1842. //ls_popport = String(arg_set.popport,'###0')
  1843. //arg_msg = ''
  1844. //oleobject jmail
  1845. //oleobject mailmsg
  1846. //oleobject Attachments
  1847. //oleobject Attachment
  1848. //jmail = CREATE oleobject
  1849. //mailmsg = CREATE oleobject
  1850. //Attachments = CREATE oleobject
  1851. //Attachment = CREATE oleobject
  1852. //jmail.ConnectToNewObject("JMail.pop3")
  1853. //mailmsg.ConnectToNewObject("JMail.Message")
  1854. //Attachments.ConnectToNewObject("JMail.Attachments")
  1855. //Attachment.ConnectToNewObject("JMail.Attachment")
  1856. //jmail.TimeOut = 3600
  1857. //TRY
  1858. //jmail.Connect(arg_set.mailAddress,arg_set.mailpsw,arg_set.popset, ls_popport )
  1859. //CATCH ( oleruntimeerror exIdentifier1 )
  1860. //arg_msg = '连接邮箱失败,邮箱设置不正确或者没有连接网络'
  1861. //END TRY
  1862. //
  1863. //IF arg_msg <> '' THEN
  1864. // GOTO ext2
  1865. //END IF
  1866. //
  1867. //ll_mailcount = jmail.Count
  1868. //
  1869. //SetNull(lb_null)
  1870. //
  1871. //String ls_body[],ls_htmlBody[]
  1872. //Blob ls_filedata[]
  1873. //s_email_rev s_rev
  1874. //
  1875. //IF ll_mailcount = 0 THEN GOTO ext2
  1876. //
  1877. //Open(w_sys_wait_jdt) //初始化进度条
  1878. //w_sys_wait_jdt.Show()
  1879. //w_sys_wait_jdt.wf_accepttol(ll_mailcount)
  1880. //
  1881. //FOR i = 1 TO ll_mailcount
  1882. // ll_cnt_lp++
  1883. // w_sys_wait_jdt.st_msg.Text = arg_set.mailuser + "<" + arg_set.mailAddress + ">"+ " 正在收取邮件(" + String(i) + "/" + String(ll_mailcount) + ")." //进度信息
  1884. // w_sys_wait_jdt.wf_inc(ll_cnt_lp)
  1885. //
  1886. // rslt = 1
  1887. // ll_count = 0
  1888. // jmail.downloadsinglemessage(i)
  1889. // tUID = jmail.GetMessageUID(i)
  1890. //
  1891. // SELECT count(*)
  1892. // INTO :ll_count
  1893. // FROM u_email_rev
  1894. // Where tUID = :tUID and mailtype <> 2;
  1895. // IF sqlca.SQLCode <> 0 THEN
  1896. // ls_msg = '获取已收邮件信息失败'
  1897. // rslt = 0
  1898. // GOTO ext1
  1899. // END IF
  1900. //
  1901. // IF ll_count > 0 THEN CONTINUE
  1902. //
  1903. // mailmsg = jmail.Messages[i]
  1904. //
  1905. // s_rev.mailAddress = arg_set.mailAddress
  1906. // s_rev.Subject = mailmsg.Subject
  1907. // s_rev.textBody = String(mailmsg.Body)
  1908. //
  1909. // s_rev.htmlBody = Blob(mailmsg.htmlBody)
  1910. // s_rev.senduser = mailmsg.fromname
  1911. // s_rev.sendaddress = mailmsg.FROM
  1912. // s_rev.mailsize = mailmsg.size
  1913. // s_rev.RevID = f_sys_scidentity(0,"u_email_rev","RevID",ls_msg,TRUE, sqlca) //数据commit事务)
  1914. // IF s_rev.RevID <= 0 THEN
  1915. // rslt = 0
  1916. // GOTO ext1
  1917. // END IF
  1918. //
  1919. // INSERT INTO u_email_rev(
  1920. // RevID,
  1921. // mailID,
  1922. // mailaddress,
  1923. // mailtype,
  1924. // Subject,
  1925. // senduser,
  1926. // sendaddress,
  1927. // revdate,
  1928. // mailSize,
  1929. // textBody,
  1930. // tUID)
  1931. // VALUES
  1932. // ( :s_rev.RevID,
  1933. // :arg_set.mailid,
  1934. // :s_rev.mailaddress,
  1935. // 0,
  1936. // :s_rev.Subject,
  1937. // :s_rev.senduser,
  1938. // :s_rev.sendaddress,
  1939. // getdate(),
  1940. // :s_rev.mailSize,
  1941. // :s_rev.textBody,
  1942. // :tUID);
  1943. // IF sqlca.SQLCode <> 0 THEN
  1944. // ls_msg = '向数据库插入已收邮件信息失败'
  1945. // rslt = 0
  1946. // GOTO ext1
  1947. // ELSE
  1948. // COMMIT;
  1949. // END IF
  1950. //
  1951. // IF String(s_rev.htmlBody) <> "" THEN
  1952. // UPDATEBLOB u_email_rev
  1953. // Set htmltext = :s_rev.htmlBody
  1954. // Where RevID = :s_rev.RevID;
  1955. // IF sqlca.SQLCode <> 0 THEN
  1956. // ls_msg = '向数据库插入已收邮件信息失败'
  1957. // rslt = 0
  1958. // GOTO ext1
  1959. // END IF
  1960. // END IF
  1961. //
  1962. // Attachments = mailmsg.Attachments
  1963. // IF Attachments.Count = 0 THEN goto ext1
  1964. // s_email_fj s_fj
  1965. //
  1966. // FOR j = 0 TO Attachments.Count - 1
  1967. // Attachment = Attachments.Item[j]
  1968. // s_fj.fjid[j+1] = f_sys_scidentity(0,"u_email_fj","fjid",ls_msg,TRUE, sqlca) //数据commit事务)
  1969. // IF s_fj.fjid[j+1] <= 0 THEN
  1970. // rslt = 0
  1971. // GOTO ext1
  1972. // END IF
  1973. // s_fj.Filename[j+1] = Attachment.Name
  1974. // s_fj.filesize[j+1] = Attachment.size
  1975. // s_fj.FileType[j+1] = Attachment.contenttype
  1976. // INSERT INTO u_email_fj
  1977. // ( fjid,
  1978. // fjtype,
  1979. // Relid,
  1980. // filename,
  1981. // filesize,
  1982. // filetype
  1983. // ) VALUES
  1984. // ( :s_fj.fjid[j+1],
  1985. // 1,
  1986. // :s_rev.RevID,
  1987. // :s_fj.filename[j+1],
  1988. // :s_fj.filesize[j+1],
  1989. // :s_fj.filetype[j+1]
  1990. // );
  1991. // IF sqlca.SQLCode <> 0 THEN
  1992. // ls_msg = '向数据库插入已收邮件附件信息失败'
  1993. // rslt = 0
  1994. // GOTO ext1
  1995. // ELSE
  1996. // COMMIT;
  1997. // END IF
  1998. //
  1999. // ls_pathname = sys_cur_path+fjfilepathname+'\'+s_fj.Filename[j+1]
  2000. // IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
  2001. // Attachment.savetofile(ls_pathname )
  2002. //
  2003. // lb_fileblob = lb_null
  2004. //
  2005. // IF f_filetoblob(ls_pathname,lb_fileblob,ls_msg) = 0 THEN
  2006. // rslt = 0
  2007. // GOTO ext1
  2008. // END IF
  2009. //
  2010. // IF String(lb_fileblob) <> "" THEN
  2011. // UPDATEBLOB u_email_fj
  2012. // Set fileblob = :lb_fileblob
  2013. // Where fjid = :s_fj.fjid[j+1];
  2014. // IF sqlca.SQLCode <> 0 THEN
  2015. // ls_msg = '向数据库插入已收邮件附件信息失败'
  2016. // rslt = 0
  2017. // GOTO ext1
  2018. // ELSE
  2019. // COMMIT;
  2020. // END IF
  2021. // END IF
  2022. //
  2023. // FileDelete(ls_pathname)
  2024. // NEXT
  2025. //
  2026. // ext1:
  2027. // IF rslt = 1 THEN
  2028. // COMMIT;
  2029. // if arg_set.ifnodelmsg = 0 then
  2030. // jmail.deletesinglemessage(i)
  2031. // end if
  2032. // ELSEIF rslt = 0 THEN
  2033. // ROLLBACK;
  2034. // arg_msg = arg_msg + arg_set.mailuser + "<" + arg_set.mailAddress + ">第" + String(i) + '条,' + ls_msg + '~n'
  2035. // END IF
  2036. //
  2037. //
  2038. //NEXT
  2039. //
  2040. //
  2041. //ext2:
  2042. //
  2043. //IF IsValid(w_sys_wait_jdt) THEN
  2044. // Close(w_sys_wait_jdt)
  2045. //END IF
  2046. //
  2047. //
  2048. //IF arg_msg <> '' THEN
  2049. // rslt = 0
  2050. // jmail.Disconnect()
  2051. //ELSE
  2052. // rslt = 1
  2053. //END IF
  2054. //
  2055. //DESTROY jmail
  2056. RETURN rslt
  2057. //
  2058. //
  2059. //
  2060. //
  2061. //
  2062. //
  2063. //
  2064. //
  2065. //
  2066. //
  2067. //
  2068. //
  2069. end function
  2070. public function integer wf_retrievemx (long arg_id, integer arg_fjtype, string arg_address, ref string arg_msg);Int rslt = 1
  2071. //String ls_text,ls_html
  2072. //Blob lb_html
  2073. //String ls_address
  2074. //long ll_num, ll_size
  2075. //blob lb_temp
  2076. /////清空
  2077. //
  2078. //IF FileExists(Pathname) THEN FileDelete(Pathname)
  2079. //have_fj = FALSE
  2080. //have_text = FALSE
  2081. //have_html = FALSE
  2082. //
  2083. //
  2084. //wf_retreve_inout(arg_address)
  2085. //wf_retreve_rep(arg_id,arg_fjtype)
  2086. //ole_1.object.navigate('about:blank')
  2087. //CHOOSE CASE arg_fjtype
  2088. // CASE 1
  2089. //
  2090. // cb_back.Enabled = TRUE
  2091. // cb_sendother.Enabled = TRUE
  2092. //
  2093. // SELECT u_email_rev.textBody
  2094. // INTO :ls_text
  2095. // FROM u_email_rev,
  2096. // u_email_set
  2097. // WHERE ( u_email_rev.mailID = u_email_set.mailID ) AND
  2098. // ( u_email_rev.revid = :arg_id ) ;
  2099. // IF sqlca.SQLCode <> 0 THEN
  2100. // arg_msg = '读取已收邮件失败'+sqlca.SQLErrText
  2101. // rslt = 0
  2102. // GOTO ext
  2103. // END IF
  2104. //
  2105. //
  2106. // IF IsNull(ls_text) OR len(trim(ls_text)) <= 0 THEN
  2107. //
  2108. // ELSE
  2109. //// tab_1.tabpage_1.mle_text.Text = ls_text
  2110. // have_text = TRUE
  2111. // END IF
  2112. //
  2113. // ////
  2114. // select datalength(htmltext) INTO :ll_size
  2115. // from u_email_rev
  2116. // where ( u_email_rev.revid = :arg_id );
  2117. // if sqlca.sqlcode <> 0 then
  2118. // rslt = 0
  2119. // arg_msg = '获取网页正文大小失败>>'+sqlca.SQLErrText
  2120. // GOTO ext
  2121. // END IF
  2122. //
  2123. // if ll_size > 2048 then
  2124. // SELECTBLOB htmltext
  2125. // INTO :lb_html
  2126. // FROM u_email_rev
  2127. // Where ( u_email_rev.revid = :arg_id ) ;
  2128. // IF sqlca.SQLCode <> 0 THEN
  2129. // rslt = 0
  2130. // arg_msg = '下载网页正文失败>>'+sqlca.SQLErrText
  2131. // GOTO ext
  2132. // END IF
  2133. // else
  2134. // SELECT htmltext
  2135. // INTO :ls_html
  2136. // FROM u_email_rev
  2137. // Where ( u_email_rev.revid = :arg_id ) ;
  2138. // IF sqlca.SQLCode <> 0 THEN
  2139. // rslt = 0
  2140. // arg_msg = '下载网页正文失败>>'+sqlca.SQLErrText
  2141. // GOTO ext
  2142. // END IF
  2143. // lb_html = blob(ls_html)
  2144. // end if
  2145. //
  2146. // IF IsNull(lb_html) OR len(trim(string(lb_html))) <= 0 THEN
  2147. //
  2148. // ELSE
  2149. // have_html = TRUE
  2150. // ////
  2151. ////
  2152. //// tab_1.tabpage_2.ole_html.Object.navigate('file:///' + Pathname)
  2153. // END IF
  2154. //
  2155. // if have_html then
  2156. // IF f_blobtofile(Pathname,lb_html,arg_msg) = 0 THEN
  2157. // rslt = 0
  2158. // GOTO ext
  2159. // END IF
  2160. // DO WHILE pos(Pathname,'\',1) > 0
  2161. // Pathname = Replace(Pathname,pos(Pathname,'\',1),1,'/')
  2162. // LOOP
  2163. // ole_1.Object.navigate('file:///' + Pathname)
  2164. // elseif have_text then
  2165. // lb_temp = blob(f_texttohtml(ls_text))
  2166. // IF f_blobtofile(Pathname,lb_temp,arg_msg) = 0 THEN
  2167. // rslt = 0
  2168. // GOTO ext
  2169. // END IF
  2170. // DO WHILE pos(Pathname,'\',1) > 0
  2171. // Pathname = Replace(Pathname,pos(Pathname,'\',1),1,'/')
  2172. // LOOP
  2173. // ole_1.object.navigate('file:///' + Pathname)
  2174. // end if
  2175. //
  2176. // CASE 0
  2177. //
  2178. // dw_mail.Reset()
  2179. // cb_back.Enabled = FALSE
  2180. // cb_sendother.Enabled = true
  2181. // SELECT u_email_send.textBody
  2182. // INTO :ls_text
  2183. // FROM u_email_send,
  2184. // u_email_set
  2185. // WHERE ( u_email_send.mailID = u_email_set.mailID ) AND
  2186. // ( u_email_send.sendid = :arg_id ) ;
  2187. // IF sqlca.SQLCode <> 0 THEN
  2188. // arg_msg = '读取已收邮件失败'+sqlca.SQLErrText
  2189. // rslt = 0
  2190. // GOTO ext
  2191. // END IF
  2192. // IF IsNull(ls_text) OR len(trim(ls_text)) <= 0 THEN
  2193. //
  2194. // ELSE
  2195. //// tab_1.tabpage_1.mle_text.Text = ls_text
  2196. // have_text = TRUE
  2197. // END IF
  2198. //
  2199. // ////
  2200. // select datalength(htmltext) INTO :ll_size
  2201. // from u_email_send
  2202. // where ( u_email_send.sendid = :arg_id );
  2203. // if sqlca.sqlcode <> 0 then
  2204. // rslt = 0
  2205. // arg_msg = '获取网页正文大小失败>>'+sqlca.SQLErrText
  2206. // GOTO ext
  2207. // END IF
  2208. // if ll_size > 2048 then
  2209. // SELECTBLOB htmltext
  2210. // INTO :lb_html
  2211. // FROM u_email_send
  2212. // Where ( u_email_send.sendid = :arg_id ) ;
  2213. // IF sqlca.SQLCode <> 0 THEN
  2214. // rslt = 0
  2215. // arg_msg = '下载网页正文失败>>'+sqlca.SQLErrText
  2216. // GOTO ext
  2217. // END IF
  2218. // else
  2219. // SELECT htmltext
  2220. // INTO :ls_html
  2221. // FROM u_email_send
  2222. // Where ( u_email_send.sendid = :arg_id ) ;
  2223. // IF sqlca.SQLCode <> 0 THEN
  2224. // rslt = 0
  2225. // arg_msg = '下载网页正文失败>>'+sqlca.SQLErrText
  2226. // GOTO ext
  2227. // END IF
  2228. // lb_html = blob(ls_html)
  2229. // end if
  2230. //
  2231. // IF IsNull(lb_html) OR len(trim(string(lb_html))) <= 0 THEN
  2232. //
  2233. // ELSE
  2234. // have_html = TRUE
  2235. // ////
  2236. //
  2237. ////
  2238. //// tab_1.tabpage_2.ole_html.Object.navigate('file:///' + Pathname)
  2239. // END IF
  2240. //
  2241. // ///
  2242. // if have_html then
  2243. // IF f_blobtofile(Pathname,lb_html,arg_msg) = 0 THEN
  2244. // rslt = 0
  2245. // GOTO ext
  2246. // END IF
  2247. // DO WHILE pos(Pathname,'\',1) > 0
  2248. // Pathname = Replace(Pathname,pos(Pathname,'\',1),1,'/')
  2249. // LOOP
  2250. // ole_1.object.navigate('file:///' + Pathname)
  2251. // elseif have_text then
  2252. // lb_temp = blob(f_texttohtml(ls_text))
  2253. // IF f_blobtofile(Pathname,lb_temp,arg_msg) = 0 THEN
  2254. // rslt = 0
  2255. // GOTO ext
  2256. // DO WHILE pos(Pathname,'\',1) > 0
  2257. // Pathname = Replace(Pathname,pos(Pathname,'\',1),1,'/')
  2258. // LOOP
  2259. // END IF
  2260. // ole_1.object.navigate('file:///' + Pathname)
  2261. // end if
  2262. //
  2263. //END CHOOSE
  2264. //
  2265. ////附件列表
  2266. //
  2267. //Long count,ls_i
  2268. //listviewitem l_lvi
  2269. //s_email_lvfj s_lvfj[]
  2270. //
  2271. //SELECT count(*)
  2272. // INTO :count
  2273. // FROM u_email_fj
  2274. // Where ( u_email_fj.relid = :arg_id AND u_email_fj.fjtype = :arg_fjtype );
  2275. //IF count > 0 THEN
  2276. // lv_fj.Visible = TRUE
  2277. // have_fj = TRUE
  2278. //ELSE
  2279. // lv_fj.Visible = FALSE
  2280. // have_fj = FALSE
  2281. // GOTO ext
  2282. //END IF
  2283. //
  2284. //DECLARE fj_cur CURSOR FOR
  2285. // SELECT fjid,
  2286. // filename,
  2287. // filesize,
  2288. // filetype
  2289. // FROM u_email_fj
  2290. // Where ( u_email_fj.relid = :arg_id AND u_email_fj.fjtype = :arg_fjtype );
  2291. //OPEN fj_cur;
  2292. //
  2293. //count = 1
  2294. //FETCH fj_cur INTO :s_lvfj[count].fjid,&
  2295. // :s_lvfj[count].filename,&
  2296. // :s_lvfj[count].filesize,&
  2297. // :s_lvfj[count].FileType;
  2298. //DO WHILE sqlca.SQLCode = 0
  2299. // count++
  2300. // FETCH fj_cur INTO :s_lvfj[count].fjid,&
  2301. // :s_lvfj[count].filename,&
  2302. // :s_lvfj[count].filesize,&
  2303. // :s_lvfj[count].FileType;
  2304. //LOOP
  2305. //
  2306. //count = count - 1
  2307. //CLOSE fj_cur;
  2308. //
  2309. //
  2310. //FOR ls_i = 1 TO count
  2311. // l_lvi.PictureIndex = 1
  2312. // l_lvi.Label = s_lvfj[ls_i].Filename
  2313. // l_lvi.Data = s_lvfj[ls_i]
  2314. // lv_fj.InsertItem(ls_i,l_lvi)
  2315. //NEXT
  2316. //
  2317. //
  2318. //
  2319. //ext:
  2320. //
  2321. ////IF have_html THEN
  2322. //// tab_1.SelectTab (2)
  2323. ////ELSE
  2324. //// tab_1.SelectTab (1)
  2325. ////END IF
  2326. ////
  2327. ////tab_1.tabpage_1.Visible = have_text
  2328. ////tab_1.tabpage_1.mle_text.Visible = have_text
  2329. ////tab_1.tabpage_2.Visible = have_html
  2330. ////tab_1.tabpage_2.ole_html.Visible = have_html
  2331. //
  2332. //lv_fj.Visible = have_fj
  2333. //
  2334. //this.triggerevent('resize')
  2335. //
  2336. //
  2337. RETURN rslt
  2338. //
  2339. end function
  2340. public subroutine wf_retreve_inout (string arg_address);//IF have_inout and arg_address <> '' THEN
  2341. // dw_mail.SetRedraw (FALSE)
  2342. // dw_mail.Retrieve(cur_set.mailid,arg_address)
  2343. // dw_mail.SetRedraw (TRUE)
  2344. // dw_fj.SetRedraw (FALSE)
  2345. // dw_fj.Retrieve(cur_set.mailid,arg_address)
  2346. // dw_fj.SetRedraw (TRUE)
  2347. //ELSE
  2348. // dw_mail.Reset()
  2349. // dw_fj.Reset()
  2350. //END IF
  2351. end subroutine
  2352. public subroutine wf_retreve_rep (long arg_id, integer arg_fjtype);//IF arg_fjtype = 1 THEN
  2353. // IF have_rep THEN
  2354. // p_resize1.TriggerEvent(Clicked!)
  2355. // END IF
  2356. // p_resize1.Enabled = FALSE
  2357. // dw_rep.Reset()
  2358. //ELSE
  2359. // p_resize1.Enabled = TRUE
  2360. // dw_rep.SetRedraw (FALSE)
  2361. // dw_rep.Retrieve(arg_id)
  2362. // dw_rep.SetRedraw (TRUE)
  2363. //END IF
  2364. end subroutine
  2365. public subroutine pf_retrievetree (long arg_handl, integer arg_flag);//s_email_set temp_set
  2366. //Long ll_handl,ll_count,ll_count1
  2367. //long mailid
  2368. //string ls_title
  2369. //treeviewitem tvi
  2370. //datastore ds_list
  2371. //
  2372. //ds_list = create datastore
  2373. //ll_handl = arg_handl
  2374. //ll_handl = tv_1.FindItem(ChildTreeItem!,ll_handl)
  2375. //
  2376. //DO WHILE ll_handl > 0
  2377. // tv_1.GetItem(ll_handl,tvi)
  2378. // temp_set = tvi.Data
  2379. //
  2380. // IF (arg_flag = -1 OR temp_set.mailid = cur_set.mailid) and (cur_set.mailid > 0) THEN
  2381. //
  2382. // CHOOSE CASE temp_set.viewtype
  2383. // CASE 1
  2384. //
  2385. // ds_list.DataObject = 'dw_email_view_rev'
  2386. // ds_list.SetTransObject(sqlca)
  2387. // ll_count = ds_list.Retrieve(temp_set.mailid)
  2388. //
  2389. // datastore ds_notread
  2390. // ds_notread = CREATE datastore
  2391. // ds_notread.DataObject = 'dw_email_view_rev_notread'
  2392. // ds_notread.SetTransObject(sqlca)
  2393. // ll_count1 = ds_notread.Retrieve(temp_set.mailid)
  2394. //
  2395. // IF ll_count > 0 THEN
  2396. // ls_title = '收件箱(' + String(ll_count1) + '/' + String(ll_count) + ')'
  2397. // ELSE
  2398. // ls_title = '收件箱'
  2399. // END IF
  2400. // CASE 2
  2401. // ds_list.DataObject = 'dw_email_view_send'
  2402. // ds_list.SetTransObject(sqlca)
  2403. // ll_count = ds_list.Retrieve(temp_set.mailid)
  2404. // IF ll_count > 0 THEN
  2405. // ls_title = '发件箱(' + String(ll_count) + ')'
  2406. // ELSE
  2407. // ls_title = '发件箱'
  2408. // END IF
  2409. // CASE 3
  2410. // ds_list.DataObject = 'dw_email_view_sent'
  2411. // ds_list.SetTransObject(sqlca)
  2412. // ll_count = ds_list.Retrieve(temp_set.mailid)
  2413. // IF ll_count > 0 THEN
  2414. // ls_title = '已发件箱(' + String(ll_count) + ')'
  2415. // ELSE
  2416. // ls_title = '已发件箱'
  2417. // END IF
  2418. // CASE 4
  2419. // ds_list.DataObject = 'dw_email_view_dust'
  2420. // ds_list.SetTransObject(sqlca)
  2421. // ll_count = ds_list.Retrieve(temp_set.mailid)
  2422. // IF ll_count > 0 THEN
  2423. // ls_title = '废件箱(' + String(ll_count) + ')'
  2424. // ELSE
  2425. // ls_title = '废件箱'
  2426. // END IF
  2427. // CASE ELSE
  2428. // cur_address = ''
  2429. // END CHOOSE
  2430. //
  2431. // IF temp_set.viewtype > 0 THEN
  2432. // tvi.Label = ls_title
  2433. // tv_1.SetItem(ll_handl, tvi)
  2434. // END IF
  2435. // END IF
  2436. // pf_retrievetree(ll_handl,arg_flag)
  2437. // ll_handl = tv_1.FindItem(NextTreeItem!,ll_handl)
  2438. //LOOP
  2439. //
  2440. //
  2441. //
  2442. end subroutine
  2443. public subroutine wf_retrieve ();s_tv_data1 tv_data
  2444. string ls_msg
  2445. if wf_tv_getcurrent() <= 0 then
  2446. // DONE:不显示列表与内容
  2447. wf_ui_reflash()
  2448. return
  2449. end if
  2450. tv_data = wf_tv_getdata(wf_tv_getcurrent())
  2451. if tv_data.a_string = C_innerrev then
  2452. // DONE: 内部消息收件箱
  2453. wf_dw_retrieve_innermsg_rev()
  2454. elseif tv_data.a_string = C_innersend then
  2455. // DONE: 内部消息发件箱
  2456. wf_dw_retrieve_innermsg_send()
  2457. elseif tv_data.a_string = C_mailbox then
  2458. // DONE: 邮箱
  2459. long ll_mailid, ll_boxid
  2460. ll_mailid = tv_data.a_long
  2461. ll_boxid = tv_data.relid
  2462. wf_dw_retrieve_mailmsg(ll_mailid, ll_boxid,tv_data.b_string)
  2463. else
  2464. dw_list.dataobject = ''
  2465. end if
  2466. wf_ui_reflash()
  2467. //long ll_count,ll_count1
  2468. //string ls_title
  2469. //
  2470. // st_3.visible = false
  2471. // em_1.visible = false
  2472. // pb_em1.visible = false
  2473. // st_4.visible = false
  2474. // em_2.visible = false
  2475. // pb_em2.visible = false
  2476. // pb_2.visible = false
  2477. // p_1.visible = false
  2478. // st_refresh.visible = false
  2479. //
  2480. //have_user = false
  2481. //
  2482. //// 内部消息
  2483. //if cur_set.mailid = -1 then
  2484. // CHOOSE CASE cur_set.viewtype
  2485. // CASE 1
  2486. // dw_list.DataObject = 'dw_deal_admsg_1_copy'
  2487. // dw_list.settransobject(sqlca)
  2488. // ll_count = dw_list.REtrieve(sys_empid, ls_dealflag)
  2489. // dw_list.Title = '收件箱(' + string(ll_count) + ')'
  2490. // ls_title = dw_list.Title
  2491. // CASE 2
  2492. // st_3.visible = true
  2493. // em_1.visible = true
  2494. // pb_em1.visible = true
  2495. // st_4.visible = true
  2496. // em_2.visible = true
  2497. // pb_em2.visible = true
  2498. // pb_2.visible = true
  2499. // p_1.visible = true
  2500. // st_refresh.visible = true
  2501. //
  2502. // dw_list.DataObject = 'dw_hismsg_copy'
  2503. // dw_list.settransobject(sqlca)
  2504. // DateTime first_date, end_date
  2505. // first_date = DateTime(Date(em_1.Text), Time(0))
  2506. // end_date = datetime(date(em_2.Text), Time('23:59:59'))
  2507. // ll_count = dw_list.retrieve(sys_empid,first_date, end_date)
  2508. // dw_list.Title = '发件箱(' + string(ll_count) + ')'
  2509. // ls_title = dw_list.Title
  2510. // CASE ELSE
  2511. // end CHOOSE
  2512. // if cur_set.viewtype > 0 then
  2513. // l_tvi.Label = ls_title
  2514. // tv_1.SetItem(cur_hand, l_tvi)
  2515. // end if
  2516. // this.triggerevent('resize')
  2517. // return
  2518. //end if
  2519. ////////////////////////////////////////////
  2520. //
  2521. //CHOOSE CASE cur_set.viewtype
  2522. // CASE 1
  2523. // dw_list.DataObject = 'dw_email_view_rev'
  2524. // dw_list.Title = '收件箱'
  2525. // dw_list.SetTransObject(sqlca)
  2526. // ll_count = dw_list.Retrieve(cur_set.mailid)
  2527. //
  2528. // datastore ds_notread
  2529. // ds_notread = CREATE datastore
  2530. // ds_notread.DataObject = 'dw_email_view_rev_notread'
  2531. // ds_notread.SetTransObject(sqlca)
  2532. // ll_count1 = ds_notread.Retrieve(cur_set.mailid)
  2533. //
  2534. // IF ll_count > 0 THEN
  2535. // ls_title = '收件箱(' + String(ll_count1) + '/' + String(ll_count) + ')'
  2536. // ELSE
  2537. // ls_title = '收件箱'
  2538. // END IF
  2539. // CASE 2
  2540. // dw_list.DataObject = 'dw_email_view_send'
  2541. // dw_list.Title = '发件箱'
  2542. // dw_list.SetTransObject(sqlca)
  2543. // ll_count = dw_list.Retrieve(cur_set.mailid)
  2544. // IF ll_count > 0 THEN
  2545. // ls_title = '发件箱(' + String(ll_count) + ')'
  2546. // ELSE
  2547. // ls_title = '发件箱'
  2548. // END IF
  2549. // CASE 3
  2550. // dw_list.DataObject = 'dw_email_view_sent'
  2551. // dw_list.Title = '已发件箱'
  2552. // dw_list.SetTransObject(sqlca)
  2553. // ll_count = dw_list.Retrieve(cur_set.mailid)
  2554. // IF ll_count > 0 THEN
  2555. // ls_title = '已发件箱(' + String(ll_count) + ')'
  2556. // ELSE
  2557. // ls_title = '已发件箱'
  2558. // END IF
  2559. // CASE 4
  2560. // dw_list.DataObject = 'dw_email_view_dust'
  2561. // dw_list.Title = '废件箱'
  2562. // dw_list.SetTransObject(sqlca)
  2563. // ll_count = dw_list.Retrieve(cur_set.mailid)
  2564. // IF ll_count > 0 THEN
  2565. // ls_title = '废件箱(' + String(ll_count) + ')'
  2566. // ELSE
  2567. // ls_title = '废件箱'
  2568. // END IF
  2569. // CASE ELSE
  2570. // cur_address = ''
  2571. //END CHOOSE
  2572. //
  2573. //IF cur_set.viewtype > 0 THEN
  2574. // l_tvi.Label = ls_title
  2575. // tv_1.SetItem(cur_hand, l_tvi)
  2576. //END IF
  2577. //
  2578. // this.triggerevent('resize')
  2579. //
  2580. end subroutine
  2581. public subroutine wf_retrievetree (integer arg_flag);//
  2582. //long ll_handl
  2583. //ll_handl = tv_1.finditem(RootTreeItem!,0)
  2584. //if ll_handl > 0 then pf_retrievetree(ll_handl,arg_flag)
  2585. //if (arg_flag = -1) and (cur_set.mailid = -1) then wf_retrieve()
  2586. end subroutine
  2587. public function integer wf_import_eml (string arg_file, ref string arg_msg);Integer rslt = 1
  2588. Blob lb_file
  2589. uo_mimeproxyfactory ll_factory
  2590. ll_factory = Create uo_mimeproxyfactory
  2591. s_tv_data1 tv_data
  2592. tv_data = wf_tv_getdata(wf_tv_getCurrent())
  2593. IF tv_data.a_string <> C_mailbox THEN
  2594. rslt = 0
  2595. arg_msg = '请选择邮箱'
  2596. GOTO ext
  2597. END IF
  2598. //arg_file="C:\Documents and Settings\Administrator\桌面\11.eml"
  2599. IF f_filetoblob(arg_file, lb_file, arg_msg) <> 1 THEN
  2600. rslt = 0
  2601. GOTO ext
  2602. END IF
  2603. oleobject ll_proxy
  2604. IF ll_factory.getproxy(ll_proxy, arg_msg) <> 1 THEN
  2605. rslt = 0
  2606. GOTO ext
  2607. END IF
  2608. oleobject ll_message
  2609. ll_message = ll_proxy.InitFromBlob(lb_file, Ref arg_msg)
  2610. IF IsNull(ll_message) THEN
  2611. rslt = 0
  2612. GOTO ext
  2613. END IF
  2614. //cur_set.mailid // 账号
  2615. //cur_set.viewtype // 1:收件2:发件3:已发4:废件
  2616. // 保存在收件箱
  2617. Long mailid
  2618. mailid = tv_data.a_long
  2619. s_email_set s_set
  2620. IF wf_ds_get_mail_set(mailid, s_set, arg_msg) <> 1 THEN
  2621. rslt = 0
  2622. GOTO ext
  2623. END IF
  2624. s_email_send s_send
  2625. s_send.sendid = 0
  2626. s_send.mailid = mailid
  2627. s_send.boxid = tv_data.relid
  2628. s_send.mailAddress = s_set.mailAddress
  2629. s_send.Subject = ll_message.Subject
  2630. s_send.mailsize = ll_message.ContentLength
  2631. s_send.textbody = ll_message.Plain
  2632. s_send.htmlbody = ll_message.Html
  2633. s_send.orgdata = lb_file
  2634. s_send.senduser = ll_message.From
  2635. s_send.sendaddress = ll_message.FromEmail
  2636. //s_send.sendoption = 0
  2637. s_send.priority = 3
  2638. s_send.mailtype = '收件'
  2639. s_send.status = '未读'
  2640. Long ll_AttachmentsCOUNT, j
  2641. ll_AttachmentsCOUNT = ll_message.AttachmentsCount
  2642. s_email_lvfj s_fj[]
  2643. FOR j = 0 To ll_AttachmentsCOUNT - 1
  2644. s_fj[j+1].Filename = ll_message.GetAttachmentName(j)
  2645. s_fj[j+1].fileblob = ll_message.GetAttachment(j)
  2646. s_fj[j+1].cid = ll_message.GetAttachmentContentID(j)
  2647. s_fj[j+1].FileType = C_from_file // 附件类型
  2648. NEXT
  2649. IF mail.f_import_eml(s_send, s_fj, arg_msg) <> 1 THEN
  2650. rslt = 0
  2651. GOTO ext
  2652. END IF
  2653. // s_email_rev s_rev
  2654. // string tuid
  2655. // datetime dt_rev
  2656. // s_rev.mailAddress = cur_set.mailaddress
  2657. // s_rev.Subject = ole_mime.Object.Subject
  2658. // s_rev.textBody = ole_mime.Object.Plain
  2659. //
  2660. // s_rev.htmlBody = Blob(ole_mime.Object.Html)
  2661. // s_rev.senduser = ole_mime.object.From
  2662. // s_rev.sendaddress = ole_mime.Object.FromEmail
  2663. // s_rev.mailsize = ole_mime.Object.ContentLength
  2664. // tuid = ole_mime.object.MessageID
  2665. //// dt_rev =
  2666. // s_rev.RevID = f_sys_scidentity(0,"u_email_rev","RevID",arg_msg,False, sqlca) //数据commit事务)
  2667. // IF s_rev.RevID <= 0 THEN
  2668. // rollback;
  2669. // rslt = 0
  2670. // GOTO ext
  2671. // END IF
  2672. // INSERT INTO u_email_rev(
  2673. // RevID,
  2674. // mailID,
  2675. // mailaddress,
  2676. // mailtype,
  2677. // Subject,
  2678. // senduser,
  2679. // sendaddress,
  2680. // revdate,
  2681. // mailSize,
  2682. // textBody,
  2683. // tUID)
  2684. // VALUES
  2685. // ( :s_rev.RevID,
  2686. // :cur_set.mailid,
  2687. // :s_rev.mailaddress,
  2688. // 1, // 已读
  2689. // :s_rev.Subject,
  2690. // :s_rev.senduser,
  2691. // :s_rev.sendaddress,
  2692. // getdate(),
  2693. // :s_rev.mailSize,
  2694. // :s_rev.textBody,
  2695. // :tUID);
  2696. // IF sqlca.SQLCode <> 0 THEN
  2697. // rollback;
  2698. // arg_msg = '向数据库插入已收邮件信息失败'
  2699. // rslt = 0
  2700. // GOTO ext
  2701. // ELSE
  2702. // COMMIT;
  2703. // END IF
  2704. //
  2705. // IF len(lb_file) > 0 THEN
  2706. // UPDATEBLOB u_email_rev
  2707. // Set orgData = :lb_file
  2708. // Where RevID = :s_rev.RevID;
  2709. // IF sqlca.SQLCode <> 0 THEN
  2710. // arg_msg = '更新数据库已收邮件原始信息失败'
  2711. // rslt = 0
  2712. // GOTO ext
  2713. // END IF
  2714. // END IF
  2715. //
  2716. // IF len(s_rev.htmlBody) > 0 THEN
  2717. // UPDATEBLOB u_email_rev
  2718. // Set htmltext = :s_rev.htmlBody
  2719. // Where RevID = :s_rev.RevID;
  2720. // IF sqlca.SQLCode <> 0 THEN
  2721. // arg_msg = '更新数据库已收邮件富文本信息失败'
  2722. // rslt = 0
  2723. // GOTO ext
  2724. // END IF
  2725. // END IF
  2726. //
  2727. // long ll_AttachmentsCOUNT, j
  2728. // ll_AttachmentsCOUNT = ole_mime.object.AttachmentsCount
  2729. // IF ll_AttachmentsCOUNT = 0 THEN GOTO ext
  2730. // s_email_fj s_fj
  2731. //
  2732. // FOR j = 0 TO ll_AttachmentsCOUNT - 1
  2733. // s_fj.fjid[j+1] = f_sys_scidentity(0,"u_email_fj","fjid",arg_msg,TRUE, sqlca) //数据commit事务)
  2734. // IF s_fj.fjid[j+1] <= 0 THEN
  2735. // rslt = 0
  2736. // GOTO ext
  2737. // END IF
  2738. // blob lb_fileblob
  2739. // s_fj.Filename[j+1] = ole_mime.object.GetAttachmentName(j)
  2740. // lb_fileblob = ole_mime.object.GetAttachment(j)
  2741. // s_fj.filesize[j+1] = len(lb_fileblob) // 附件大小
  2742. // s_fj.FileType[j+1] = "" // 附件类型
  2743. // INSERT INTO u_email_fj
  2744. // ( fjid,
  2745. // fjtype,
  2746. // Relid,
  2747. // filename,
  2748. // filesize,
  2749. // filetype
  2750. // ) VALUES
  2751. // ( :s_fj.fjid[j+1],
  2752. // 1,
  2753. // :s_rev.RevID,
  2754. // :s_fj.filename[j+1],
  2755. // :s_fj.filesize[j+1],
  2756. // :s_fj.filetype[j+1]
  2757. // );
  2758. // IF sqlca.SQLCode <> 0 THEN
  2759. // rollback;
  2760. // arg_msg = '向数据库插入已收邮件附件信息失败'
  2761. // rslt = 0
  2762. // GOTO ext
  2763. // ELSE
  2764. // COMMIT;
  2765. // END IF
  2766. //
  2767. // IF len(lb_fileblob) > 0 THEN
  2768. // UPDATEBLOB u_email_fj
  2769. // Set fileblob = :lb_fileblob
  2770. // Where fjid = :s_fj.fjid[j+1];
  2771. // IF sqlca.SQLCode <> 0 THEN
  2772. // arg_msg = '更新数据库已收邮件附件信息失败'
  2773. // rslt = 0
  2774. // GOTO ext
  2775. // ELSE
  2776. // COMMIT;
  2777. // END IF
  2778. // END IF
  2779. //
  2780. // NEXT
  2781. //goto ext
  2782. ext:
  2783. Destroy ll_factory
  2784. RETURN rslt
  2785. end function
  2786. public function integer days_in_month (integer month, integer year);//Most cases are straight forward in that there are a fixed number of
  2787. //days in 11 of the 12 months. February is, of course, the problem.
  2788. //In a leap year February has 29 days, otherwise 28.
  2789. Integer li_DaysInMonth, li_Days[12] = {31,28,31,30,31,30,31,31,30,31,30,31}
  2790. // Get the number of days per month for a non leap year.
  2791. li_DaysInMonth = li_Days[Month]
  2792. // Check for a leap year.
  2793. If Month = 2 Then
  2794. // If the year is a leap year, change the number of days.
  2795. // Leap Year Calculation:
  2796. // Year divisible by 4, but not by 100, unless it is also divisible by 400
  2797. If ( (Mod(Year,4) = 0 And Mod(Year,100) <> 0) Or (Mod(Year,400) = 0) ) Then
  2798. li_DaysInMonth = 29
  2799. End If
  2800. End If
  2801. //Return the number of days in the relevant month
  2802. Return li_DaysInMonth
  2803. end function
  2804. public subroutine wf_set_read (long row);//if row <= 0 OR row > dw_list.rowcount( ) then return
  2805. //long ll_fjtype, ll_id
  2806. //ll_fjtype = dw_list.Object.fjtype[row]
  2807. //ll_id = dw_list.Object.id[row]
  2808. //
  2809. //if ll_fjtype = 1 and dw_list.dataobject = 'dw_email_view_rev' then
  2810. // if dw_list.Object.mailtype[row] = 1 then return
  2811. // update u_email_rev set mailtype = 1 where revid = :ll_id;
  2812. // if sqlca.sqlcode <> 0 then
  2813. // return
  2814. // end if
  2815. // commit;
  2816. // dw_list.Object.mailtype[row] = 1
  2817. // if dw_list.isselected(row) then
  2818. // dw_list.object.filename[row] = 'graphics\read_select.bmp'
  2819. // else
  2820. // dw_list.object.filename[row] = 'graphics\read.bmp'
  2821. // end if
  2822. // dw_list.accepttext( )
  2823. //end if
  2824. end subroutine
  2825. public subroutine wf_set_unread (long row);//if row <= 0 OR row > dw_list.rowcount( ) then return
  2826. //long ll_fjtype, ll_id
  2827. //ll_fjtype = dw_list.Object.fjtype[row]
  2828. //ll_id = dw_list.Object.id[row]
  2829. //
  2830. //if ll_fjtype = 1 and dw_list.dataobject = 'dw_email_view_rev' then
  2831. // if dw_list.Object.mailtype[row] = 0 then return
  2832. // update u_email_rev set mailtype = 0 where revid = :ll_id;
  2833. // if sqlca.sqlcode <> 0 then
  2834. // return
  2835. // end if
  2836. // commit;
  2837. // dw_list.Object.mailtype[row] = 0
  2838. // if dw_list.isselected(row) then
  2839. // dw_list.object.filename[row] = 'graphics\unread_select.bmp'
  2840. // else
  2841. // dw_list.object.filename[row] = 'graphics\unread.bmp'
  2842. // end if
  2843. // dw_list.accepttext( )
  2844. //end if
  2845. end subroutine
  2846. public function integer wf_tv_build_tree (ref string arg_msg);//uo_kq.settext('email','wf_tv_build_tree')
  2847. Int rslt = 1
  2848. Long Handle, handle1, handle2
  2849. s_tv_data1 tv_data
  2850. uo_ljmail_box uo_box
  2851. uo_box = Create uo_ljmail_box
  2852. IF tv_1.FindItem(RootTreeItem!, 0) <> -1 THEN
  2853. rslt = 0
  2854. arg_msg = 'treeView不能为空'
  2855. GOTO ext
  2856. END IF
  2857. //uo_kq.settext('email','FindItem')
  2858. // 根
  2859. tv_data.relid = -1
  2860. tv_data.a_string = C_root
  2861. Handle = wf_tv_insert(0, '所有邮箱', 1, tv_data)
  2862. tv_root = Handle
  2863. //uo_kq.settext('email','根')
  2864. // 内部消息
  2865. tv_data.relid = -1
  2866. tv_data.a_string = C_innerroot
  2867. handle1 = wf_tv_insert(Handle, '内部消息', 8, tv_data)
  2868. //uo_kq.settext('email','内部消息')
  2869. // 内部消息收件箱
  2870. tv_data.relid = -1
  2871. tv_data.a_string = C_innerrev
  2872. ins_innerrevhandle = wf_tv_insert(handle1, '收件箱', 7, tv_data)
  2873. //uo_kq.settext('email','内部消息收件箱')
  2874. // 内部消息发件箱
  2875. tv_data.relid = -1
  2876. tv_data.a_string = C_innersend
  2877. wf_tv_insert(handle1, '发件箱', 8, tv_data)
  2878. //uo_kq.settext('email','内部消息发件箱')
  2879. // LE
  2880. tv_data.relid = -1
  2881. tv_data.a_string = C_leroot
  2882. handle1 = wf_tv_insert(Handle, '供应链邮件', 2, tv_data)
  2883. //uo_kq.settext('email','LE')
  2884. // LEBOX
  2885. IF uo_box.uf_initbox(sys_empid, arg_msg, True) <> 1 THEN
  2886. MessageBox('错误', arg_msg)
  2887. END IF
  2888. wf_tv_insertlebox(handle1, 0)
  2889. //uo_kq.settext('email','LEBOX')
  2890. // 插入账号
  2891. wf_tv_insertallacount(Handle)
  2892. //uo_kq.settext('email','插入账号')
  2893. // 短信
  2894. tv_data.relid = -1
  2895. tv_data.a_string = C_smsroot
  2896. handle2 = wf_tv_insert(Handle, '短信', 8, tv_data)
  2897. //uo_kq.settext('email','短信')
  2898. // 短信发件箱
  2899. tv_data.relid = -1
  2900. tv_data.a_string = C_smssend
  2901. wf_tv_insert(handle2, '发件箱', 8, tv_data)
  2902. //uo_kq.settext('email','短信发件箱')
  2903. tv_1.ExpandItem(Handle)
  2904. //tv_1.expandall(handle)
  2905. ext:
  2906. Destroy uo_box
  2907. RETURN rslt
  2908. end function
  2909. public function long wf_tv_insert (long arg_handle, string arg_label, long arg_picindex, any arg_data);// 插入树的项
  2910. Long Handle
  2911. TreeViewItem tvi
  2912. Handle = tv_1.InsertItemLast(arg_handle, arg_label, arg_picindex)
  2913. IF Handle > 0 THEN
  2914. IF tv_1.GetItem(Handle, tvi) = 1 THEN
  2915. tvi.Data = arg_data
  2916. tv_1.SetItem(Handle, tvi)
  2917. END IF
  2918. END IF
  2919. RETURN Handle
  2920. end function
  2921. public subroutine wf_tv_insertallacount (long handle);// 添加帐号
  2922. s_tv_data1 tv_data
  2923. long handle1
  2924. s_email_set l_s_set[]
  2925. string ls_msg
  2926. long i
  2927. wf_ds_getmailset(l_s_set, ls_msg)
  2928. for i = 1 to upperbound(l_s_set)
  2929. tv_data.relid = l_s_set[i].mailid
  2930. tv_data.a_string = C_mailacount
  2931. tv_data.b_string = trim(l_s_set[i].mailuser) + '<' + trim(l_s_set[i].mailaddress) + '>'
  2932. tv_data.c_string = trim(l_s_set[i].mailuser)
  2933. tv_data.d_string = trim(l_s_set[i].mailaddress)
  2934. handle1 = wf_tv_insert(handle, tv_data.b_string, 2, tv_data)
  2935. wf_tv_insertallbox(handle1)
  2936. next
  2937. end subroutine
  2938. public subroutine wf_tv_insertallbox (long handle);// 插入邮箱树
  2939. s_tv_data1 tv_data
  2940. long ll_mailid, ll_parentid
  2941. long boxhandle
  2942. s_email_box s_box[]
  2943. string ls_msg
  2944. long i
  2945. tv_data = wf_tv_getdata(handle)
  2946. if tv_data.a_string = C_mailacount then
  2947. ll_mailid = tv_data.relid
  2948. ll_parentid = 0
  2949. elseif tv_data.a_string = C_mailbox then
  2950. ll_mailid = tv_data.a_long
  2951. ll_parentid = tv_data.relid
  2952. end if
  2953. wf_ds_getmailbox(ll_mailid, ll_parentid, s_box, ls_msg)
  2954. FOR i = 1 TO UPPERBOUND(s_box)
  2955. tv_data.relid = s_box[i].boxid
  2956. tv_data.a_string = C_mailbox
  2957. tv_data.b_string = s_box[i].boxname
  2958. tv_data.a_long = ll_mailid
  2959. tv_data.b_long = s_box[i].isdefault
  2960. long unread
  2961. unread = wf_box_getunread(s_box[i].boxid)
  2962. long totle
  2963. totle = wf_box_gettotle(s_box[i].boxid)
  2964. string label
  2965. label = trim(s_box[i].boxname) + '(' + string(unread) + '/' + string(totle) + ')'
  2966. if unread>0 and tv_data.b_string <> '收件箱' and tv_data.b_string <> '发件箱' and tv_data.b_string <> '已发件箱' and tv_data.b_string <> '废件箱' then
  2967. boxhandle = wf_tv_insert(handle, label,7, tv_data)
  2968. else
  2969. boxhandle = wf_tv_insert(handle, label, s_box[i].picindex, tv_data)
  2970. end if
  2971. wf_tv_insertallbox(boxhandle)
  2972. NEXT
  2973. end subroutine
  2974. public function s_tv_data1 wf_tv_getdata (long handle);// 获取项数据
  2975. s_tv_data1 rslt
  2976. treeviewitem tvi
  2977. if tv_1.GetItem(handle, tvi) = 1 then
  2978. rslt = tvi.data
  2979. end if
  2980. return rslt
  2981. end function
  2982. public function integer wf_ds_getmailset (ref s_email_set arg_set[], ref string arg_msg);Int rslt = 1
  2983. Long ll_mailid
  2984. String ls_mailuser, ls_mailaddress
  2985. s_email_set tmp_set[]
  2986. Long i = 0
  2987. Long emplist[],cnt
  2988. Long seeall = 0
  2989. IF uo_email_power.can_see_other(sys_msg_pow) THEN
  2990. emplist[1]=-1
  2991. else
  2992. emplist[1]=sys_empid
  2993. END IF
  2994. String mailidList = ''
  2995. f_get_empson(sys_empid,Ref emplist)
  2996. String sqltxt
  2997. sqltxt = 'SELECT mailID '&
  2998. +' ,mailuser '&
  2999. +' ,mailaddress '&
  3000. +'FROM u_email_set '&
  3001. +'WHERE empid = ? or ?=-1 OR mailtype = 1 '
  3002. //查看下级的邮件2012-11-03
  3003. DECLARE cur1 Dynamic Cursor FOR sqlsa;
  3004. PREPARE sqlsa From :sqltxt Using Commit_Tran;
  3005. FOR cnt = 1 To UpperBound(emplist)
  3006. OPEN Dynamic cur1 Using :emplist[cnt],:emplist[cnt];
  3007. FETCH cur1 Into :ll_mailid, :ls_mailuser, :ls_mailaddress;
  3008. DO WHILE Commit_Tran.SQLCode = 0
  3009. IF Pos(mailidList,String(ll_mailid)) <= 0 THEN
  3010. mailidList+= String(ll_mailid)+','
  3011. i++
  3012. tmp_set[i].mailid = ll_mailid
  3013. tmp_set[i].mailuser = ls_mailuser
  3014. tmp_set[i].mailAddress = ls_mailaddress
  3015. END IF
  3016. FETCH cur1 Into :ll_mailid, :ls_mailuser, :ls_mailaddress;
  3017. LOOP
  3018. CLOSE cur1;
  3019. NEXT
  3020. arg_set = tmp_set
  3021. RETURN rslt
  3022. end function
  3023. public function integer wf_ds_getmailbox (long arg_mailid, long arg_parentid, ref s_email_box arg_box[], ref string arg_msg);int rslt = 1
  3024. long boxid
  3025. string boxname
  3026. long isdefault
  3027. long mailid
  3028. string boxtype
  3029. long parentid
  3030. long picindex
  3031. s_email_box s_box[]
  3032. long i = 0
  3033. DECLARE cur1 CURSOR FOR SELECT boxid
  3034. ,boxname
  3035. ,isdefault
  3036. ,mailid
  3037. ,boxtype
  3038. ,parentid
  3039. ,picindex
  3040. FROM u_email_box
  3041. WHERE mailid = :arg_mailid AND parentid = :arg_parentid using Commit_Tran;
  3042. OPEN cur1;
  3043. FETCH cur1 INTO :boxid, :boxname, :isdefault, :mailid, :boxtype, :parentid, :picindex;
  3044. DO WHILE Commit_Tran.sqlcode = 0
  3045. i ++
  3046. s_box[i].boxid = boxid
  3047. s_box[i].boxname = boxname
  3048. s_box[i].isdefault = isdefault
  3049. s_box[i].mailid = mailid
  3050. s_box[i].boxtype = boxtype
  3051. s_box[i].parentid = parentid
  3052. s_box[i].picindex = picindex
  3053. FETCH cur1 INTO :boxid, :boxname, :isdefault, :mailid, :boxtype, :parentid, :picindex;
  3054. LOOP
  3055. CLOSE cur1;
  3056. arg_box = s_box
  3057. return rslt
  3058. end function
  3059. public function long wf_tv_getcurrent ();return tv_1.FindItem(CurrentTreeItem!, 0)
  3060. end function
  3061. public subroutine wf_tv_setcurrenttext (string arg_text);
  3062. long ll_curhandle
  3063. ll_curhandle = wf_tv_getcurrent()
  3064. if ll_curhandle > 0 then
  3065. TreeViewItem tvi
  3066. if tv_1.GetItem(ll_curhandle, tvi) = 1 then
  3067. tvi.label = arg_text
  3068. tv_1.SetItem(ll_curhandle, tvi)
  3069. end if
  3070. end if
  3071. end subroutine
  3072. public subroutine wf_dw_rowfocuschanged_innermsg_rev ();
  3073. end subroutine
  3074. public subroutine wf_dw_rowfocuschanged_innermsg_send ();
  3075. end subroutine
  3076. public subroutine wf_dw_rowfocuschanged_mailmsg ();
  3077. end subroutine
  3078. public function long wf_tv_getacount (long arg_handle);s_tv_data1 tv_data
  3079. do
  3080. if arg_handle <= 0 then
  3081. return -1
  3082. end if
  3083. tv_data = wf_tv_getdata(arg_handle)
  3084. if tv_data.a_string = C_mailacount then
  3085. return arg_handle
  3086. elseif tv_data.a_string = C_mailbox then
  3087. arg_handle = tv_1.FindItem(ParentTreeItem!, arg_handle)
  3088. else
  3089. return -1
  3090. end if
  3091. loop WHILE arg_handle > 0
  3092. return -1
  3093. end function
  3094. public subroutine wf_ui_reflash ();// DONE: 更新界面,更新按键可用,与日期可见
  3095. s_tv_data1 tv_data
  3096. tv_data = wf_tv_getdata(wf_tv_getcurrent())
  3097. IF tv_data.a_string = C_innersend THEN
  3098. st_3.Visible = True
  3099. em_1.Visible = True
  3100. pb_em1.Visible = True
  3101. st_4.Visible = True
  3102. em_2.Visible = True
  3103. pb_em2.Visible = True
  3104. pb_2.Visible = True
  3105. p_1.Visible = True
  3106. st_refresh.Visible = True
  3107. ELSE
  3108. st_3.Visible = False
  3109. em_1.Visible = False
  3110. pb_em1.Visible = False
  3111. st_4.Visible = False
  3112. em_2.Visible = False
  3113. pb_em2.Visible = False
  3114. pb_2.Visible = False
  3115. p_1.Visible = False
  3116. st_refresh.Visible = False
  3117. END IF
  3118. p_del.Visible = (tv_data.a_string = C_innerrev)
  3119. st_del.Visible = (tv_data.a_string = C_innerrev)
  3120. cbx_showmeredeal.Visible = (tv_data.a_string = C_innerrev)
  3121. cb_viewbill.Visible = (tv_data.a_string = C_innerrev)
  3122. cb_view_his.Visible = (tv_data.a_string = C_innerrev)
  3123. sle_find.Visible =(tv_data.a_string =C_mailacount or tv_data.a_string =C_mailbox )
  3124. cb_find.Visible =(tv_data.a_string =C_mailacount or tv_data.a_string =C_mailbox )
  3125. ddlb_1.visible = (tv_data.a_string = C_smssend)
  3126. em_3.visible = (tv_data.a_string = C_smssend)
  3127. end subroutine
  3128. public subroutine wf_dw_retrieve_innermsg_rev ();long ll_count
  3129. string ls_title
  3130. dw_list.Reset()
  3131. if dw_list.DataObject <> 'dw_deal_admsg_1_copy' then
  3132. if dw_list.dataobject <> '' then
  3133. dw_list.uf_save_profile_layout()
  3134. end if
  3135. dw_list.DataObject = 'dw_deal_admsg_1_copy'
  3136. wf_dw_readlayout()
  3137. dw_list.settransobject(Commit_Tran)
  3138. end if
  3139. ll_count = dw_list.REtrieve(sys_empid, ls_dealflag)
  3140. dw_list.Title = '收件箱(' + string(ll_count) + ')'
  3141. ls_title = dw_list.Title
  3142. wf_tv_setcurrenttext(ls_title)
  3143. end subroutine
  3144. public subroutine wf_dw_retrieve_innermsg_send ();long ll_count
  3145. string ls_title
  3146. dw_list.Reset()
  3147. if dw_list.dataobject <> 'dw_hismsg_copy' then
  3148. if dw_list.dataobject <> '' then
  3149. dw_list.uf_save_profile_layout()
  3150. end if
  3151. dw_list.DataObject = 'dw_hismsg_copy'
  3152. wf_dw_readlayout()
  3153. dw_list.settransobject(Commit_Tran)
  3154. end if
  3155. DateTime first_date, end_date
  3156. first_date = DateTime(Date(em_1.Text), Time(0))
  3157. end_date = datetime(date(em_2.Text), Time('23:59:59'))
  3158. ll_count = dw_list.retrieve(sys_empid,first_date, end_date)
  3159. dw_list.Title = '发件箱(' + string(ll_count) + ')'
  3160. ls_title = dw_list.Title
  3161. wf_tv_setcurrenttext(ls_title)
  3162. end subroutine
  3163. public function integer wf_ds_get_mail_set (long arg_mailid, ref s_email_set arg_set, ref string arg_msg);int rslt = 1
  3164. SELECT mailuser, mailaddress
  3165. INTO :arg_set.mailuser, :arg_set.mailaddress
  3166. FROM u_email_set
  3167. WHERE mailID = :arg_mailid using Commit_Tran;
  3168. if Commit_Tran.sqlcode <> 0 then
  3169. rslt = 0
  3170. arg_msg = '查询帐号信息失败,' + Commit_Tran.sqlerrtext
  3171. goto ext
  3172. end if
  3173. arg_set.mailid = arg_mailid
  3174. ext:
  3175. return rslt
  3176. end function
  3177. public function integer wf_ds_get_mail_box (long arg_boxid, ref s_email_box arg_box, ref string arg_msg);int rslt = 1
  3178. SELECT boxname
  3179. ,isdefault
  3180. ,mailid
  3181. ,boxtype
  3182. ,parentid
  3183. ,picindex
  3184. INTO :arg_box.boxname,
  3185. :arg_box.isdefault,
  3186. :arg_box.mailid,
  3187. :arg_box.boxtype,
  3188. :arg_box.parentid,
  3189. :arg_box.picindex
  3190. FROM u_email_box
  3191. WHERE boxid = :arg_boxid using Commit_Tran;
  3192. if Commit_Tran.sqlcode <> 0 then
  3193. rslt = 0
  3194. arg_msg = '查询邮箱信息失败,' + Commit_Tran.sqlerrtext
  3195. goto ext
  3196. end if
  3197. arg_box.boxid = arg_boxid
  3198. ext:
  3199. return rslt
  3200. end function
  3201. public function integer wf_ds_del_msg (long arg_id, ref string arg_msg);int rslt = 1
  3202. // 删除邮件
  3203. DELETE FROM u_email_msg WHERE ID = :arg_id using fj_tran;
  3204. if fj_tran.sqlcode <> 0 then
  3205. rslt = 0
  3206. arg_msg = '删除邮件失败,' + fj_tran.sqlerrtext
  3207. goto ext
  3208. end if
  3209. // 删除附件
  3210. DELETE FROM u_email_fj WHERE Relid = :arg_id using fj_tran;
  3211. if fj_tran.sqlcode <> 0 then
  3212. rslt = 0
  3213. arg_msg = '删除邮件附件失败,' + fj_tran.sqlerrtext
  3214. goto ext
  3215. end if
  3216. // 删除收件人列表
  3217. DELETE FROM u_email_sendmx WHERE sendid = :arg_id using fj_tran;
  3218. if fj_tran.sqlcode <> 0 then
  3219. rslt = 0
  3220. arg_msg = '删除收件人列表失败,' + fj_tran.sqlerrtext
  3221. goto ext
  3222. end if
  3223. ext:
  3224. if rslt = 0 then
  3225. rollback using fj_tran;
  3226. else
  3227. commit using fj_tran;
  3228. end if
  3229. return rslt
  3230. end function
  3231. public function long wf_ds_gettrunkbox (long arg_mailid);long rslt = -1
  3232. SELECT TOP 1 boxid INTO :rslt
  3233. FROM u_email_box
  3234. WHERE mailid = :arg_mailid AND boxtype = '废件箱' using Commit_Tran;
  3235. if Commit_Tran.sqlcode <> 0 then
  3236. return -1
  3237. end if
  3238. return rslt
  3239. end function
  3240. public function integer wf_ds_move_msg_box (long arg_id, long arg_boxid, ref string arg_msg);int rslt = 1
  3241. long mailid
  3242. SELECT mailid INTO :mailid
  3243. FROM u_email_box WHERE boxid = :arg_boxid using Commit_Tran;
  3244. if Commit_Tran.sqlcode <> 0 then
  3245. rslt = 0
  3246. arg_msg = '查询邮箱所属帐号失败,' + Commit_Tran.sqlerrtext
  3247. goto ext
  3248. end if
  3249. UPDATE u_email_msg SET boxid = :arg_boxid, mailid = :mailid
  3250. WHERE ID = :arg_id using fj_tran;
  3251. if fj_tran.sqlcode <> 0 then
  3252. rslt = 0
  3253. arg_msg = '移动邮件失败,' + fj_tran.sqlerrtext
  3254. goto ext
  3255. end if
  3256. if fj_tran.SQLNRows <> 1 then
  3257. rslt = 0
  3258. arg_msg = '原邮件已经不存在'
  3259. goto ext
  3260. end if
  3261. ext:
  3262. if rslt = 0 then
  3263. rollback using fj_tran;
  3264. else
  3265. commit using fj_tran;
  3266. end if
  3267. return rslt
  3268. end function
  3269. protected function long wf_box_gettotle (long arg_boxid);if not has_fj_tran then
  3270. return 0
  3271. end if
  3272. long ll_cnt
  3273. SELECT COUNT(0) INTO :ll_cnt FROM u_email_msg WHERE boxid = :arg_boxid using fj_tran;
  3274. if fj_tran.sqlcode <> 0 then
  3275. return 0
  3276. end if
  3277. return ll_cnt
  3278. end function
  3279. public function long wf_box_getunread (long arg_boxid);if not has_fj_tran then
  3280. return 0
  3281. end if
  3282. long ll_cnt
  3283. SELECT COUNT(0) INTO :ll_cnt FROM u_email_msg WHERE boxid = :arg_boxid AND status = '未读' using fj_tran;
  3284. if fj_tran.sqlcode <> 0 then
  3285. return 0
  3286. end if
  3287. return ll_cnt
  3288. end function
  3289. public subroutine wf_box_update_label (long arg_boxid);
  3290. end subroutine
  3291. public subroutine wf_tv_settext (long arg_handle, string arg_label);if arg_handle > 0 then
  3292. TreeViewItem tvi
  3293. if tv_1.GetItem(arg_handle, tvi) = 1 then
  3294. tvi.label = arg_label
  3295. tv_1.SetItem(arg_handle, tvi)
  3296. end if
  3297. end if
  3298. end subroutine
  3299. public subroutine wf_html_set (string arg_text);DO WHILE IsNull(ole_1.Object.document.body)
  3300. Yield()
  3301. LOOP
  3302. String arg_text_old
  3303. arg_text_old = arg_text
  3304. IF IsNull(arg_text) THEN arg_text = ''
  3305. IF IsNull(lss_revdate) Or lss_revdate = "" THEN
  3306. arg_text = '<DIV>主题: ' +lss_subject + '</DIV><DIV>发件人: ' + lss_sendman + '</DIV> <DIV>发件时间: '+ lss_senddate + '</DIV> <DIV>----------------------------------------------</DIV>' +arg_text
  3307. ELSEIF IsNull(lss_senddate) Or lss_senddate = "" THEN
  3308. arg_text = '<DIV>主题: ' +lss_subject + '</DIV><DIV>发件人: ' + lss_sendman + '</DIV> <DIV>发件时间: '+ lss_revdate + '</DIV> <DIV>----------------------------------------------</DIV>' +arg_text
  3309. ELSEIF lss_subject <> "" And lss_senddate <> "" And lss_sendman <> "" And IsNull(lss_subject) = False And IsNull(lss_senddate) = False And IsNull(lss_sendman) = False THEN
  3310. arg_text = '<DIV>主题: ' +lss_subject + '</DIV><DIV>发件人: ' + lss_sendman + '</DIV> <DIV>发件时间: '+ lss_revdate + '</DIV> <DIV>----------------------------------------------</DIV>' +arg_text
  3311. ELSE
  3312. END IF
  3313. IF IsNull(arg_text) THEN arg_text = arg_text_old
  3314. //messagebox("",arg_text)
  3315. //Clipboard(arg_text)
  3316. ole_1.Object.document.body.innerhtml = arg_text
  3317. String ls_state
  3318. ls_state = ole_1.Object.document.readyState
  3319. DO WHILE ls_state <> 'complete'
  3320. Yield()
  3321. ls_state = ole_1.Object.document.readyState
  3322. LOOP
  3323. oleobject images
  3324. images = ole_1.Object.document.images
  3325. Long ll_cnt
  3326. ll_cnt = images.Length
  3327. Long i,j
  3328. oleobject lo
  3329. String ls_url
  3330. String ls_cid
  3331. ListViewItem lvi
  3332. s_email_lvfj lvfj
  3333. Blob lb
  3334. String ls_msg
  3335. Boolean findpic = False
  3336. String ls_filename
  3337. FOR i = 0 To ll_cnt - 1
  3338. lo = images.Item(i)
  3339. ls_url = lo.getAttribute("src")
  3340. IF Lower(Mid(ls_url, 1, 4)) = 'cid:' THEN
  3341. ls_cid = Mid(ls_url, 5)
  3342. SetNull(lb)
  3343. findpic = False
  3344. FOR j = 1 To lv_fj.TotalItems()
  3345. IF lv_fj.GetItem(j, lvi) = 1 THEN
  3346. lvfj = lvi.Data
  3347. IF lvfj.Filename <> ls_cid And lvfj.cid <> ls_cid THEN CONTINUE
  3348. IF lvfj.FileType = C_Sys_admsg_fj THEN
  3349. IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  3350. EXIT
  3351. END IF
  3352. findpic = True
  3353. ls_filename = lvfj.Filename
  3354. ELSEIF lvfj.FileType = C_u_email_fj THEN
  3355. IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  3356. EXIT
  3357. END IF
  3358. findpic = True
  3359. ls_filename = lvfj.Filename
  3360. END IF
  3361. EXIT
  3362. END IF
  3363. NEXT
  3364. IF findpic THEN
  3365. ls_filename = sys_cur_path+fjfilepathname+'\'+ls_filename
  3366. IF FileExists(ls_filename) THEN FileDelete(ls_filename)
  3367. IF f_blobtofile(ls_filename,lb,ls_msg) = 0 THEN
  3368. CONTINUE
  3369. END IF
  3370. lo.setAttribute("src", "file:///" + ls_filename)
  3371. END IF
  3372. END IF
  3373. NEXT
  3374. end subroutine
  3375. public function integer wf_admsg_getfj (long arg_msgid, ref s_email_lvfj arg_lvfj[], ref string arg_msg);int rslt = 1
  3376. s_email_lvfj lvfj[]
  3377. long fjid
  3378. string filename
  3379. long i = 0
  3380. DECLARE cur1 cursor FOR
  3381. select fjid,filename
  3382. from Sys_admsg_fj where msgid = :arg_msgid using Commit_Tran;
  3383. OPEN cur1;
  3384. FETCH cur1 INTO :fjid, :filename;
  3385. do while Commit_Tran.sqlcode = 0
  3386. i ++
  3387. lvfj[i].fjid = fjid
  3388. lvfj[i].filename = filename
  3389. lvfj[i].filetype = C_Sys_admsg_fj
  3390. FETCH cur1 INTO :fjid, :filename;
  3391. LOOP
  3392. CLOSE cur1;
  3393. arg_lvfj = lvfj
  3394. return rslt
  3395. end function
  3396. public function integer wf_mail_gethtml (long arg_msgid, ref string arg_text, ref string arg_msg);int rslt = 1
  3397. long len
  3398. BLOB lb
  3399. SELECT DATALENGTH(htmlbody) INTO :len FROM u_email_msg
  3400. WHERE ID = :arg_msgid using fj_tran;
  3401. if fj_tran.sqlcode <> 0 then
  3402. rslt = 0
  3403. arg_msg = '查询html长度失败,' + fj_tran.sqlerrtext
  3404. goto ext
  3405. end if
  3406. if len = 0 then
  3407. SELECT DATALENGTH(textbody) INTO :len FROM u_email_msg
  3408. WHERE ID = :arg_msgid using fj_tran;
  3409. if fj_tran.sqlcode <> 0 then
  3410. rslt = 0
  3411. arg_msg = '查询text长度失败,' + fj_tran.sqlerrtext
  3412. goto ext
  3413. end if
  3414. if len > 2048 then
  3415. SELECTBLOB textbody INTO :lb FROM u_email_msg
  3416. WHERE ID = :arg_msgid using fj_tran;
  3417. if fj_tran.sqlcode <> 0 then
  3418. rslt = 0
  3419. arg_msg = '查询text失败,' + fj_tran.sqlerrtext
  3420. goto ext
  3421. end if
  3422. arg_text = string(lb)
  3423. wf_str_replace(arg_text, '~r~n', '<BR>')
  3424. wf_str_replace(arg_text, '~r', '<BR>')
  3425. wf_str_replace(arg_text, '~n', '<BR>')
  3426. else
  3427. SELECT textbody INTO :arg_text FROM u_email_msg
  3428. WHERE ID = :arg_msgid using fj_tran;
  3429. if fj_tran.sqlcode <> 0 then
  3430. rslt = 0
  3431. arg_msg = '查询text失败,' + fj_tran.sqlerrtext
  3432. goto ext
  3433. end if
  3434. wf_str_replace(arg_text, '~r~n', '<BR>')
  3435. wf_str_replace(arg_text, '~r', '<BR>')
  3436. wf_str_replace(arg_text, '~n', '<BR>')
  3437. end if
  3438. elseif len > 2048 then
  3439. SELECTBLOB htmlbody INTO :lb FROM u_email_msg
  3440. WHERE ID = :arg_msgid using fj_tran;
  3441. if fj_tran.sqlcode <> 0 then
  3442. rslt = 0
  3443. arg_msg = '查询html失败,' + fj_tran.sqlerrtext
  3444. goto ext
  3445. end if
  3446. arg_text = string(lb)
  3447. else
  3448. SELECT htmlbody INTO :arg_text FROM u_email_msg
  3449. WHERE ID = :arg_msgid using fj_tran;
  3450. if fj_tran.sqlcode <> 0 then
  3451. rslt = 0
  3452. arg_msg = '查询html失败,' + fj_tran.sqlerrtext
  3453. goto ext
  3454. end if
  3455. end if
  3456. ext:
  3457. return rslt
  3458. end function
  3459. public function integer wf_admsg_gethtml (long arg_msgid, ref string arg_text, ref string arg_msg);int rslt = 1
  3460. long len
  3461. SELECT DATALENGTH(s_msg) INTO :len
  3462. FROM Sys_admsg
  3463. WHERE msgid = :arg_msgid using Commit_Tran;
  3464. if Commit_Tran.sqlcode <> 0 then
  3465. rslt = 0
  3466. arg_msg = '查询消息长度失败,' + Commit_Tran.sqlerrtext
  3467. goto ext
  3468. end if
  3469. if len > 2048 then
  3470. BLOB lb
  3471. SELECTBLOB s_msg INTO :lb FROM Sys_admsg
  3472. WHERE msgid = :arg_msgid using Commit_Tran;
  3473. if Commit_Tran.sqlcode <> 0 then
  3474. rslt = 0
  3475. arg_msg = '查询消息块失败,' + Commit_Tran.sqlerrtext
  3476. goto ext
  3477. end if
  3478. arg_text = string(lb)
  3479. else
  3480. SELECT s_msg INTO :arg_text FROM Sys_admsg
  3481. WHERE msgid = :arg_msgid using Commit_Tran;
  3482. if Commit_Tran.sqlcode <> 0 then
  3483. rslt = 0
  3484. arg_msg = '查询消息失败,' + Commit_Tran.sqlerrtext
  3485. goto ext
  3486. end if
  3487. end if
  3488. ext:
  3489. return rslt
  3490. end function
  3491. public subroutine wf_str_replace (ref string arg_source, string arg_str1, string arg_str2);long ll_pos
  3492. ll_pos = pos(arg_source, arg_str1,1)
  3493. do while ll_pos > 0
  3494. arg_source = replace(arg_source, ll_pos, len(arg_str1), arg_str2)
  3495. ll_pos = pos(arg_source, arg_str1,1)
  3496. LOOP
  3497. end subroutine
  3498. public function integer wf_mail_getfj (long arg_id, ref s_email_lvfj arg_lvfj[], ref string arg_msg);int rslt = 1
  3499. s_email_lvfj lvfj[]
  3500. long fjid
  3501. string filename
  3502. long i = 0
  3503. string cid
  3504. DECLARE cur1 CURSOR FOR
  3505. SELECT fjid, filename, cid FROM u_email_fj
  3506. WHERE Relid = :arg_id using fj_tran;
  3507. OPEN cur1;
  3508. FETCH cur1 INTO :fjid, :filename, :cid;
  3509. DO WHILE fj_tran.sqlcode = 0
  3510. i++
  3511. lvfj[i].fjid = fjid
  3512. lvfj[i].filename = filename
  3513. lvfj[i].filetype = C_u_email_fj
  3514. lvfj[i].cid = cid
  3515. FETCH cur1 INTO :fjid, :filename, :cid;
  3516. LOOP
  3517. CLOSE cur1;
  3518. arg_lvfj = lvfj
  3519. return rslt
  3520. end function
  3521. public function integer wf_admsg_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg);int rslt = 1
  3522. SELECTBLOB fileblob INTO :arg_fjblob FROM Sys_admsg_fj
  3523. WHERE fjid = :arg_fjid using Commit_Tran;
  3524. if Commit_Tran.sqlcode <> 0 then
  3525. rslt = 0
  3526. arg_msg = '获取内部消息附件失败,' + Commit_Tran.sqlerrtext
  3527. goto ext
  3528. end if
  3529. ext:
  3530. return rslt
  3531. end function
  3532. public function integer wf_mail_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg);int rslt = 1
  3533. SELECTBLOB fileblob INTO :arg_fjblob FROM u_email_fj
  3534. WHERE fjid = :arg_fjid using fj_tran;
  3535. if fj_tran.sqlcode <> 0 then
  3536. rslt = 0
  3537. arg_msg = '获取附件失败,' + fj_tran.sqlerrtext
  3538. goto ext
  3539. end if
  3540. ext:
  3541. return rslt
  3542. end function
  3543. public subroutine wf_blob_saveas (ref blob arg_blob, string arg_filename);long pos1, i
  3544. string ls_filetypename
  3545. string ls_filename
  3546. string errmsg
  3547. pos1 = pos(arg_filename,'.',1)
  3548. IF pos1 > 0 THEN
  3549. ls_filetypename = mid(arg_filename,pos1 + 1, len(arg_filename))
  3550. i = GetFileSaveName("另存为",arg_filename,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename)
  3551. ELSE
  3552. ls_filetypename = ''
  3553. i = GetFileSaveName("另存为",arg_filename,ls_filename,"*","*.*,*.*")
  3554. END IF
  3555. IF i = 1 AND Trim(arg_filename) <> '' THEN
  3556. IF f_blobtofile(arg_filename,arg_blob,errmsg) = 0 THEN
  3557. MessageBox('系统提示',errmsg)
  3558. RETURN
  3559. ELSE
  3560. MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+arg_filename)
  3561. END IF
  3562. END IF
  3563. end subroutine
  3564. public subroutine wf_blob_runfj (ref blob arg_blob, string arg_filename);int rslt = 1
  3565. string ls_pathname
  3566. string errmsg
  3567. string lsNull
  3568. setnull(lsNull)
  3569. ls_pathname = sys_cur_path+fjfilepathname+'\'+arg_filename
  3570. IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
  3571. IF f_blobtofile(ls_pathname,arg_blob,errmsg) = 0 THEN
  3572. rslt = 0
  3573. GOTO ext
  3574. END IF
  3575. //打开附件
  3576. ShellExecute32( Handle(THIS), lsNull, ls_pathname, lsNull, lsNull, 1 )
  3577. ext:
  3578. IF rslt = 0 THEN
  3579. MessageBox('系统提示',errmsg)
  3580. END IF
  3581. end subroutine
  3582. public subroutine wf_ui_row (long arg_row);if dw_list.dataobject = 'dw_email_view_msg' then
  3583. if arg_row <= 0 OR arg_row > dw_list.RowCount() then return
  3584. if dw_list.IsSelected(arg_row) then
  3585. if dw_list.object.status[arg_row] = '未读' then
  3586. dw_list.object.filename[arg_row] = 'graphics\unread_select.bmp'
  3587. else
  3588. dw_list.object.filename[arg_row] = 'graphics\read_select.bmp'
  3589. end if
  3590. else
  3591. if dw_list.object.status[arg_row] = '未读' then
  3592. dw_list.object.filename[arg_row] = 'graphics\unread.bmp'
  3593. else
  3594. dw_list.object.filename[arg_row] = 'graphics\read.bmp'
  3595. end if
  3596. end if
  3597. end if
  3598. end subroutine
  3599. public subroutine wf_ui_unselectall ();if dw_list.dataobject = 'dw_email_view_msg' then
  3600. long i
  3601. for i = 1 to dw_list.RowCount()
  3602. if dw_list.IsSelected(i) then
  3603. if dw_list.object.status[i] = '未读' then
  3604. dw_list.object.filename[i] = 'graphics\unread.bmp'
  3605. else
  3606. dw_list.object.filename[i] = 'graphics\read.bmp'
  3607. end if
  3608. end if
  3609. next
  3610. dw_list.accepttext()
  3611. end if
  3612. end subroutine
  3613. public subroutine wf_revert_read (long arg_row);if dw_list.dataobject = 'dw_email_view_msg' AND arg_row > 0 AND arg_row <= dw_list.RowCount() then
  3614. string ls_msg
  3615. if dw_list.object.status[arg_row] = '未读' then
  3616. if mail.f_read(dw_list.object.id[arg_row], ls_msg) = 1 then
  3617. dw_list.object.status[arg_row] = '已读'
  3618. end if
  3619. else
  3620. if mail.f_unread(dw_list.object.id[arg_row], ls_msg) = 1 then
  3621. dw_list.object.status[arg_row] = '未读'
  3622. end if
  3623. end if
  3624. wf_ui_row(arg_row)
  3625. end if
  3626. end subroutine
  3627. public subroutine wf_read_row (long arg_row);if (dw_list.dataobject = 'dw_email_view_msg' or dw_list.dataobject = 'dw_email_view_msg_rev') AND arg_row > 0 AND arg_row <= dw_list.RowCount() then
  3628. string ls_msg
  3629. if dw_list.object.status[arg_row] = '未读' then
  3630. if mail.f_read(dw_list.object.id[arg_row], ls_msg) = 1 then
  3631. dw_list.object.status[arg_row] = '已读'
  3632. end if
  3633. end if
  3634. wf_ui_row(arg_row)
  3635. end if
  3636. end subroutine
  3637. public subroutine wf_tv_setdata (long arg_handle, s_tv_data1 arg_data);if arg_handle > 0 then
  3638. TreeViewItem tvi
  3639. if tv_1.GetItem(arg_handle, tvi) = 1 then
  3640. tvi.data = arg_data
  3641. tv_1.SetItem(arg_handle, tvi)
  3642. end if
  3643. end if
  3644. end subroutine
  3645. public subroutine wf_tv_reflash (long arg_handle);s_tv_data1 tv_data
  3646. tv_data = wf_tv_getdata(arg_handle)
  3647. if tv_data.a_string = C_mailbox then
  3648. long unread
  3649. unread = wf_box_getunread(tv_data.relid)
  3650. long totle
  3651. totle = wf_box_gettotle(tv_data.relid)
  3652. string label
  3653. label = trim(tv_data.b_string) + '(' + string(unread) + '/' + string(totle) + ')'
  3654. wf_tv_settext(arg_handle, label)
  3655. else
  3656. end if
  3657. end subroutine
  3658. public function long wf_tv_gettrunkhandle (long arg_handle);arg_handle = wf_tv_getacount(arg_handle)
  3659. if arg_handle <= 0 then return -1
  3660. long handle
  3661. s_tv_data1 tv_data
  3662. handle = tv_1.finditem(ChildTreeItem!, arg_handle)
  3663. do while handle > 0
  3664. tv_data = wf_tv_getdata(handle)
  3665. if tv_data.b_string = '废件箱' AND tv_data.b_long = 1 then
  3666. return handle
  3667. end if
  3668. handle = tv_1.finditem(NextTreeItem!, handle)
  3669. loop
  3670. return -1
  3671. end function
  3672. public subroutine wf_tv_retrieve ();s_email_set s_set[]
  3673. String ls_msg
  3674. wf_ds_getmailset(s_set, ls_msg)
  3675. Long child[]
  3676. wf_tv_getchild(tv_root, child)
  3677. s_tv_data1 tv_data[]
  3678. Long i, j
  3679. FOR i = 1 To UpperBound(child)
  3680. tv_data[i] = wf_tv_getdata(child[i])
  3681. NEXT
  3682. Boolean has_tb // 已同步
  3683. FOR j = 1 To UpperBound(child)
  3684. IF tv_data[j].a_string <> C_mailacount THEN
  3685. child[j] = -1
  3686. END IF
  3687. NEXT
  3688. FOR i = 1 To UpperBound(s_set)
  3689. has_tb = False
  3690. FOR j = 1 To UpperBound(child)
  3691. IF child[j] = -1 THEN CONTINUE
  3692. IF tv_data[j].a_string <> C_mailacount THEN
  3693. // 内部消息
  3694. child[j] = -1
  3695. CONTINUE
  3696. END IF
  3697. IF s_set[i].mailid = tv_data[j].relid THEN
  3698. IF tv_data[j].c_string <> Trim(s_set[i].mailuser) Or tv_data[j].d_string <> Trim(s_set[i].mailAddress) THEN
  3699. tv_data[j].b_string = Trim(s_set[i].mailuser) + '<' + Trim(s_set[i].mailAddress) + '>'
  3700. tv_data[j].c_string = Trim(s_set[i].mailuser)
  3701. tv_data[j].d_string = Trim(s_set[i].mailAddress)
  3702. wf_tv_setdata(child[j], tv_data[j])
  3703. wf_tv_settext(child[j], tv_data[j].b_string)
  3704. END IF
  3705. wf_tv_retrieveallchildbox(child[j])
  3706. child[j] = -1
  3707. has_tb = True
  3708. EXIT
  3709. END IF
  3710. NEXT
  3711. IF Not has_tb THEN // 未同步
  3712. s_tv_data1 tv_data1
  3713. Long handle1
  3714. tv_data1.relid = s_set[i].mailid
  3715. tv_data1.a_string = C_mailacount
  3716. tv_data1.b_string = Trim(s_set[i].mailuser) + '<' + Trim(s_set[i].mailAddress) + '>'
  3717. tv_data1.c_string = Trim(s_set[i].mailuser)
  3718. tv_data1.d_string = Trim(s_set[i].mailAddress)
  3719. handle1 = wf_tv_insert(tv_root, tv_data1.b_string, 2, tv_data1)
  3720. wf_tv_insertallbox(handle1)
  3721. END IF
  3722. NEXT
  3723. FOR i = 1 To UpperBound(child)
  3724. IF child[i] > 0 THEN
  3725. tv_1.DeleteItem(child[i])
  3726. END IF
  3727. NEXT
  3728. //dw_list.trigger event rowfocuschanged(dw_list.getrow())
  3729. end subroutine
  3730. public subroutine wf_tv_retrieveallchildbox (long arg_handle);// 插入邮箱树
  3731. s_tv_data1 tv_data
  3732. long ll_mailid, ll_parentid
  3733. long boxhandle
  3734. s_email_box s_box[]
  3735. string ls_msg
  3736. long i,j
  3737. long unread
  3738. long totle
  3739. string label
  3740. tv_data = wf_tv_getdata(arg_handle)
  3741. if tv_data.a_string = C_mailacount then
  3742. ll_mailid = tv_data.relid
  3743. ll_parentid = 0
  3744. elseif tv_data.a_string = C_mailbox then
  3745. ll_mailid = tv_data.a_long
  3746. ll_parentid = tv_data.relid
  3747. end if
  3748. wf_ds_getmailbox(ll_mailid, ll_parentid, s_box, ls_msg)
  3749. long child[]
  3750. boolean has_tb
  3751. wf_tv_getchild(arg_handle, child)
  3752. s_tv_data1 tv_data_arr[]
  3753. for i = 1 to upperbound(child)
  3754. tv_data_arr[i] = wf_tv_getdata(child[i])
  3755. next
  3756. FOR i = 1 TO UPPERBOUND(s_box)
  3757. has_tb = false
  3758. for j = 1 to upperbound(child)
  3759. if child[j] = -1 then continue
  3760. if tv_data_arr[j].a_string <> C_mailbox then
  3761. // 内部消息
  3762. child[j] = -1
  3763. continue
  3764. end if
  3765. if s_box[i].boxid = tv_data_arr[j].relid then
  3766. tv_data_arr[j].relid = s_box[i].boxid
  3767. tv_data_arr[j].a_string = C_mailbox
  3768. tv_data_arr[j].b_string = s_box[i].boxname
  3769. tv_data_arr[j].a_long = ll_mailid
  3770. tv_data_arr[j].b_long = s_box[i].isdefault
  3771. unread = wf_box_getunread(s_box[i].boxid)
  3772. totle = wf_box_gettotle(s_box[i].boxid)
  3773. label = trim(s_box[i].boxname) + '(' + string(unread) + '/' + string(totle) + ')'
  3774. wf_tv_setdata(child[j], tv_data_arr[j])
  3775. wf_tv_settext(child[j], label)
  3776. wf_tv_retrieveallchildbox(child[j])
  3777. child[j] = -1
  3778. has_tb = true
  3779. exit
  3780. end if
  3781. next
  3782. if not has_tb then
  3783. s_tv_data1 tv_data2
  3784. tv_data2.relid = s_box[i].boxid
  3785. tv_data2.a_string = C_mailbox
  3786. tv_data2.b_string = s_box[i].boxname
  3787. tv_data2.a_long = ll_mailid
  3788. tv_data2.b_long = s_box[i].isdefault
  3789. unread = wf_box_getunread(s_box[i].boxid)
  3790. totle = wf_box_gettotle(s_box[i].boxid)
  3791. label = trim(s_box[i].boxname) + '(' + string(unread) + '/' + string(totle) + ')'
  3792. boxhandle = wf_tv_insert(arg_handle, label, s_box[i].picindex, tv_data2)
  3793. wf_tv_insertallbox(boxhandle)
  3794. end if
  3795. NEXT
  3796. for i = 1 to upperbound(child)
  3797. if child[i] > 0 then
  3798. tv_1.DeleteItem(child[i])
  3799. end if
  3800. next
  3801. end subroutine
  3802. public subroutine wf_tv_getchild (long arg_handle, ref long arg_child[]);long child[]
  3803. long handle
  3804. long i = 0
  3805. handle = tv_1.finditem(ChildTreeItem!, arg_handle)
  3806. do while handle > 0
  3807. i++
  3808. child[i] = handle
  3809. handle = tv_1.finditem(NextTreeItem!, handle)
  3810. loop
  3811. arg_child = child
  3812. end subroutine
  3813. public function boolean wf_hasdotnet ();string ls_value[]
  3814. if RegistryValues('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727', ls_value) <> 1 then
  3815. return false
  3816. else
  3817. return true
  3818. end if
  3819. end function
  3820. public subroutine wf_str_modfilepath (ref string ls_filepath);long ll_pos
  3821. ll_pos = pos(ls_filepath, ':',1)
  3822. do while ll_pos > 0
  3823. ls_filepath = replace(ls_filepath, ll_pos, 1, "")
  3824. ll_pos = pos(ls_filepath, ':',1)
  3825. loop
  3826. ll_pos = pos(ls_filepath, '*',1)
  3827. do while ll_pos > 0
  3828. ls_filepath = replace(ls_filepath, ll_pos, 1, "")
  3829. ll_pos = pos(ls_filepath, '*',1)
  3830. loop
  3831. ll_pos = pos(ls_filepath, '<',1)
  3832. do while ll_pos > 0
  3833. ls_filepath = replace(ls_filepath, ll_pos, 1, "")
  3834. ll_pos = pos(ls_filepath, '<',1)
  3835. loop
  3836. ll_pos = pos(ls_filepath, '>',1)
  3837. do while ll_pos > 0
  3838. ls_filepath = replace(ls_filepath, ll_pos, 1, "")
  3839. ll_pos = pos(ls_filepath, '>:',1)
  3840. loop
  3841. ll_pos = pos(ls_filepath, '|',1)
  3842. do while ll_pos > 0
  3843. ls_filepath = replace(ls_filepath, ll_pos, 1, "")
  3844. ll_pos = pos(ls_filepath, '|',1)
  3845. loop
  3846. ll_pos = pos(ls_filepath, '?',1)
  3847. do while ll_pos > 0
  3848. ls_filepath = replace(ls_filepath, ll_pos, 1, "")
  3849. ll_pos = pos(ls_filepath, '?',1)
  3850. loop
  3851. ll_pos = pos(ls_filepath, '/',1)
  3852. do while ll_pos > 0
  3853. ls_filepath = replace(ls_filepath, ll_pos, 1, "")
  3854. ll_pos = pos(ls_filepath, '/',1)
  3855. loop
  3856. ll_pos = pos(ls_filepath, '\',1)
  3857. do while ll_pos > 0
  3858. ls_filepath = replace(ls_filepath, ll_pos, 1, "")
  3859. ll_pos = pos(ls_filepath, '\',1)
  3860. loop
  3861. ll_pos = pos(ls_filepath, '"',1)
  3862. do while ll_pos > 0
  3863. ls_filepath = replace(ls_filepath, ll_pos, 1, "")
  3864. ll_pos = pos(ls_filepath, '"',1)
  3865. loop
  3866. end subroutine
  3867. public subroutine wf_dw_readlayout ();dw_list.ins_INIfile_name = sys_inifilename
  3868. dw_list.ins_opemp = publ_operator
  3869. dw_list.cardw_empid = sys_empid
  3870. dw_list.cur_DataObject = dw_list.DataObject
  3871. dw_list.uf_read_profile_layout()
  3872. //
  3873. f_title_change(dw_list)
  3874. end subroutine
  3875. public subroutine wf_dw_retrieve_smssend ();Long ll_count
  3876. String ls_title
  3877. dw_list.Reset()
  3878. IF dw_list.DataObject <> 'dw_sms_spring_send' THEN
  3879. IF dw_list.DataObject <> '' THEN
  3880. dw_list.uf_save_profile_layout()
  3881. END IF
  3882. dw_list.DataObject = 'dw_sms_spring_send'
  3883. wf_dw_readlayout()
  3884. dw_list.SetTransObject(Commit_Tran)
  3885. END IF
  3886. Long ll_empid
  3887. ll_empid = sys_empid
  3888. IF sys_empid = 0 THEN
  3889. ll_empid = -1
  3890. END IF
  3891. string str,str_r
  3892. long cnt,EM1
  3893. EM1=LONG(EM_3.TEXT)
  3894. str = trim(dw_list.Describe("DataWindow.Table.Select"))
  3895. cnt = pos(str,'empname')
  3896. str_r = mid(str,cnt,len(str))
  3897. str = 'select top '+STRING(EM1)+' ' +str_r
  3898. dw_list.Modify("datawindow.table.select = ~"" + str+ "~"")
  3899. //MessageBox('', string(sys_empid))
  3900. ll_count = dw_list.Retrieve(ll_empid,cur_send)
  3901. //dw_list.Title = '收件箱(' + string(ll_count) + ')'
  3902. //ls_title = dw_list.Title
  3903. //
  3904. //wf_tv_setcurrenttext(ls_title)
  3905. end subroutine
  3906. public subroutine wf_tv_insertlebox (long arg_handle, long arg_parentid);
  3907. s_ljmail_box boxs[]
  3908. String arg_msg
  3909. uo_ljmail_box uo_box
  3910. uo_box = Create uo_ljmail_box
  3911. IF uo_box.uf_getchildboxs(arg_parentid, Ref boxs, Ref arg_msg) <> 1 THEN
  3912. GOTO ext
  3913. END IF
  3914. Long ll_i
  3915. Long handle1
  3916. s_tv_data1 tv_data
  3917. FOR ll_i = 1 To UpperBound(boxs)
  3918. tv_data.a_string = C_lebox
  3919. tv_data.relid = boxs[ll_i].boxid
  3920. tv_data.b_string = boxs[ll_i].boxname
  3921. tv_data.a_long = boxs[ll_i].boxtype
  3922. tv_data.b_long = boxs[ll_i].empid
  3923. handle1 = wf_tv_insert(arg_handle, boxs[ll_i].boxname, 7, tv_data)
  3924. wf_tv_insertlebox(handle1, boxs[ll_i].boxid)
  3925. NEXT
  3926. ext:
  3927. Destroy uo_box
  3928. end subroutine
  3929. public subroutine wf_dw_retrieve_le (long arg_boxid);Long ll_count
  3930. String ls_title
  3931. dw_list.Reset()
  3932. IF dw_list.DataObject <> 'dw_ljmail_msg' THEN
  3933. IF dw_list.DataObject <> '' THEN
  3934. dw_list.uf_save_profile_layout()
  3935. END IF
  3936. dw_list.DataObject = 'dw_ljmail_msg'
  3937. wf_dw_readlayout()
  3938. dw_list.SetTransObject(fj_tran)
  3939. END IF
  3940. ll_count = dw_list.Retrieve(arg_boxid)
  3941. end subroutine
  3942. public subroutine wf_dw_retrieve_smssendmx ();IF dw_list.DataObject = 'dw_sms_spring_send' THEN
  3943. IF dw_user.DataObject <> 'dw_sms_spring_sendmx' THEN
  3944. IF dw_user.DataObject <> '' THEN
  3945. dw_user.uf_save_profile_layout()
  3946. END IF
  3947. dw_user.DataObject = 'dw_sms_spring_sendmx'
  3948. dw_user.ins_INIfile_name = sys_inifilename
  3949. dw_user.ins_opemp = publ_operator
  3950. dw_user.cardw_empid = sys_empid
  3951. dw_user.cur_DataObject = dw_list.DataObject
  3952. dw_user.uf_read_profile_layout()
  3953. //
  3954. f_title_change(dw_user)
  3955. dw_user.SetTransObject(Commit_Tran)
  3956. END IF
  3957. IF dw_list.GetRow() > 0 THEN
  3958. dw_user.Retrieve(dw_list.Object.sendid[dw_list.GetRow()])
  3959. ELSE
  3960. dw_user.Reset()
  3961. END IF
  3962. END IF
  3963. end subroutine
  3964. public subroutine wf_dw_retrieve_mailmsg (long arg_mailid, long arg_boxid, string arg_boxname);s_tv_data1 tv_data
  3965. string ls_title
  3966. dw_list.Reset()
  3967. //if arg_boxname='收件箱' then
  3968. // dw_list.dataobject='dw_email_view_msg' //dw_email_view_msg_rev'
  3969. // dw_list.settrans(fj_tran)
  3970. // goto con
  3971. //end if
  3972. if dw_list.dataobject <> 'dw_email_view_msg' then
  3973. if dw_list.dataobject <> '' then
  3974. dw_list.uf_save_profile_layout()
  3975. end if
  3976. dw_list.dataobject = 'dw_email_view_msg'
  3977. wf_dw_readlayout()
  3978. dw_list.settransobject(fj_tran)
  3979. end if
  3980. //con:
  3981. dw_list.retrieve(arg_mailid, arg_boxid)
  3982. tv_data = wf_tv_getdata(wf_tv_getcurrent())
  3983. ls_title = tv_data.b_string&
  3984. + '(' + string(wf_box_getunread(arg_boxid)) &
  3985. + '/' + string(wf_box_gettotle(arg_boxid)) + ')'
  3986. wf_tv_setcurrenttext(ls_title)
  3987. end subroutine
  3988. public function long wf_findtreeitem (treeview tv_tree, boolean findby, any data);//tv_tree: TreeView, 指明在tv_tree树中查找
  3989. //
  3990. //findby: boolean, 指明查找方式
  3991. //
  3992. //false - 按标签(Label)查找
  3993. //
  3994. //true - 按附加数据(data)查找
  3995. //
  3996. //data: any, 指明要查找的内容
  3997. //
  3998. //返回值:long型。若找到,返回找到的项的Handle;
  3999. //
  4000. //若没有找到,返回0;
  4001. //
  4002. //若出错,返回-1
  4003. //
  4004. //程序代码如下:
  4005. long ll_hdl[]
  4006. integer li_cnt
  4007. TreeViewitem lt_tvi
  4008. li_cnt = 1
  4009. ll_hdl[1] = tv_tree.FindItem(RootTreeItem!, 0)
  4010. do while li_cnt > 0
  4011. if tv_tree.GetItem(ll_hdl[li_cnt], lt_tvi) = -1 then return -1
  4012. if findby then
  4013. if lt_tvi.data = data then
  4014. return ll_hdl[li_cnt]
  4015. end if
  4016. else
  4017. if pos(lt_tvi.label ,string(data) )>0 then
  4018. return ll_hdl[li_cnt]
  4019. end if
  4020. end if
  4021. if lt_tvi.children then
  4022. li_cnt ++
  4023. ll_hdl[li_cnt] = tv_tree.FindItem( ChildTreeItem!, ll_hdl[li_cnt - 1])
  4024. else
  4025. ll_hdl[li_cnt] = tv_tree.FindItem( NextTreeItem!, ll_hdl[li_cnt])
  4026. end if
  4027. do while ll_hdl[li_cnt] <= 0
  4028. li_cnt --
  4029. if li_cnt = 0 then exit
  4030. ll_hdl[li_cnt] = tv_tree.FindItem( NextTreeItem!, ll_hdl[li_cnt])
  4031. loop
  4032. loop
  4033. return 0
  4034. end function
  4035. public function string of_globalreplace (string as_source, string as_old, string as_new);long ll_oldlen, ll_newlen, ll_pos
  4036. as_source=trim(as_source)
  4037. as_old=trim(as_old)
  4038. ll_pos = Pos(as_source,as_old)
  4039. IF ll_pos > 0 Then
  4040. ll_oldlen = Len(as_old)
  4041. ll_newlen = Len(as_new)
  4042. DO WHILE ll_pos > 0
  4043. as_source = Replace(as_source,ll_pos,ll_oldlen,as_new)
  4044. ll_pos = Pos(as_source,as_old,ll_pos + ll_newlen)
  4045. LOOP
  4046. END IF
  4047. RETURN as_source
  4048. end function
  4049. public subroutine wf_move ();//游标读收费项目
  4050. String arry_sql[]
  4051. Integer i
  4052. DECLARE readitem_sql CURSOR FOR
  4053. SELECT u_email_box.filter
  4054. From u_email_box Where if_filter = 1;
  4055. OPEN readitem_sql;
  4056. i++
  4057. FETCH readitem_sql Into :arry_sql[i];
  4058. DO WHILE sqlca.SQLCode = 0
  4059. i++
  4060. FETCH readitem_sql Into :arry_sql[i];
  4061. LOOP
  4062. CLOSE readitem_sql;
  4063. FOR i = 1 To UpperBound(arry_sql)
  4064. IF arry_sql[i] <> "" THEN
  4065. IF Pos(arry_sql[i],"#1s") <= 0 And Pos(arry_sql[i],"#2s") <= 0 And Pos(arry_sql[i],"#3s") <= 0 And Pos(arry_sql[i],"#4s") <= 0 THEN
  4066. CONTINUE
  4067. END IF
  4068. arry_sql[i] = of_globalreplace(arry_sql[i],"‘","'")
  4069. arry_sql[i] = of_globalreplace(arry_sql[i],"’","'")
  4070. arry_sql[i] = of_globalreplace(arry_sql[i],",",",")
  4071. arry_sql[i] = of_globalreplace(arry_sql[i],"#1s"," ")
  4072. arry_sql[i] = of_globalreplace(arry_sql[i],"#2s"," ")
  4073. arry_sql[i] = of_globalreplace(arry_sql[i],"#3s"," ")
  4074. arry_sql[i] = of_globalreplace(arry_sql[i],"#4s"," ")
  4075. arry_sql[i] = of_globalreplace(arry_sql[i],"#1e"," ")
  4076. arry_sql[i] = of_globalreplace(arry_sql[i],"#2e"," ")
  4077. arry_sql[i] = of_globalreplace(arry_sql[i],"#3e"," ")
  4078. arry_sql[i] = of_globalreplace(arry_sql[i],"#4e"," ")
  4079. EXECUTE Immediate :arry_sql[i] Using sys_email_sqlca;
  4080. IF sys_email_sqlca.SQLCode <> 0 THEN
  4081. MessageBox("错误" , "移动邮件失败~n"+sys_email_sqlca.SQLErrText)
  4082. GOTO ext
  4083. END IF
  4084. COMMIT;
  4085. END IF
  4086. NEXT
  4087. ext:
  4088. This.cb_fresh.TriggerEvent(Clicked!)
  4089. end subroutine
  4090. on w_email_view.create
  4091. int iCurrent
  4092. call super::create
  4093. this.cb_rev=create cb_rev
  4094. this.cb_send=create cb_send
  4095. this.cb_write=create cb_write
  4096. this.cb_back=create cb_back
  4097. this.lv_fj=create lv_fj
  4098. this.dw_mail=create dw_mail
  4099. this.dw_rep=create dw_rep
  4100. this.dw_fj=create dw_fj
  4101. this.cb_sendother=create cb_sendother
  4102. this.cb_del=create cb_del
  4103. this.cb_rep=create cb_rep
  4104. this.cb_fresh=create cb_fresh
  4105. this.lb_1=create lb_1
  4106. this.cb_help=create cb_help
  4107. this.p_resize=create p_resize
  4108. this.p_resize1=create p_resize1
  4109. this.ln_bar=create ln_bar
  4110. this.ln_bar2=create ln_bar2
  4111. this.r_bar=create r_bar
  4112. this.tv_1=create tv_1
  4113. this.sp_v1=create sp_v1
  4114. this.sp_h1=create sp_h1
  4115. this.ole_1=create ole_1
  4116. this.st_3=create st_3
  4117. this.em_1=create em_1
  4118. this.pb_em1=create pb_em1
  4119. this.st_4=create st_4
  4120. this.em_2=create em_2
  4121. this.pb_em2=create pb_em2
  4122. this.pb_2=create pb_2
  4123. this.p_1=create p_1
  4124. this.st_refresh=create st_refresh
  4125. this.dw_user=create dw_user
  4126. this.dw_list=create dw_list
  4127. this.cb_1=create cb_1
  4128. this.st_del=create st_del
  4129. this.p_del=create p_del
  4130. this.cbx_showmeredeal=create cbx_showmeredeal
  4131. this.cb_viewbill=create cb_viewbill
  4132. this.cb_view_his=create cb_view_his
  4133. this.sle_find=create sle_find
  4134. this.cb_find=create cb_find
  4135. this.ddlb_1=create ddlb_1
  4136. this.em_3=create em_3
  4137. iCurrent=UpperBound(this.Control)
  4138. this.Control[iCurrent+1]=this.cb_rev
  4139. this.Control[iCurrent+2]=this.cb_send
  4140. this.Control[iCurrent+3]=this.cb_write
  4141. this.Control[iCurrent+4]=this.cb_back
  4142. this.Control[iCurrent+5]=this.lv_fj
  4143. this.Control[iCurrent+6]=this.dw_mail
  4144. this.Control[iCurrent+7]=this.dw_rep
  4145. this.Control[iCurrent+8]=this.dw_fj
  4146. this.Control[iCurrent+9]=this.cb_sendother
  4147. this.Control[iCurrent+10]=this.cb_del
  4148. this.Control[iCurrent+11]=this.cb_rep
  4149. this.Control[iCurrent+12]=this.cb_fresh
  4150. this.Control[iCurrent+13]=this.lb_1
  4151. this.Control[iCurrent+14]=this.cb_help
  4152. this.Control[iCurrent+15]=this.p_resize
  4153. this.Control[iCurrent+16]=this.p_resize1
  4154. this.Control[iCurrent+17]=this.ln_bar
  4155. this.Control[iCurrent+18]=this.ln_bar2
  4156. this.Control[iCurrent+19]=this.r_bar
  4157. this.Control[iCurrent+20]=this.tv_1
  4158. this.Control[iCurrent+21]=this.sp_v1
  4159. this.Control[iCurrent+22]=this.sp_h1
  4160. this.Control[iCurrent+23]=this.ole_1
  4161. this.Control[iCurrent+24]=this.st_3
  4162. this.Control[iCurrent+25]=this.em_1
  4163. this.Control[iCurrent+26]=this.pb_em1
  4164. this.Control[iCurrent+27]=this.st_4
  4165. this.Control[iCurrent+28]=this.em_2
  4166. this.Control[iCurrent+29]=this.pb_em2
  4167. this.Control[iCurrent+30]=this.pb_2
  4168. this.Control[iCurrent+31]=this.p_1
  4169. this.Control[iCurrent+32]=this.st_refresh
  4170. this.Control[iCurrent+33]=this.dw_user
  4171. this.Control[iCurrent+34]=this.dw_list
  4172. this.Control[iCurrent+35]=this.cb_1
  4173. this.Control[iCurrent+36]=this.st_del
  4174. this.Control[iCurrent+37]=this.p_del
  4175. this.Control[iCurrent+38]=this.cbx_showmeredeal
  4176. this.Control[iCurrent+39]=this.cb_viewbill
  4177. this.Control[iCurrent+40]=this.cb_view_his
  4178. this.Control[iCurrent+41]=this.sle_find
  4179. this.Control[iCurrent+42]=this.cb_find
  4180. this.Control[iCurrent+43]=this.ddlb_1
  4181. this.Control[iCurrent+44]=this.em_3
  4182. end on
  4183. on w_email_view.destroy
  4184. call super::destroy
  4185. destroy(this.cb_rev)
  4186. destroy(this.cb_send)
  4187. destroy(this.cb_write)
  4188. destroy(this.cb_back)
  4189. destroy(this.lv_fj)
  4190. destroy(this.dw_mail)
  4191. destroy(this.dw_rep)
  4192. destroy(this.dw_fj)
  4193. destroy(this.cb_sendother)
  4194. destroy(this.cb_del)
  4195. destroy(this.cb_rep)
  4196. destroy(this.cb_fresh)
  4197. destroy(this.lb_1)
  4198. destroy(this.cb_help)
  4199. destroy(this.p_resize)
  4200. destroy(this.p_resize1)
  4201. destroy(this.ln_bar)
  4202. destroy(this.ln_bar2)
  4203. destroy(this.r_bar)
  4204. destroy(this.tv_1)
  4205. destroy(this.sp_v1)
  4206. destroy(this.sp_h1)
  4207. destroy(this.ole_1)
  4208. destroy(this.st_3)
  4209. destroy(this.em_1)
  4210. destroy(this.pb_em1)
  4211. destroy(this.st_4)
  4212. destroy(this.em_2)
  4213. destroy(this.pb_em2)
  4214. destroy(this.pb_2)
  4215. destroy(this.p_1)
  4216. destroy(this.st_refresh)
  4217. destroy(this.dw_user)
  4218. destroy(this.dw_list)
  4219. destroy(this.cb_1)
  4220. destroy(this.st_del)
  4221. destroy(this.p_del)
  4222. destroy(this.cbx_showmeredeal)
  4223. destroy(this.cb_viewbill)
  4224. destroy(this.cb_view_his)
  4225. destroy(this.sle_find)
  4226. destroy(this.cb_find)
  4227. destroy(this.ddlb_1)
  4228. destroy(this.em_3)
  4229. end on
  4230. event resize;call super::resize;ln_bar.EndX = THIS.Width
  4231. ln_bar2.EndX = THIS.Width
  4232. r_bar.Width = THIS.Width
  4233. Long w_width,w_height
  4234. w_width = 3602
  4235. w_height = 2300
  4236. IF newwidth < w_width THEN THIS.Width = w_width
  4237. IF newheight < w_height THEN THIS.Height = w_height
  4238. //uo_1.width = this.width - 30
  4239. //uo_1.height = this.height - uo_1.y - 150
  4240. tv_1.Height = THIS.Height - tv_1.Y - 120
  4241. sp_v1.height = tv_1.height
  4242. sp_h1.width = this.width - dw_list.x - 30
  4243. //
  4244. IF have_fj THEN
  4245. // tab_1.Height = tv_1.Height - lv_fj.Height - dw_list.Height - 5
  4246. ole_1.height = tv_1.Height - lv_fj.Height - dw_list.Height - 5
  4247. lv_fj.Visible = TRUE
  4248. p_resize.Height = ole_1.height + lv_fj.Height
  4249. ELSE
  4250. // tab_1.Height = tv_1.Height - dw_list.Height - 5
  4251. ole_1.height = tv_1.height - dw_list.height - 5
  4252. lv_fj.Visible = FALSE
  4253. p_resize.Height = ole_1.height
  4254. END IF
  4255. IF have_rep THEN
  4256. dw_list.Width = THIS.Width - dw_list.X - dw_rep.Width - p_resize1.Width - 30
  4257. ELSE
  4258. dw_list.Width = THIS.Width - dw_list.X - p_resize1.Width - 30
  4259. END IF
  4260. p_resize1.X = dw_list.X + dw_list.Width
  4261. dw_rep.X = p_resize1.X + p_resize1.Width
  4262. IF have_inout THEN
  4263. // tab_1.Width = THIS.Width - tab_1.X - dw_mail.Width - p_resize.Width - 30
  4264. ole_1.width = THIS.Width - ole_1.X - dw_mail.Width - p_resize.Width - 30
  4265. ELSE
  4266. // tab_1.Width = THIS.Width - tab_1.X - p_resize.Width - 30
  4267. ole_1.width = THIS.Width - ole_1.X - p_resize.Width - 30
  4268. END IF
  4269. p_resize.X = ole_1.X + ole_1.Width
  4270. dw_mail.X = p_resize.X + p_resize.Width
  4271. dw_fj.X = dw_mail.X
  4272. lv_fj.Width = ole_1.Width
  4273. lv_fj.Y = ole_1.Y + ole_1.Height
  4274. dw_mail.Height = (tv_1.Height - dw_list.Height ) / 2
  4275. dw_fj.Y = dw_mail.Y + dw_mail.Height
  4276. dw_fj.Height = dw_mail.Height
  4277. if have_user then
  4278. dw_user.visible = true
  4279. dw_list.width = dw_list.width - dw_user.width
  4280. dw_user.x = dw_list.x + dw_list.width
  4281. else
  4282. dw_user.visible = false
  4283. end if
  4284. end event
  4285. event open;call super::open;//uo_kq=create uo_kp_setprofile
  4286. //uo_kq.clear('a')
  4287. //uo_kq.settext('email','in open')
  4288. IF sys_project = 0 THEN
  4289. //L1权限
  4290. ins_can_see_other = 2571
  4291. ins_can_edit = 2572
  4292. ELSE
  4293. //ecl权限
  4294. ins_can_see_other = 1411
  4295. ins_can_edit = 1412 //可以修改的
  4296. END IF
  4297. commit_tran = sqlca
  4298. Long ll_ConnectionID
  4299. String arg_msg
  4300. Int li_ifexit = 0
  4301. //IF sys_email_sqlca.DBHandle() > 0 THEN
  4302. // fj_tran = sys_email_sqlca
  4303. //ELSE
  4304. // MessageBox('系统提示','要使用邮件功能,请先定义邮件数据库')
  4305. // li_ifexit = 1
  4306. //END IF
  4307. //uo_kq.settext('email','1')
  4308. IF sys_email_sqlca.DBHandle() <> 0 THEN
  4309. fj_tran = sys_email_sqlca
  4310. has_fj_tran = True
  4311. ELSE
  4312. MessageBox('系统提示','要使用邮件功能,请先定义邮件数据库')
  4313. fj_tran = Create Transaction
  4314. has_fj_tran = False
  4315. li_ifexit = 0
  4316. END IF
  4317. //uo_kq.settext('email','2')
  4318. IF li_ifexit = 0 THEN
  4319. dw_fj.SetTransObject(commit_tran)
  4320. dw_user.SetTransObject(commit_tran)
  4321. dw_mail.SetTransObject(fj_tran)
  4322. dw_rep.SetTransObject(fj_tran)
  4323. dw_list.SetTransObject(fj_tran)
  4324. mail = Create uo_email
  4325. mail.commit_tran = commit_tran
  4326. mail.fj_tran = fj_tran
  4327. //Pathname = sys_cur_path + 'temp.html'
  4328. dw_mail.Visible = False
  4329. dw_fj.Visible = False
  4330. dw_rep.Visible = False
  4331. em_1.Text = String(RelativeDate ( Today(), -7 ),'YY-MM-DD')
  4332. em_2.Text = String(Today(),'YY-MM-DD')
  4333. wf_ui_reflash()
  4334. // uo_kq.settext('email','2-1')
  4335. have_user = False
  4336. dw_user.Width = 1200
  4337. String ls_msg
  4338. Long a
  4339. a = wf_tv_build_tree(ls_msg)
  4340. // uo_kq.settext('email',string(a))
  4341. IF a <> 1 THEN
  4342. MessageBox('错误', ls_msg, stopsign!)
  4343. Close(This)
  4344. RETURN
  4345. END IF
  4346. // uo_kq.settext('email','2-2')
  4347. ole_1.Object.navigate('about:blank')
  4348. //string ls_msg
  4349. //wf_init(ls_msg)
  4350. //alltimmer= create so_timmer
  4351. //curtimmer= create so_timmer
  4352. //atimmer= create so_timmer
  4353. //alltimmer.of_setparent(this)
  4354. //curtimmer.of_setparent(this)
  4355. //atimmer.of_setparent(this)
  4356. // uo_kq.settext('email','2-3')
  4357. Long sp_v1_x
  4358. sp_v1_x = Long(f_ProfileString(sys_empid, "sp_v1", "x", '855'))
  4359. sp_v1.X = sp_v1_x
  4360. tv_1.Width = sp_v1.X - 5
  4361. dw_list.X = sp_v1.X + 5
  4362. //tab_1.x = sp_v1.x + 5
  4363. ole_1.X = sp_v1.X + 5
  4364. lv_fj.X = sp_v1.X + 5
  4365. sp_v1.of_reset()
  4366. sp_v1.of_register(tv_1, sp_v1.Left)
  4367. sp_v1.of_register(dw_list, sp_v1.Right)
  4368. sp_v1.of_register(sp_h1, sp_v1.Right)
  4369. //sp_v1.of_register(tab_1, sp_v1.right)
  4370. sp_v1.of_register(ole_1, sp_v1.Right)
  4371. sp_v1.of_register(lv_fj, sp_v1.Right)
  4372. sp_v1.uf_possplitbar(tv_1)
  4373. // uo_kq.settext('email','2-4')
  4374. Long sp_h1_y
  4375. sp_h1_y = Long(f_ProfileString(sys_empid, "sp_h1", "y", '1084'))
  4376. sp_h1.Y = sp_h1_y
  4377. dw_list.Height = sp_h1.Y - 5 - dw_list.Y
  4378. dw_user.Height = dw_list.Height
  4379. p_resize1.Height = sp_h1.Y - 5 - p_resize1.Y
  4380. dw_rep.Height = sp_h1.Y - 5 - dw_rep.Y
  4381. //tab_1.y = sp_h1.y + 5
  4382. ole_1.Y = sp_h1.Y + 5
  4383. p_resize.Y = sp_h1.Y + 5
  4384. dw_mail.Y = sp_h1.Y + 5
  4385. sp_h1.of_reset()
  4386. sp_h1.of_register(dw_list, sp_h1.above)
  4387. sp_h1.of_register(dw_user, sp_h1.above)
  4388. sp_h1.of_register(p_resize1, sp_h1.above)
  4389. sp_h1.of_register(dw_rep, sp_h1.above)
  4390. //sp_h1.of_register(tab_1, sp_h1.below)
  4391. sp_h1.of_register(ole_1, sp_h1.below)
  4392. sp_h1.of_register(p_resize, sp_h1.below)
  4393. sp_h1.of_register(dw_mail, sp_h1.below)
  4394. sp_h1.uf_possplitbar(dw_list)
  4395. // uo_kq.settext('email','2-5')
  4396. ELSE
  4397. // cb_exit.PostEvent(Clicked!)
  4398. END IF
  4399. //uo_kq.settext('email','3')
  4400. This.PostEvent('ue_afteropen')
  4401. //自动收取邮件
  4402. ll_autotime = Long(f_ProfileString(sys_empid,publ_userid+'_'+'sle_auottime', "autotime",'0'))
  4403. IF ll_autotime > 0 THEN
  4404. if_autorev = True
  4405. timer(ll_autotime * 60)
  4406. END IF
  4407. //自动收取邮件
  4408. end event
  4409. event close;call super::close;Destroy mail
  4410. //destroy alltimmer
  4411. //destroy curtimmer
  4412. IF not has_fj_tran THEN
  4413. Destroy fj_tran
  4414. END IF
  4415. wf_delfj()
  4416. end event
  4417. event activate;call super::activate;//messagebox('','act')
  4418. if isvalid(fj_tran) then
  4419. wf_tv_retrieve()
  4420. end if
  4421. end event
  4422. event timer;call super::timer;Long ll_cpu,ll_cpu1,ll_hwnd
  4423. ll_hwnd = findWindow("WindowsForms10.Window.8.app.0.33c0d9d","收取邮件")
  4424. IF ll_hwnd > 0 THEN RETURN
  4425. ULong lu_class
  4426. String ls_name
  4427. SetNull(lu_class)
  4428. //ls_name = "龙嘉接收邮件工具"
  4429. //IF FindWindowA(lu_class, ls_name) > 0 THEN
  4430. // MessageBox('提示','正在收取邮件,请稍后!',information!,OK!)
  4431. // RETURN
  4432. //END IF
  4433. IF NOT FileExists(sys_cur_path + 'longjoe_rev.exe') THEN
  4434. MessageBox('提示','longjoe_rev.exe文件缺失,请联系软件供应商!',information!,OK!)
  4435. RETURN
  4436. END IF
  4437. // DONE: 检测是否安装.net
  4438. if not wf_hasDotNet() then
  4439. MessageBox('提示','如需收发邮件请安装.net2.0!',information!,OK!)
  4440. RETURN
  4441. end if
  4442. if not has_fj_tran then
  4443. MessageBox('提示','未设置邮件数据库!',information!,OK!)
  4444. RETURN
  4445. end if
  4446. String ls_run
  4447. ls_run = 'longjoe_rev.exe -longjoe&'&
  4448. + sys_system_id + '&'&
  4449. + sys_cur_version + '&'&
  4450. + String(sys_if_register) + '&'&
  4451. + Commit_Tran.Database + '&'&
  4452. + Commit_Tran.UserID + '&'&
  4453. + f_psw_bczh(Commit_Tran.DBPass,0,sys_power_key) + '&'&
  4454. + Commit_Tran.LogID + '&'&
  4455. + f_psw_bczh(Commit_Tran.LogPass,0,sys_power_key) + '&'&
  4456. + Commit_Tran.ServerName + '&'&
  4457. + string(sys_empid) + '&'&
  4458. + '-1&'&
  4459. + '0&'&
  4460. + fj_tran.Database + '&'&
  4461. + fj_tran.UserID + '&'&
  4462. + f_psw_bczh(fj_tran.DBPass,0,sys_power_key) + '&'&
  4463. + fj_tran.LogID + '&'&
  4464. + f_psw_bczh(fj_tran.LogPass,0,sys_power_key) + '&'&
  4465. + fj_tran.ServerName + '&'
  4466. IF Run(sys_cur_path + ls_run) = -1 THEN
  4467. MessageBox('错误','运行程序失败!',stopsign!,ok!)
  4468. RETURN
  4469. END IF
  4470. if IsValid(w_tanchuang) then close(w_tanchuang)
  4471. open(w_tanchuang)
  4472. end event
  4473. type cb_func from w_publ_base`cb_func within w_email_view
  4474. boolean visible = false
  4475. integer x = 775
  4476. integer width = 150
  4477. integer height = 163
  4478. end type
  4479. type cb_exit from w_publ_base`cb_exit within w_email_view
  4480. integer x = 1657
  4481. integer width = 165
  4482. integer height = 163
  4483. integer picsize = 16
  4484. toolbaralignment pic_align = alignattop!
  4485. boolean border = false
  4486. end type
  4487. type cb_rev from uo_imflatbutton within w_email_view
  4488. integer x = 165
  4489. integer width = 165
  4490. integer height = 163
  4491. integer taborder = 10
  4492. boolean bringtotop = true
  4493. string text = "收取"
  4494. string normalpicname = "email_view1.bmp"
  4495. integer picsize = 16
  4496. toolbaralignment pic_align = alignattop!
  4497. boolean border = false
  4498. end type
  4499. event clicked;call super::clicked;
  4500. m_Dfc_Control_PopupMenu dmPopupMenu
  4501. String menustr
  4502. s_tv_data1 tv_data
  4503. long ll_handle
  4504. ll_handle = wf_tv_getCurrent()
  4505. ll_handle = wf_tv_getacount(ll_handle)
  4506. if ll_handle > 0 then
  4507. tv_data = wf_tv_getdata(ll_handle)
  4508. menustr = "Text=" + tv_data.b_string + "~tEvent=ue_revcur"
  4509. menustr = menustr + "|" + "Text=-"
  4510. menustr = menustr + "|" + "Text=全部邮箱~tEvent=ue_revall"
  4511. else
  4512. menustr = "Text=全部邮箱~tEvent=ue_revall"
  4513. end if
  4514. IF len(Trim(menustr)) <> 0 THEN
  4515. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  4516. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  4517. dmPopupMenu.mf_PopMenu()
  4518. DESTROY dmPopupMenu
  4519. END IF
  4520. end event
  4521. type cb_send from uo_imflatbutton within w_email_view
  4522. integer x = 329
  4523. integer width = 165
  4524. integer height = 163
  4525. integer taborder = 30
  4526. boolean bringtotop = true
  4527. string text = "发送"
  4528. string normalpicname = "email_view2.bmp"
  4529. integer picsize = 16
  4530. toolbaralignment pic_align = alignattop!
  4531. boolean border = false
  4532. end type
  4533. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  4534. String menustr
  4535. s_tv_data1 tv_data
  4536. long ll_handle
  4537. ll_handle = wf_tv_getCurrent()
  4538. ll_handle = wf_tv_getacount(ll_handle)
  4539. if ll_handle > 0 then
  4540. tv_data = wf_tv_getdata(ll_handle)
  4541. menustr = "Text=" + tv_data.b_string + "~tEvent=ue_sendcur"
  4542. menustr = menustr + "|" + "Text=-"
  4543. menustr = menustr + "|" + "Text=全部邮箱~tEvent=ue_sendall"
  4544. else
  4545. menustr = "Text=全部邮箱~tEvent=ue_sendall"
  4546. end if
  4547. IF len(Trim(menustr)) <> 0 THEN
  4548. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  4549. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  4550. dmPopupMenu.mf_PopMenu()
  4551. DESTROY dmPopupMenu
  4552. END IF
  4553. end event
  4554. type cb_write from uo_imflatbutton within w_email_view
  4555. integer x = 494
  4556. integer width = 165
  4557. integer height = 163
  4558. integer taborder = 20
  4559. boolean bringtotop = true
  4560. string text = "撰写"
  4561. string normalpicname = "email_view3.bmp"
  4562. integer picsize = 16
  4563. toolbaralignment pic_align = alignattop!
  4564. boolean border = false
  4565. end type
  4566. event clicked;call super::clicked;s_tv_data1 tv_data
  4567. Long curhandle
  4568. curhandle = wf_tv_getcurrent()
  4569. IF curhandle < 0 THEN
  4570. MessageBox('错误','请先选择邮箱',stopsign!,OK!)
  4571. RETURN
  4572. END IF
  4573. tv_data = wf_tv_getdata(curhandle)
  4574. IF tv_data.a_string = C_root THEN
  4575. MessageBox('错误','请先选择邮箱',stopsign!,OK!)
  4576. RETURN
  4577. ELSEIF tv_data.a_string = C_innerroot Or tv_data.a_string = C_innerrev Or tv_data.a_string = C_innersend THEN
  4578. Parent.TriggerEvent('ue_msg_send')
  4579. RETURN
  4580. ELSEIF tv_data.a_string = C_mailacount Or tv_data.a_string = C_mailbox THEN
  4581. Long ll_handle
  4582. ll_handle = wf_tv_getacount(curhandle)
  4583. IF ll_handle <= 0 THEN
  4584. MessageBox('错误','请先选择邮箱',stopsign!,OK!)
  4585. RETURN
  4586. END IF
  4587. tv_data = wf_tv_getdata(ll_handle)
  4588. s_email_set s_parm
  4589. s_parm.mailid = tv_data.relid
  4590. s_parm.mailuser = tv_data.c_string
  4591. s_parm.mailAddress = tv_data.d_string
  4592. OpenWithParm(w_email_send_new,s_parm)
  4593. ELSEIF tv_data.a_string = C_smsroot Or tv_data.a_string = C_smssend THEN
  4594. // DONE: 打开发送短信窗口
  4595. s_spring_send s_send
  4596. s_send.sendid = 0
  4597. s_send.sendflag = 2
  4598. s_send.empid = sys_empid
  4599. OpenWithParm(w_sms_send_new, s_send)
  4600. ELSEIF tv_data.a_string = C_leroot Or tv_data.a_string = C_lebox THEN
  4601. s_ljmail_msg_parm s_parm_set
  4602. s_parm_set.msgid = 0
  4603. s_parm_set.reltype = 0
  4604. s_parm_set.relid = 0
  4605. OpenWithParm(w_ljmail_msg_send, s_parm_set)
  4606. END IF
  4607. end event
  4608. type cb_back from uo_imflatbutton within w_email_view
  4609. integer x = 658
  4610. integer width = 165
  4611. integer height = 163
  4612. integer taborder = 30
  4613. boolean bringtotop = true
  4614. string text = "回复"
  4615. string normalpicname = "email_view4.bmp"
  4616. integer picsize = 16
  4617. toolbaralignment pic_align = alignattop!
  4618. boolean border = false
  4619. end type
  4620. event clicked;call super::clicked;// DONE: 回复
  4621. IF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
  4622. Parent.TriggerEvent('ue_msg_back')
  4623. ELSEIF dw_list.DataObject = 'dw_email_view_msg' THEN
  4624. Parent.TriggerEvent('ue_reply')
  4625. ELSEIF dw_list.DataObject = 'dw_sms_spring_send' THEN
  4626. // TODO: 回复
  4627. // s_spring_send s_send
  4628. // s_send.revphone =
  4629. ELSEIF dw_list.DataObject = 'dw_ljmail_msg' THEN
  4630. // TODO: 回复LE
  4631. IF dw_list.GetRow() > 0 THEN
  4632. s_ljmail_msg_parm s_msg_parm
  4633. s_msg_parm.msgid = 0
  4634. s_msg_parm.reltype = 0
  4635. s_msg_parm.relid = 0
  4636. s_msg_parm.s_msg.mx[1].ljmail = dw_list.Object.ljmail[dw_list.GetRow()]
  4637. OpenWithParm(w_ljmail_msg_send, s_msg_parm)
  4638. END IF
  4639. END IF
  4640. end event
  4641. type lv_fj from uo_email_lv within w_email_view
  4642. integer x = 863
  4643. integer y = 2042
  4644. integer width = 1306
  4645. integer height = 234
  4646. integer taborder = 40
  4647. boolean bringtotop = true
  4648. boolean extendedselect = true
  4649. boolean hideselection = false
  4650. string smallpicturename[] = {"p15drive_fdd.ico"}
  4651. end type
  4652. event doubleclicked;ListViewItem lvi
  4653. s_email_lvfj lvfj
  4654. Blob lb
  4655. String ls_msg
  4656. IF ins_index > 0 THEN
  4657. IF lv_fj.GetItem(ins_index, lvi) = 1 THEN
  4658. lvfj = lvi.Data
  4659. IF lvfj.FileType = C_Sys_admsg_fj THEN
  4660. IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  4661. MessageBox('错误', ls_msg, stopsign!)
  4662. RETURN
  4663. END IF
  4664. ELSEIF lvfj.FileType = C_u_email_fj THEN
  4665. IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  4666. MessageBox('错误', ls_msg, stopsign!)
  4667. RETURN
  4668. END IF
  4669. ELSE
  4670. RETURN
  4671. END IF
  4672. wf_blob_runfj(lb, lvfj.Filename)
  4673. END IF
  4674. END IF
  4675. //if cur_set.mailid > 0 then
  4676. // call super::doubleclicked
  4677. //else // 内部消息
  4678. //
  4679. // //附件下载并打开
  4680. // String lsNull
  4681. // setnull(lsNull)
  4682. // integer rslt = 1
  4683. // string errmsg, ls_pathname
  4684. // listviewitem l_lvi
  4685. // s_email_lvfj s_lvfj
  4686. // IF this.ins_index > 0 THEN
  4687. // THIS.GetItem( this.ins_index, l_lvi)
  4688. // s_lvfj = l_lvi.Data
  4689. // this.ins_cur_fjid = s_lvfj.fjid
  4690. // this.ins_cur_fjname = l_lvi.Label
  4691. // IF this.ins_cur_fjname = '' THEN GOTO ext
  4692. // ELSE
  4693. // GOTO ext
  4694. // END IF
  4695. // //下载附件并打开
  4696. // ls_pathname = sys_cur_path+this.fjfilepathname+'\'+this.ins_cur_fjname
  4697. // IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
  4698. // IF this.ins_cur_fjid > 0 THEN
  4699. // selectblob fileblob INTO :this.ls_filedata
  4700. // from Sys_admsg_fj
  4701. // where fjid = :this.ins_cur_fjid;
  4702. // if sqlca.sqlcode <> 0 then
  4703. // rslt = 0
  4704. // errmsg = '下载附件失败'
  4705. // goto ext
  4706. // end if
  4707. // ELSE
  4708. // this.ls_filedata = s_lvfj.fileblob
  4709. // END IF
  4710. //
  4711. // IF f_blobtofile(ls_pathname,this.ls_filedata,errmsg) = 0 THEN
  4712. // rslt = 0
  4713. // GOTO ext
  4714. // END IF
  4715. //
  4716. // //打开附件
  4717. // ShellExecute32( Handle(THIS), lsNull, ls_pathname, lsNull, lsNull, 1 )
  4718. //
  4719. // ext:
  4720. // IF rslt = 0 THEN
  4721. // MessageBox('系统提示',errmsg)
  4722. // END IF
  4723. //
  4724. //
  4725. //
  4726. //end if
  4727. end event
  4728. event ue_saveas;
  4729. ListViewItem lvi, selectedlvi[]
  4730. Long ll_cnt = 0, ll_i
  4731. s_email_lvfj lvfj
  4732. Blob lb
  4733. String ls_msg, ls_sum = ''
  4734. IF ins_index > 0 THEN
  4735. IF lv_fj.TotalSelected() = 1 THEN
  4736. IF lv_fj.GetItem(ins_index, lvi) = 1 THEN
  4737. lvfj = lvi.Data
  4738. IF lvfj.FileType = C_Sys_admsg_fj THEN
  4739. IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  4740. MessageBox('错误', ls_msg, stopsign!)
  4741. RETURN
  4742. END IF
  4743. ELSEIF lvfj.FileType = C_u_email_fj THEN
  4744. IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  4745. MessageBox('错误', ls_msg, stopsign!)
  4746. RETURN
  4747. END IF
  4748. ELSE
  4749. RETURN
  4750. END IF
  4751. wf_blob_saveas(lb, lvfj.Filename)
  4752. END IF
  4753. ELSE
  4754. // 多选
  4755. String ls_filepath
  4756. String ls_filename
  4757. IF GetFolder('选择保存路径', ls_filepath) <> 1 THEN RETURN
  4758. IF Mid(ls_filepath, Len(ls_filepath), 1) <> '\' THEN
  4759. ls_filepath += '\'
  4760. END IF
  4761. FOR ll_i = 1 To This.TotalItems()
  4762. IF This.GetItem(ll_i, lvi) = 1 THEN
  4763. IF lvi.Selected THEN
  4764. ll_cnt++
  4765. selectedlvi[ll_cnt] = lvi
  4766. END IF
  4767. END IF
  4768. NEXT
  4769. FOR ll_i = 1 To ll_cnt
  4770. lvfj = selectedlvi[ll_i].Data
  4771. IF lvfj.FileType = C_Sys_admsg_fj THEN
  4772. IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  4773. ls_sum = ls_sum + ls_msg + '~r~n'
  4774. CONTINUE
  4775. END IF
  4776. ELSEIF lvfj.FileType = C_u_email_fj THEN
  4777. IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  4778. ls_sum = ls_sum + ls_msg + '~r~n'
  4779. CONTINUE
  4780. END IF
  4781. ELSE
  4782. ls_sum = ls_sum + '未定义FileType:' + lvfj.FileType + '~r~n'
  4783. CONTINUE
  4784. END IF
  4785. ls_filename = ls_filepath + lvfj.Filename
  4786. IF FileExists(ls_filename) THEN
  4787. IF MessageBox('提问', lvfj.Filename + '已经存在是否覆盖?', Question!, YesNo!) <> 1 THEN
  4788. CONTINUE
  4789. END IF
  4790. END IF
  4791. IF f_blobtofile(ls_filename, lb, ls_msg) <> 1 THEN
  4792. ls_sum = ls_sum + ls_msg + '~r~n'
  4793. CONTINUE
  4794. END IF
  4795. NEXT
  4796. IF ls_sum <> '' THEN
  4797. MessageBox('错误', ls_sum)
  4798. ELSE
  4799. MessageBox('提示', '保存成功')
  4800. END IF
  4801. END IF
  4802. END IF
  4803. //if cur_set.mailid > 0 then
  4804. // call super::ue_saveas// tv_fj.ue_saveas
  4805. //else
  4806. //
  4807. // //附件另存为
  4808. // Integer i
  4809. // Long ls_i,ls_j,ls_newrow,ls_filesize
  4810. // String ls_Pathname,ls_filename
  4811. // String errmsg,arg_msg
  4812. // String ls_filetypename
  4813. // Long pos1,lrow,rslt
  4814. // String ls_para,ls_downarg[]
  4815. // ls_Pathname = this.ins_cur_fjname
  4816. //
  4817. // //*************************************************************
  4818. //
  4819. // pos1 = pos(this.ins_cur_fjname,'.',1)
  4820. // IF pos1 > 0 THEN
  4821. // ls_filetypename = Mid(this.ins_cur_fjname,pos1 + 1)
  4822. // i = GetFileSaveName("另存为",ls_Pathname,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename)
  4823. // ELSE
  4824. // ls_filetypename = ''
  4825. // i = GetFileSaveName("另存为",ls_Pathname,ls_filename,"*","*.*,*.*")
  4826. // END IF
  4827. //
  4828. // IF i = 1 AND Trim(ls_Pathname) <> '' THEN
  4829. // selectblob fileblob INTO :ls_filedata
  4830. // from Sys_admsg_fj
  4831. // where fjid = :this.ins_cur_fjid;
  4832. // if sqlca.sqlcode <> 0 then
  4833. // MessageBox('系统提示', '下载附件失败')
  4834. // return
  4835. // end if
  4836. //
  4837. // IF f_blobtofile(ls_Pathname,ls_filedata,errmsg) = 0 THEN
  4838. // MessageBox('系统提示',errmsg)
  4839. // RETURN
  4840. // ELSE
  4841. //
  4842. // MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+ls_Pathname)
  4843. // END IF
  4844. // END IF
  4845. //
  4846. //
  4847. //
  4848. //
  4849. //end if
  4850. end event
  4851. type dw_mail from u_dw_rbtnfilter within w_email_view
  4852. integer x = 2216
  4853. integer y = 1088
  4854. integer width = 1368
  4855. integer height = 595
  4856. integer taborder = 20
  4857. boolean bringtotop = true
  4858. boolean titlebar = true
  4859. string title = "往来邮件"
  4860. string dataobject = "dw_email_view_inout"
  4861. boolean maxbox = true
  4862. boolean hscrollbar = true
  4863. boolean vscrollbar = true
  4864. boolean resizable = true
  4865. boolean border = false
  4866. boolean hsplitscroll = true
  4867. boolean rbutton_filter_use = true
  4868. boolean rbutton_setposition_use = true
  4869. boolean titleclick_sort_use = true
  4870. string cur_allowversion = "0"
  4871. end type
  4872. event rowfocuschanged;call super::rowfocuschanged;IF currentrow = 0 THEN RETURN
  4873. THIS.SelectRow(0,FALSE)
  4874. THIS.SelectRow(currentrow,TRUE)
  4875. end event
  4876. event clicked;call super::clicked;THIS.SetRow(row)
  4877. end event
  4878. event doubleclicked;call super::doubleclicked;//IF dw_mail.GetRow() = 0 THEN RETURN
  4879. //
  4880. //Long i,ll_fjtype
  4881. //
  4882. //dw_mail.AcceptText()
  4883. //ll_fjtype = dw_mail.Object.fjtype[dw_mail.GetRow()]
  4884. //CHOOSE CASE ll_fjtype
  4885. // CASE 1
  4886. // s_edit_index_tran s_tran
  4887. // Long cur_revid[]
  4888. // s_tran.b_long = dw_mail.GetRow()
  4889. // s_tran.c_long = dw_mail.RowCount()
  4890. //
  4891. // FOR i = 1 TO dw_mail.RowCount()
  4892. // cur_revid[i] = dw_mail.Object.id[i]
  4893. // NEXT
  4894. // s_tran.arr_long = cur_revid
  4895. // OpenWithParm(w_email_rev,s_tran)
  4896. //
  4897. // CASE 0
  4898. // s_email_set s_parm
  4899. // s_parm = cur_set
  4900. // s_parm.sendid = dw_mail.Object.id[dw_mail.GetRow()]
  4901. //
  4902. // OpenWithParm(w_email_send_new,s_parm)
  4903. //
  4904. //END CHOOSE
  4905. //
  4906. //
  4907. //
  4908. //
  4909. end event
  4910. type dw_rep from u_dw_rbtnfilter within w_email_view
  4911. integer x = 2216
  4912. integer y = 179
  4913. integer width = 1368
  4914. integer height = 909
  4915. integer taborder = 30
  4916. boolean bringtotop = true
  4917. boolean titlebar = true
  4918. string title = "联系人"
  4919. string dataobject = "dw_email_view_send_rep"
  4920. boolean maxbox = true
  4921. boolean hscrollbar = true
  4922. boolean vscrollbar = true
  4923. boolean resizable = true
  4924. boolean border = false
  4925. boolean hsplitscroll = true
  4926. boolean rbutton_filter_use = true
  4927. boolean rbutton_setposition_use = true
  4928. boolean titleclick_sort_use = true
  4929. string cur_allowversion = "0"
  4930. end type
  4931. event rowfocuschanged;call super::rowfocuschanged;dw_mail.reset()
  4932. dw_fj.reset()
  4933. if isnull(currentrow) then return
  4934. IF currentrow <= 0 THEN RETURN
  4935. THIS.SelectRow(0,FALSE)
  4936. THIS.SelectRow(currentrow,TRUE)
  4937. String ls_address
  4938. ls_address = THIS.Object.revaddress[currentrow]
  4939. if dw_list.dataobject = 'dw_email_view_msg' and dw_list.getrow() > 0 then
  4940. dw_mail.SetRedraw (FALSE)
  4941. dw_mail.Retrieve(dw_list.object.mailid[dw_list.getrow()],ls_address)
  4942. dw_mail.SetRedraw (TRUE)
  4943. dw_fj.SetRedraw (FALSE)
  4944. dw_fj.Retrieve(dw_list.object.mailid[dw_list.getrow()],ls_address)
  4945. dw_fj.SetRedraw (TRUE)
  4946. end if
  4947. end event
  4948. event clicked;call super::clicked;THIS.SetRow(row)
  4949. end event
  4950. type dw_fj from u_dw_rbtnfilter within w_email_view
  4951. integer x = 2216
  4952. integer y = 1683
  4953. integer width = 1368
  4954. integer height = 589
  4955. integer taborder = 30
  4956. boolean bringtotop = true
  4957. boolean titlebar = true
  4958. string title = "往来附件"
  4959. string dataobject = "dw_email_view_fj"
  4960. boolean maxbox = true
  4961. boolean hscrollbar = true
  4962. boolean vscrollbar = true
  4963. boolean resizable = true
  4964. boolean border = false
  4965. boolean hsplitscroll = true
  4966. boolean rbutton_filter_use = true
  4967. boolean rbutton_setposition_use = true
  4968. boolean titleclick_sort_use = true
  4969. string cur_allowversion = "0"
  4970. end type
  4971. event clicked;call super::clicked;THIS.SetRow(row)
  4972. end event
  4973. event rowfocuschanged;call super::rowfocuschanged;IF currentrow = 0 THEN RETURN
  4974. THIS.SelectRow(0,FALSE)
  4975. THIS.SelectRow(currentrow,TRUE)
  4976. end event
  4977. event doubleclicked;call super::doubleclicked;parent.triggerevent('ue_open_fj')
  4978. end event
  4979. type cb_sendother from uo_imflatbutton within w_email_view
  4980. integer x = 823
  4981. integer width = 165
  4982. integer height = 163
  4983. integer taborder = 30
  4984. boolean bringtotop = true
  4985. string text = "转发"
  4986. string normalpicname = "email_view5.bmp"
  4987. integer picsize = 16
  4988. toolbaralignment pic_align = alignattop!
  4989. boolean border = false
  4990. end type
  4991. event clicked;call super::clicked;// DONE: 要将内部消息转发到email
  4992. parent.triggerevent('ue_sendother')
  4993. end event
  4994. type cb_del from uo_imflatbutton within w_email_view
  4995. integer x = 987
  4996. integer width = 165
  4997. integer height = 163
  4998. integer taborder = 40
  4999. boolean bringtotop = true
  5000. string text = "删除"
  5001. string normalpicname = "email_view6.bmp"
  5002. integer picsize = 16
  5003. toolbaralignment pic_align = alignattop!
  5004. boolean border = false
  5005. end type
  5006. event clicked;call super::clicked;String ls_msg
  5007. //messagebox('',string(dw_list.DataObject))
  5008. If (dw_list.DataObject = 'dw_email_view_msg' )And dw_list.GetRow() > 0 THEN
  5009. Parent.TriggerEvent('ue_del')
  5010. END IF
  5011. IF dw_list.DataObject = 'dw_sms_spring_send' And dw_list.GetRow() > 0 THEN
  5012. IF MessageBox ("询问","是否确定要永久删除选中短信吗",Question!,YesNo! ) = 2 THEN RETURN
  5013. uo_spring_send uo_spring
  5014. uo_spring = Create uo_spring_send
  5015. uo_spring.commit_transaction = Commit_Tran
  5016. IF uo_spring.uf_del(dw_list.Object.Sendid[dw_list.GetRow()], Ref ls_msg, True) <> 1 THEN
  5017. Destroy uo_spring
  5018. MessageBox('删除失败', ls_msg)
  5019. RETURN
  5020. END IF
  5021. Destroy uo_spring
  5022. wf_dw_retrieve_smssend()
  5023. END IF
  5024. Long ll_boxtype = 0
  5025. uo_ljmail_msg uo_ljmail
  5026. Long i
  5027. IF dw_list.DataObject = 'dw_ljmail_msg' And dw_list.GetRow() > 0 THEN
  5028. if not has_fj_tran then
  5029. MessageBox('提示','未设置邮件数据库!',information!,OK!)
  5030. RETURN
  5031. end if
  5032. uo_ljmail = Create uo_ljmail_msg
  5033. uo_ljmail.commit_transaction = fj_tran
  5034. ins_deletingrow = 1
  5035. dw_list.SetRedraw(False)
  5036. FOR i = dw_list.RowCount() To 1 Step -1
  5037. IF dw_list.IsSelected(i) THEN
  5038. IF ll_boxtype = 0 THEN
  5039. IF uo_ljmail.uf_get_boxtype(dw_list.Object.msgid[i], Ref ll_boxtype, ls_msg) = 0 THEN
  5040. MessageBox('错误', ls_msg, stopsign!)
  5041. GOTO ext
  5042. END IF
  5043. IF ll_boxtype = 4 THEN
  5044. IF MessageBox ("询问","是否确定要永久删除选中邮件吗",Question!,YesNo! ) = 2 THEN GOTO ext
  5045. ELSE
  5046. IF MessageBox ("询问","是否确定要把当前邮件放入废件吗",Question!,YesNo! ) = 2 THEN GOTO ext
  5047. END IF
  5048. END IF
  5049. IF uo_ljmail.uf_del(dw_list.Object.msgid[dw_list.GetRow()], Ref ls_msg) <> 1 THEN
  5050. MessageBox('错误', ls_msg, stopsign!)
  5051. GOTO ext
  5052. END IF
  5053. dw_list.DeleteRow(i)
  5054. END IF
  5055. NEXT
  5056. ext:
  5057. ins_deletingrow = 0
  5058. dw_list.SetRedraw(True)
  5059. dw_list.Trigger Event RowFocusChanged(dw_list.GetRow())
  5060. wf_tv_reflash(wf_tv_getcurrent())
  5061. Destroy uo_ljmail
  5062. END IF
  5063. end event
  5064. type cb_rep from uo_imflatbutton within w_email_view
  5065. integer x = 1152
  5066. integer width = 165
  5067. integer height = 163
  5068. integer taborder = 50
  5069. boolean bringtotop = true
  5070. string text = "账号"
  5071. string normalpicname = "email_view7.bmp"
  5072. integer picsize = 16
  5073. toolbaralignment pic_align = alignattop!
  5074. boolean border = false
  5075. end type
  5076. event clicked;call super::clicked;parent.triggerevent('ue_emailset')
  5077. end event
  5078. type cb_fresh from uo_imflatbutton within w_email_view
  5079. integer width = 165
  5080. integer height = 163
  5081. integer taborder = 20
  5082. boolean bringtotop = true
  5083. string text = "刷新"
  5084. string normalpicname = "refresh.BMP"
  5085. integer picsize = 16
  5086. toolbaralignment pic_align = alignattop!
  5087. boolean border = false
  5088. end type
  5089. event clicked;call super::clicked;// DONE: 刷新
  5090. wf_tv_retrieve()
  5091. tv_1.trigger event selectionchanged(-1, wf_tv_getcurrent())
  5092. long tvi_hdl = 0
  5093. DO UNTIL tv_1.FindItem(RootTreeItem!, 0) = -1
  5094. tv_1.DeleteItem(tvi_hdl)
  5095. LOOP
  5096. String ls_msg
  5097. Long a
  5098. long ll_tvi
  5099. a = wf_tv_build_tree(ls_msg)
  5100. //ll_tvi = tv_1.FindItem(RootTreeItem! ,0)
  5101. handle1_email=wf_findtreeitem(tv_1,false,tv_data_move.b_string)
  5102. tv_1.ExpandAll(handle1_email)
  5103. tv_1.SetRedraw(false)
  5104. tv_1.SelectItem(handle1_email)
  5105. tv_1.SetRedraw(True)
  5106. end event
  5107. type lb_1 from listbox within w_email_view
  5108. boolean visible = false
  5109. integer x = 1540
  5110. integer width = 549
  5111. integer height = 144
  5112. integer taborder = 20
  5113. boolean bringtotop = true
  5114. integer textsize = -12
  5115. integer weight = 400
  5116. fontcharset fontcharset = ansi!
  5117. fontpitch fontpitch = variable!
  5118. fontfamily fontfamily = swiss!
  5119. string facename = "Arial"
  5120. long textcolor = 33554432
  5121. borderstyle borderstyle = stylelowered!
  5122. end type
  5123. type cb_help from uo_imflatbutton within w_email_view
  5124. event ue_help ( )
  5125. integer x = 1488
  5126. integer width = 165
  5127. integer height = 163
  5128. integer taborder = 50
  5129. boolean bringtotop = true
  5130. string text = "帮助"
  5131. string normalpicname = "help.bmp"
  5132. integer picsize = 16
  5133. toolbaralignment pic_align = alignattop!
  5134. boolean border = false
  5135. end type
  5136. event ue_help();Int i
  5137. i = htmlhelpA(Handle(THIS), sys_help_chm, 0, "电子邮箱管理.html")
  5138. end event
  5139. event clicked;call super::clicked;PARENT.TriggerEvent('ue_help')
  5140. end event
  5141. type p_resize from picture within w_email_view
  5142. integer x = 2172
  5143. integer y = 1091
  5144. integer width = 48
  5145. integer height = 1184
  5146. boolean bringtotop = true
  5147. string picturename = "w_resize_2.bmp"
  5148. boolean focusrectangle = false
  5149. end type
  5150. event clicked;String ls_msg
  5151. IF THIS.PictureName = 'w_resize_2.bmp' THEN
  5152. THIS.PictureName = 'w_resize_1.bmp'
  5153. dw_mail.Visible = TRUE
  5154. dw_fj.Visible = TRUE
  5155. have_inout = TRUE
  5156. // wf_retreve_inout(cur_address)
  5157. ELSE
  5158. THIS.PictureName = 'w_resize_2.bmp'
  5159. dw_mail.Visible = FALSE
  5160. dw_fj.Visible = FALSE
  5161. have_inout = FALSE
  5162. END IF
  5163. parent.triggerevent('resize')
  5164. end event
  5165. type p_resize1 from picture within w_email_view
  5166. integer x = 2172
  5167. integer y = 179
  5168. integer width = 48
  5169. integer height = 912
  5170. boolean bringtotop = true
  5171. string picturename = "w_resize_2.bmp"
  5172. borderstyle borderstyle = stylelowered!
  5173. boolean focusrectangle = false
  5174. end type
  5175. event clicked;String ls_msg
  5176. IF THIS.PictureName = 'w_resize_2.bmp' THEN
  5177. THIS.PictureName = 'w_resize_1.bmp'
  5178. dw_rep.Visible = TRUE
  5179. have_rep = TRUE
  5180. ELSE
  5181. THIS.PictureName = 'w_resize_2.bmp'
  5182. dw_rep.Visible = false
  5183. have_rep = false
  5184. END IF
  5185. parent.TriggerEvent('resize')
  5186. end event
  5187. type ln_bar from line within w_email_view
  5188. long linecolor = 268435456
  5189. integer linethickness = 4
  5190. integer beginy = 173
  5191. integer endx = 3397
  5192. integer endy = 173
  5193. end type
  5194. type ln_bar2 from line within w_email_view
  5195. long linecolor = 16777215
  5196. integer linethickness = 4
  5197. integer beginy = 176
  5198. integer endx = 3277
  5199. integer endy = 176
  5200. end type
  5201. type r_bar from rectangle within w_email_view
  5202. long linecolor = 16777215
  5203. integer linethickness = 4
  5204. long fillcolor = 1073741824
  5205. integer x = 3141
  5206. integer y = 3
  5207. integer width = 88
  5208. integer height = 67
  5209. end type
  5210. event constructor;this.fillcolor = 14215660
  5211. this.linecolor = 14215660
  5212. this.x = -1
  5213. this.y = -1
  5214. this.height = ln_bar.beginy - 5
  5215. end event
  5216. type tv_1 from treeview within w_email_view
  5217. integer y = 179
  5218. integer width = 859
  5219. integer height = 2093
  5220. integer taborder = 40
  5221. integer textsize = -9
  5222. integer weight = 400
  5223. fontcharset fontcharset = gb2312charset!
  5224. fontpitch fontpitch = variable!
  5225. string facename = "宋体"
  5226. long textcolor = 33554432
  5227. long backcolor = 16777215
  5228. borderstyle borderstyle = stylelowered!
  5229. boolean editlabels = true
  5230. boolean hasbuttons = false
  5231. boolean haslines = false
  5232. boolean disabledragdrop = false
  5233. boolean hideselection = false
  5234. boolean tooltips = false
  5235. boolean trackselect = true
  5236. string picturename[] = {"email_all.bmp","email_one.bmp","email_rev.bmp","email_send.bmp","email_sent.bmp","email_dust.bmp","graphics\newsout.BMP","graphics\newsin.BMP","graphics\email_bak.bmp"}
  5237. long picturemaskcolor = 16777215
  5238. long statepicturemaskcolor = 536870912
  5239. end type
  5240. event selectionchanged;s_tv_data1 tv_data
  5241. String ls_msg
  5242. IF newhandle <= 0 THEN
  5243. // DONE:不显示列表与内容
  5244. wf_ui_reflash()
  5245. RETURN
  5246. END IF
  5247. tv_data = wf_tv_getdata(newhandle)
  5248. tv_data_move = tv_data
  5249. //handle1_email=newhandle
  5250. IF tv_data.a_string = C_innerrev THEN
  5251. // DONE: 内部消息收件箱
  5252. wf_dw_retrieve_innermsg_rev()
  5253. ELSEIF tv_data.a_string = C_innersend THEN
  5254. // DONE: 内部消息发件箱
  5255. wf_dw_retrieve_innermsg_send()
  5256. ELSEIF tv_data.a_string = C_mailbox THEN
  5257. // DONE: 邮箱
  5258. Long ll_mailid, ll_boxid
  5259. ll_mailid = tv_data.a_long
  5260. ll_boxid = tv_data.relid
  5261. wf_dw_retrieve_mailmsg(ll_mailid, ll_boxid, tv_data.b_string)
  5262. ELSEIF tv_data.a_string = C_smssend THEN
  5263. // DONE: 短信发件箱
  5264. wf_dw_retrieve_smssend()
  5265. ELSEIF tv_data.a_string = C_lebox THEN
  5266. wf_dw_retrieve_le(tv_data.relid)
  5267. ELSE
  5268. IF dw_list.DataObject <> '' THEN
  5269. dw_list.uf_save_profile_layout()
  5270. END IF
  5271. dw_list.DataObject = ''
  5272. END IF
  5273. //左边点选邮箱时应直接显示收件箱明细(荣)20130719 star
  5274. Long ls_mailid,ls_boxid
  5275. String ss_b_string
  5276. ss_b_string = "收件箱"
  5277. IF tv_data.a_string = "邮箱帐号" THEN
  5278. dw_list.Reset( )
  5279. ole_1.Object.document.body.innerhtml = ""
  5280. SELECT mailid Into :ls_mailid From u_email_set Where mailuser = :tv_data.c_string And mailAddress = :tv_data.d_string;
  5281. SELECT boxid Into :ls_boxid From u_email_box Where mailid = :ls_mailid And boxname = '收件箱' And isdefault = 1;
  5282. wf_dw_retrieve_mailmsg(ls_mailid, ls_boxid, ss_b_string)
  5283. END IF
  5284. //左边点选邮箱时应直接显示收件箱明细(荣)20130719 end
  5285. wf_ui_reflash()
  5286. //
  5287. //
  5288. //s_email_set s_tmp
  5289. //dw_list.Reset()
  5290. //cur_hand = THIS.FindItem(CurrentTreeItem!,0)
  5291. //
  5292. //IF THIS.GetItem(cur_hand,l_tvi) = 1 THEN
  5293. //
  5294. // IF FileExists(sys_cur_path + 'temp.html') THEN FileDelete(sys_cur_path + 'temp.html')
  5295. // if not isnull(ole_1.object.document.body) then
  5296. // ole_1.object.document.body.innerhtml = ''
  5297. // end if
  5298. // lv_fj.DeleteItems( )
  5299. //
  5300. // IF cur_hand = 1 THEN
  5301. // cur_set.mailid = 0
  5302. // ELSE
  5303. //// s_tmp = l_tvi.Data
  5304. // cur_set = l_tvi.Data
  5305. // if cur_set.mailid = -1 then
  5306. // parent.title = '电子邮箱管理' + ' - 内部消息'
  5307. // else
  5308. // parent.title = '电子邮箱管理' + ' - 当前邮箱:' + Trim(cur_set.mailuser) + '<' + Trim(cur_set.mailAddress) + '>'
  5309. // end if
  5310. // wf_retrieve()
  5311. // END IF
  5312. //
  5313. //END IF
  5314. //
  5315. //
  5316. //
  5317. end event
  5318. event rightclicked;IF Handle <= 0 THEN RETURN
  5319. String menustr = ''
  5320. tv_1.SelectItem(Handle)
  5321. s_tv_data1 tv_data
  5322. tv_data = wf_tv_getdata(Handle)
  5323. IF tv_data.a_string = C_innerrev THEN
  5324. ELSEIF tv_data.a_string = C_innersend THEN
  5325. ELSEIF tv_data.a_string = C_mailacount THEN
  5326. // 新建邮箱
  5327. // 接收当前
  5328. // 发送当前
  5329. // 修改
  5330. // 接收所有
  5331. // 发送所有
  5332. menustr = "Text=新建子目录1~tEvent=ue_newbox"
  5333. menustr = menustr+"|"+"Text=接收当前~tEvent=ue_revcur"
  5334. menustr = menustr+"|"+"Text=发送当前~tEvent=ue_sendcur"
  5335. menustr = menustr+"|"+"Text=-"
  5336. menustr = menustr+"|"+"Text=接收全部~tEvent=ue_revall"
  5337. menustr = menustr+"|"+"Text=发送全部~tEvent=ue_sendall"
  5338. menustr = menustr+"|"+"Text=-"
  5339. menustr = menustr+"|"+"Text=属性~tEvent=ue_emailset_property"
  5340. ELSEIF tv_data.a_string = C_mailbox THEN
  5341. // 新建邮箱
  5342. // 导入邮件
  5343. // 导出邮件
  5344. // 重命名
  5345. // 删除
  5346. Long ll_parentid,ll_old
  5347. String ls_str,ls_parent
  5348. SELECT boxtype,parentid Into :ls_str,:ll_parentid From u_email_box Where boxid = :tv_data.relid;
  5349. SELECT boxtype,parentid Into :ls_parent ,:ll_old From u_email_box Where boxid = :ll_parentid;
  5350. DO WHILE ls_parent = "新邮箱"
  5351. ll_parentid = ll_old
  5352. SELECT boxtype,parentid Into :ls_parent ,:ll_old From u_email_box Where boxid = :ll_parentid;
  5353. LOOP
  5354. menustr = "Text=新建子目录2~tEvent=ue_newbox"
  5355. menustr = menustr+"|"+"Text=导入邮件~tEvent=ue_import_eml"
  5356. IF ls_str = "新邮箱" And ls_parent = "收件箱" THEN
  5357. menustr = menustr+"|"+"Text=从收件箱移入\移出邮件~tEvent=ue_move_eml"
  5358. END IF
  5359. // IF ls_str = "新邮箱" And ls_parent = "发件箱" THEN
  5360. // menustr = menustr+"|"+"Text=从发件箱移入邮件~tEvent=ue_import_eml"
  5361. // END IF
  5362. // IF ls_str = "新邮箱" And ls_parent = "已发件箱" THEN
  5363. // menustr = menustr+"|"+"Text=从发件箱移入邮件~tEvent=ue_import_eml"
  5364. // END IF
  5365. IF tv_data.b_long <> 1 THEN
  5366. menustr = menustr+"|"+"Text=重命名~tEvent=ue_renamebox"
  5367. menustr = menustr+"|"+"Text=删除~tEvent=ue_delbox"
  5368. END IF
  5369. ELSEIF tv_data.a_string = C_leroot THEN
  5370. menustr = "Text=接收供应链邮件~tEvent=ue_revlemsg"
  5371. menustr += "|Text=新建子目录3~tEvent=ue_newlebox"
  5372. ELSEIF tv_data.a_string = C_lebox THEN
  5373. menustr = "Text=新建子目录4~tEvent=ue_newlebox"
  5374. END IF
  5375. IF menustr <> '' THEN
  5376. m_Dfc_Control_PopupMenu dmPopupMenu
  5377. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  5378. dmPopupMenu.mf_BuildMenu(This, menustr)
  5379. dmPopupMenu.mf_PopMenu()
  5380. Destroy dmPopupMenu
  5381. END IF
  5382. //
  5383. //s_email_set s_tmp
  5384. //dw_list.Reset()
  5385. //cur_hand = handle
  5386. //
  5387. //IF THIS.GetItem(cur_hand,l_tvi) = 1 THEN
  5388. //
  5389. // IF FileExists(sys_cur_path + 'temp.html') THEN FileDelete(sys_cur_path + 'temp.html')
  5390. // if not isnull(ole_1.object.document.body) then
  5391. // ole_1.object.document.body.innerhtml = ''
  5392. // end if
  5393. // lv_fj.DeleteItems( )
  5394. //
  5395. // IF cur_hand = 1 THEN
  5396. // cur_set.mailid = 0
  5397. // ELSE
  5398. //// s_tmp = l_tvi.Data
  5399. // cur_set = l_tvi.Data
  5400. // if cur_set.mailid = -1 then
  5401. // parent.title = '电子邮箱管理' + ' - 内部消息'
  5402. // else
  5403. // parent.title = '电子邮箱管理' + ' - 当前邮箱:' + Trim(cur_set.mailuser) + '<' + Trim(cur_set.mailAddress) + '>'
  5404. // end if
  5405. // wf_retrieve()
  5406. // END IF
  5407. //
  5408. // if cur_set.mailid > 0 then
  5409. // m_Dfc_Control_PopupMenu dmPopupMenu
  5410. // String menustr
  5411. // menustr = "Text=接收当前~tEvent=ue_revcur"
  5412. // menustr = menustr+"|"+"Text=发送当前~tEvent=ue_sendcur"
  5413. // menustr = menustr+"|"+"Text=-"
  5414. // menustr = menustr+"|"+"Text=接收全部~tEvent=ue_revall"
  5415. // menustr = menustr+"|"+"Text=发送全部~tEvent=ue_sendall"
  5416. // menustr = menustr+"|"+"Text=-"
  5417. // menustr = menustr+"|"+"Text=导入~tEvent=ue_import_eml"
  5418. // menustr = menustr+"|"+"Text=属性~tEvent=ue_emailset_property"
  5419. // dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  5420. // dmPopupMenu.mf_BuildMenu(THIS, menustr)
  5421. // dmPopupMenu.mf_PopMenu()
  5422. // DESTROY dmPopupMenu
  5423. // end if
  5424. //END IF
  5425. //
  5426. //m_email_view om_1
  5427. //om_1 = CREATE m_email_view
  5428. //om_1.anyobject = parent
  5429. //om_1.popupmenu(THIS.X+THIS.PointerX(),THIS.Y+THIS.PointerY())
  5430. //
  5431. //DESTROY om_1
  5432. end event
  5433. event beginlabeledit;IF Handle <= 0 THEN RETURN
  5434. s_tv_data1 tv_data
  5435. tv_data = wf_tv_getdata(Handle)
  5436. IF tv_data.a_string = C_mailbox THEN
  5437. IF tv_data.b_long = 1 THEN RETURN 1
  5438. wf_tv_settext(Handle, tv_data.b_string)
  5439. ELSEIF tv_data.a_string = C_lebox THEN
  5440. IF tv_data.a_long <> 5 THEN RETURN 1
  5441. ELSE
  5442. RETURN 1
  5443. END IF
  5444. end event
  5445. event endlabeledit;s_tv_data1 tv_data
  5446. tv_data = wf_tv_getdata(Handle)
  5447. String ls_msg
  5448. IF IsNull(newtext) THEN RETURN 1
  5449. IF tv_data.a_string = C_mailbox THEN
  5450. IF tv_data.a_string <> C_mailbox THEN RETURN 1
  5451. IF tv_data.b_long = 1 THEN RETURN 1
  5452. uo_email_box box
  5453. box = Create uo_email_box
  5454. box.commit_tran = commit_tran
  5455. box.fj_tran = fj_tran
  5456. IF box.uf_rename(tv_data.relid, newtext, ls_msg) = 1 THEN
  5457. tv_data.b_string = box.boxname
  5458. wf_tv_setdata(Handle, tv_data)
  5459. Long Unread
  5460. Unread = wf_box_getunread(box.boxid)
  5461. Long totle
  5462. totle = wf_box_gettotle(box.boxid)
  5463. String Label
  5464. Label = Trim(box.boxname) + '(' + String(Unread) + '/' + String(totle) + ')'
  5465. wf_tv_settext(Handle, Label)
  5466. ELSE
  5467. MessageBox('重命令失败', ls_msg, stopsign!)
  5468. Destroy box
  5469. RETURN 1
  5470. END IF
  5471. Destroy box
  5472. ELSEIF tv_data.a_string = C_lebox THEN
  5473. uo_ljmail_box uo_box
  5474. uo_box = Create uo_ljmail_box
  5475. IF uo_box.uf_rename(tv_data.relid, newtext, ls_msg) <> 1 THEN
  5476. MessageBox('重命令失败', ls_msg, stopsign!)
  5477. Destroy uo_box
  5478. RETURN 1
  5479. ELSE
  5480. tv_data.b_string = newtext
  5481. wf_tv_setdata(Handle, tv_data)
  5482. wf_tv_settext(Handle, newtext)
  5483. END IF
  5484. Destroy uo_box
  5485. END IF
  5486. end event
  5487. event dragdrop;IF Source = dw_list THEN
  5488. s_tv_data1 tv_data
  5489. tv_data = wf_tv_getdata(Handle)
  5490. IF tv_data.a_string = C_mailbox THEN
  5491. // TODO: 电子邮件拖放
  5492. IF dw_list.DataObject <> 'dw_email_view_msg' THEN GOTO ext
  5493. Long i
  5494. String ls_msg
  5495. dw_list.SetRedraw(False)
  5496. FOR i = dw_list.RowCount() To 1 Step -1
  5497. IF dw_list.IsSelected(i) THEN
  5498. IF dw_list.Object.boxid[i] = tv_data.relid THEN
  5499. dw_list.SetRedraw(True)
  5500. GOTO ext
  5501. END IF
  5502. IF mail.wf_ds_move_msg_box(dw_list.Object.id[i], tv_data.relid, ls_msg) = 1 THEN
  5503. ins_deletingrow = 1
  5504. dw_list.DeleteRow(i)
  5505. ins_deletingrow = 0
  5506. END IF
  5507. END IF
  5508. NEXT
  5509. dw_list.Trigger Event RowFocusChanged(dw_list.GetRow())
  5510. dw_list.SetRedraw(True)
  5511. wf_tv_reflash(wf_tv_getcurrent())
  5512. wf_tv_reflash(Handle)
  5513. ELSEIF tv_data.a_string = C_lebox THEN
  5514. // TODO: 龙嘉邮件拖放
  5515. ELSE
  5516. GOTO ext
  5517. END IF
  5518. END IF
  5519. ext:
  5520. SetDropHighlight(0)
  5521. end event
  5522. event dragwithin;// dragwithin
  5523. SetDropHighlight(0)
  5524. s_tv_data1 tv_data
  5525. tv_data = wf_tv_getdata(handle)
  5526. if tv_data.a_string = C_mailbox then
  5527. SetDropHighlight(handle)
  5528. end if
  5529. end event
  5530. type sp_v1 from u_lbs_stsplitbar within w_email_view
  5531. integer x = 856
  5532. integer y = 186
  5533. integer width = 7
  5534. integer height = 2093
  5535. boolean bringtotop = true
  5536. long backcolor = 16777215
  5537. integer ii_minobjectsize = 600
  5538. end type
  5539. type sp_h1 from u_lbs_stsplitbar within w_email_view
  5540. integer x = 863
  5541. integer y = 1085
  5542. integer width = 2710
  5543. integer height = 13
  5544. boolean bringtotop = true
  5545. long backcolor = 16777215
  5546. integer ii_style = 2
  5547. integer ii_minobjectsize = 600
  5548. end type
  5549. type ole_1 from olecustomcontrol within w_email_view
  5550. event statustextchange ( string text )
  5551. event progresschange ( long progress, long progressmax )
  5552. event commandstatechange ( long command, boolean enable )
  5553. event downloadbegin ( )
  5554. event downloadcomplete ( )
  5555. event titlechange ( string text )
  5556. event propertychange ( string szproperty )
  5557. event beforenavigate2 ( oleobject pdisp, any url, any flags, any targetframename, any postdata, any headers, ref boolean cancel1 )
  5558. event newwindow2 ( ref oleobject ppdisp, ref boolean cancel1 )
  5559. event navigatecomplete2 ( oleobject pdisp, any url )
  5560. event documentcomplete ( oleobject pdisp, any url )
  5561. event onquit ( )
  5562. event onvisible ( boolean ocx_visible )
  5563. event ontoolbar ( boolean toolbar )
  5564. event onmenubar ( boolean menubar )
  5565. event onstatusbar ( boolean statusbar )
  5566. event onfullscreen ( boolean fullscreen )
  5567. event ontheatermode ( boolean theatermode )
  5568. event windowsetresizable ( boolean resizable1 )
  5569. event windowsetleft ( long left )
  5570. event windowsettop ( long top )
  5571. event windowsetwidth ( long ocx_width )
  5572. event windowsetheight ( long ocx_height )
  5573. event windowclosing ( boolean ischildwindow, ref boolean cancel1 )
  5574. event clienttohostwindow ( ref long cx, ref long cy )
  5575. event setsecurelockicon ( long securelockicon )
  5576. event filedownload ( ref boolean cancel1 )
  5577. event navigateerror ( oleobject pdisp, any url, any frame, any statuscode, ref boolean cancel1 )
  5578. event printtemplateinstantiation ( oleobject pdisp )
  5579. event printtemplateteardown ( oleobject pdisp )
  5580. event updatepagestatus ( oleobject pdisp, any npage, any fdone )
  5581. event privacyimpactedstatechange ( boolean bimpacted )
  5582. integer x = 863
  5583. integer y = 1088
  5584. integer width = 1306
  5585. integer height = 947
  5586. integer taborder = 30
  5587. boolean bringtotop = true
  5588. borderstyle borderstyle = stylelowered!
  5589. boolean focusrectangle = false
  5590. string binarykey = "w_email_view.win"
  5591. integer textsize = -12
  5592. integer weight = 400
  5593. fontcharset fontcharset = ansi!
  5594. fontpitch fontpitch = variable!
  5595. fontfamily fontfamily = swiss!
  5596. string facename = "Arial"
  5597. long textcolor = 33554432
  5598. end type
  5599. event constructor;ole_1.object.navigate('about:blank')
  5600. end event
  5601. type st_3 from statictext within w_email_view
  5602. boolean visible = false
  5603. integer x = 1861
  5604. integer y = 96
  5605. integer width = 201
  5606. integer height = 61
  5607. boolean bringtotop = true
  5608. integer textsize = -9
  5609. integer weight = 400
  5610. fontcharset fontcharset = gb2312charset!
  5611. fontpitch fontpitch = variable!
  5612. string facename = "宋体"
  5613. long textcolor = 33554432
  5614. long backcolor = 134217739
  5615. boolean enabled = false
  5616. string text = "日期从:"
  5617. alignment alignment = right!
  5618. boolean focusrectangle = false
  5619. end type
  5620. event constructor;this.backcolor = 14215660
  5621. end event
  5622. type em_1 from editmask within w_email_view
  5623. boolean visible = false
  5624. integer x = 2063
  5625. integer y = 77
  5626. integer width = 384
  5627. integer height = 90
  5628. integer taborder = 120
  5629. boolean bringtotop = true
  5630. integer textsize = -9
  5631. integer weight = 400
  5632. fontcharset fontcharset = gb2312charset!
  5633. fontpitch fontpitch = variable!
  5634. string facename = "宋体"
  5635. long textcolor = 33554432
  5636. borderstyle borderstyle = stylelowered!
  5637. maskdatatype maskdatatype = datemask!
  5638. string mask = "yyyy-mm-dd"
  5639. boolean spin = true
  5640. end type
  5641. event rbuttondown;s_calender_arg s_calender
  5642. s_calender.PointerX = THIS.PointerX()
  5643. s_calender.PointerY = THIS.PointerY()
  5644. s_calender.X = THIS.X
  5645. s_calender.Y = THIS.Y
  5646. OpenWithParm(w_calendar,s_calender)
  5647. THIS.Text = String(id_date_selected)
  5648. end event
  5649. type pb_em1 from picturebutton within w_email_view
  5650. boolean visible = false
  5651. integer x = 2447
  5652. integer y = 74
  5653. integer width = 102
  5654. integer height = 93
  5655. integer taborder = 30
  5656. boolean bringtotop = true
  5657. integer textsize = -9
  5658. integer weight = 400
  5659. fontcharset fontcharset = gb2312charset!
  5660. fontpitch fontpitch = variable!
  5661. string facename = "宋体"
  5662. string picturename = "date.BMP"
  5663. alignment htextalign = left!
  5664. end type
  5665. event clicked;em_1.triggerevent(rbuttondown!)
  5666. end event
  5667. type st_4 from statictext within w_email_view
  5668. boolean visible = false
  5669. integer x = 2542
  5670. integer y = 96
  5671. integer width = 106
  5672. integer height = 61
  5673. boolean bringtotop = true
  5674. integer textsize = -9
  5675. integer weight = 400
  5676. fontcharset fontcharset = gb2312charset!
  5677. fontpitch fontpitch = variable!
  5678. string facename = "宋体"
  5679. long textcolor = 33554432
  5680. long backcolor = 134217739
  5681. boolean enabled = false
  5682. string text = "到:"
  5683. alignment alignment = right!
  5684. boolean focusrectangle = false
  5685. end type
  5686. event constructor;this.backcolor = 14215660
  5687. end event
  5688. type em_2 from editmask within w_email_view
  5689. boolean visible = false
  5690. integer x = 2648
  5691. integer y = 77
  5692. integer width = 384
  5693. integer height = 90
  5694. integer taborder = 130
  5695. boolean bringtotop = true
  5696. integer textsize = -9
  5697. integer weight = 400
  5698. fontcharset fontcharset = gb2312charset!
  5699. fontpitch fontpitch = variable!
  5700. string facename = "宋体"
  5701. long textcolor = 33554432
  5702. borderstyle borderstyle = stylelowered!
  5703. maskdatatype maskdatatype = datemask!
  5704. string mask = "yyyy-mm-dd"
  5705. boolean spin = true
  5706. end type
  5707. event rbuttondown;s_calender_arg s_calender
  5708. s_calender.PointerX = THIS.PointerX()
  5709. s_calender.PointerY = THIS.PointerY()
  5710. s_calender.X = THIS.X
  5711. s_calender.Y = THIS.Y
  5712. OpenWithParm(w_calendar,s_calender)
  5713. THIS.Text = String(id_date_selected)
  5714. end event
  5715. type pb_em2 from picturebutton within w_email_view
  5716. boolean visible = false
  5717. integer x = 3032
  5718. integer y = 74
  5719. integer width = 102
  5720. integer height = 93
  5721. integer taborder = 60
  5722. boolean bringtotop = true
  5723. integer textsize = -9
  5724. integer weight = 400
  5725. fontcharset fontcharset = gb2312charset!
  5726. fontpitch fontpitch = variable!
  5727. string facename = "宋体"
  5728. string picturename = "date.BMP"
  5729. alignment htextalign = left!
  5730. end type
  5731. event clicked;em_2.triggerevent(rbuttondown!)
  5732. end event
  5733. type pb_2 from picturebutton within w_email_view
  5734. boolean visible = false
  5735. integer x = 3131
  5736. integer y = 74
  5737. integer width = 102
  5738. integer height = 93
  5739. integer taborder = 60
  5740. boolean bringtotop = true
  5741. integer textsize = -9
  5742. integer weight = 400
  5743. fontcharset fontcharset = gb2312charset!
  5744. fontpitch fontpitch = variable!
  5745. string facename = "宋体"
  5746. string picturename = "date1.BMP"
  5747. alignment htextalign = left!
  5748. end type
  5749. event clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  5750. string menustr
  5751. menustr="Text=本日~tEvent=ue_date1"
  5752. menustr = menustr + "|" + "Text=本周~tEvent=ue_date2"
  5753. menustr = menustr + "|" + "Text=本月~tEvent=ue_date3"
  5754. if len(trim(menustr))<>0 then
  5755. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  5756. dmPopupMenu.mf_BuildMenu(This, menustr)
  5757. dmPopupMenu.mf_PopMenu()
  5758. Destroy dmPopupMenu
  5759. end if
  5760. end event
  5761. type p_1 from picture within w_email_view
  5762. boolean visible = false
  5763. integer x = 3255
  5764. integer y = 83
  5765. integer width = 73
  5766. integer height = 64
  5767. boolean bringtotop = true
  5768. string pointer = "HyperLink!"
  5769. string picturename = "graphics\refresh.BMP"
  5770. boolean focusrectangle = false
  5771. end type
  5772. event clicked;st_refresh.triggerevent(clicked!)
  5773. end event
  5774. type st_refresh from statictext within w_email_view
  5775. boolean visible = false
  5776. integer x = 3328
  5777. integer y = 93
  5778. integer width = 135
  5779. integer height = 48
  5780. boolean bringtotop = true
  5781. integer textsize = -9
  5782. integer weight = 400
  5783. fontcharset fontcharset = gb2312charset!
  5784. fontpitch fontpitch = variable!
  5785. string facename = "宋体"
  5786. string pointer = "HyperLink!"
  5787. long textcolor = 33554432
  5788. long backcolor = 134217739
  5789. string text = "刷新"
  5790. boolean focusrectangle = false
  5791. end type
  5792. event clicked;wf_retrieve()
  5793. end event
  5794. event constructor;this.backcolor = 14215660
  5795. end event
  5796. type dw_user from u_dw_rbtnfilter within w_email_view
  5797. integer x = 1543
  5798. integer y = 186
  5799. integer width = 618
  5800. integer height = 906
  5801. integer taborder = 20
  5802. boolean bringtotop = true
  5803. string title = "确认列表"
  5804. string dataobject = "dw_objdpm_user_cmmt_copy"
  5805. boolean hscrollbar = true
  5806. boolean vscrollbar = true
  5807. boolean livescroll = false
  5808. boolean rbutton_filter_use = true
  5809. boolean rbutton_setposition_use = true
  5810. boolean titleclick_sort_use = true
  5811. string cur_allowversion = "0"
  5812. end type
  5813. type dw_list from u_dw_rbtnfilter within w_email_view
  5814. event mousemove pbm_mousemove
  5815. event lbuttondown pbm_lbuttondown
  5816. event lbuttonup pbm_lbuttonup
  5817. integer x = 863
  5818. integer y = 186
  5819. integer width = 680
  5820. integer height = 899
  5821. integer taborder = 20
  5822. string dragicon = "graphics\Shell32 025.ico"
  5823. boolean bringtotop = true
  5824. string dataobject = "dw_email_view_msg"
  5825. boolean hscrollbar = true
  5826. boolean vscrollbar = true
  5827. boolean rbutton_filter_use = true
  5828. boolean rbutton_setposition_use = true
  5829. boolean titleclick_sort_use = true
  5830. string cur_allowversion = "0"
  5831. end type
  5832. event mousemove;if dw_list.dataobject <> 'dw_email_view_msg' then return
  5833. if keydown(keyleftbutton!) then
  5834. long i
  5835. for i = 1 to dw_list.RowCount()
  5836. if dw_list.IsSelected(i) then
  5837. if ins_candrag then
  5838. dw_list.Drag(begin!)
  5839. ins_candrag = false
  5840. return
  5841. end if
  5842. end if
  5843. next
  5844. end if
  5845. end event
  5846. event lbuttondown;SetCapture(handle(this))
  5847. end event
  5848. event lbuttonup;ins_candrag = false
  5849. ReleaseCapture()
  5850. end event
  5851. event rowfocuschanged;call super::rowfocuschanged;// 界面
  5852. //messagebox('rowfoucuschanged',string(this.dataobject))
  5853. IF ins_deletingrow = 1 THEN RETURN
  5854. currentrow = this.getrow()
  5855. IF Not KeyDown(keycontrol!) THEN
  5856. wf_ui_unselectall()
  5857. This.SelectRow(0, False)
  5858. IF currentrow > 0 THEN
  5859. This.SelectRow(currentrow, True)
  5860. wf_read_row(currentrow)
  5861. wf_tv_reflash(wf_tv_getcurrent())
  5862. END IF
  5863. END IF
  5864. Long ll_id
  5865. String ls_msg
  5866. s_email_lvfj s_lvfj[]
  5867. // DONE: 刷新文本与关联datawindow, 刷新UI
  5868. String ls_text = '' // 最终在浏览器显示
  5869. dw_user.Reset()
  5870. dw_rep.Reset()
  5871. dw_fj.Reset()
  5872. dw_mail.Reset()
  5873. lv_fj.DeleteItems()
  5874. have_user = False
  5875. have_fj = False
  5876. IF IsNull(currentrow) Or currentrow <= 0 THEN
  5877. GOTO ext
  5878. END IF
  5879. IF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN // 内部消息收
  5880. ll_id = dw_list.Object.sys_admsgmx_msgid[currentrow]
  5881. IF wf_admsg_gethtml(ll_id, ls_text, ls_msg) <> 1 THEN
  5882. MessageBox('错误', ls_msg, stopsign!)
  5883. GOTO ext
  5884. END IF
  5885. have_rep = False
  5886. have_inout = False
  5887. // 刷新附件
  5888. wf_admsg_getfj(ll_id, s_lvfj, ls_msg)
  5889. ELSEIF dw_list.DataObject = 'dw_hismsg_copy' THEN // 内部消息发
  5890. ll_id = dw_list.Object.msgid[currentrow]
  5891. IF wf_admsg_gethtml(ll_id, ls_text, ls_msg) <> 1 THEN
  5892. MessageBox('错误', ls_msg, stopsign!)
  5893. GOTO ext
  5894. END IF
  5895. have_rep = False
  5896. have_inout = False
  5897. have_user = True
  5898. dw_user.Retrieve(ll_id)
  5899. // 刷新附件
  5900. wf_admsg_getfj(ll_id, s_lvfj, ls_msg)
  5901. ELSEIF dw_list.DataObject = 'dw_email_view_msg' Or dw_list.DataObject = 'dw_email_view_msg_rev'THEN
  5902. ll_id = dw_list.Object.id[currentrow]
  5903. IF wf_mail_gethtml(ll_id, ls_text, ls_msg) <> 1 THEN
  5904. MessageBox('错误', ls_msg, stopsign!)
  5905. GOTO ext
  5906. END IF
  5907. // 刷新附件
  5908. wf_mail_getfj(ll_id, s_lvfj, ls_msg)
  5909. // rep
  5910. dw_rep.Retrieve(ll_id)
  5911. // mail
  5912. // fj
  5913. lss_subject=""
  5914. lss_sendman=""
  5915. lss_senddate=""
  5916. lss_subject=dw_list.Object.subject[currentrow]
  5917. lss_sendman=dw_list.Object.sendman[currentrow]
  5918. lss_senddate=string(dw_list.Object.revdate[currentrow])
  5919. lss_revdate=string(dw_list.Object.u_email_msg_senddate[currentrow])
  5920. ELSEIF dw_list.DataObject = 'dw_sms_spring_send' THEN
  5921. ll_id = dw_list.Object.sendid[currentrow]
  5922. SELECT msg
  5923. INTO :ls_text
  5924. FROM u_spring_send
  5925. Where sendid = :ll_id;
  5926. IF sqlca.SQLCode <> 0 THEN
  5927. MessageBox('错误', '查询短信内容失败,' + sqlca.SQLErrText, stopsign!)
  5928. GOTO ext
  5929. END IF
  5930. have_user = True
  5931. wf_dw_retrieve_smssendmx()
  5932. ELSEIF dw_list.DataObject = 'dw_ljmail_msg' THEN
  5933. IF Not has_fj_tran THEN
  5934. MessageBox('提示','未设置邮件数据库!',information!,OK!)
  5935. RETURN
  5936. END IF
  5937. uo_ljmail_msg uo_ljmail
  5938. uo_ljmail = Create uo_ljmail_msg
  5939. uo_ljmail.commit_transaction = fj_tran
  5940. IF uo_ljmail.uf_get_html(dw_list.Object.msgid[currentrow], ls_text, ls_msg) <> 1 THEN
  5941. MessageBox('错误', ls_msg, stopsign!)
  5942. END IF
  5943. Destroy uo_ljmail
  5944. ELSE
  5945. GOTO ext
  5946. END IF
  5947. // 根据所选设置 have_user, have_fj
  5948. ext:
  5949. ListViewItem lvi
  5950. Long i
  5951. FOR i = 1 To UpperBound(s_lvfj)
  5952. lvi.Label = s_lvfj[i].Filename
  5953. lvi.PictureIndex = 1
  5954. lvi.Data = s_lvfj[i]
  5955. lv_fj.AddItem(lvi)
  5956. have_fj = True
  5957. NEXT
  5958. wf_html_set(ls_text)
  5959. Parent.TriggerEvent('resize')
  5960. //dw_rep.Reset()
  5961. //dw_mail.Reset()
  5962. //dw_fj.Reset()
  5963. ////tab_1.tabpage_1.mle_text.Text = ''
  5964. ////tab_1.tabpage_2.ole_html.Object.navigate('about:blank')
  5965. //lv_fj.DeleteItems( )
  5966. //ole_1.object.navigate('about:blank')
  5967. //dw_user.reset()
  5968. //have_user = false
  5969. //
  5970. //IF currentrow = 0 THEN RETURN
  5971. //THIS.SelectRow(0,FALSE)
  5972. //THIS.SelectRow(currentrow,TRUE)
  5973. //if dw_list.dataobject = 'dw_email_view_rev' then
  5974. // if dw_list.object.mailtype[currentrow] = 0 then
  5975. // dw_list.object.filename[currentrow] = 'graphics\unread_select.bmp'
  5976. // else
  5977. // dw_list.object.filename[currentrow] = 'graphics\read_select.bmp'
  5978. // end if
  5979. // dw_list.accepttext()
  5980. //end if
  5981. //
  5982. //Long ll_id,ll_fjtype
  5983. //String ls_msg ,ls_address
  5984. //IF dw_list.GetRow() = 0 THEN RETURN
  5985. //
  5986. //// 内部消息
  5987. //if cur_set.mailid = -1 then
  5988. //
  5989. //
  5990. // s_email_lvfj s_lvfj
  5991. // listviewitem l_lvi
  5992. // long count = 1, ll_size
  5993. // have_fj = false
  5994. // if cur_set.viewtype = 1 then
  5995. // ll_id = dw_list.object.sys_admsgmx_msgid[dw_list.getrow()]
  5996. // elseif cur_set.viewtype = 2 then
  5997. // ll_id = dw_list.object.msgid[dw_list.getrow()]
  5998. // else
  5999. // parent.triggerevent('resize')
  6000. // return
  6001. // end if
  6002. // // 正文
  6003. // IF FileExists(Pathname) THEN FileDelete(Pathname)
  6004. // select datalength(s_msg) INTO :ll_size
  6005. // from Sys_admsg
  6006. // where msgid = :ll_id;
  6007. // if sqlca.sqlcode <> 0 then
  6008. // MessageBox('错误', '查询正文长度失败')
  6009. // return
  6010. // end if
  6011. //
  6012. // blob lb_text
  6013. // if ll_size > 2048 then
  6014. // selectblob s_msg INTO :lb_text
  6015. // from Sys_admsg
  6016. // where msgid = :ll_id;
  6017. // if sqlca.sqlcode <> 0 then
  6018. // MessageBox('错误', '下载正文数据失败')
  6019. // return
  6020. // end if
  6021. // else
  6022. // string ls_text
  6023. // select s_msg INTO :ls_text
  6024. // from Sys_admsg
  6025. // where msgid = :ll_id;
  6026. // if sqlca.sqlcode <> 0 then
  6027. // MessageBox('错误', '下载正文失败')
  6028. // return
  6029. // end if
  6030. // lb_text = blob(ls_text)
  6031. // end if
  6032. //
  6033. // IF f_blobtofile(Pathname,lb_text,ls_msg) = 0 THEN
  6034. // MessageBox('错误', ls_msg)
  6035. // return
  6036. // END IF
  6037. // DO WHILE pos(Pathname,'\',1) > 0
  6038. // Pathname = Replace(Pathname,pos(Pathname,'\',1),1,'/')
  6039. // LOOP
  6040. // ole_1.object.navigate('file:///' + Pathname)
  6041. //
  6042. //
  6043. // // 附件
  6044. // declare cursorfj cursor for
  6045. // select fjid,filename, filesize from Sys_admsg_fj where msgid = :ll_id;
  6046. // open cursorfj;
  6047. // fetch cursorfj INTO :s_lvfj.fjid, :s_lvfj.filename, :s_lvfj.filesize;
  6048. // do while (sqlca.sqlcode = 0)
  6049. // s_lvfj.relid = ll_id
  6050. // l_lvi.label = s_lvfj.filename
  6051. // l_lvi.pictureindex = 1
  6052. // l_lvi.data = s_lvfj
  6053. // lv_fj.additem(l_lvi)
  6054. // have_fj = true
  6055. // fetch cursorfj INTO :s_lvfj.fjid, :s_lvfj.filename, :s_lvfj.filesize;
  6056. // loop
  6057. // close cursorfj;
  6058. // lv_fj.visible = have_fj
  6059. //
  6060. // // 确认列表
  6061. // if cur_set.viewtype = 2 then
  6062. // have_user = true
  6063. // dw_user.retrieve(ll_id)
  6064. // end if
  6065. //
  6066. // parent.triggerevent('resize')
  6067. // return
  6068. //end if
  6069. //////////////////
  6070. //
  6071. //
  6072. //ll_fjtype = dw_list.Object.fjtype[dw_list.GetRow()]
  6073. //ll_id = dw_list.Object.id[dw_list.GetRow()]
  6074. //cur_address = dw_list.Object.sendaddress[dw_list.GetRow()]
  6075. //IF wf_retrievemx(ll_id,ll_fjtype,cur_address,ls_msg) = 0 THEN
  6076. // MessageBox('错误',ls_msg)
  6077. // return
  6078. //END IF
  6079. //wf_set_read(dw_list.GetRow())
  6080. end event
  6081. event rowfocuschanging;call super::rowfocuschanging;//if currentrow <= 0 OR currentrow > dw_list.rowcount() then return
  6082. //if dw_list.dataobject = 'dw_email_view_msg' then
  6083. // if dw_list.object.status[currentrow] = '未读' then
  6084. // dw_list.object.filename[currentrow] = 'graphics\unread.bmp'
  6085. // else
  6086. // dw_list.object.filename[currentrow] = 'graphics\read.bmp'
  6087. // end if
  6088. // dw_list.accepttext( )
  6089. //end if
  6090. end event
  6091. event rbuttondown;//call super::rbuttondown;
  6092. IF row <= 0 THEN
  6093. CALL Super::RButtonDown
  6094. RETURN
  6095. END IF
  6096. IF KeyDown(keyLeftButton!) THEN
  6097. CALL Super::RButtonDown
  6098. ELSE
  6099. IF Not dw_list.IsSelected(row) THEN
  6100. This.ScrollToRow(row)
  6101. END IF
  6102. // this.selectrow(0, false)
  6103. // this.selectrow(row, true)
  6104. m_Dfc_Control_PopupMenu dmPopupMenu
  6105. String menustr
  6106. IF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
  6107. // menustr = "Text=刷新信息~tEvent=ue_msg_retr"
  6108. // menustr = menustr+"|"+"Text=-"
  6109. // menustr = menustr+"|"+"Text=回复信息~tEvent=ue_msg_back"
  6110. // menustr = menustr+"|"+"Text=确认信息~tEvent=ue_msg_del"
  6111. // menustr = menustr+"|"+"Text=-"
  6112. // menustr = menustr+"|"+"Text=查看历史~tEvent=ue_msg_his"
  6113. // menustr = menustr+"|"+"Text=-"
  6114. // IF ls_dealflag = 0 THEN
  6115. // menustr = menustr+"|"+"Text=只显示待确认消息√~tEvent=ue_msg_view1"
  6116. // menustr = menustr+"|"+"Text=显示全部消息~tEvent=ue_msg_view2"
  6117. // ELSE
  6118. // menustr = menustr+"|"+"Text=只显示待确认消息~tEvent=ue_msg_view1"
  6119. // menustr = menustr+"|"+"Text=显示全部消息√~tEvent=ue_msg_view2"
  6120. // END IF
  6121. // menustr = menustr+"|"+"Text=-"
  6122. // menustr = menustr + "|" + "Text=转发~tEvent=ue_sendother"
  6123. CALL Super::RButtonDown
  6124. ELSEIF dw_list.DataObject = 'dw_email_view_msg' THEN
  6125. Long i, ll_cnt = 0
  6126. FOR i = 1 To dw_list.RowCount()
  6127. IF dw_list.IsSelected(i) THEN
  6128. ll_cnt ++
  6129. IF ll_cnt > 1 THEN
  6130. EXIT
  6131. END IF
  6132. END IF
  6133. NEXT
  6134. IF ll_cnt > 1 THEN
  6135. menustr = "Text=导出~tEvent=ue_export_eml"
  6136. menustr = menustr + "|" + "Text=-"
  6137. menustr = menustr + "|" + "Text=删除~tEvent=ue_del"
  6138. ELSE
  6139. menustr = "Text=回复~tEvent=ue_reply"
  6140. menustr = menustr + "|" + "Text=转发~tEvent=ue_sendother"
  6141. menustr = menustr + "|" + "Text=导出~tEvent=ue_export_eml"
  6142. menustr = menustr + "|" + "Text=-"
  6143. menustr = menustr + "|" + "Text=删除~tEvent=ue_del"
  6144. END IF
  6145. END IF
  6146. IF Len(Trim(menustr)) <> 0 THEN
  6147. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  6148. dmPopupMenu.mf_BuildMenu(This, menustr)
  6149. dmPopupMenu.mf_PopMenu()
  6150. Destroy dmPopupMenu
  6151. END IF
  6152. END IF
  6153. end event
  6154. event doubleclicked;call super::doubleclicked;IF dw_list.GetRow() = 0 THEN RETURN
  6155. s_email_set s_parm
  6156. String ls_msg
  6157. IF dw_list.DataObject = 'dw_email_view_msg' THEN
  6158. s_parm.mailid = dw_list.Object.mailid[dw_list.GetRow()]
  6159. IF wf_ds_get_mail_set(s_parm.mailid, s_parm, ls_msg) <> 1 THEN
  6160. MessageBox('错误', ls_msg, stopsign!)
  6161. RETURN
  6162. END IF
  6163. s_parm.sendid = dw_list.Object.id[dw_list.GetRow()]
  6164. IF dw_list.Object.mailtype[dw_list.GetRow()] = '发件' THEN
  6165. OpenWithParm(w_email_send_new,s_parm)
  6166. ELSE
  6167. Long arr[]
  6168. Long i
  6169. FOR i = 1 To dw_list.RowCount()
  6170. arr[i] = dw_list.Object.id[i]
  6171. NEXT
  6172. s_parm.arr = arr
  6173. s_parm.cur = dw_list.GetRow()
  6174. OpenWithParm(w_email_rev, s_parm)
  6175. END IF
  6176. ELSEIF dw_list.DataObject = 'dw_sms_spring_send' THEN
  6177. // IF dw_list.Object.sendflag = 2 THEN
  6178. s_spring_send s_send
  6179. uo_spring_send uo_send
  6180. uo_send = Create uo_spring_send
  6181. uo_send.commit_transaction = sqlca
  6182. IF uo_send.uf_getinfo_withmx(dw_list.Object.sendid[dw_list.GetRow()], Ref s_send, Ref ls_msg) = 0 THEN
  6183. Destroy uo_send
  6184. MessageBox('错误', ls_msg, stopsign!)
  6185. RETURN
  6186. END IF
  6187. Destroy uo_send
  6188. OpenWithParm(w_sms_send_new, s_send)
  6189. // END IF
  6190. ELSEIF dw_list.DataObject = 'dw_ljmail_msg' THEN
  6191. IF dw_list.GetRow() > 0 THEN
  6192. s_ljmail_msg_parm s_msg_parm
  6193. s_msg_parm.msgid = dw_list.Object.msgid[dw_list.GetRow()]
  6194. OpenWithParm(w_ljmail_msg_send, s_msg_parm)
  6195. END IF
  6196. ELSEIF dw_list.DataObject = 'dw_deal_admsg_1_copy' THEN
  6197. IF dwo.Name = 'sys_admsgmx_billcode' THEN
  6198. Parent.TriggerEvent('ue_viewbill_msg')
  6199. END IF
  6200. END IF
  6201. //IF dw_list.GetRow() = 0 THEN RETURN
  6202. //
  6203. //Long i,ll_fjtype
  6204. //
  6205. //if cur_set.mailid = -1 then return
  6206. //
  6207. //dw_list.AcceptText()
  6208. //ll_fjtype = dw_list.Object.fjtype[dw_list.GetRow()]
  6209. //CHOOSE CASE ll_fjtype
  6210. // CASE 1
  6211. // s_edit_index_tran s_tran
  6212. // Long cur_revid[]
  6213. // s_tran.b_long = dw_list.GetRow()
  6214. // s_tran.c_long = dw_list.RowCount()
  6215. //
  6216. // FOR i = 1 TO dw_list.RowCount()
  6217. // cur_revid[i] = dw_list.Object.id[i]
  6218. // NEXT
  6219. // s_tran.arr_long = cur_revid
  6220. // OpenWithParm(w_email_rev,s_tran)
  6221. //
  6222. // CASE 0
  6223. // s_email_set s_parm
  6224. // s_parm = cur_set
  6225. // s_parm.sendid = dw_list.Object.id[dw_list.GetRow()]
  6226. //
  6227. // OpenWithParm(w_email_send_new,s_parm)
  6228. //
  6229. //END CHOOSE
  6230. //
  6231. //
  6232. //
  6233. //
  6234. end event
  6235. event clicked;call super::clicked;Long ll_mailid,ll_NTFlag
  6236. String ls_status
  6237. IF row > 0 THEN
  6238. ins_candrag = True
  6239. ELSE
  6240. RETURN
  6241. END IF
  6242. IF This.DataObject = 'dw_email_view_msg' And KeyDown(keycontrol!) THEN
  6243. IF row > 0 THEN
  6244. This.SelectRow(row, Not This.IsSelected(row))
  6245. wf_ui_row(row)
  6246. RETURN 1 // 如果不刷新其它内容
  6247. END IF
  6248. ELSEIF This.DataObject = 'dw_email_view_msg' And KeyDown(keyshift!) THEN
  6249. IF row > 0 THEN
  6250. wf_ui_unselectall()
  6251. This.SelectRow(0, False)
  6252. Long i
  6253. IF dw_list.GetRow() > row THEN
  6254. FOR i = row To dw_list.GetRow()
  6255. This.SelectRow(i, True)
  6256. wf_ui_row(i)
  6257. NEXT
  6258. ELSE
  6259. FOR i = row To dw_list.GetRow() Step -1
  6260. This.SelectRow(i, True)
  6261. wf_ui_row(i)
  6262. NEXT
  6263. END IF
  6264. RETURN 1 // 如果不刷新其它内容
  6265. END IF
  6266. ELSE
  6267. IF row > 0 THEN
  6268. IF This.DataObject = 'dw_email_view_msg' And dwo.Name = 'filename' THEN
  6269. wf_revert_read(row)
  6270. wf_tv_reflash(wf_tv_getcurrent())
  6271. RETURN 1 // 只更改 未读 已读 状态
  6272. END IF
  6273. //
  6274. // if this.dataobject = 'dw_email_view_msg_rev' AND dwo.Name = 'filename' then
  6275. // wf_revert_read(row)
  6276. // wf_tv_reflash(wf_tv_getcurrent())
  6277. // return 1 // 只更改 未读 已读 状态
  6278. // end if
  6279. //2012929-1648
  6280. // if this.IsSelected(row) then
  6281. // return 1
  6282. // end if
  6283. /////////////////////////// //
  6284. // 内部消息确认
  6285. IF This.DataObject = 'dw_deal_admsg_1_copy' And dwo.Name = 'bt_deal' THEN
  6286. IF MessageBox ("IF","是否确定要确认当前消息记录?"+' '+String(dw_list.Object.sys_admsgmx_s_msgtitle[row]),Question!,YesNo! ) = 2 THEN RETURN 1
  6287. Long ls_msgid, ls_empid, ls_senddtint, rslt
  6288. String arg_msg
  6289. ls_msgid = dw_list.Object.sys_admsgmx_msgid[row]
  6290. ls_empid = dw_list.Object.sys_admsgmx_empid[row]
  6291. ls_senddtint = dw_list.Object.sys_admsgmx_senddtint[row]
  6292. uo_transmsg uo_itransmsg
  6293. rslt = uo_itransmsg.f_redeal_admsg(ls_msgid,ls_senddtint,ls_empid,arg_msg,True)
  6294. IF rslt = 0 THEN
  6295. MessageBox('提示',arg_msg, Information!, OK! )
  6296. ELSE
  6297. wf_dw_retrieve_innermsg_rev()
  6298. END IF
  6299. RETURN 1
  6300. END IF
  6301. /////////////////////// //
  6302. // rowfocuschanged
  6303. dw_list.ScrollToRow(row)
  6304. END IF
  6305. END IF
  6306. ///////////////////////////////////// //回执
  6307. s_email_set s_parm_huizi
  6308. String ls_msg
  6309. IF This.DataObject = 'dw_email_view_msg' THEN
  6310. IF dw_list.Object.mailtype[dw_list.GetRow()] = "收件" THEN
  6311. ll_mailid = Long(dw_list.Object.id[dw_list.GetRow()])
  6312. SELECT NTFlag Into :ll_NTFlag From u_email_msg Where id = :ll_mailid Using fj_tran;
  6313. IF ll_NTFlag = 1 THEN
  6314. s_parm_huizi.id = dw_list.Object.id[dw_list.GetRow()]
  6315. s_parm_huizi.mailid = dw_list.Object.mailid[dw_list.GetRow()]
  6316. IF wf_ds_get_mail_set(s_parm_huizi.mailid, s_parm_huizi, ls_msg) <> 1 THEN
  6317. RETURN
  6318. END IF
  6319. s_parm_huizi.flag = 1
  6320. s_parm_huizi.revuser = dw_list.Object.senduser[dw_list.GetRow()]
  6321. s_parm_huizi.revaddress = dw_list.Object.sendaddress[dw_list.GetRow()]
  6322. s_parm_huizi.relid = dw_list.Object.id[dw_list.GetRow()]
  6323. s_parm_huizi.reltype = 3
  6324. s_parm_huizi.Subject = " " //带主题
  6325. // s_parm_huizi.mailid = 0
  6326. // s_parm_huizi.mailuser = tv_data_move.c_string
  6327. // s_parm_huizi.mailAddress = tv_data_move.d_string
  6328. // s_parm_huizi.revaddress = dw_list.Object.sendman[dw_list.GetRow()]
  6329. OpenWithParm(w_email_huizi,s_parm_huizi)
  6330. // messagebox("","需要回执")
  6331. END IF
  6332. END IF
  6333. END IF
  6334. //////////////////////////////////// //回执
  6335. //if (dw_list.dataobject = 'dw_email_view_rev') and (dwo.Name = 'filename') and row > 0 then
  6336. // if dw_list.object.mailtype[row] = 0 then
  6337. // wf_set_read(row)
  6338. // else
  6339. // wf_set_unread(row)
  6340. // end if
  6341. // return 1
  6342. //end if
  6343. //THIS.SetRow(row)
  6344. //
  6345. //
  6346. end event
  6347. event buttonclicked;call super::buttonclicked;//Long rslt = 1,ls_msgid ,ls_empid,ls_senddtint
  6348. //String arg_msg
  6349. //IF (cur_set.mailid = -1 and cur_set.viewtype = 1) and dwo.Name = 'bt_deal' AND row > 0 THEN
  6350. // IF MessageBox ("IF","是否确定要确认当前消息记录?"+' '+String(this.Object.sys_admsgmx_s_msgtitle[row]),Question!,YesNo! ) = 2 THEN RETURN
  6351. // ls_msgid = this.Object.sys_admsgmx_msgid[row]
  6352. // ls_empid = this.Object.sys_admsgmx_empid[row]
  6353. // ls_senddtint = this.Object.sys_admsgmx_senddtint[row]
  6354. //
  6355. // uo_transmsg uo_itransmsg
  6356. //
  6357. // rslt = uo_itransmsg.f_redeal_admsg(ls_msgid,ls_senddtint,ls_empid,arg_msg,TRUE)
  6358. // IF rslt = 0 THEN
  6359. // MessageBox('提示',arg_msg, Information!, OK! )
  6360. // ELSE
  6361. // wf_retrieve()
  6362. // END IF
  6363. //END IF
  6364. //
  6365. //
  6366. end event
  6367. type cb_1 from uo_imflatbutton within w_email_view
  6368. event ue_set_email_move ( )
  6369. integer x = 1317
  6370. integer width = 176
  6371. integer height = 163
  6372. integer taborder = 40
  6373. boolean bringtotop = true
  6374. string text = "设置"
  6375. string normalpicname = "imexport.bmp"
  6376. integer picsize = 16
  6377. toolbaralignment pic_align = alignattop!
  6378. boolean border = false
  6379. end type
  6380. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  6381. String menustr
  6382. menustr = "Text=设置签名~tEvent=ue_set_signature"
  6383. menustr = menustr + "|" + "Text=设置客户资料~tEvent=ue_set_cust"
  6384. menustr = menustr + "|" + "Text=设置收件分类~tEvent=ue_set_email_move"
  6385. menustr = menustr + "|" + "Text=设置自动收件时间间隔~tEvent=ue_autorev"
  6386. menustr = menustr + "|" + "Text=邮件短信接收人自定义分组~tEvent=ue_rep_group"
  6387. IF len(Trim(menustr)) <> 0 THEN
  6388. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  6389. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  6390. dmPopupMenu.mf_PopMenu()
  6391. DESTROY dmPopupMenu
  6392. END IF
  6393. end event
  6394. type st_del from uo_text_m_main within w_email_view
  6395. boolean visible = false
  6396. integer x = 1953
  6397. integer y = 109
  6398. integer width = 230
  6399. integer height = 51
  6400. boolean bringtotop = true
  6401. integer textsize = -9
  6402. string text = "确认信息"
  6403. end type
  6404. event clicked;call super::clicked;parent.triggerevent('ue_msg_del')
  6405. end event
  6406. event constructor;call super::constructor;this.backcolor = 14215660
  6407. end event
  6408. type p_del from picture within w_email_view
  6409. boolean visible = false
  6410. integer x = 1872
  6411. integer y = 96
  6412. integer width = 73
  6413. integer height = 64
  6414. boolean bringtotop = true
  6415. boolean originalsize = true
  6416. string picturename = "graphics\ok.bmp"
  6417. boolean focusrectangle = false
  6418. end type
  6419. event clicked;st_del.triggerevent(clicked!)
  6420. end event
  6421. type cbx_showmeredeal from checkbox within w_email_view
  6422. boolean visible = false
  6423. integer x = 2216
  6424. integer y = 109
  6425. integer width = 534
  6426. integer height = 51
  6427. integer taborder = 80
  6428. boolean bringtotop = true
  6429. integer textsize = -9
  6430. integer weight = 400
  6431. fontcharset fontcharset = gb2312charset!
  6432. fontpitch fontpitch = variable!
  6433. string facename = "宋体"
  6434. long textcolor = 33554432
  6435. long backcolor = 16777215
  6436. string text = "只显示待确认消息"
  6437. boolean checked = true
  6438. end type
  6439. event clicked;IF This.Checked THEN
  6440. ls_dealflag = 0
  6441. ELSE
  6442. ls_dealflag = -1
  6443. END IF
  6444. wf_retrieve()
  6445. end event
  6446. event constructor;this.backcolor = 14215660
  6447. end event
  6448. type cb_viewbill from commandbutton within w_email_view
  6449. boolean visible = false
  6450. integer x = 2790
  6451. integer y = 83
  6452. integer width = 311
  6453. integer height = 83
  6454. integer taborder = 70
  6455. boolean bringtotop = true
  6456. integer textsize = -9
  6457. integer weight = 400
  6458. fontcharset fontcharset = gb2312charset!
  6459. fontpitch fontpitch = variable!
  6460. string facename = "宋体"
  6461. string text = "查看单据"
  6462. end type
  6463. event clicked;parent.triggerevent('ue_viewbill_msg')
  6464. end event
  6465. type cb_view_his from commandbutton within w_email_view
  6466. boolean visible = false
  6467. integer x = 3141
  6468. integer y = 83
  6469. integer width = 311
  6470. integer height = 83
  6471. integer taborder = 80
  6472. boolean bringtotop = true
  6473. integer textsize = -9
  6474. integer weight = 400
  6475. fontcharset fontcharset = gb2312charset!
  6476. fontpitch fontpitch = variable!
  6477. string facename = "宋体"
  6478. string text = "查看历史"
  6479. end type
  6480. event clicked;parent.triggerevent('ue_msg_his')
  6481. end event
  6482. type sle_find from singlelineedit within w_email_view
  6483. event keydown pbm_keydown
  6484. integer x = 2055
  6485. integer y = 58
  6486. integer width = 640
  6487. integer height = 90
  6488. integer taborder = 20
  6489. boolean bringtotop = true
  6490. integer textsize = -9
  6491. integer weight = 400
  6492. fontcharset fontcharset = gb2312charset!
  6493. fontpitch fontpitch = variable!
  6494. string facename = "宋体"
  6495. long textcolor = 33554432
  6496. end type
  6497. event keydown;IF Key = keyenter! THEN
  6498. cb_find.trigger event clicked()
  6499. end if
  6500. end event
  6501. type cb_find from uo_imflatbutton within w_email_view
  6502. integer x = 2710
  6503. integer y = 48
  6504. integer width = 304
  6505. integer height = 99
  6506. integer taborder = 40
  6507. boolean bringtotop = true
  6508. string text = "查找"
  6509. string normalpicname = "PREVIEW.BMP"
  6510. integer picsize = 16
  6511. end type
  6512. event clicked;call super::clicked;String ls_date
  6513. IF Trim(sle_find.Text) = "" THEN RETURN
  6514. ls_date = "'%" + Trim(sle_find.Text) + "%'"
  6515. //dw_list.SetFilter("subject like '%" + ls_date + "%' " )
  6516. ls_date = "(subject like " + ls_date + ") or (sendman like " + ls_date + ")" + " or (revman like " + ls_date + ")"
  6517. dw_list.SetFilter( ls_date)
  6518. dw_list.Filter()
  6519. dw_list.SetFilter("")
  6520. end event
  6521. type ddlb_1 from dropdownlistbox within w_email_view
  6522. integer x = 3229
  6523. integer y = 61
  6524. integer width = 260
  6525. integer height = 278
  6526. integer taborder = 90
  6527. boolean bringtotop = true
  6528. integer textsize = -9
  6529. integer weight = 400
  6530. fontcharset fontcharset = gb2312charset!
  6531. fontpitch fontpitch = variable!
  6532. string facename = "宋体"
  6533. long textcolor = 33554432
  6534. string item[] = {"全部","已发","未发"}
  6535. borderstyle borderstyle = stylelowered!
  6536. end type
  6537. event constructor;//this.enabled = false
  6538. this.text = '全部'
  6539. end event
  6540. event selectionchanged;IF THIS.TEXT ='已发' then
  6541. cur_send = 1
  6542. elseif THIS.TEXT ='未发' then
  6543. cur_send =0
  6544. else
  6545. cur_send = -1
  6546. end if
  6547. wf_dw_retrieve_smssend()
  6548. end event
  6549. type em_3 from editmask within w_email_view
  6550. integer x = 3021
  6551. integer y = 58
  6552. integer width = 187
  6553. integer height = 83
  6554. integer taborder = 30
  6555. boolean bringtotop = true
  6556. integer textsize = -9
  6557. integer weight = 400
  6558. fontcharset fontcharset = gb2312charset!
  6559. fontpitch fontpitch = variable!
  6560. string facename = "宋体"
  6561. long textcolor = 33554432
  6562. long backcolor = 16777215
  6563. string text = "100"
  6564. alignment alignment = right!
  6565. borderstyle borderstyle = stylelowered!
  6566. string mask = "##0"
  6567. string minmax = "0~~"
  6568. end type
  6569. Start of PowerBuilder Binary Data Section : Do NOT Edit
  6570. 0Fw_email_view.bin
  6571. 2800000a00e011cfd0e11ab1a1000000000000000000000000000000000003003e0009fffe000000060000000000000000000000010000000100000000000010000000000200000001fffffffe0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfffffffefffffffefffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff006f00520074006f004500200074006e00790072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050016ffffffffffffffff000000010000000000000000000000000000000000000000000000000000000018577f8001d20f3000000003000001800000000000500003004f0042005800430054005300450052004d0041000000000000000000000000000000000000000000000000000000000000000000000000000000000102001affffffff00000002ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c00000000004200500043004f00530058004f00540041005200450047000000000000000000000000000000000000000000000000000000000000000000000000000000000001001affffffffffffffff000000038856f96111d0340ac0006ba9a205d74f0000000018577f8001d20f3018577f8001d20f30000000000000000000000000004f00430054004e004e00450053005400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001020012ffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000030000009c000000000000000100000002fffffffe0000000400000005fffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  6572. 24ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000004c00001d8f0000187f0000000000000000000000000000000000000000000000000000004c0000000000000000000000010057d0e011cf3573000869ae62122e2b00000008000000000000004c0002140100000000000000c0460000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c00001d8f0000187f0000000000000000000000000000000000000000000000000000004c0000000000000000000000010057d0e011cf3573000869ae62122e2b00000008000000000000004c0002140100000000000000c0460000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  6573. 1Fw_email_view.bin
  6574. End of PowerBuilder Binary Data Section : No Source Expected After This Point