123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598 |
- $PBExportHeader$w_client_list.srw
- forward
- global type w_client_list from w_pageretr_ch
- end type
- type cbx_mlselect from checkbox within w_client_list
- end type
- type cbx_allselect from checkbox within w_client_list
- end type
- type cb_1 from uo_imflatbutton within w_client_list
- end type
- type cbx_1 from checkbox within w_client_list
- end type
- type cb_2 from uo_imflatbutton within w_client_list
- end type
- end forward
- global type w_client_list from w_pageretr_ch
- integer width = 3301
- integer height = 2108
- string title = "在线用户列表"
- boolean minbox = true
- windowtype windowtype = popup!
- cbx_mlselect cbx_mlselect
- cbx_allselect cbx_allselect
- cb_1 cb_1
- cbx_1 cbx_1
- cb_2 cb_2
- end type
- global w_client_list w_client_list
- type variables
- //s_mtrldef_buytask_array INS_RT_STRU
- boolean if_changeselect=true
- int if_mlselect=0
- long cur_sptid
- end variables
- forward prototypes
- public subroutine wf_retrieve (string arg_msg)
- end prototypes
- public subroutine wf_retrieve (string arg_msg);//IF arg_msg <> "" THEN
- dw_pageretr.Reset()
- dw_pageretr.ImportString(arg_msg)
- //END IF
- //long i
- //string username,userid
- //for i = 1 to dw_pageretr.rowcount()
- // userid = dw_pageretr.object.userid[i]
- // select username
- // into :username
- // from u_user
- // where userid = :userid;
- // if sqlca.sqlcode <> 0 then username = ''
- // dw_pageretr.object.username[i] = username
- //next
- end subroutine
- on w_client_list.create
- int iCurrent
- call super::create
- this.cbx_mlselect=create cbx_mlselect
- this.cbx_allselect=create cbx_allselect
- this.cb_1=create cb_1
- this.cbx_1=create cbx_1
- this.cb_2=create cb_2
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cbx_mlselect
- this.Control[iCurrent+2]=this.cbx_allselect
- this.Control[iCurrent+3]=this.cb_1
- this.Control[iCurrent+4]=this.cbx_1
- this.Control[iCurrent+5]=this.cb_2
- end on
- on w_client_list.destroy
- call super::destroy
- destroy(this.cbx_mlselect)
- destroy(this.cbx_allselect)
- destroy(this.cb_1)
- destroy(this.cbx_1)
- destroy(this.cb_2)
- end on
- event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
- if trim(sle_usual_query.text)<>'' then
- if pos(trim(sle_usual_query.text),'%')=0 then
- obj_expr=obj_expr+'( u_mtrldef_mtrlcode like "%'+trim(sle_usual_query.text)+'%" )'
- else
- obj_expr=obj_expr+'( u_mtrldef_mtrlcode like "'+trim(sle_usual_query.text)+'" )'
- end if
- end if
- dw_pageretr.setfilter(obj_expr)
- dw_pageretr.setredraw(false)
- dw_pageretr.filter()
- if dw_pageretr.rowcount()>=1 then
- dw_pageretr.selectrow(0,false)
- dw_pageretr.selectrow(1,true)
- end if
- dw_pageretr.setredraw(true)
- end event
- event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
- ls_newselect=lower(ori_oldselect)
- if trim(sle_usual_query.text)<>'' then
- if pos(trim(sle_usual_query.text),'%')=0 then
- ls_querystrpart="(u_mtrldef.mtrlcode like '%"+trim(sle_usual_query.text)+"%')"
- else
- ls_querystrpart="(u_mtrldef.mtrlcode like '"+trim(sle_usual_query.text)+"')"
- end if
- if pos(ls_newselect," where ") <> 0 then
- ls_newselect=ls_newselect+" and ("+ls_querystrpart+')'
- else
- ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
- end if
- end if
- wf_retrieveuc(dw_pageretr,ls_newselect,1)
- this.triggerevent('retrieve_pageretr')
- end event
- event open;THIS.TriggerEvent('ue_before_open')
- wf_movetocenter()
- OLD_TITLE = THIS.Title
- dw_pageretr.RBUTTON_FILTER_USE = TRUE //右键查询功能开关
- dw_pageretr.titleclick_sort_use = TRUE //单击标题排序功能开关
- dw_pageretr.SetTransObject (sqlca)
- IF sys_wsc.getstate() = 7 THEN
- cb_refresh.TriggerEvent(Clicked!)
- END IF
- end event
- event ue_before_open;call super::ue_before_open;if_ue_sort=true
- end event
- event retrieve_pageretr;boolean cb_firstpage_enabled,cb_nextpage_enabled,cb_retrieveall_enabled
- boolean cb_priorpage_enabled,cb_func_enabled,cb_retrieve_enabled
- //cb_firstpage_enabled=cb_firstpage.enabled
- cb_nextpage_enabled=cb_nextpage.enabled
- cb_retrieveall_enabled=cb_retrieveall.enabled
- //cb_priorpage_enabled=cb_priorpage.enabled
- cb_func_enabled=cb_func.enabled
- //cb_firstpage.enabled=false
- cb_nextpage.enabled=false
- cb_retrieveall.enabled=false
- //cb_priorpage.enabled=false
- cb_func.enabled=false
- SetPointer(HourGlass!)
- dw_pageretr.retrieve(cur_sptid)
- if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1)
- SetPointer(Arrow!)
- //cb_firstpage.enabled=cb_firstpage_enabled
- cb_nextpage.enabled=cb_nextpage_enabled
- cb_retrieveall.enabled=cb_retrieveall_enabled
- //cb_priorpage.enabled=cb_priorpage_enabled
- cb_func.enabled=cb_func_enabled
- IF cbx_mlselect.Checked AND dw_pageretr.RowCount() > 1 THEN
- dw_pageretr.SelectRow(1,FALSE)
- END IF
- end event
- type cb_func from w_pageretr_ch`cb_func within w_client_list
- integer x = 576
- boolean enabled = false
- end type
- type cb_exit from w_pageretr_ch`cb_exit within w_client_list
- integer x = 727
- end type
- type sle_usual_query from w_pageretr_ch`sle_usual_query within w_client_list
- boolean visible = false
- integer x = 347
- boolean enabled = false
- end type
- type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_client_list
- boolean visible = false
- integer x = 1097
- end type
- type em_pagerowno from w_pageretr_ch`em_pagerowno within w_client_list
- boolean visible = false
- integer x = 768
- end type
- type dw_pageretr from w_pageretr_ch`dw_pageretr within w_client_list
- integer y = 176
- integer width = 3241
- integer height = 1820
- string dataobject = "dw_clientlist"
- end type
- event dw_pageretr::clicked;if row>0 then
- this.setrow(row)
- if if_mlselect=1 then
- if if_changeselect then
- this.selectrow(row,not this.IsSelected(row))
- else
- if_changeselect=true
- end if
- else
- this.selectrow(0,false)
- this.selectrow(row,true)
- end if
- end if
- end event
- event dw_pageretr::rowfocuschanged;if if_mlselect=1 then
- if currentrow <=0 then return
- if keydown(keycontrol!) then
- if this.isselected(currentrow) then
- this.selectrow(currentrow,false)
- if_changeselect=false
- else
- if_changeselect=true
- end if
- else
- if not this.isselected(currentrow) then
- this.selectrow(currentrow,true)
- if_changeselect=false
- else
- if_changeselect=true
- end if
- end if
- else
- if dw_edit_mode then return
- if currentrow <=0 then return
- this.selectrow(0,false)
- this.selectrow(currentrow,true)
- end if
- end event
- event dw_pageretr::dwnkey;call super::dwnkey;if keydown(keyenter!) then return 1
- end event
- type st_1 from w_pageretr_ch`st_1 within w_client_list
- boolean visible = false
- integer width = 315
- boolean enabled = false
- string text = "物料编码含:"
- end type
- type cb_nextpage from w_pageretr_ch`cb_nextpage within w_client_list
- boolean visible = false
- integer x = 1243
- end type
- type cb_choice from w_pageretr_ch`cb_choice within w_client_list
- boolean visible = false
- end type
- event cb_choice::clicked;call super::clicked;//Long ROW,ls_i = 0,chC = 0
- //ROW = dw_pageretr.GetRow()
- //IF ROW <= 0 THEN
- // MessageBox('提示','请先选择目标行!', Information!, OK! )
- // RETURN
- //END IF
- //FOR ls_i = 1 TO dw_pageretr.RowCount()
- // IF dw_pageretr.IsSelected(ls_i) THEN
- // chC++
- // INS_RT_STRU.mtrlid[chC] = dw_pageretr.Object.u_buytaskmx_mtrlid[ls_i]
- // INS_RT_STRU.mtrlname[chC] = dw_pageretr.Object.u_mtrldef_mtrlname[ls_i]
- // INS_RT_STRU.mtrlcode[chC] = dw_pageretr.Object.u_mtrldef_mtrlcode[ls_i]
- // INS_RT_STRU.mtrlmode[chC] = dw_pageretr.Object.u_mtrldef_mtrlmode[ls_i]
- // INS_RT_STRU.unit[chC] = dw_pageretr.Object.u_mtrldef_unit[ls_i]
- // INS_RT_STRU.mxunit[chC] = dw_pageretr.Object.u_buytaskmx_unit[ls_i]
- // INS_RT_STRU.planprice[chC] = dw_pageretr.Object.u_mtrldef_planprice[ls_i]
- // INS_RT_STRU.qty[chC] = dw_pageretr.Object.u_buytaskmx_uqty[ls_i] - dw_pageretr.Object.u_buytaskmx_consignedqty[ls_i]
- // INS_RT_STRU.fprice[chC] = dw_pageretr.Object.u_buytaskmx_fprice[ls_i]
- // INS_RT_STRU.rebate[chC] = dw_pageretr.Object.u_buytaskmx_rebate[ls_i]
- // INS_RT_STRU.uqty[chC] = dw_pageretr.Object.u_buytaskmx_uqty[ls_i] - dw_pageretr.Object.u_buytaskmx_consignedqty[ls_i]
- // INS_RT_STRU.addqty[chC] = dw_pageretr.Object.u_buytaskmx_addqty[ls_i] - dw_pageretr.Object.u_buytaskmx_consignedaddqty[ls_i]
- // INS_RT_STRU.uprice[chC] = dw_pageretr.Object.u_buytaskmx_uprice[ls_i]
- // INS_RT_STRU.rate[chC] = dw_pageretr.Object.u_buytaskmx_rate[ls_i]
- // INS_RT_STRU.buytaskid[chC] = dw_pageretr.Object.u_buytask_taskid [ls_i]
- // INS_RT_STRU.buytaskcode[chC] = dw_pageretr.Object.u_buytask_taskcode[ls_i]
- // INS_RT_STRU.status[chC] = dw_pageretr.Object.u_buytaskmx_status[ls_i]
- // INS_RT_STRU.woodcode[chC] = dw_pageretr.Object.u_buytaskmx_woodcode[ls_i]
- // INS_RT_STRU.pcode[chC] = dw_pageretr.Object.u_buytaskmx_pcode[ls_i]
- // INS_RT_STRU.orderid[chC] = dw_pageretr.Object.u_buytaskmx_orderid[ls_i]
- // INS_RT_STRU.banktypeid[chC] = dw_pageretr.Object.u_buytask_banktypeid[ls_i]
- // INS_RT_STRU.dscrp[chC] = dw_pageretr.Object.u_buytaskmx_dscrp[ls_i]
- // INS_RT_STRU.mtrlsectype[chC] = dw_pageretr.Object.u_mtrldef_mtrlsectype[ls_i]
- // INS_RT_STRU.zxmtrlmode[chC] = dw_pageretr.Object.u_mtrldef_zxmtrlmode[ls_i]
- // INS_RT_STRU.relcode[chC] = dw_pageretr.Object.u_buytask_relcode[ls_i]
- // END IF
- //NEXT
- //IF chC = 0 THEN
- // MessageBox('提示','请至少选择一个目标行!', Information!, OK! )
- // RETURN
- //END IF
- //
- //Close(PARENT)
- //
- //
- //
- //
- end event
- type cb_refresh from w_pageretr_ch`cb_refresh within w_client_list
- end type
- event cb_refresh::clicked;s_msgframe s_msg
- s_msg.framehead = 20
- sys_wsc.setsendmsg( s_msg, 0)
- sys_wsc.TriggerEvent('ue_send') //发送命令
- IF IsValid(w_ws) THEN
- w_ws.ins_HeartBeatSec = 0
- END IF
- //rslt = //20秒内超时
- IF f_waitforrslt_ws(sys_retritime) = 0 THEN
- MessageBox('系统提示','服务器超时!')
- return
- END IF
- if not isnull(sys_buf_s_msgFrame.frame_str[1]) then
- wf_retrieve(sys_buf_s_msgFrame.frame_str[1])
- end if
- end event
- type ln_bar from w_pageretr_ch`ln_bar within w_client_list
- end type
- type ln_bar2 from w_pageretr_ch`ln_bar2 within w_client_list
- end type
- type r_bar from w_pageretr_ch`r_bar within w_client_list
- end type
- type ln_1 from w_pageretr_ch`ln_1 within w_client_list
- integer beginy = 168
- integer endy = 168
- end type
- type ln_2 from w_pageretr_ch`ln_2 within w_client_list
- integer beginy = 172
- integer endy = 172
- end type
- type cbx_mlselect from checkbox within w_client_list
- boolean visible = false
- integer x = 663
- integer y = 92
- integer width = 256
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long backcolor = 134217739
- boolean enabled = false
- string text = "多选"
- end type
- event clicked;if this.checked then
- if_mlselect=1
- else
- if_mlselect=0
- end if
- f_SetProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_mlselect", string(if_mlselect))
- end event
- event constructor;if_mlselect=integer(f_ProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_mlselect", '0'))
- if if_mlselect =0 then
- this.checked=false
- else
- this.checked=true
- end if
- end event
- type cbx_allselect from checkbox within w_client_list
- boolean visible = false
- integer x = 1010
- integer y = 92
- integer width = 256
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long backcolor = 134217739
- boolean enabled = false
- string text = "全选"
- end type
- event clicked;Int li
- IF THIS.Checked AND cbx_mlselect.Checked THEN
- FOR li = 1 TO dw_pageretr.RowCount()
- dw_pageretr.SelectRow(li,TRUE)
- NEXT
- ELSE
- FOR li = 1 TO dw_pageretr.RowCount()
- dw_pageretr.SelectRow(li,FALSE)
- NEXT
- END IF
- end event
- event constructor;Int li
- IF THIS.Checked AND cbx_mlselect.Checked THEN
- FOR li = 1 TO dw_pageretr.RowCount()
- dw_pageretr.SelectRow(li,TRUE)
- NEXT
- ELSE
- FOR li = 1 TO dw_pageretr.RowCount()
- dw_pageretr.SelectRow(li,FALSE)
- NEXT
- END IF
- end event
- type cb_1 from uo_imflatbutton within w_client_list
- integer x = 151
- integer width = 151
- integer height = 164
- integer taborder = 70
- 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 ll_spid
- String ls_spid_str
- Long row
- Long ll_selcnt
- IF dw_pageretr.RowCount() <= 0 THEN RETURN
- ll_selcnt = dw_pageretr.Object.selcnt[1]
- IF ll_selcnt = 0 THEN
- row = dw_pageretr.GetRow()
- IF NOT row > 0 THEN
- MessageBox("系统提示","请选择要操作的用户!")
- RETURN
- END IF
-
- ls_spid_str = String(dw_pageretr.Object.clientdbspid[row])
- ELSE
- FOR row = 1 TO dw_pageretr.RowCount()
- IF dw_pageretr.Object.sel[row] = 1 THEN
- ls_spid_str += String(dw_pageretr.Object.clientdbspid[row])+","
- END IF
- NEXT
- END IF
- s_msgframe s_msg
- s_msg.framehead = 22
- s_msg.frame_str[1] = ls_spid_str
- sys_wsc.setsendmsg( s_msg, 1)
- sys_wsc.TriggerEvent('ue_send') //发送命令
- //rslt = //20秒内超时
- IF f_waitforrslt_ws(sys_retritime) = 0 THEN
- MessageBox('系统提示','服务器超时!')
- RETURN
- END IF
- cb_refresh.TriggerEvent(Clicked!)
- end event
- type cbx_1 from checkbox within w_client_list
- integer x = 1367
- integer y = 76
- integer width = 402
- integer height = 60
- 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 constructor;this.backcolor = 14215660
- end event
- event clicked;Int i
- IF THIS.Checked THEN
- FOR i = 1 TO dw_pageretr.RowCount()
- dw_pageretr.Object.sel[i] = 1
- NEXT
- ELSE
- FOR i = 1 TO dw_pageretr.RowCount()
- dw_pageretr.Object.sel[i] = 0
- NEXT
- END IF
- end event
- type cb_2 from uo_imflatbutton within w_client_list
- integer x = 302
- integer width = 274
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "发送信息"
- string normalpicname = "update2.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long ll_spid
- String ls_spid_str
- Long row
- Long ll_selcnt
- IF dw_pageretr.RowCount() <= 0 THEN RETURN
- ll_selcnt = dw_pageretr.Object.selcnt[1]
- IF ll_selcnt = 0 THEN
- row = dw_pageretr.GetRow()
- IF NOT row > 0 THEN
- MessageBox("系统提示","请选择要操作的用户!")
- RETURN
- END IF
-
- ls_spid_str = String(dw_pageretr.Object.clientdbspid[row])
- ELSE
- FOR row = 1 TO dw_pageretr.RowCount()
- IF dw_pageretr.Object.sel[row] = 1 THEN
- ls_spid_str += String(dw_pageretr.Object.clientdbspid[row])+","
- END IF
- NEXT
- END IF
- string LS_STR
- s_inputbox S_SREU
- S_SREU.Title = '请输入要发送的内容'
- S_SREU.OLD_TEXT = ''
- OpenWithParm(w_inputbox,S_SREU)
- LS_STR = Message.StringParm
- IF Trim(LS_STR) = '' OR IsNull(LS_STR) THEN RETURN
- s_msgframe s_msg
- s_msg.framehead = 100
- s_msg.frame_str[1] = ls_spid_str
- s_msg.frame_str[2] = LS_STR
- sys_wsc.setsendmsg( s_msg, 2)
- sys_wsc.TriggerEvent('ue_send') //发送命令
- //rslt = //20秒内超时
- IF f_waitforrslt_ws(sys_retritime) = 0 THEN
- MessageBox('系统提示','服务器超时!')
- RETURN
- END IF
- cb_refresh.TriggerEvent(Clicked!)
- end event
|