$PBExportHeader$w_ljmail_send_fx.srw
$PBExportComments$(协同)发送邮件
forward
global type w_ljmail_send_fx from w_publ_base_style
end type
type uo_1 from uo_html_editor within w_ljmail_send_fx
end type
type st_1 from statictext within w_ljmail_send_fx
end type
type sle_contact from singlelineedit within w_ljmail_send_fx
end type
type pb_contact from picturebutton within w_ljmail_send_fx
end type
type st_2 from statictext within w_ljmail_send_fx
end type
type sle_subject from singlelineedit within w_ljmail_send_fx
end type
type cb_send from uo_imflatbutton within w_ljmail_send_fx
end type
type cb_save from uo_imflatbutton within w_ljmail_send_fx
end type
end forward
global type w_ljmail_send_fx from w_publ_base_style
integer width = 4037
integer height = 2404
string title = "发送邮件"
boolean maxbox = true
boolean resizable = true
long backcolor = 16777215
string icon = "graphics\chain_link_128px.ico"
uo_1 uo_1
st_1 st_1
sle_contact sle_contact
pb_contact pb_contact
st_2 st_2
sle_subject sle_subject
cb_send cb_send
cb_save cb_save
end type
global w_ljmail_send_fx w_ljmail_send_fx
type variables
s_fx_ljmail_contact ins_contacts // 收件人信息
long ins_msgid
end variables
forward prototypes
public function integer wf_chk ()
public function integer wf_save ()
public function integer wf_send ()
public function integer wf_get_contact (long arg_commid, string arg_ljmail)
end prototypes
public function integer wf_chk ();// 发送前检查(保存不需要检查)
int rslt = 1
string msg
if UpperBound(ins_contacts.revljmail) <= 0 then
rslt = 0
msg += '请选择收件人~r~n'
end if
if (Trim(sle_subject.Text) = '') then
rslt = 0
msg += '请填写主题~r~n'
end if
if (Trim(uo_1.uf_gethtml()) = '') then
rslt = 0
msg += '请填写正文内容~r~n'
end if
if (rslt = 0) then
MessageBox('提示', msg)
end if
return rslt
end function
public function integer wf_save ();int rslt = 1
oleobject mxs, mxItem
mxs = FXAppCom.CreArrOfPbDictionary()
long i
for i = 1 to UpperBound(ins_contacts.revljmail)
mxItem = FXAppCom.CreatePbDictionary()
mxItem.SetString('comname', ins_contacts.revname[i])
mxItem.SetString('empid', ins_contacts.revempid[i])
mxItem.SetString('empname', ins_contacts.revname[i])
mxItem.SetString('reltype', ins_contacts.reltype[i])
mxItem.SetString('relid', 0)
mxItem.SetString('ljmail', ins_contacts.revljmail[i])
mxs.Add(mxItem)
next
oleobject msg
msg = FXAppCom.CreatePbDictionary()
msg.SetInt('msgid', ins_msgid)
msg.SetString('subject', Trim(sle_subject.Text))
msg.SetString('htmlbody', Trim(uo_1.uf_gethtml()))
string arg_msg
long msgid
msgid = FXAppCom.AddLjmail(app_token_fx, msg, mxs, ref arg_msg)
if (arg_msg <> '' or msgid <= 0) then
rslt = 0
MessageBox('提示', '保存操作失败~r~n' + arg_msg)
else
ins_msgid = msgid
end if
return rslt
end function
public function integer wf_send ();int rslt = 1
if (wf_chk() <> 1) then
rslt = 0
goto ext
end if
if (wf_save() <> 1) then
rslt = 0
goto ext
end if
if (ins_msgid <= 0) then
rslt = 0
MessageBox('提示', '请先进行保存操作')
goto ext
end if
string arg_msg
FXAppCom.SendLjmail(app_token_fx, ins_msgid, ref arg_msg)
if (arg_msg <> '') then
rslt = 0
MessageBox('提示', '发送失败:' + arg_msg)
else
MessageBox('提示', '发送成功')
end if
ext:
return rslt
end function
public function integer wf_get_contact (long arg_commid, string arg_ljmail);// 使用回复邮件功能
// 传入发件人在本地邮件服务的CusCommID和发件人龙嘉邮箱地址
int rslt = 1
string arg_msg
oleobject obj, parm
parm = FXAppCom.CreatePbDictionary()
parm.SetInt('Commid', arg_commid)
parm.SetString('Ljmail', arg_ljmail)
FXAppCom.GetContactByLjmail(app_token_fx, parm, ref arg_msg)
if (arg_msg <> '') then
rslt = 0
MessageBox('提示', '获取联系人信息失败:' + arg_msg)
goto ext
end if
s_fx_ljmail_contact contacts_empty
ins_contacts = contacts_empty
obj = parm.GetPBDictionary('Contact')
ins_contacts.cid[1] = obj.GetInt('cid')
ins_contacts.userid[1] = obj.GetInt('userid')
ins_contacts.reltype[1] = obj.GetInt('relType')
ins_contacts.revcuscommid[1] = obj.GetInt('revCusCommID')
ins_contacts.revname[1] = obj.GetString('revName')
ins_contacts.revempid[1] = obj.GetInt('revEmpid')
ins_contacts.revljmail[1] = obj.GetString('revLjmail')
//ins_contacts.revrep[1] = obj.GetString('revRep')
sle_contact.Text += ins_contacts.revname[1] + '<' + ins_contacts.revljmail[1] + '>;'
ext:
return rslt
end function
on w_ljmail_send_fx.create
int iCurrent
call super::create
this.uo_1=create uo_1
this.st_1=create st_1
this.sle_contact=create sle_contact
this.pb_contact=create pb_contact
this.st_2=create st_2
this.sle_subject=create sle_subject
this.cb_send=create cb_send
this.cb_save=create cb_save
iCurrent=UpperBound(this.Control)
this.Control[iCurrent+1]=this.uo_1
this.Control[iCurrent+2]=this.st_1
this.Control[iCurrent+3]=this.sle_contact
this.Control[iCurrent+4]=this.pb_contact
this.Control[iCurrent+5]=this.st_2
this.Control[iCurrent+6]=this.sle_subject
this.Control[iCurrent+7]=this.cb_send
this.Control[iCurrent+8]=this.cb_save
end on
on w_ljmail_send_fx.destroy
call super::destroy
destroy(this.uo_1)
destroy(this.st_1)
destroy(this.sle_contact)
destroy(this.pb_contact)
destroy(this.st_2)
destroy(this.sle_subject)
destroy(this.cb_send)
destroy(this.cb_save)
end on
event open;call super::open;uo_1.pb_picture.Visible = False
s_ljmail_msg temp
temp = Message.PowerObjectParm
if not IsValid(temp) then return
if IsNull(temp) then return
if (temp.msgid > 0) then // 使用编辑功能--编辑邮件
else // 使用回复功能--回复邮件
sle_subject.Text = '回复:' + temp.subject
string html
html = '
####################原始邮件####################
' + temp.htmlbody uo_1.uf_sethtml(html) wf_get_contact(temp.revcomid, temp.revljmail) end if end event event resize;call super::resize;if (this.Width < 4000) then this.Width = 4000 if (this.Height < 2300) then this.Height = 2300 sle_contact.Width = this.workspacewidth( ) - sle_contact.X - pb_contact.Width - 20 pb_contact.X = sle_contact.X + sle_contact.Width + 10 sle_subject.Width = sle_contact.Width uo_1.Width = this.workspacewidth( ) uo_1.Height = this.workspaceheight( ) - uo_1.Y cb_exit.X = this.workspacewidth( ) - cb_exit.Width end event type cb_func from w_publ_base_style`cb_func within w_ljmail_send_fx boolean visible = false integer taborder = 0 boolean enabled = false end type type cb_exit from w_publ_base_style`cb_exit within w_ljmail_send_fx integer x = 1234 integer taborder = 70 end type type ln_bar from w_publ_base_style`ln_bar within w_ljmail_send_fx end type type ln_bar2 from w_publ_base_style`ln_bar2 within w_ljmail_send_fx end type type r_bar from w_publ_base_style`r_bar within w_ljmail_send_fx end type type uo_1 from uo_html_editor within w_ljmail_send_fx integer y = 368 integer width = 2542 integer height = 748 integer taborder = 40 boolean bringtotop = true end type on uo_1.destroy call uo_html_editor::destroy end on type st_1 from statictext within w_ljmail_send_fx integer x = 18 integer y = 192 integer width = 210 integer height = 56 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 16777215 string text = "收件人:" boolean focusrectangle = false end type type sle_contact from singlelineedit within w_ljmail_send_fx event ue_doubleclk pbm_lbuttondblclk integer x = 219 integer y = 180 integer width = 2075 integer height = 80 integer taborder = 10 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string pointer = "HyperLink!" long textcolor = 33554432 boolean displayonly = true borderstyle borderstyle = stylelowered! end type event ue_doubleclk;pb_contact.post event clicked() end event type pb_contact from picturebutton within w_ljmail_send_fx integer x = 2304 integer y = 180 integer width = 82 integer height = 80 integer taborder = 20 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" string pointer = "HyperLink!" string picturename = "people.bmp" alignment htextalign = left! string powertiptext = "通信录" end type event clicked;s_fx_ljmail_contact temp OpenWithParm(w_ljmail_contact_ch_fx, ins_contacts) temp = Message.PowerObjectParm if (IsValid(temp) and not IsNull(temp)) then if (temp.ifch = 1) then ins_contacts = temp sle_contact.Text = '' long i for i = 1 to UpperBound(ins_contacts.revljmail) sle_contact.Text += ins_contacts.revname[i] + '<' + ins_contacts.revljmail[i] + '>;' next end if end if end event type st_2 from statictext within w_ljmail_send_fx integer x = 18 integer y = 288 integer width = 210 integer height = 56 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 16777215 string text = "主题:" boolean focusrectangle = false end type type sle_subject from singlelineedit within w_ljmail_send_fx integer x = 219 integer y = 276 integer width = 2075 integer height = 80 integer taborder = 30 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 borderstyle borderstyle = stylelowered! end type type cb_send from uo_imflatbutton within w_ljmail_send_fx integer width = 151 integer height = 164 integer taborder = 50 boolean bringtotop = true string text = "发送" string normalpicname = "graphics\fx_send.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;if (wf_send() = 1) then Close(parent) end if end event type cb_save from uo_imflatbutton within w_ljmail_send_fx boolean visible = false integer x = 430 integer width = 165 integer height = 164 integer taborder = 60 boolean bringtotop = true boolean enabled = false string text = "保存" boolean border = false end type