$PBExportHeader$w_fx_address.srw forward global type w_fx_address from w_publ_base_style end type type cb_add from uo_imflatbutton within w_fx_address end type type cb_edit from uo_imflatbutton within w_fx_address end type type cb_del from uo_imflatbutton within w_fx_address end type type dw_1 from datawindow within w_fx_address end type type cb_default from uo_imflatbutton within w_fx_address end type end forward global type w_fx_address from w_publ_base_style integer width = 1847 integer height = 1508 string title = "地址管理" cb_add cb_add cb_edit cb_edit cb_del cb_del dw_1 dw_1 cb_default cb_default end type global w_fx_address w_fx_address type variables long ins_modcol = 3 long modifyrow_no=0,crl_row //当前行记录 end variables forward prototypes public subroutine wf_refresh () public function integer wf_face_change () end prototypes public subroutine wf_refresh ();string arg_msg oleobject req, rsp req = FxAppCom.CreatePbDictionary() req.setString('token', app_token_fx) rsp = FxAppCom.DoExecute('GetCusAddressList', req) arg_msg = rsp.getString('ErrMsg') if arg_msg <> '' then messagebox('错误', '获取地址信息失败:' + arg_msg) return end if oleobject addressList,item long cnt, i addressList = rsp.getPbArray('addressList') cnt = addressList.count dw_1.reset() dw_1.setRedraw(false) for i = 1 to cnt item = FxAppCom.CreatePbDictionary() item = addressList.GetPBDictionary(i - 1) dw_1.insertRow(0) dw_1.Object.addressid[i] = item.getInt('addressid') dw_1.Object.cus_rep[i] = item.getString('cus_rep') dw_1.Object.cus_tele[i] = item.getString('cus_tele') dw_1.Object.cus_address[i] = item.getString('cus_address') dw_1.Object.freight[i] = item.getString('freight') dw_1.Object.freight_tele[i] = item.getString('freight_tele') dw_1.Object.ifdefault[i] = item.getInt('ifdefault') next dw_1.setRedraw(true) end subroutine public function integer wf_face_change ();IF dw_edit_mode THEN cb_func.Enabled = FALSE cb_del.Enabled = FALSE cb_edit.Text = "放弃&E" cb_add.Text = "保存&S" cb_edit.normalpicname = 'Undo.bmp' cb_add.normalpicname = 'Save.bmp' ELSE cb_func.Enabled = TRUE cb_del.Enabled = TRUE cb_edit.Text = "修改&E" cb_add.Text = "新建&S" cb_edit.normalpicname = 'OPEN.bmp' cb_add.normalpicname = 'new.bmp' END IF cb_edit.of_init_draw() cb_add.of_init_draw() cb_edit.of_paint() cb_add.of_paint() cb_add.TriggerEvent('ue_textchange') cb_edit.TriggerEvent('ue_textchange') RETURN 1 end function on w_fx_address.create int iCurrent call super::create this.cb_add=create cb_add this.cb_edit=create cb_edit this.cb_del=create cb_del this.dw_1=create dw_1 this.cb_default=create cb_default iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.cb_add this.Control[iCurrent+2]=this.cb_edit this.Control[iCurrent+3]=this.cb_del this.Control[iCurrent+4]=this.dw_1 this.Control[iCurrent+5]=this.cb_default end on on w_fx_address.destroy call super::destroy destroy(this.cb_add) destroy(this.cb_edit) destroy(this.cb_del) destroy(this.dw_1) destroy(this.cb_default) end on event open;call super::open;wf_refresh() end event event resize;call super::resize;dw_1.width = newwidth end event type cb_func from w_publ_base_style`cb_func within w_fx_address integer x = 512 integer width = 165 string text = "刷新" end type type cb_exit from w_publ_base_style`cb_exit within w_fx_address integer x = 960 end type type ln_bar from w_publ_base_style`ln_bar within w_fx_address end type type ln_bar2 from w_publ_base_style`ln_bar2 within w_fx_address end type type r_bar from w_publ_base_style`r_bar within w_fx_address end type type cb_add from uo_imflatbutton within w_fx_address integer width = 165 integer height = 164 integer taborder = 20 boolean bringtotop = true string text = "新增" string normalpicname = "New.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;long row, i string arg_msg row = dw_1.getRow() if dw_edit_mode then dw_1.AcceptText() if dw_1.Object.cus_rep[row] = '' then messagebox('error', '收货人不能为空') return elseif dw_1.Object.cus_tele[row] = '' then messagebox('error', '收货人电话不能为空') return elseif dw_1.Object.cus_address[row] = '' then messagebox('error', '收货地址不能为空') return end if oleobject address address = FxAppCom.CreatePbDictionary() if ISNULL(dw_1.Object.addressid[row]) then address.setInt('addressid', 0) else address.setInt('addressid', dw_1.Object.addressid[row]) end if address.setString('cus_rep', dw_1.Object.cus_rep[row]) address.setString('cus_tele', dw_1.Object.cus_tele[row]) address.setString('cus_address', dw_1.Object.cus_address[row]) address.setString('freight', dw_1.Object.freight[row]) address.setString('freight_tele', dw_1.Object.freight_tele[row]) oleobject req, rsp req = FXAppCom.CreatePbDictionary() req.setString('token', app_token_fx) req.setObject('address', address) rsp = FXAppCom.DoExecute('SaveCusAddress', req) arg_msg = rsp.GetString('ErrMsg') if arg_msg <> '' then messagebox('error', arg_msg) else messagebox('success', '保存成功') For i = 1 To ins_modcol dw_1.SetTabOrder ( i, 0 ) Next end if wf_refresh() else Long li_row, li_cur_row li_cur_row = dw_1.GetRow() li_row = dw_1.InsertRow (0) For i = 1 To ins_modcol dw_1.SetTabOrder ( i, i*10 ) Next dw_1.SelectRow(0,False) dw_1.ScrollToRow (li_row) dw_1.SelectRow(li_row,True) dw_1.SetFocus() modifyrow_no = li_row end if dw_edit_mode = Not dw_edit_mode WF_FACE_CHANGE() end event type cb_edit from uo_imflatbutton within w_fx_address integer x = 174 integer width = 165 integer height = 164 integer taborder = 10 boolean bringtotop = true string text = "修改" string normalpicname = "Open.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;long i If dw_edit_mode Then If dw_1.GetItemStatus(dw_1.GetRow(), 0, Primary!) = New! Then dw_1.DeleteRow(dw_1.GetRow()) End If For i = 1 To ins_modcol dw_1.SetTabOrder ( i, 0 ) Next modifyrow_no = 0 wf_refresh() Else modifyrow_no = dw_1.GetRow() For i = 1 To ins_modcol dw_1.SetTabOrder ( i, i*10) Next dw_1.SetFocus() dw_1.SelectRow(0,False) dw_1.ScrollToRow (modifyrow_no) dw_1.SelectRow(modifyrow_no,True) End If dw_edit_mode = Not dw_edit_mode WF_FACE_CHANGE() end event type cb_del from uo_imflatbutton within w_fx_address integer x = 343 integer width = 165 integer height = 164 integer taborder = 10 boolean bringtotop = true string text = "删除" string normalpicname = "Delete.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;long row row = dw_1.getRow() if row <= 0 then return end if string arg_msg oleobject req,rsp req = FxAppCom.CreatePbDictionary() req.setString('token', app_token_fx) req.setInt('addressid', dw_1.Object.addressid[row]) rsp = FxAppCom.DoExecute('DelCusAddress', req) arg_msg = rsp.getString('ErrMsg') if arg_msg <> '' then messagebox('错误', '删除地址失败:' + arg_msg) else messagebox('成功', '删除地址成功') end if wf_refresh() end event type dw_1 from datawindow within w_fx_address integer y = 176 integer width = 1833 integer height = 1252 integer taborder = 20 boolean bringtotop = true string title = "none" string dataobject = "dw_fx_address" boolean hscrollbar = true boolean vscrollbar = true boolean livescroll = true borderstyle borderstyle = stylelowered! end type event rowfocuschanged;IF modifyrow_no >0 AND dw_edit_mode THEN THIS.SETROW(modifyrow_no) THIS.ScrollToRow(modifyrow_no) else this.selectrow(0,false) this.selectrow(currentrow,true) END IF end event type cb_default from uo_imflatbutton within w_fx_address integer x = 681 integer width = 274 integer height = 164 integer taborder = 20 boolean bringtotop = true string text = "设为默认" string normalpicname = "Delete.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;long row row = dw_1.getRow() if row <= 0 then return end if string arg_msg oleobject req,rsp req = FxAppCom.CreatePbDictionary() req.setString('token', app_token_fx) req.setInt('addressid', dw_1.Object.addressid[row]) rsp = FxAppCom.DoExecute('SetDefaultAddress', req) arg_msg = rsp.getString('ErrMsg') if arg_msg <> '' then messagebox('错误', '设置默认地址失败:' + arg_msg) else messagebox('成功', '设默认地址成功') end if wf_refresh() end event