123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374 |
- $PBExportHeader$w_fj_manage.srw
- forward
- global type w_fj_manage from window
- end type
- type cb_up from uo_imflatbutton within w_fj_manage
- end type
- type dw_file_fj from u_dw_rbtnfilter within w_fj_manage
- end type
- type cb_read from uo_imflatbutton within w_fj_manage
- end type
- type cb_refresh from uo_imflatbutton within w_fj_manage
- end type
- type cb_exit from uo_imflatbutton within w_fj_manage
- end type
- type ln_bar from line within w_fj_manage
- end type
- type r_bar from rectangle within w_fj_manage
- end type
- end forward
- global type w_fj_manage from window
- integer width = 3918
- integer height = 2400
- boolean titlebar = true
- string title = "附件查看"
- boolean controlmenu = true
- windowtype windowtype = response!
- long backcolor = 134217739
- string icon = "AppIcon!"
- boolean center = true
- cb_up cb_up
- dw_file_fj dw_file_fj
- cb_read cb_read
- cb_refresh cb_refresh
- cb_exit cb_exit
- ln_bar ln_bar
- r_bar r_bar
- end type
- global w_fj_manage w_fj_manage
- type variables
- string ins_title //标题
- long ins_billtype //单据类型
- long ins_relid //单据id
- long ins_relid_mx = 0 //单据明细id
- string ins_relcode //单据编号
- end variables
- forward prototypes
- public subroutine wf_refresh ()
- public function integer wf_get_filedata (string arg_filedir, string arg_filemd5, string arg_filetype, ref string arg_msg)
- end prototypes
- public subroutine wf_refresh ();string arg_msg
- oleobject request,response,fx_file_fjs,item
- request = FXAppCom.CreatePbDictionary()
- request.SetString('token', app_token_fx)
- request.SetInt('billtype', ins_billtype)
- request.SetInt('relid', ins_relid)
- request.SetInt('relid_mx', ins_relid_mx)
- response = FXAppCom.DoExecute('GetFxFileFj', request)
- arg_msg = response.GetString('ErrMsg')
- if (arg_msg <> '') then
- messagebox('提示', '获取附件列表失败,原因:' + arg_msg)
- return
- end if
- fx_file_fjs = response.GetArrOfPBDictionary('FxFileFjs')
- IF isnull(fx_file_fjs) THEN
- RETURN
- END IF
- IF fx_file_fjs.Count <= 0 THEN
- RETURN
- END IF
- dw_file_fj.Reset()
- dw_file_fj.SetRedraw(false)
- long i,row
- for i = 1 to fx_file_fjs.Count
- item = fx_file_fjs.GetItem(i - 1)
-
- row = dw_file_fj.InsertRow(0)
- dw_file_fj.Object.fileid[row] = item.GetInt('fileid')
- dw_file_fj.Object.comname[row] = item.GetString('comname')
- dw_file_fj.Object.displayName[row] = item.GetString('displayName')
- dw_file_fj.Object.fileName[row] = item.GetString('fileName')
- dw_file_fj.Object.fileType[row] = item.GetString('fileType')
- dw_file_fj.Object.fx_file_fj_dscrp[row] = item.GetString('dscrp')
- dw_file_fj.Object.filemd5[row] = item.GetString('filemd5')
- dw_file_fj.Object.filesize[row] = item.GetDouble('file_size')
- dw_file_fj.SetItem(row, 'opdate', item.GetDatetime('opdate'))
- dw_file_fj.SetItem(row, 'if_mtfj', item.GetInt('if_mtfj'))
-
- next
- dw_file_fj.SetRedraw(true)
- end subroutine
- public function integer wf_get_filedata (string arg_filedir, string arg_filemd5, string arg_filetype, ref string arg_msg);Long rslt = 1
- oleobject parm
- parm = FxAppCom.CreatePbDictionary()
- parm.SetString('token', app_token_fx)
- parm.SetString('fileDir', arg_filedir)
- parm.SetString('filename', arg_filemd5)
- parm.SetString('extension', arg_filetype)
- parm.SetString('md5', arg_filemd5)
- FXAppCom.GetFileDataByMd5(parm, ref arg_msg)
- IF NOT ISNULL(arg_msg) AND Len(arg_msg) > 0 THEN
- rslt = 0
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- on w_fj_manage.create
- this.cb_up=create cb_up
- this.dw_file_fj=create dw_file_fj
- this.cb_read=create cb_read
- this.cb_refresh=create cb_refresh
- this.cb_exit=create cb_exit
- this.ln_bar=create ln_bar
- this.r_bar=create r_bar
- this.Control[]={this.cb_up,&
- this.dw_file_fj,&
- this.cb_read,&
- this.cb_refresh,&
- this.cb_exit,&
- this.ln_bar,&
- this.r_bar}
- end on
- on w_fj_manage.destroy
- destroy(this.cb_up)
- destroy(this.dw_file_fj)
- destroy(this.cb_read)
- destroy(this.cb_refresh)
- destroy(this.cb_exit)
- destroy(this.ln_bar)
- destroy(this.r_bar)
- end on
- event open;s_edit_index_tran s_tran //翻页功能窗口 传递参数使用
- s_tran = Message.PowerObjectParm
- //单据类型
- IF NOT IsNull(s_tran.d_long ) THEN
- ins_billtype = s_tran.d_long
- ELSE
- MessageBox('系统提示','单据类型不正确或没有指定')
- Close(THIS)
- RETURN
- END IF
- //单据id
- IF NOT IsNull(s_tran.e_long ) THEN
- ins_relid = s_tran.e_long //标题
- ELSE
- MessageBox('系统提示','单据类型不正确或没有指定')
- Close(THIS)
- RETURN
- END IF
- IF NOT IsNull(s_tran.f_long ) THEN
- ins_relid_mx = s_tran.f_long //标题
- ELSE
- MessageBox('系统提示','单据类型不正确或没有指定')
- Close(THIS)
- RETURN
- END IF
- //标题
- IF NOT IsNull(s_tran.d_string ) THEN
- ins_relcode = s_tran.d_string
- ins_title = '附件管理[' + ins_relcode + ']'
- ELSE
- ins_title = "附件查看"
- END IF
- THIS.Title = ins_title
- IF s_tran.work_mode = 1 THEN
- cb_up.visible = true
- ELSE
- cb_up.visible = FALSE
- END IF
- wf_refresh()
- end event
- event resize;ln_bar.EndX = THIS.Width
- r_bar.Width = THIS.Width
- end event
- type cb_up from uo_imflatbutton within w_fj_manage
- integer x = 827
- integer width = 274
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- string text = "上传文件"
- string normalpicname = "preview.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long lrow
- s_fileinfo s_file
- s_file.fileid = 0
- s_file.Filename = ''
- s_file.dscrp = ''
- s_file.FileType = ''
- s_file.relid = ins_relid
- s_file.relcode = ins_relcode
- s_file.billtype = ins_billtype
- s_file.relid_mx = ins_relid_mx
- SetNull(s_file.filedata)
- OpenWithParm(w_fj_fileadd_p,s_file)
- s_file = Message.PowerObjectParm
- wf_refresh()
- end event
- type dw_file_fj from u_dw_rbtnfilter within w_fj_manage
- integer x = 5
- integer y = 180
- integer width = 3895
- integer height = 2112
- integer taborder = 30
- string dataobject = "dw_file_fj"
- boolean rbutton_filter_use = true
- boolean rbutton_setposition_use = true
- boolean titleclick_sort_use = true
- end type
- event rowfocuschanged;call super::rowfocuschanged;if IsNull(currentrow) then return
- if (currentrow <= 0) then return
- this.SelectRow(0, false)
- this.SelectRow(currentrow, true)
- end event
- type cb_read from uo_imflatbutton within w_fj_manage
- integer x = 197
- integer width = 274
- integer height = 164
- integer taborder = 10
- boolean bringtotop = true
- string text = "查看文件"
- string normalpicname = "preview.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;String Pathname,ls_filetype,ls_filemd5,ls_exePath,ls_filedir,arg_msg
- Long ls_row
- ls_row = dw_file_fj.GetRow()
- IF ls_row <= 0 THEN
- MessageBox('系统提示','当前没有文件')
- RETURN
- END IF
- ls_exePath = GetCurrentDirectory()
- //文件夹定义
- IF ins_billtype = 401 THEN //采购订单
- ls_filedir = ls_exePath + '\cache\fxsaletask\'
- ELSE
- ls_filedir = ls_exePath + '\cache\temp\'
- END IF
- //取附件信息
- ls_filemd5 = dw_file_fj.Object.filemd5[ls_row]
- ls_filetype = Lower(Trim(dw_file_fj.Object.FileType[ls_row]))
- Pathname = ls_filedir + ls_filemd5 + "." + ls_filetype
- String lsNull
- If (FileExists(Pathname)) THEN // 先查找本地是否存在文件
- ShellExecute32( Handle(This), lsNull, Pathname, lsNull, lsNull, 1 )
- ELSE
- IF wf_get_filedata(ls_filedir, ls_filemd5, ls_filetype, arg_msg) = 0 THEN
- MessageBox('提示', '获取文件失败,原因:' + arg_msg)
- RETURN
- END IF
-
- If (FileExists(Pathname)) THEN // 查找本地是否存在文件
- ShellExecute32( Handle(This), lsNull, Pathname, lsNull, lsNull, 1 )
- END IF
- END IF
- end event
- type cb_refresh from uo_imflatbutton within w_fj_manage
- integer x = 9
- integer width = 187
- integer height = 164
- integer taborder = 20
- 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;wf_refresh()
- end event
- type cb_exit from uo_imflatbutton within w_fj_manage
- integer x = 471
- integer width = 187
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "退出"
- string normalpicname = "exit.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Close(parent)
- end event
- type ln_bar from line within w_fj_manage
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 168
- integer endx = 2002
- integer endy = 168
- end type
- type r_bar from rectangle within w_fj_manage
- long linecolor = 16777215
- integer linethickness = 4
- long fillcolor = 1073741824
- integer x = 2203
- integer y = 40
- integer width = 87
- integer height = 52
- end type
- event constructor;THIS.FillColor = 14215660
- THIS.LineColor = 14215660
- THIS.X = -1
- THIS.Y = -1
- THIS.Height = ln_bar.BeginY - 5
- end event
|