1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132 |
- $PBExportHeader$w_ljmail_msgmx_ch.srw
- forward
- global type w_ljmail_msgmx_ch from w_publ_base
- end type
- type cb_add from uo_imflatbutton within w_ljmail_msgmx_ch
- end type
- type cb_del from uo_imflatbutton within w_ljmail_msgmx_ch
- end type
- type dw_revlist from u_dw_rbtnfilter within w_ljmail_msgmx_ch
- end type
- type cb_ok from uo_imflatbutton within w_ljmail_msgmx_ch
- end type
- type cb_cancel from uo_imflatbutton within w_ljmail_msgmx_ch
- end type
- type tv_1 from treeview within w_ljmail_msgmx_ch
- end type
- type sle_1 from singlelineedit within w_ljmail_msgmx_ch
- end type
- type sle_2 from singlelineedit within w_ljmail_msgmx_ch
- end type
- type lv_1 from listview within w_ljmail_msgmx_ch
- end type
- type cb_find from uo_imflatbutton within w_ljmail_msgmx_ch
- end type
- type cb_3 from uo_imflatbutton within w_ljmail_msgmx_ch
- end type
- type ln_bar from line within w_ljmail_msgmx_ch
- end type
- type ln_bar2 from line within w_ljmail_msgmx_ch
- end type
- end forward
- global type w_ljmail_msgmx_ch from w_publ_base
- integer width = 4037
- integer height = 2144
- string title = "选择龙嘉邮件收件人"
- boolean minbox = false
- windowtype windowtype = response!
- event ue_add_mail ( )
- cb_add cb_add
- cb_del cb_del
- dw_revlist dw_revlist
- cb_ok cb_ok
- cb_cancel cb_cancel
- tv_1 tv_1
- sle_1 sle_1
- sle_2 sle_2
- lv_1 lv_1
- cb_find cb_find
- cb_3 cb_3
- ln_bar ln_bar
- ln_bar2 ln_bar2
- end type
- global w_ljmail_msgmx_ch w_ljmail_msgmx_ch
- type variables
- long il_tv_handle
- long ll_lastrow = 0
- end variables
- forward prototypes
- public function boolean wf_cansee_cusarea (long arg_cusareaid)
- public function boolean wf_cansee_spttype (long arg_spttypeid)
- public function boolean wf_cus_haschild (long cusid)
- public function boolean wf_spt_haschild (long sptid)
- public function boolean wf_cansee_cus (long arg_cusid)
- public function boolean wf_cansee_spt (long arg_sptid)
- end prototypes
- event ue_add_mail();long ll_row
- if trim(sle_2.text) = '' then return
- if dw_revlist.Find('revaddress=~'' + trim(sle_2.text) + '~'', 1, dw_revlist.RowCount()) = 0 then
- ll_row = dw_revlist.insertrow(0)
- dw_revlist.object.sendid[ll_row] = 0
- dw_revlist.object.printid[ll_row] = 0
- dw_revlist.object.reltype[ll_row] = 3
- dw_revlist.object.relid[ll_row] = 0
- dw_revlist.object.revaddress[ll_row] = trim(sle_2.text)
- dw_revlist.object.revname[ll_row] = trim(sle_2.text)
- dw_revlist.object.dscrp[ll_row] = ''
- else
- MessageBox('提示', sle_2.text + '已存在!')
- end if
- end event
- public function boolean wf_cansee_cusarea (long arg_cusareaid);Long i
- Long ll_i
- Long ll_cnt
- // 如果没有权限,直接返回false
- Boolean haspower = False
- FOR i = LowerBound(sys_areaid) To UpperBound(sys_areaid)
- IF arg_cusareaid = sys_areaid[i] THEN
- haspower = True
- EXIT
- END IF
- NEXT
- IF Not haspower THEN RETURN False
- // 下级客户字段有内容,直接返回true
- SELECT COUNT(0)
- INTO :ll_cnt
- FROM u_cust
- WHERE (cusareaid = :arg_cusareaid) AND
- (inuse = 1) AND
- (ljmail <> '');
- IF sqlca.SQLCode <> 0 THEN
- RETURN False
- END IF
- IF ll_cnt > 0 THEN
- RETURN True
- END IF
- // 下级客户可视,直接返回true
- Long ll_cusid, arr_cusid[]
- ll_cnt = 0
- DECLARE cur1 CURSOR FOR
- SELECT cusid
- FROM u_cust
- WHERE inuse = 1 AND
- cusareaid = :arg_cusareaid;
- OPEN cur1;
- FETCH cur1 Into :ll_cusid;
- DO WHILE sqlca.SQLCode = 0
- ll_cnt++
- arr_cusid[ll_cnt] = ll_cusid
- FETCH cur1 Into :ll_cusid;
- LOOP
- CLOSE cur1;
- FOR ll_i = 1 To UpperBound(arr_cusid)
- IF wf_cansee_cus(arr_cusid[ll_i]) THEN RETURN True
- NEXT
- // 下级区域可视,直接返回true
- Long ll_cusareaid, arr_cusareaid[]
- ll_cnt = 0
- DECLARE cur2 CURSOR FOR
- SELECT cusareaid
- FROM u_cusarea
- Where parentid = :arg_cusareaid;
- OPEN cur2;
- FETCH cur2 Into :ll_cusareaid;
- DO WHILE sqlca.SQLCode = 0
- ll_cnt++
- arr_cusareaid[ll_cnt] = ll_cusareaid
- FETCH cur2 Into :ll_cusareaid;
- LOOP
- CLOSE cur2;
- FOR ll_i = 1 To UpperBound(arr_cusareaid)
- IF wf_cansee_cusarea(arr_cusareaid[ll_i]) THEN RETURN True
- NEXT
- RETURN False
- end function
- public function boolean wf_cansee_spttype (long arg_spttypeid);Long i
- Boolean haspower = False
- FOR i = LowerBound(sys_user_spttype) To UpperBound(sys_user_spttype)
- IF arg_spttypeid = sys_user_spttype[i] THEN
- haspower = True
- EXIT
- END IF
- NEXT
- IF Not haspower THEN RETURN False
- Long ll_cnt = 0
- Long ll_sptid, arr_sptid[]
- DECLARE cur1 CURSOR FOR
- SELECT sptid
- FROM u_spt
- WHERE spttypeid = :arg_spttypeid
- And inuse = 1;
- OPEN cur1;
- FETCH cur1 Into :ll_sptid;
- DO WHILE sqlca.SQLCode = 0
- ll_cnt++
- arr_sptid[ll_cnt] = ll_sptid
- FETCH cur1 Into :ll_sptid;
- LOOP
- CLOSE cur1;
- FOR i = 1 To ll_cnt
- IF wf_cansee_spt(arr_sptid[i]) THEN RETURN True
- NEXT
- RETURN False
- end function
- public function boolean wf_cus_haschild (long cusid);Long ll_count = 0
- SELECT count(0) INTO :ll_count
- FROM u_cust_rep
- Where (cusid = :cusid) And ljmail <> '';
- IF sqlca.SQLCode <> 0 THEN
- RETURN False
- END IF
- IF ll_count > 0 THEN
- RETURN True
- END IF
- RETURN False
- end function
- public function boolean wf_spt_haschild (long sptid);Long ll_count = 0
- SELECT count(0) INTO :ll_count
- FROM u_spt_rep
- WHERE (sptid = :sptid)
- And u_spt_rep.ljmail <> '';
- IF sqlca.SQLCode <> 0 THEN
- RETURN False
- END IF
- IF ll_count > 0 THEN RETURN True
- RETURN False
- end function
- public function boolean wf_cansee_cus (long arg_cusid);Long ll_cnt
- SELECT count(0)
- INTO :ll_cnt
- FROM u_cust_rep
- WHERE cusid = :arg_cusid
- And ljmail <> '';
- IF sqlca.SQLCode <> 0 THEN
- RETURN False
- END IF
- IF ll_cnt > 0 THEN RETURN True
- SELECT COUNT(0)
- INTO :ll_cnt
- FROM u_cust
- WHERE cusid = :arg_cusid AND
- ljmail <> '';
- IF sqlca.SQLCode <> 0 THEN
- RETURN False
- END IF
- IF ll_cnt > 0 THEN RETURN True
- RETURN False
- end function
- public function boolean wf_cansee_spt (long arg_sptid);Long ll_cnt
- SELECT count(0)
- INTO :ll_cnt
- FROM u_spt_rep
- WHERE sptid = :arg_sptid
- And ljmail <> '';
- IF sqlca.SQLCode <> 0 THEN
- RETURN False
- END IF
- IF ll_cnt > 0 THEN
- RETURN True
- END IF
- SELECT count(0)
- INTO :ll_cnt
- FROM u_spt
- WHERE sptid = :arg_sptid
- And ljmail <> '';
- IF sqlca.SQLCode <> 0 THEN
- RETURN False
- END IF
- IF ll_cnt > 0 THEN
- RETURN True
- END IF
- RETURN False
- end function
- on w_ljmail_msgmx_ch.create
- int iCurrent
- call super::create
- this.cb_add=create cb_add
- this.cb_del=create cb_del
- this.dw_revlist=create dw_revlist
- this.cb_ok=create cb_ok
- this.cb_cancel=create cb_cancel
- this.tv_1=create tv_1
- this.sle_1=create sle_1
- this.sle_2=create sle_2
- this.lv_1=create lv_1
- this.cb_find=create cb_find
- this.cb_3=create cb_3
- this.ln_bar=create ln_bar
- this.ln_bar2=create ln_bar2
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cb_add
- this.Control[iCurrent+2]=this.cb_del
- this.Control[iCurrent+3]=this.dw_revlist
- this.Control[iCurrent+4]=this.cb_ok
- this.Control[iCurrent+5]=this.cb_cancel
- this.Control[iCurrent+6]=this.tv_1
- this.Control[iCurrent+7]=this.sle_1
- this.Control[iCurrent+8]=this.sle_2
- this.Control[iCurrent+9]=this.lv_1
- this.Control[iCurrent+10]=this.cb_find
- this.Control[iCurrent+11]=this.cb_3
- this.Control[iCurrent+12]=this.ln_bar
- this.Control[iCurrent+13]=this.ln_bar2
- end on
- on w_ljmail_msgmx_ch.destroy
- call super::destroy
- destroy(this.cb_add)
- destroy(this.cb_del)
- destroy(this.dw_revlist)
- destroy(this.cb_ok)
- destroy(this.cb_cancel)
- destroy(this.tv_1)
- destroy(this.sle_1)
- destroy(this.sle_2)
- destroy(this.lv_1)
- destroy(this.cb_find)
- destroy(this.cb_3)
- destroy(this.ln_bar)
- destroy(this.ln_bar2)
- end on
- event open;call super::open;s_sendmx_parm s_sendmx
- Long i, ll_row
- s_sendmx = Message.PowerObjectParm
- IF Not IsNull(s_sendmx) And IsValid(s_sendmx) THEN
- FOR i = 1 To UpperBound(s_sendmx.sendmx)
- ll_row = dw_revlist.InsertRow(0)
- dw_revlist.Object.sendid[ll_row] = 0
- dw_revlist.Object.printid[ll_row] = ll_row
- dw_revlist.Object.reltype[ll_row] = s_sendmx.sendmx[i].reltype
- dw_revlist.Object.relid[ll_row] = s_sendmx.sendmx[i].relid
- dw_revlist.Object.revaddress[ll_row] = s_sendmx.sendmx[i].revaddress
- dw_revlist.Object.revname[ll_row] = s_sendmx.sendmx[i].revname
- NEXT
- END IF
- end event
- event resize;call super::resize;ln_bar.endx = this.width
- ln_bar2.endx = this.width
- end event
- type cb_func from w_publ_base`cb_func within w_ljmail_msgmx_ch
- boolean visible = false
- integer x = 2245
- integer y = 1656
- end type
- type cb_exit from w_publ_base`cb_exit within w_ljmail_msgmx_ch
- boolean visible = false
- end type
- type cb_add from uo_imflatbutton within w_ljmail_msgmx_ch
- integer x = 1705
- integer y = 612
- integer taborder = 20
- boolean bringtotop = true
- string text = "添加"
- string normalpicname = "p4.ICO"
- integer picsize = 16
- toolbaralignment pic_align = alignatright!
- end type
- event clicked;call super::clicked;IF tv_1.Visible THEN
- tv_1.Trigger Event DoubleClicked(il_tv_handle)
- tv_1.SetFocus( )
- ELSE
- listviewitem l_lvi
- s_tv_data s_data
- Long ll_index = 0, ll_row
- ll_index = lv_1.FindItem(ll_index, DirectionAll!, False, True, False, False)
- DO While (ll_index > 0)
- IF lv_1.GetItem(ll_index, l_lvi) = 1 THEN
- s_data = l_lvi.Data
- IF Trim(s_data.mailAddress) = '' THEN GOTO ext
- IF dw_revlist.Find('relid=' + String(s_data.relid) + ' and reltype=' + String(s_data.reltype), 1, dw_revlist.RowCount()) = 0 THEN
- ll_row = dw_revlist.InsertRow(0)
- dw_revlist.Object.sendid[ll_row] = 0
- dw_revlist.Object.printid[ll_row] = 0
- dw_revlist.Object.reltype[ll_row] = s_data.reltype
- dw_revlist.Object.relid[ll_row] = s_data.relid
- dw_revlist.Object.revaddress[ll_row] = s_data.mailAddress
- dw_revlist.Object.revname[ll_row] = s_data.mailname
- dw_revlist.Object.dscrp[ll_row] = ''
- END IF
- END IF
- ext:
- ll_index = lv_1.FindItem(ll_index, DirectionDown!, False, True, False, False)
- LOOP
- END IF
- end event
- type cb_del from uo_imflatbutton within w_ljmail_msgmx_ch
- integer x = 1705
- integer y = 768
- integer taborder = 30
- boolean bringtotop = true
- string text = "删除"
- string normalpicname = "p1.ICO"
- integer picsize = 16
- end type
- event clicked;call super::clicked;long ll_row
- dw_revlist.setredraw(false)
- for ll_row = dw_revlist.RowCount() TO 1 Step -1
- if dw_revlist.IsSelected(ll_row) then
- dw_revlist.deleteRow(ll_row)
- end if
- next
- dw_revlist.setredraw(true)
- dw_revlist.setfocus( )
- end event
- type dw_revlist from u_dw_rbtnfilter within w_ljmail_msgmx_ch
- integer x = 2048
- integer y = 112
- integer width = 1952
- integer height = 1788
- integer taborder = 20
- boolean bringtotop = true
- string dataobject = "dw_email_sendmx_view"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean hsplitscroll = true
- boolean rbutton_filter_use = true
- boolean titleclick_sort_use = true
- string cur_allowversion = "0"
- end type
- event doubleclicked;call super::doubleclicked;if row > 0 then
- dw_revlist.deleterow(row)
- end if
- end event
- event clicked;call super::clicked;long ll_i
- IF row > 0 THEN
- THIS.SetRow(row)
-
- IF KeyDown(keycontrol!) THEN
- THIS.SelectRow(row,NOT THIS.IsSelected(row))
- ll_lastrow = row
- ELSEIF KeyDown(keyshift!) THEN //按下SHIFT键
- IF ll_lastrow = 0 THEN //上次没选中任何行
- THIS.SelectRow(row,TRUE)
- ll_lastrow = row //ll_lastrow为实例变量,记录上次单击的行
- ELSE
- THIS.SelectRow(0,FALSE) //全都不选中
- IF row > ll_lastrow THEN
- FOR ll_i = ll_lastrow TO row
- THIS.SelectRow(ll_i,TRUE)
- NEXT
- ELSE
- FOR ll_i = ll_lastrow TO row STEP -1
- THIS.SelectRow(ll_i,TRUE)
- NEXT
- END IF
- END IF
- ELSE
- THIS.SelectRow(0,FALSE)
- THIS.SelectRow(row,TRUE)
- ll_lastrow = row
- END IF
- END IF
- end event
- type cb_ok from uo_imflatbutton within w_ljmail_msgmx_ch
- integer x = 3337
- integer y = 1952
- integer taborder = 30
- boolean bringtotop = true
- string normalpicname = "ok.bmp"
- integer picsize = 16
- end type
- event clicked;call super::clicked;s_sendmx_parm s_sendmx
- long i
- FOR i = 1 TO dw_revlist.RowCount()
- s_sendmx.sendmx[i].printid = i
- s_sendmx.sendmx[i].sendid = 0
- s_sendmx.sendmx[i].reltype = dw_revlist.Object.reltype[i]
- s_sendmx.sendmx[i].Relid = dw_revlist.Object.Relid[i]
- s_sendmx.sendmx[i].Revname = RightTrim(LeftTrim(dw_revlist.Object.Revname[i]))
- s_sendmx.sendmx[i].revaddress = RightTrim(LeftTrim(dw_revlist.Object.revaddress[i]))
- NEXT
- closewithreturn(parent, s_sendmx)
- end event
- type cb_cancel from uo_imflatbutton within w_ljmail_msgmx_ch
- integer x = 3680
- integer y = 1952
- integer taborder = 40
- boolean bringtotop = true
- string text = "取消"
- boolean cancel = true
- string normalpicname = "exit.bmp"
- integer picsize = 16
- end type
- event clicked;call super::clicked;close(parent)
- end event
- type tv_1 from treeview within w_ljmail_msgmx_ch
- integer y = 112
- integer width = 1659
- integer height = 1788
- integer taborder = 20
- boolean bringtotop = true
- integer textsize = -9
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- borderstyle borderstyle = stylelowered!
- string picturename[] = {"email_whitebook.bmp","email_colorbook.bmp","email_rep.bmp",""}
- long picturemaskcolor = 536870912
- long statepicturemaskcolor = 536870912
- end type
- event constructor;/****************************************************************
- * global type s_tv_data from structure
- * integer reltype
- * long relid
- * string mailname
- * string mailaddress
- * end type
- * reltype: 0: 通信录联系人
- * 1: 客户
- * 2: 供应商
- * 3: 手动
- * 4: 客户联系人
- * 5: 供应商联系人
- * 6: 员工
- * ---------------
- * 10: 通信录
- * 11: 客户区域
- * 12: 客户区域根目录
- * 13: 供应商类别
- * 14: 供应商类别根目录
- * 15: 部门
- * 16: 部门根目录
- * -------------------
- * -1: 根目录
- *
- *
- *
- *****************************************************************/
- Long tvi_hdl = 0
- Long ll_parent, ll_rep_hand, ll_cus_hand, ll_spt_hand
- ll_parent = This.InsertItemLast(0,'[双击添加]', 1)
- ll_rep_hand = This.InsertItemLast(ll_parent, '通讯录', 2)
- ll_cus_hand = This.InsertItemLast(ll_parent, '客户', 2)
- ll_spt_hand = This.InsertItemLast(ll_parent, '供应商', 2)
- TreeViewItem l_tvi
- s_tv_data s_data
- IF This.GetItem(ll_parent, l_tvi) = 1 THEN
- s_data.reltype = -1
- s_data.relid = 0
- s_data.mailname = ''
- s_data.mailAddress = ''
- l_tvi.Data = s_data
- This.SetItem(ll_parent, l_tvi)
- END IF
- IF This.GetItem(ll_rep_hand, l_tvi) = 1 THEN
- l_tvi.Children = True
- s_data.reltype = 10
- s_data.relid = 0
- s_data.mailname = ''
- s_data.mailAddress = ''
- l_tvi.Data = s_data
- This.SetItem(ll_rep_hand, l_tvi)
- END IF
- IF This.GetItem(ll_cus_hand, l_tvi) = 1 THEN
- l_tvi.Children = True
- s_data.reltype = 12
- s_data.relid = 0
- s_data.mailname = ''
- s_data.mailAddress = ''
- l_tvi.Data = s_data
- This.SetItem(ll_cus_hand, l_tvi)
- END IF
- IF This.GetItem(ll_spt_hand, l_tvi) = 1 THEN
- l_tvi.Children = True
- s_data.reltype = 14
- s_data.relid = 0
- s_data.mailname = ''
- s_data.mailAddress = ''
- l_tvi.Data = s_data
- This.SetItem(ll_spt_hand, l_tvi)
- END IF
- This.ExpandItem(ll_parent)
- end event
- event itemexpanding;treeviewitem l_tvi, l_tvi_new
- IF This.GetItem(Handle, l_tvi) <> 1 THEN
- RETURN
- END IF
- s_tv_data s_data, s_data_new
- s_data = l_tvi.Data
- Long ll_relid, ll_new_handle, ll_cnt
- String ls_mailname, ls_mailaddress,ls_repname
- IF Not l_tvi.ExpandedOnce THEN
- Boolean hasChild = False
- /////////////////////////////////////////////////////////////// //
- IF s_data.reltype = 10 THEN // 加入通信录联系人
- // TODO: 要改成ljmail联系人
- DECLARE cursor10 CURSOR FOR
- SELECT repID AS relid, mailname, mailaddress
- FROM u_email_rep
- WHERE ( (empid = :sys_empid) OR
- (empid = 0) )And (reptype = 1);
- OPEN cursor10;
- FETCH cursor10 Into :ll_relid, :ls_mailname, :ls_mailaddress;
- DO While (sqlca.SQLCode = 0)
- s_data_new.reltype = 0 //
- s_data_new.relid = ll_relid
- s_data_new.mailname = ls_mailname
- s_data_new.mailAddress = ls_mailaddress
- ll_new_handle = This.InsertItemLast(Handle, ls_mailname + '<' + ls_mailaddress + '>', 3) // 在此设置联系人图标
- IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
- l_tvi_new.Data = s_data_new
- This.SetItem(ll_new_handle, l_tvi_new)
- END IF
-
- hasChild = True
- FETCH cursor10 Into :ll_relid, :ls_mailname, :ls_mailaddress;
- LOOP
- CLOSE cursor10;
-
- ///////////////////////////////////////////////////////////////// //
- ELSEIF s_data.reltype = 12 Or s_data.reltype = 11 THEN // 加入客户区域
-
- DECLARE cursor12 CURSOR FOR
- SELECT cusareaid, cusareaname, areaname
- FROM u_cusarea
- Where parentid = :s_data.relid;
- OPEN cursor12;
- FETCH cursor12 Into :ll_relid, :ls_mailname, :ls_mailaddress;
- DO While (sqlca.SQLCode = 0)
- IF Not wf_cansee_cusarea(ll_relid) THEN GOTO ext12
- s_data_new.reltype = 11
- s_data_new.relid = ll_relid
- s_data_new.mailname = ''
- s_data_new.mailAddress = ''
- s_data_new.repname=''
- ll_new_handle = This.InsertItemLast(Handle, ls_mailname, 2) // 在此设置区域图标
- IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
- l_tvi_new.Children = true
- l_tvi_new.Data = s_data_new
- This.SetItem(ll_new_handle, l_tvi_new)
- END IF
-
- hasChild = True
- ext12:
- FETCH cursor12 Into :ll_relid, :ls_mailname, :ls_mailaddress;
- LOOP
- CLOSE cursor12;
-
- ///////////////////////////////////////////////////////////////// //
- IF s_data.reltype = 11 THEN // 加入客户
-
- DECLARE cursor11 CURSOR FOR
- SELECT cusid AS relid,ltrim(rtrim( name))+' '+rep AS mailname, ljmail AS mailaddress,u_cust.rep
- FROM u_cust
- Where (inuse = 1) And (cusareaid = :s_data.relid);
- OPEN cursor11;
- FETCH cursor11 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
- DO While (sqlca.SQLCode = 0)
- s_data_new.reltype = 1
- s_data_new.relid = ll_relid
- s_data_new.mailname = ls_mailname
- s_data_new.mailAddress = ls_mailaddress
- s_data_new.repname=ls_repname
- long len
- len=len(ls_mailname)
- IF Not wf_cansee_cus(ll_relid) THEN GOTO ext11
- ll_new_handle = This.InsertItemLast(Handle,ls_mailname + '<' + ls_mailaddress + '>', 3) // 在此设置客户图标
- IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
- l_tvi_new.Children = wf_cus_haschild(ll_relid)
- l_tvi_new.Data = s_data_new
- This.SetItem(ll_new_handle, l_tvi_new)
- END IF
-
- hasChild = True
- ext11:
- FETCH cursor11 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
- LOOP
- CLOSE cursor11;
-
- END IF
-
- ///////////////////////////////////////////////////////////////////// //
- ELSEIF s_data.reltype = 14 THEN // 加入供应商类别
-
- DECLARE cursor14 CURSOR FOR
- SELECT u_spttype.spttypeid,
- u_spttype.spttypename
- FROM u_spttype
- Where u_spttype.inuse = 1;
- OPEN cursor14;
- FETCH cursor14 Into :ll_relid, :ls_mailname;
- DO While (sqlca.SQLCode = 0)
- IF Not wf_cansee_spttype(ll_relid) THEN GOTO ext14
- s_data_new.reltype = 13
- s_data_new.relid = ll_relid
- s_data_new.mailname = ''
- s_data_new.mailAddress = ''
- s_data_new.repname=''
- ll_new_handle = This.InsertItemLast(Handle, ls_mailname, 2) // 在此设置供应商类别图标
- IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
- l_tvi_new.Children = True
- l_tvi_new.Data = s_data_new
- This.SetItem(ll_new_handle, l_tvi_new)
- END IF
-
- hasChild = True
- ext14:
- FETCH cursor14 Into :ll_relid, :ls_mailname;
- LOOP
- CLOSE cursor14;
-
- ///////////////////////////////////////////////////// //
- ELSEIF s_data.reltype = 13 THEN // 加入供应商
-
- DECLARE cursor13 CURSOR FOR
- SELECT sptid AS relid, ltrim(rtrim( name))+' '+rep AS mailname, ljmail AS mailaddress,u_spt.rep
- FROM u_spt
- Where (inuse = 1) And (spttypeid = :s_data.relid);
- OPEN cursor13;
- FETCH cursor13 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
- DO While (sqlca.SQLCode = 0)
- s_data_new.reltype = 2
- s_data_new.relid = ll_relid
- s_data_new.mailname = ls_mailname
- s_data_new.mailAddress = ls_mailaddress
- s_data_new.repname=ls_repname
- IF Not wf_cansee_spt(ll_relid) THEN GOTO ext13
- ll_new_handle = This.InsertItemLast(Handle, ls_mailname + '<' + ls_mailaddress + '>', 3) // 设置供应商图标
- IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
- l_tvi_new.Children = wf_spt_haschild(ll_relid)
- l_tvi_new.Data = s_data_new
- This.SetItem(ll_new_handle, l_tvi_new)
- END IF
-
- hasChild = True
- ext13:
- FETCH cursor13 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
- LOOP
- CLOSE cursor13;
-
- //////////////////////////////////////////////////////////// //
- ELSEIF s_data.reltype = 1 THEN // 加入客户联系人
-
- DECLARE cursor1 CURSOR FOR
- SELECT u_cust_rep.repid, RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)) AS mailname,
- u_cust_rep.ljmail AS mailaddress,u_cust_rep.repname
- FROM u_cust AS u_cust_1 INNER JOIN
- u_cust_rep ON u_cust_1.cusid = u_cust_rep.cusid
- WHERE (u_cust_1.cusid = :s_data.relid)
- And (u_cust_rep.ljmail <> '');
- OPEN cursor1;
- FETCH cursor1 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
- DO While(sqlca.SQLCode = 0)
- s_data_new.reltype = 4
- s_data_new.relid = ll_relid
- s_data_new.mailname = ls_mailname
- s_data_new.mailAddress = ls_mailaddress
- s_data_new.repname=ls_repname
- ll_new_handle = This.InsertItemLast(Handle, ls_mailname + '<' + ls_mailaddress + '>', 3) // 设置客户联系人图标
- IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
- l_tvi_new.Data = s_data_new
- This.SetItem(ll_new_handle, l_tvi_new)
- END IF
-
- hasChild = True
- FETCH cursor1 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
- LOOP
- CLOSE cursor1;
-
- ELSEIF s_data.reltype = 2 THEN // 加入供应商联系人
-
- DECLARE cursor2 CURSOR FOR
- SELECT u_spt_rep.repid, RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)) AS mailname,
- u_spt_rep.ljmail AS mailaddress,u_spt_rep.repname
- FROM u_spt AS u_spt_1 INNER JOIN
- u_spt_rep ON u_spt_1.sptid = u_spt_rep.sptid
- WHERE (u_spt_1.inuse = 1) AND (u_spt_1.sptid = :s_data.relid)
- And (u_spt_rep.ljmail <> '');
- OPEN cursor2;
- FETCH cursor2 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
- DO While(sqlca.SQLCode = 0)
- s_data_new.reltype = 5
- s_data_new.relid = ll_relid
- s_data_new.mailname = ls_mailname
- s_data_new.mailAddress = ls_mailaddress
- s_data_new.repname=ls_repname
- ll_new_handle = This.InsertItemLast(Handle, ls_mailname + '<' + ls_mailaddress + '>', 3) // 设置供应商联系人图标
- IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
- l_tvi_new.Data = s_data_new
- This.SetItem(ll_new_handle, l_tvi_new)
- END IF
-
- hasChild = True
- FETCH cursor2 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
- LOOP
- CLOSE cursor2;
-
- END IF
-
- IF s_data.reltype <> -1 THEN
- l_tvi.Children = hasChild
- This.SetItem(Handle, l_tvi)
- END IF
- END IF
- end event
- event doubleclicked;treeviewitem l_tvi
- long ll_row
- s_tv_data s_data
- if this.getitem(handle, l_tvi) = 1 then
- s_data = l_tvi.data
- if trim(s_data.mailaddress) = '' then
- return
- end if
- if dw_revlist.Find('relid=' + string(s_data.relid) + ' and reltype=' + string(s_data.reltype), 1, dw_revlist.RowCount()) = 0 then
- ll_row = dw_revlist.insertrow(0)
- dw_revlist.object.sendid[ll_row] = 0
- dw_revlist.object.printid[ll_row] = 0
- dw_revlist.object.reltype[ll_row] = s_data.reltype
- dw_revlist.object.relid[ll_row] = s_data.relid
- dw_revlist.object.revaddress[ll_row] = s_data.mailaddress
- dw_revlist.object.revname[ll_row] = s_data.mailname
- dw_revlist.object.dscrp[ll_row] = ''
- end if
- end if
- end event
- event selectionchanged;il_tv_handle = newhandle
- end event
- type sle_1 from singlelineedit within w_ljmail_msgmx_ch
- event keyup pbm_keyup
- integer x = 5
- integer y = 12
- integer width = 1335
- integer height = 84
- integer taborder = 20
- boolean bringtotop = true
- integer textsize = -9
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- borderstyle borderstyle = stylelowered!
- end type
- event keyup;if key <> KeyEnter! then return
- cb_find.triggerevent(clicked!)
- end event
- type sle_2 from singlelineedit within w_ljmail_msgmx_ch
- event keyup pbm_keyup
- integer x = 2053
- integer y = 12
- integer width = 1627
- integer height = 84
- integer taborder = 40
- boolean bringtotop = true
- integer textsize = -9
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- borderstyle borderstyle = stylelowered!
- end type
- event keyup;if key = KeyEnter! then
- parent.triggerevent('ue_add_mail')
- end if
- end event
- type lv_1 from listview within w_ljmail_msgmx_ch
- boolean visible = false
- integer y = 112
- integer width = 1659
- integer height = 1788
- integer taborder = 40
- boolean bringtotop = true
- integer textsize = -9
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- borderstyle borderstyle = stylelowered!
- boolean extendedselect = true
- grsorttype sorttype = ascending!
- listviewview view = listviewsmallicon!
- long largepicturemaskcolor = 536870912
- string smallpicturename[] = {"email_rep.bmp"}
- long smallpicturemaskcolor = 536870912
- long statepicturemaskcolor = 536870912
- end type
- event doubleclicked;listviewitem l_tvi
- long ll_row
- s_tv_data s_data
- if this.getitem(index, l_tvi) = 1 then
- s_data = l_tvi.data
- if trim(s_data.mailaddress) = '' then
- return
- end if
- if dw_revlist.Find('relid=' + string(s_data.relid) + ' and reltype=' + string(s_data.reltype), 1, dw_revlist.RowCount()) = 0 then
- ll_row = dw_revlist.insertrow(0)
- dw_revlist.object.sendid[ll_row] = 0
- dw_revlist.object.printid[ll_row] = 0
- dw_revlist.object.reltype[ll_row] = s_data.reltype
- dw_revlist.object.relid[ll_row] = s_data.relid
- dw_revlist.object.revaddress[ll_row] = s_data.mailaddress
- dw_revlist.object.revname[ll_row] = s_data.mailname
- dw_revlist.object.dscrp[ll_row] = ''
- end if
- end if
- end event
- type cb_find from uo_imflatbutton within w_ljmail_msgmx_ch
- integer x = 1353
- integer y = 4
- integer taborder = 30
- boolean bringtotop = true
- string text = "查找"
- string normalpicname = "PREVIEW.BMP"
- integer picsize = 16
- end type
- event clicked;call super::clicked;if sle_1.text = '' then
- tv_1.visible = true
- lv_1.visible = not tv_1.visible
- else
- tv_1.visible = false
- lv_1.visible = not tv_1.visible
- lv_1.DeleteItems()
-
- long ll_relid, ll_tmp
- string arg_parm, ls_mailname, ls_mailaddress
- s_tv_data s_data
- listviewitem l_lvi
- arg_parm = '%' + sle_1.text + '%'
- lv_1.setredraw(false)
- // 通信录
- declare cursor1 cursor for
- SELECT repID AS relid, mailname, mailaddress
- FROM u_email_rep
- WHERE (empid = :sys_empid OR
- empid = 0) AND (reptype = 1) AND (LOWER(mailname) LIKE LOWER(:arg_parm) OR
- LOWER(mailaddress) LIKE LOWER(:arg_parm));
- open cursor1;
- fetch cursor1 INTO :ll_relid, :ls_mailname, :ls_mailaddress;
- do while (sqlca.sqlcode = 0)
- s_data.reltype = 0
- s_data.relid = ll_relid
- s_data.mailname = ls_mailname
- s_data.mailaddress = ls_mailaddress
- l_lvi.label = ls_mailname + '<' + ls_mailaddress + '>'
- l_lvi.data = s_data
- l_lvi.pictureindex = 1
- lv_1.additem(l_lvi)
- fetch cursor1 INTO :ll_relid, :ls_mailname, :ls_mailaddress;
- loop
- close cursor1;
-
- // 客户
- declare cursor2 cursor for
- SELECT cusid, cuscode, ljmail, cusareaid
- FROM u_cust
- WHERE (inuse = 1) AND (ljmail <> '') AND (LOWER(cuscode) LIKE LOWER(:arg_parm) OR
- LOWER(ljmail) LIKE LOWER(:arg_parm));
- open cursor2;
- fetch cursor2 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
- do while (sqlca.sqlcode = 0)
- if not wf_cansee_cusarea(ll_tmp) then goto ext2
- s_data.reltype = 1
- s_data.relid = ll_relid
- s_data.mailname = ls_mailname
- s_data.mailaddress = ls_mailaddress
- l_lvi.label = ls_mailname + '<' + ls_mailaddress + '>'
- l_lvi.data = s_data
- l_lvi.pictureindex = 1
- lv_1.additem(l_lvi)
- ext2:
- fetch cursor2 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
- loop
- close cursor2;
- // 客户联系人
- declare cursor3 cursor for
- SELECT u_cust_rep.repid, RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)) AS mailname,
- u_cust_rep.ljmail AS mailaddress, u_cust_1.cusareaid
- FROM u_cust AS u_cust_1 INNER JOIN
- u_cust_rep ON u_cust_1.cusid = u_cust_rep.cusid AND u_cust_1.cusid = u_cust_rep.cusid
- WHERE (u_cust_1.inuse = 1) AND (u_cust_rep.ljmail <> '') AND
- (LOWER(RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname))) LIKE LOWER(:arg_parm) OR
- LOWER(u_cust_rep.ljmail) LIKE LOWER(:arg_parm));
- open cursor3;
- fetch cursor3 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
- do while (sqlca.sqlcode = 0)
- if not wf_cansee_cusarea(ll_tmp) then goto ext3
- s_data.reltype = 4
- s_data.relid = ll_relid
- s_data.mailname = ls_mailname
- s_data.mailaddress = ls_mailaddress
- l_lvi.label = ls_mailname + '<' + ls_mailaddress + '>'
- l_lvi.data = s_data
- l_lvi.pictureindex = 1
- lv_1.additem(l_lvi)
- ext3:
- fetch cursor3 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
- loop
- close cursor3;
- // 供应商
- declare cursor4 cursor for
- SELECT sptid, sptcode, ljmail,spttypeid
- FROM u_spt
- WHERE (inuse = 1) AND (ljmail <> '') AND (LOWER(sptcode) LIKE LOWER(:arg_parm) OR
- LOWER(ljmail) LIKE LOWER(:arg_parm));
- open cursor4;
- fetch cursor4 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
- do while (sqlca.sqlcode = 0)
- if not wf_cansee_spttype(ll_tmp) then goto ext4
- s_data.reltype = 2
- s_data.relid = ll_relid
- s_data.mailname = ls_mailname
- s_data.mailaddress = ls_mailaddress
- l_lvi.label = ls_mailname + '<' + ls_mailaddress + '>'
- l_lvi.data = s_data
- l_lvi.pictureindex = 1
- lv_1.additem(l_lvi)
- ext4:
- fetch cursor4 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
- loop
- close cursor4;
- // 供应商联系人
- declare cursor5 cursor for
- SELECT u_spt_rep.repid, RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)) AS mailname,
- u_spt_rep.ljmail AS mailaddress,u_spt_1.spttypeid
- FROM u_spt AS u_spt_1 INNER JOIN
- u_spt_rep ON u_spt_1.sptid = u_spt_rep.sptid AND u_spt_1.sptid = u_spt_rep.sptid
- WHERE (u_spt_1.inuse = 1) AND (u_spt_rep.ljmail <> '') AND
- (LOWER(RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname))) LIKE LOWER(:arg_parm) OR
- LOWER(u_spt_rep.ljmail) LIKE LOWER(:arg_parm));
- open cursor5;
- fetch cursor5 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
- do while (sqlca.sqlcode = 0)
- if not wf_cansee_spttype(ll_tmp) then goto ext5
- s_data.reltype = 2
- s_data.relid = ll_relid
- s_data.mailname = ls_mailname
- s_data.mailaddress = ls_mailaddress
- l_lvi.label = ls_mailname + '<' + ls_mailaddress + '>'
- l_lvi.data = s_data
- l_lvi.pictureindex = 1
- lv_1.additem(l_lvi)
- ext5:
- fetch cursor5 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
- loop
- close cursor5;
- lv_1.setredraw(true)
- end if
- end event
- type cb_3 from uo_imflatbutton within w_ljmail_msgmx_ch
- integer x = 3698
- integer y = 4
- integer taborder = 30
- boolean bringtotop = true
- string text = "添加"
- string normalpicname = "NEW.BMP"
- integer picsize = 16
- end type
- event clicked;call super::clicked;parent.triggerevent('ue_add_mail')
- end event
- type ln_bar from line within w_ljmail_msgmx_ch
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 1924
- integer endx = 3118
- integer endy = 1924
- end type
- type ln_bar2 from line within w_ljmail_msgmx_ch
- long linecolor = 16777215
- integer linethickness = 4
- integer beginy = 1928
- integer endx = 3150
- integer endy = 1928
- end type
|