123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635 |
- $PBExportHeader$w_empinfo_select.srw
- forward
- global type w_empinfo_select from w_pageretr_ch
- end type
- type cbx_mlselect from checkbox within w_empinfo_select
- end type
- type cbx_allselect from checkbox within w_empinfo_select
- end type
- type cb_2 from uo_imflatbutton within w_empinfo_select
- end type
- type dw_choice from u_dw_rbtnfilter within w_empinfo_select
- end type
- type cb_ok from uo_imflatbutton within w_empinfo_select
- end type
- type cb_del from uo_imflatbutton within w_empinfo_select
- end type
- type ddlb_status from dropdownlistbox within w_empinfo_select
- end type
- type cbx_ml from checkbox within w_empinfo_select
- end type
- type tv_1 from uo_tv_deptype within w_empinfo_select
- end type
- end forward
- global type w_empinfo_select from w_pageretr_ch
- integer width = 3543
- integer height = 2308
- string title = "员工选择"
- cbx_mlselect cbx_mlselect
- cbx_allselect cbx_allselect
- cb_2 cb_2
- dw_choice dw_choice
- cb_ok cb_ok
- cb_del cb_del
- ddlb_status ddlb_status
- cbx_ml cbx_ml
- tv_1 tv_1
- end type
- global w_empinfo_select w_empinfo_select
- type variables
- s_empinfo_array s_select
- boolean if_select_all=false
- boolean if_changeselect=true
- int if_mlselect=0
- String ls_handtype = ''
- long il_status = 1
- end variables
- forward prototypes
- public subroutine wf_face_change ()
- end prototypes
- public subroutine wf_face_change ();IF Not cbx_ml.Checked THEN
- dw_pageretr.Height = dw_choice.Y + dw_choice.Height - dw_pageretr.Y
- dw_choice.Visible = False
- cb_ok.Visible = False
- cb_del.Visible = False
- ELSE
- dw_pageretr.Height = 968
- dw_choice.Visible = True
- cb_ok.Visible = True
- cb_del.Visible = True
- END IF
- end subroutine
- on w_empinfo_select.create
- int iCurrent
- call super::create
- this.cbx_mlselect=create cbx_mlselect
- this.cbx_allselect=create cbx_allselect
- this.cb_2=create cb_2
- this.dw_choice=create dw_choice
- this.cb_ok=create cb_ok
- this.cb_del=create cb_del
- this.ddlb_status=create ddlb_status
- this.cbx_ml=create cbx_ml
- this.tv_1=create tv_1
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cbx_mlselect
- this.Control[iCurrent+2]=this.cbx_allselect
- this.Control[iCurrent+3]=this.cb_2
- this.Control[iCurrent+4]=this.dw_choice
- this.Control[iCurrent+5]=this.cb_ok
- this.Control[iCurrent+6]=this.cb_del
- this.Control[iCurrent+7]=this.ddlb_status
- this.Control[iCurrent+8]=this.cbx_ml
- this.Control[iCurrent+9]=this.tv_1
- end on
- on w_empinfo_select.destroy
- call super::destroy
- destroy(this.cbx_mlselect)
- destroy(this.cbx_allselect)
- destroy(this.cb_2)
- destroy(this.dw_choice)
- destroy(this.cb_ok)
- destroy(this.cb_del)
- destroy(this.ddlb_status)
- destroy(this.cbx_ml)
- destroy(this.tv_1)
- end on
- event open;This.TriggerEvent('ue_before_open')
- wf_movetocenter()
- OLD_TITLE = This.Title
- s_tran = Message.PowerObjectParm
- IF Not IsNull(s_tran) THEN
- retrieve_all = s_tran.if_retrieve_all
- mode = s_tran.work_mode
- arg_pkid = s_tran.arg_pkid
- arg_string_code = s_tran.arg_string_code
- if_sharedata = s_tran.if_sharedata //是否应用sharedata,当retrieve_all=true是生效
- ds_share = s_tran.ds_share
- // il_wagemth = s_tran.d_long
- END IF
- dw_pageretr.RBUTTON_FILTER_USE = True //右键查询功能开关
- dw_pageretr.titleclick_sort_use = True //单击标题排序功能开关
- dw_pageretr.SetTransObject (sqlca)
- IF s_tran.d_long > 0 THEN
- // tv_1.f_finditem(s_tran.d_long, 0)
- END IF
- pkcolumndbtname = wf_get_pkcolumndbtname(dw_pageretr) //取第一列为关键字
- ori_oldselect = dw_pageretr.Describe("DataWindow.Table.Select")
- ls_newselect = ori_oldselect
- ds_curquery = Create DATASTORE
- ds_curquery.DataObject = 'd_extr_find'
- ds_curquery.SetTransObject (sqlca)
- wf_editindex_lockf()
- sle_usual_query.Text = Trim(arg_string_code)
- IF Not retrieve_all THEN
- This.TriggerEvent("ue_usual_query_RETR") //修改ls_newselect,retrieve
- ELSE
- IF if_sharedata THEN
- ds_share.ShareData(dw_pageretr)
- ELSE
- wf_retrieveuc(dw_pageretr,ls_newselect,1)
- This.TriggerEvent('RETRIEVE_pageretr')
- END IF
- END IF
- IF retrieve_all THEN
- This.TriggerEvent("ue_usual_query_filt")
- END IF
- if_ue_sort = True
- s_select.empid[1] = 0
- wf_face_change()
- end event
- event close;call super::close;CLOSEWITHRETURN(THIS,s_select)
- 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 =ls_querystrpart + "( u_rs_empinfo.empcode like '%"+Trim(sle_usual_query.Text)+"%'"
- ls_querystrpart =ls_querystrpart + " or u_rs_empinfo.empname like '%"+Trim(sle_usual_query.Text)+"%')"
- ELSE
- ls_querystrpart =ls_querystrpart + "( u_rs_empinfo.empcode like '"+Trim(sle_usual_query.Text)+"'"
- ls_querystrpart =ls_querystrpart + " or u_rs_empinfo.empname 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 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_rs_empinfo_empcode like "%'+Trim(sle_usual_query.Text)+'%" )'
- obj_expr = obj_expr+' or ( u_rs_empinfo_empname LIKE "%'+Trim(sle_usual_query.Text)+'%" )'
-
- ELSE
- obj_expr = obj_expr+'( u_rs_empinfo_empcode like "'+Trim(sle_usual_query.Text)+'" )'
- obj_expr = obj_expr+' or ( u_rs_empinfo_empname 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 retrieve_pageretr;boolean cb_nextpage_enabled,cb_retrieveall_enabled
- boolean cb_func_enabled,cb_retrieve_enabled
- cb_nextpage_enabled=cb_nextpage.enabled
- cb_retrieveall_enabled=cb_retrieveall.enabled
- cb_func_enabled=cb_func.enabled
- cb_nextpage.enabled=false
- cb_retrieveall.enabled=false
- cb_func.enabled=false
- SetPointer(HourGlass!)
- dw_pageretr.retrieve(ls_handtype,il_status,0)
- if dw_pageretr.rowcount()>0 and dw_pageretr.getrow()=0 then dw_pageretr.setrow(1)
- SetPointer(Arrow!)
- cb_nextpage.enabled=cb_nextpage_enabled
- cb_retrieveall.enabled=cb_retrieveall_enabled
- cb_func.enabled=cb_func_enabled
- end event
- type cb_func from w_pageretr_ch`cb_func within w_empinfo_select
- end type
- type cb_exit from w_pageretr_ch`cb_exit within w_empinfo_select
- end type
- type sle_usual_query from w_pageretr_ch`sle_usual_query within w_empinfo_select
- integer x = 1001
- end type
- type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_empinfo_select
- end type
- type em_pagerowno from w_pageretr_ch`em_pagerowno within w_empinfo_select
- integer y = 44
- end type
- type dw_pageretr from w_pageretr_ch`dw_pageretr within w_empinfo_select
- string tag = "dw_pageretr"
- integer x = 919
- integer width = 2592
- integer height = 968
- string dataobject = "dw_rs_empinfo_select"
- end type
- 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)
- dw_pageretr.SetRow(currentrow)
- dw_pageretr.ScrollToRow (currentrow)
- END IF
- end event
- event dw_pageretr::doubleclicked;IF NOT cbx_ml.Checked THEN
- cb_choice.TriggerEvent(Clicked!)
- ELSE
- cb_ok.TriggerEvent(Clicked!)
- END IF
- end event
- event dw_pageretr::clicked;call super::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
- type st_1 from w_pageretr_ch`st_1 within w_empinfo_select
- integer x = 658
- integer width = 315
- string text = "工号/姓名含"
- end type
- type cb_nextpage from w_pageretr_ch`cb_nextpage within w_empinfo_select
- integer width = 64
- string normalpicname = ""
- end type
- type cb_choice from w_pageretr_ch`cb_choice within w_empinfo_select
- end type
- event cb_choice::clicked;call super::clicked;Long LS_ROW,ch,ls_i
- If cbx_ml.Checked Then
- For ls_i = 1 To dw_choice.RowCount()
-
- ch++
- s_select.empid[ch] = dw_choice.Object.u_rs_empinfo_empid[ls_i]
- s_select.empname[ch] = dw_choice.Object.u_rs_empinfo_empname[ls_i]
- s_select.empcode[ch] = dw_choice.Object.u_rs_empinfo_empcode[ls_i]
- s_select.cardcode[ch] = dw_choice.Object.u_rs_empinfo_cardcode[ls_i]
- s_select.sex[ch] = dw_choice.Object.u_rs_empinfo_sex[ls_i]
- s_select.deptid[ch] = dw_choice.Object.u_rs_empinfo_deptid[ls_i]
- s_select.duty[ch] = dw_choice.Object.u_rs_empinfo_duty[ls_i]
- // s_select.handtype[ch] = dw_choice.Object.u_rs_empinfo_handtype[ls_i]
- // s_select.departmentname[ch] = dw_choice.Object.cw_department_departmentname[ls_i]
-
- Next
-
- Else
- For ls_i = 1 To dw_pageretr.RowCount()
- If dw_pageretr.IsSelected(ls_i) Then
- ch++
- s_select.empid[ch] = dw_pageretr.Object.u_rs_empinfo_empid[ls_i]
- s_select.empname[ch] = dw_pageretr.Object.u_rs_empinfo_empname[ls_i]
- s_select.empcode[ch] = dw_pageretr.Object.u_rs_empinfo_empcode[ls_i]
- s_select.cardcode[ch] = dw_pageretr.Object.u_rs_empinfo_cardcode[ls_i]
- s_select.sex[ch] = dw_pageretr.Object.u_rs_empinfo_sex[ls_i]
- s_select.deptid[ch] = dw_pageretr.Object.u_rs_empinfo_deptid[ls_i]
- s_select.duty[ch] = dw_pageretr.Object.u_rs_empinfo_duty[ls_i]
- // s_select.handtype[ch] = dw_pageretr.Object.u_rs_empinfo_handtype[ls_i]
- // s_select.departmentname[ch] = dw_pageretr.Object.cw_department_departmentname[ls_i]
- End If
- Next
-
- End If
- If ch <= 0 Then
- MessageBox('系统提示','请先选择目标行!',StopSign!)
- Return
- End If
- Close(Parent)
- end event
- type cb_refresh from w_pageretr_ch`cb_refresh within w_empinfo_select
- string tag = "cb_refresh"
- end type
- type cb_help from w_pageretr_ch`cb_help within w_empinfo_select
- end type
- type ln_bar from w_pageretr_ch`ln_bar within w_empinfo_select
- end type
- type ln_bar2 from w_pageretr_ch`ln_bar2 within w_empinfo_select
- end type
- type r_bar from w_pageretr_ch`r_bar within w_empinfo_select
- end type
- type ln_1 from w_pageretr_ch`ln_1 within w_empinfo_select
- end type
- type ln_2 from w_pageretr_ch`ln_2 within w_empinfo_select
- end type
- type cbx_mlselect from checkbox within w_empinfo_select
- integer x = 2103
- integer y = 196
- integer width = 256
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 16711680
- long backcolor = 134217739
- string text = "多选"
- end type
- event clicked;if this.checked then
- if_mlselect=1
- cbx_allselect.enabled=true
- else
- if_mlselect=0
- cbx_allselect.enabled=false
- cbx_allselect.checked=false
- cbx_allselect.triggerevent(clicked!)
- end if
- f_SetProfileString (sys_empid,dw_pageretr.DATAOBJECT, "if_mlselect", string(if_mlselect))
- if this.checked then
- dw_pageretr.selectrow(dw_pageretr.getrow(),false)
- end if
- end event
- type cbx_allselect from checkbox within w_empinfo_select
- integer x = 2382
- integer y = 196
- integer width = 256
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 16711680
- long backcolor = 134217739
- string text = "全选"
- end type
- event clicked;if dw_pageretr.rowcount()<=0 then return
- long li
- if this.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_2 from uo_imflatbutton within w_empinfo_select
- integer y = 184
- integer width = 361
- integer height = 92
- integer taborder = 30
- boolean bringtotop = true
- string text = "刷新部门"
- string normalpicname = "refresh.bmp"
- end type
- event clicked;call super::clicked;tv_1.f_maketree()
- end event
- type dw_choice from u_dw_rbtnfilter within w_empinfo_select
- integer x = 919
- integer y = 1372
- integer width = 2592
- integer height = 836
- integer taborder = 50
- boolean bringtotop = true
- string dataobject = "dw_rs_empinfo_select"
- end type
- event rowfocuschanged;call super::rowfocuschanged; if currentrow <=0 then return
- this.selectrow(0,false)
- this.selectrow(currentrow,true)
- end event
- event doubleclicked;call super::doubleclicked;cb_del.TriggerEvent(Clicked!)
- end event
- type cb_ok from uo_imflatbutton within w_empinfo_select
- integer x = 2830
- integer y = 1264
- integer width = 311
- integer taborder = 50
- boolean bringtotop = true
- string text = "↓ 选明细"
- end type
- event clicked;call super::clicked;Long ROW,ls_i,chC = 0
- dw_pageretr.AcceptText()
- dw_choice.setredraw(false)
- IF dw_pageretr.RowCount() = 1 THEN
-
- IF dw_choice.Find('u_rs_empinfo_empid ='+String(dw_pageretr.Object.u_rs_empinfo_empid[1]),1,dw_choice.RowCount()) = 0 THEN
- dw_pageretr.RowsCopy(1, 1, Primary!, dw_choice, dw_choice.RowCount() + 1, Primary!)
- END IF
-
- ELSE
- ROW = dw_pageretr.GetRow()
-
- IF ROW <= 0 THEN
- MessageBox('系统提示','请先选择目标行!',StopSign!)
- RETURN
- END IF
-
- FOR ls_i = 1 TO dw_pageretr.RowCount()
- IF dw_pageretr.IsSelected(ls_i) THEN
- IF dw_choice.Find('u_rs_empinfo_empid ='+String(dw_pageretr.Object.u_rs_empinfo_empid[ls_i]),1,dw_choice.RowCount()) = 0 THEN
- chC++
- dw_pageretr.RowsCopy(ls_i, ls_i, Primary!, dw_choice, dw_choice.RowCount() + 1, Primary!)
- END IF
- END IF
- NEXT
-
- END IF
- dw_choice.setredraw(true)
- end event
- type cb_del from uo_imflatbutton within w_empinfo_select
- integer x = 3205
- integer y = 1264
- integer width = 311
- integer taborder = 60
- boolean bringtotop = true
- string text = "↑ 删明细"
- end type
- event clicked;call super::clicked;IF dw_choice.GETROW()=0 THEN
- MESSAGEBOX('NO','请选择删除的行对象!')
- RETURN
- END IF
- dw_choice.DeleteRow (0)
- dw_choice.TriggerEvent (rowfocuschanged!)
- end event
- type ddlb_status from dropdownlistbox within w_empinfo_select
- integer x = 1659
- integer y = 188
- integer width = 311
- integer height = 452
- 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 selectionchanged;IF THIS.Text = '在职' THEN
- il_status = 1
- ELSE
- il_status = 0
- END IF
- cb_refresh.TriggerEvent(Clicked!)
- end event
- type cbx_ml from checkbox within w_empinfo_select
- integer x = 2629
- integer y = 196
- integer width = 393
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 700
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 16711680
- long backcolor = 134217739
- string text = "缓冲选择"
- end type
- event clicked;wf_face_change()
- Int use_ml
- IF THIS.Checked THEN
- use_ml = 0
- ELSE
- use_ml = 1
- END IF
- f_SetProfileString (sys_empid,dw_pageretr.DataObject, "use_ml", String(use_ml))
- end event
- event constructor;Int use_ml
- use_ml = Integer(f_ProfileString (sys_empid,dw_pageretr.DataObject, "use_ml", '0'))
- IF use_ml = 0 THEN
- THIS.Checked = TRUE
- ELSE
- THIS.Checked = FALSE
- END IF
- end event
- type tv_1 from uo_tv_deptype within w_empinfo_select
- integer y = 292
- integer width = 919
- integer height = 1920
- integer taborder = 60
- boolean bringtotop = true
- integer textsize = -9
- fontcharset fontcharset = gb2312charset!
- fontfamily fontfamily = anyfont!
- string facename = "宋体"
- end type
- event selectionchanged;call super::selectionchanged;
- ls_handtype = THIS.uo_cur_info.handtype
- ls_handtype = ls_handtype + '%'
- cb_refresh.TriggerEvent(Clicked!)
- end event
|