$PBExportHeader$w_eb_user_define.srw forward global type w_eb_user_define from w_publ_base end type type dw_1 from u_dw_rbtnfilter within w_eb_user_define end type type ddlb_im_type from dropdownlistbox within w_eb_user_define end type type cb_reflash from uo_imflatbutton within w_eb_user_define end type type cb_edit from uo_imflatbutton within w_eb_user_define end type type cb_del from uo_imflatbutton within w_eb_user_define end type type cbx_1 from checkbox within w_eb_user_define end type type cb_addmx from uo_imflatbutton within w_eb_user_define end type type cb_auth from uo_imflatbutton within w_eb_user_define end type type r_bar from rectangle within w_eb_user_define end type type ln_bar from line within w_eb_user_define end type type ln_bar2 from line within w_eb_user_define end type type ln_1 from line within w_eb_user_define end type type ln_2 from line within w_eb_user_define end type end forward global type w_eb_user_define from w_publ_base integer width = 2807 integer height = 1844 string title = "网店账号" boolean maxbox = true boolean resizable = true windowstate windowstate = maximized! dw_1 dw_1 ddlb_im_type ddlb_im_type cb_reflash cb_reflash cb_edit cb_edit cb_del cb_del cbx_1 cbx_1 cb_addmx cb_addmx cb_auth cb_auth r_bar r_bar ln_bar ln_bar ln_bar2 ln_bar2 ln_1 ln_1 ln_2 ln_2 end type global w_eb_user_define w_eb_user_define type variables long ins_im_type long ins_child = 18 long ins_child_min = 2 uo_eb_user ins_import end variables forward prototypes public function integer wf_save (ref string arg_msg) public subroutine wf_selectall () public subroutine wf_face () public function integer wf_del (ref string arg_msg) public subroutine wf_retrieverow (long arg_row) end prototypes public function integer wf_save (ref string arg_msg);Int rslt = 1 Long i s_eb_user s_import, s_empty FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] <> 1 THEN CONTINUE s_import = s_empty s_import.UserID = dw_1.Object.UserID[i] s_import.im_type = dw_1.Object.im_type[i] s_import.im_userid = dw_1.Object.im_userid[i] s_import.empid = dw_1.Object.empid[i] s_import.moneyid = dw_1.Object.moneyid[i] s_import.typeid = dw_1.Object.typeid[i] s_import.Level = dw_1.Object.Level[i] s_import.banktypeid = dw_1.Object.banktypeid[i] s_import.scid = dw_1.Object.eb_user_scid[i] s_import.requiredays = dw_1.Object.eb_user_requiredays[i] s_import.assign_emp = dw_1.Object.eb_user_assign_emp[i] s_import.upname = dw_1.Object.eb_user_upname[i] s_import.cusid = dw_1.Object.eb_user_cusid[i] s_import.paytype = dw_1.Object.eb_user_paytype[i] s_import.mrate = dw_1.Object.eb_user_mrate[i] s_import.itemid = dw_1.Object.eb_user_itemid[i] s_import.accountsid = dw_1.Object.eb_user_accountsid[i] s_import.take_itemid = dw_1.Object.eb_user_take_itemid[i] IF ins_import.uf_save(s_import, arg_msg, False) <> 1 THEN rslt = 0 GOTO ext END IF NEXT ext: IF rslt = 1 THEN COMMIT; ELSE ROLLBACK; END IF RETURN rslt end function public subroutine wf_selectall ();Long ll_check IF cbx_1.Checked THEN ll_check = 1 ELSE ll_check = 0 END IF Long i FOR i = 1 To dw_1.RowCount() dw_1.Object.ch[i] = ll_check NEXT end subroutine public subroutine wf_face ();Long i cb_reflash.Enabled = Not dw_edit_mode cb_addmx.Enabled = dw_edit_mode cb_auth.Enabled = not dw_edit_mode IF dw_edit_mode THEN FOR i = 1 To ins_child dw_1.SetTabOrder(i, i * 10) NEXT cb_edit.Text = '保存' cb_edit.normalpicname = 'Save.bmp' cb_del.Text = '放弃' cb_del.normalpicname = 'Undo.bmp' ELSE FOR i = 1 To ins_child_min - 1 dw_1.SetTabOrder(i, i * 10) NEXT FOR i = ins_child_min To ins_child dw_1.SetTabOrder(i, 0) NEXT cb_edit.Text = '修改' cb_edit.normalpicname = 'OPEN.bmp' cb_del.Text = '删除' cb_del.normalpicname = 'delete.bmp' END IF cb_edit.of_init_draw() cb_edit.of_paint() cb_edit.TriggerEvent('ue_textchange') cb_del.of_init_draw() cb_del.of_paint() cb_del.TriggerEvent('ue_textchange') end subroutine public function integer wf_del (ref string arg_msg);Int rslt = 1 Long i FOR i = 1 To dw_1.RowCount() IF dw_1.Object.ch[i] <> 1 THEN CONTINUE IF ins_import.uf_del(dw_1.Object.userid[i], arg_msg, False) <> 1 THEN rslt = 0 arg_msg = '第' + String(i) + '行,' + arg_msg GOTO ext END IF NEXT GOTO ext ext: IF rslt = 1 THEN COMMIT; ELSE ROLLBACK; END IF RETURN rslt end function public subroutine wf_retrieverow (long arg_row); end subroutine on w_eb_user_define.create int iCurrent call super::create this.dw_1=create dw_1 this.ddlb_im_type=create ddlb_im_type this.cb_reflash=create cb_reflash this.cb_edit=create cb_edit this.cb_del=create cb_del this.cbx_1=create cbx_1 this.cb_addmx=create cb_addmx this.cb_auth=create cb_auth this.r_bar=create r_bar this.ln_bar=create ln_bar this.ln_bar2=create ln_bar2 this.ln_1=create ln_1 this.ln_2=create ln_2 iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_1 this.Control[iCurrent+2]=this.ddlb_im_type this.Control[iCurrent+3]=this.cb_reflash this.Control[iCurrent+4]=this.cb_edit this.Control[iCurrent+5]=this.cb_del this.Control[iCurrent+6]=this.cbx_1 this.Control[iCurrent+7]=this.cb_addmx this.Control[iCurrent+8]=this.cb_auth this.Control[iCurrent+9]=this.r_bar this.Control[iCurrent+10]=this.ln_bar this.Control[iCurrent+11]=this.ln_bar2 this.Control[iCurrent+12]=this.ln_1 this.Control[iCurrent+13]=this.ln_2 end on on w_eb_user_define.destroy call super::destroy destroy(this.dw_1) destroy(this.ddlb_im_type) destroy(this.cb_reflash) destroy(this.cb_edit) destroy(this.cb_del) destroy(this.cbx_1) destroy(this.cb_addmx) destroy(this.cb_auth) destroy(this.r_bar) destroy(this.ln_bar) destroy(this.ln_bar2) destroy(this.ln_1) destroy(this.ln_2) end on event resize;call super::resize;r_bar.Width = this.width ln_bar.endx = this.width ln_bar2.endx = this.width ln_1.endx = this.width ln_2.endx = this.width dw_1.height = this.WorkSpaceHeight() - dw_1.Y dw_1.Width = this.WorkSpaceWidth() - dw_1.X end event event ue_before_open;call super::ue_before_open;ins_import = create uo_eb_user dw_1.SetTransObject(sqlca) cb_reflash.TriggerEvent(Clicked!) end event event close;call super::close;destroy ins_import end event event open;call super::open;wf_face() end event type cb_func from w_publ_base`cb_func within w_eb_user_define boolean visible = false end type type cb_exit from w_publ_base`cb_exit within w_eb_user_define integer x = 777 integer width = 151 integer height = 164 integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type dw_1 from u_dw_rbtnfilter within w_eb_user_define integer y = 288 integer width = 2798 integer height = 1076 integer taborder = 40 boolean bringtotop = true string dataobject = "dw_eb_user_define" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true boolean rbutton_filter_use = true boolean rbutton_setposition_use = true boolean titleclick_sort_use = true end type event clicked;call super::clicked;IF row > 0 THEN dw_1.SetRow(row) END IF end event event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0, False) IF currentrow > 0 THEN This.SelectRow(currentrow, True) END IF end event event dwnkey;call super::dwnkey;IF Not dw_edit_mode THEN RETURN Long ll_id String ls_key, ls_name, ls_custype, ls_upname IF Key = keyenter! THEN This.AcceptText() IF This.GetColumnName() = 'cuscode' THEN ls_key = This.Object.cuscode[GetRow()] SELECT cusid, name, custype, upname INTO :ll_id, :ls_name, :ls_custype, :ls_upname FROM u_cust Where cuscode = :ls_key; IF sqlca.SQLCode <> 0 THEN ll_id = 0 ls_name = '' ls_custype = '' ls_upname = '' END IF This.Object.eb_user_cusid[GetRow()] = ll_id This.Object.cusname[GetRow()] = ls_name This.Object.eb_user_assign_emp[GetRow()] = ls_custype This.Object.eb_user_upname[GetRow()] = ls_upname ELSEIF This.GetColumnName() = 'empcode' THEN ls_key = This.Object.empcode[GetRow()] SELECT empid, empname INTO :ll_id, :ls_name FROM u_rs_empinfo Where empcode = :ls_key; IF sqlca.SQLCode <> 0 THEN ll_id = 0 ls_name = '' END IF This.Object.empid[GetRow()] = ll_id This.Object.empname[GetRow()] = ls_name ELSEIF This.GetColumnName() = 'itemcode' THEN ls_key = This.Object.itemcode[GetRow()] SELECT itemid,itemname INTO :ll_id, :ls_name FROM u_itemdef Where itemcode = :ls_key; IF sqlca.SQLCode <> 0 THEN ll_id = 0 ls_name = '' END IF This.Object.eb_user_itemid[GetRow()] = ll_id This.Object.itemname[GetRow()] = ls_name ELSEIF This.GetColumnName() = 'takeitemcode' THEN ls_key = This.Object.takeitemcode[GetRow()] SELECT itemid,itemname INTO :ll_id, :ls_name FROM u_itemdef Where itemcode = :ls_key; IF sqlca.SQLCode <> 0 THEN ll_id = 0 ls_name = '' END IF This.Object.eb_user_take_itemid[GetRow()] = ll_id This.Object.takeitemname[GetRow()] = ls_name END IF END IF end event event doubleclicked;call super::doubleclicked;s_edit_index_tran s_tran88 s_itemdef s_inscust String ls_name ls_name = Lower(dwo.Name ) IF row > 0 THEN IF ls_name = 'itemcode' THEN s_tran88.work_mode = 1 OpenWithParm(w_itemdef_ch, s_tran88) //调用 s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.itemid > 0 THEN //正常返回值则可以取以下值 dw_1.Object.eb_user_itemid[row] = s_inscust.itemid dw_1.Object.itemcode[row] = s_inscust.itemcode dw_1.Object.itemname[row] = s_inscust.itemname END IF ELSEIF ls_name = 'takeitemcode' THEN s_tran88.work_mode = 1 OpenWithParm(w_itemdef_ch, s_tran88) //调用 s_inscust = Message.PowerObjectParm //接受返回结构 IF s_inscust.itemid > 0 THEN //正常返回值则可以取以下值 dw_1.Object.eb_user_take_itemid[row] = s_inscust.itemid dw_1.Object.takeitemcode[row] = s_inscust.itemcode dw_1.Object.takeitemname[row] = s_inscust.itemname END IF END IF END IF end event type ddlb_im_type from dropdownlistbox within w_eb_user_define integer x = 325 integer y = 188 integer width = 480 integer height = 636 integer taborder = 40 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 string text = "全部" boolean sorted = false string item[] = {"亚洲国际电商","淘宝","京东","全部"} borderstyle borderstyle = stylelowered! end type event constructor;IF This.Text = '亚洲国际电商' THEN ins_im_type = 1 ELSEIF This.Text = '淘宝' THEN ins_im_type = 5 ELSEIF This.Text = '京东' THEN ins_im_type = 6 ELSE ins_im_type = -1 END IF end event event selectionchanged;IF This.Text = '亚洲国际电商' THEN ins_im_type = 1 ELSEIF This.Text = '淘宝' THEN ins_im_type = 5 ELSEIF This.Text = '京东' THEN ins_im_type = 6 ELSE ins_im_type = -1 END IF cb_reflash.triggerevent(clicked!) end event type cb_reflash from uo_imflatbutton within w_eb_user_define integer width = 151 integer height = 164 integer taborder = 40 boolean bringtotop = true string text = "刷新" string normalpicname = "refresh.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;dw_1.Retrieve(ins_im_type) end event type cb_edit from uo_imflatbutton within w_eb_user_define integer x = 155 integer width = 151 integer height = 164 integer taborder = 40 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;String arg_msg IF dw_edit_mode THEN IF dw_1.AcceptText() <> 1 THEN RETURN IF wf_save(arg_msg) <> 1 THEN MessageBox('错误', arg_msg) RETURN END IF END IF dw_edit_mode = Not dw_edit_mode IF dw_edit_mode THEN cbx_1.Checked = True wf_selectall() ELSE cb_reflash.TriggerEvent(Clicked!) END IF wf_face() end event type cb_del from uo_imflatbutton within w_eb_user_define integer x = 311 integer width = 151 integer height = 164 integer taborder = 50 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;String ls_msg IF dw_edit_mode THEN dw_edit_mode = Not dw_edit_mode cb_reflash.TriggerEvent(Clicked!) wf_face() ELSE IF MessageBox('提问', '是否要删除选中的记录?', Question!, YesNo!) <> 1 THEN RETURN END IF IF wf_del(ls_msg) <> 1 THEN MessageBox('错误', ls_msg) RETURN END IF cb_reflash.TriggerEvent(Clicked!) END IF end event type cbx_1 from checkbox within w_eb_user_define integer x = 14 integer y = 200 integer width = 274 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 = 67108864 string text = "全选" end type event clicked;wf_selectall() end event event constructor;this.backcolor = 14215660 end event type cb_addmx from uo_imflatbutton within w_eb_user_define integer x = 466 integer width = 151 integer height = 164 integer taborder = 50 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;IF Not dw_edit_mode THEN RETURN dw_1.ScrollToRow(dw_1.InsertRow(0)) end event type cb_auth from uo_imflatbutton within w_eb_user_define integer x = 622 integer width = 151 integer height = 164 integer taborder = 50 boolean bringtotop = true string text = "授权" string normalpicname = "ok.bmp" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;if dw_edit_mode then return long row row = dw_1.GetRow() if row <= 0 then MessageBox('提示', '请选择要授权的对象') return end if if dw_1.Object.im_type[row] = 5 then uo_ljlib_taobao_comapp ins_comapp ins_comapp = Create uo_ljlib_taobao_comapp oleobject ins_taobao int rslt = 1 boolean ins_create, ins_connected, ins_inited string arg_msg if ins_comapp.uf_init(ins_taobao, ins_create, ins_connected, ins_inited, arg_msg) <> 1 then rslt = 0 goto ext end if long ll_userid ll_userid = dw_1.Object.userid[row] if ins_taobao.Auth(ll_userid, ref arg_msg) <> true then rslt = 0 goto ext end if ext: destroy ins_comapp if rslt = 0 then MessageBox('ERROR', arg_msg) else cb_reflash.triggerevent(clicked!) end if end if end event type r_bar from rectangle within w_eb_user_define long linecolor = 16777215 integer linethickness = 4 long fillcolor = 1073741824 integer x = 1422 integer width = 146 integer height = 68 end type event constructor;this.fillcolor = 14215660 this.linecolor = 14215660 this.x = -1 this.y = -1 this.height = ln_bar.beginy - 5 end event type ln_bar from line within w_eb_user_define long linecolor = 268435456 integer linethickness = 4 integer beginy = 280 integer endx = 2007 integer endy = 280 end type type ln_bar2 from line within w_eb_user_define long linecolor = 16777215 integer linethickness = 4 integer beginy = 284 integer endx = 2039 integer endy = 284 end type type ln_1 from line within w_eb_user_define long linecolor = 268435456 integer linethickness = 4 integer beginy = 168 integer endx = 2007 integer endy = 168 end type type ln_2 from line within w_eb_user_define long linecolor = 16777215 integer linethickness = 4 integer beginy = 172 integer endx = 2039 integer endy = 172 end type