123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363 |
- $PBExportHeader$w_shopcart_fx.srw
- $PBExportComments$协同 购物车
- forward
- global type w_shopcart_fx from w_publ_base_style
- end type
- type dw_1 from datawindow within w_shopcart_fx
- end type
- type cb_retrieve from uo_imflatbutton within w_shopcart_fx
- end type
- type cb_to_spt_price from uo_imflatbutton within w_shopcart_fx
- end type
- type cb_to_buytask from uo_imflatbutton within w_shopcart_fx
- end type
- end forward
- global type w_shopcart_fx from w_publ_base_style
- integer width = 4887
- integer height = 2616
- string title = "我的购物车"
- boolean maxbox = true
- boolean resizable = true
- long backcolor = 16777215
- dw_1 dw_1
- cb_retrieve cb_retrieve
- cb_to_spt_price cb_to_spt_price
- cb_to_buytask cb_to_buytask
- end type
- global w_shopcart_fx w_shopcart_fx
- forward prototypes
- public subroutine wf_retrieve_shopcart ()
- public subroutine wf_select_group (readonly long a_sptcomid)
- end prototypes
- public subroutine wf_retrieve_shopcart ();dw_1.Reset()
- oleobject parm, ret
- parm = FXAppCom.CreatePbDictionary()
- parm.SetString('token', app_token_fx)
- string arg_msg
- ret = FXAppCom.GetShopcart(parm, ref arg_msg)
- if (arg_msg <> '') then
- MessageBox('提示', '获取购物车操作失败:' + arg_msg)
- return
- end if
- oleobject list, item
- list = ret.GetArrOfPBDictionary('list')
- long i, comid, mtrlid
- string temp_picPath, exePath, temp_filetype
- exePath = GetCurrentDirectory()
- dw_1.SetRedraw(false)
- for i = 1 to list.Count
- item = list.GetItem(i - 1)
-
- comid = item.GetInt('sptcomid')
- mtrlid = item.GetInt('mtrlid_erp')
- temp_filetype = item.GetString('filetype')
-
- dw_1.Object.userid[i] = item.GetInt('userid')
- dw_1.Object.sptcomid[i] = comid
- dw_1.Object.mtrlid_erp[i] = mtrlid
- dw_1.Object.fxmtrlid[i] = item.GetInt('fxmtrlid')
- dw_1.Object.price_ori[i] = item.GetDouble('price_ori')
- dw_1.Object.opdate[i] = item.GetDateTime('opdate')
- dw_1.Object.qty[i] = item.GetDouble('qty')
- dw_1.Object.mtrlcode[i] = item.GetString('mtrlcode')
- dw_1.Object.mtrlname[i] = item.GetString('mtrlname')
- dw_1.Object.mtrlmode[i] = item.GetString('mtrlmode')
- dw_1.Object.mtrlsectype[i] = item.GetString('mtrlsectype')
- dw_1.Object.zxmtrlmode[i] = item.GetString('zxmtrlmode')
- dw_1.Object.usermtrlmode[i] = item.GetString('usermtrlmode')
- dw_1.Object.unit[i] = item.GetString('unit')
- dw_1.Object.comname[i] = item.GetString('comname')
- dw_1.Object.simplename[i] = item.GetString('simplename')
- dw_1.Object.filetype[i] = temp_filetype
- dw_1.Object.now_price[i] = i //now_price
- temp_picPath = exePath + '\cache\mtrlpic\c_' + string(comid) + '_m_' + string(mtrlid) + '.' + temp_filetype
- if FileExists(temp_picPath) then
- dw_1.Object.filepath[i] = temp_picPath
- else
- dw_1.Object.filepath[i] = exePath + '\graphics\mtrl_view.png'
- end if
- next
- dw_1.AcceptText()
- dw_1.SetRedraw(true)
- end subroutine
- public subroutine wf_select_group (readonly long a_sptcomid);// 根据sptcomid全选/全反选产品
- long i
- long ch = 0
- for i = 1 to dw_1.RowCount()
- if (dw_1.Object.sptcomid[i] <> a_sptcomid) then continue
-
- if (dw_1.Object.ch[i] = 0) then
- ch = 1 // 存在未选择的情况,则全选,否则全反选
- exit
- end if
- next
- for i = 1 to dw_1.RowCount()
- if (dw_1.Object.sptcomid[i] <> a_sptcomid) then continue
-
- dw_1.Object.ch[i] = ch
- next
- end subroutine
- on w_shopcart_fx.create
- int iCurrent
- call super::create
- this.dw_1=create dw_1
- this.cb_retrieve=create cb_retrieve
- this.cb_to_spt_price=create cb_to_spt_price
- this.cb_to_buytask=create cb_to_buytask
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.dw_1
- this.Control[iCurrent+2]=this.cb_retrieve
- this.Control[iCurrent+3]=this.cb_to_spt_price
- this.Control[iCurrent+4]=this.cb_to_buytask
- end on
- on w_shopcart_fx.destroy
- call super::destroy
- destroy(this.dw_1)
- destroy(this.cb_retrieve)
- destroy(this.cb_to_spt_price)
- destroy(this.cb_to_buytask)
- end on
- event open;call super::open;string arg_msg
- if (f_find_fx_user_power(41, ref arg_msg) <> 1 &
- and f_find_fx_user_power(51, ref arg_msg) <> 1) then // 51-购物车转询价单(新建询价单) 41-供应商询价单新建
- cb_to_spt_price.Enabled = false
- end if
- if (f_find_fx_user_power(56, ref arg_msg) <> 1 &
- and f_find_fx_user_power(52, ref arg_msg) <> 1) then // 52-购物车转采购订单(新建采购订单) 56-采购订单新建
- cb_to_buytask.Enabled = false
- end if
- wf_retrieve_shopcart()
- end event
- event resize;call super::resize;if this.width < 4320 then this.Width = 4320
- if this.Height < 2680 then this.Height = 2680
- dw_1.Width = this.workspacewidth( )
- dw_1.Height = this.workspaceheight( ) - dw_1.Y
- dw_1.Modify('b_add.X = ' + string(this.workspacewidth( ) - (3662 - 3589) - 100))
- dw_1.Modify('qty.X = ' + string(this.workspacewidth( ) - (3662 - 3310) - 100))
- dw_1.Modify('b_minus.X = ' + string(this.workspacewidth( ) - (3662 - 3214) - 100))
- dw_1.Modify('fx_shopcart_qty_t.X = ' + string(this.workspacewidth( ) - (3662 - 3355) - 100))
- dw_1.Modify('t_2.X = ' + string(this.workspacewidth( ) - (3662 - 3374) - 100))
- dw_1.Modify('compute_price.X = ' + string(this.workspacewidth( ) - (3662 - 3310) - 100))
- dw_1.Modify('t_4.X = ' + string(this.workspacewidth( ) - (3662 - 3177) - 100))
- dw_1.Modify('compute_6.X = ' + string(this.workspacewidth( ) - (3662 - 3310) - 100))
- cb_exit.X = this.workspacewidth( ) - cb_exit.Width
- end event
- type cb_func from w_publ_base_style`cb_func within w_shopcart_fx
- boolean visible = false
- integer x = 110
- integer y = 2228
- boolean enabled = false
- end type
- type cb_exit from w_publ_base_style`cb_exit within w_shopcart_fx
- integer x = 2427
- end type
- type ln_bar from w_publ_base_style`ln_bar within w_shopcart_fx
- end type
- type ln_bar2 from w_publ_base_style`ln_bar2 within w_shopcart_fx
- end type
- type r_bar from w_publ_base_style`r_bar within w_shopcart_fx
- end type
- type dw_1 from datawindow within w_shopcart_fx
- integer y = 168
- integer width = 4553
- integer height = 1856
- integer taborder = 20
- boolean bringtotop = true
- string title = "none"
- string dataobject = "dw_fx_shopcart"
- boolean vscrollbar = true
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- event scrollhorizontal;this.object.DataWindow.HorizontalScrollPosition = 0
- end event
- event clicked;long qty, comid
- if (row > 0) then
- this.SetRow(row)
- qty = this.Object.qty[row]
- comid = this.Object.sptcomid[row]
-
- if (dwo.Name = 'b_minus' and qty > 1) then
- this.Object.qty[row] = qty - 1
- elseif (dwo.Name = 'b_add') then
- this.Object.qty[row] = qty + 1
- elseif (dwo.Name = 'b_ch') then
- wf_select_group(comid)
- end if
- end if
- end event
- type cb_retrieve from uo_imflatbutton within w_shopcart_fx
- integer width = 151
- integer height = 164
- integer taborder = 30
- 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_retrieve_shopcart()
- end event
- type cb_to_spt_price from uo_imflatbutton within w_shopcart_fx
- integer x = 151
- integer width = 279
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "转询价单"
- boolean border = false
- end type
- event clicked;call super::clicked;if (dw_1.RowCount() <= 0) then return
- long i, sptcomid, row
- row = dw_1.Find('ch = 1', 1, dw_1.RowCount())
- if (row > 0) then
- sptcomid = dw_1.Object.sptcomid[row]
- else
- MessageBox('提示', '请勾选需要转为询价单的产品')
- return
- end if
- oleobject item, list
- list = FXAppCom.CreArrOfPbDictionary()
- for i = 1 to dw_1.RowCount()
- if (dw_1.Object.ch[i] = 0) then continue
-
- if (dw_1.Object.sptcomid[i] <> sptcomid) then
- MessageBox('提示', '请勾选同一个供应商的产品')
- return
- end if
-
- item = FXAppCom.CreatePbDictionary()
- item.SetInt('mtrlid_erp', dw_1.Object.mtrlid_erp[i])
- item.SetDouble('qty_min', dw_1.Object.qty[i])
- item.SetDouble('qty_max', dw_1.Object.qty[i])
- item.SetString('unit', dw_1.Object.unit[i])
-
- list.Add(item)
- next
- oleobject parm, retParm
- parm = FXAppCom.CreatePbDictionary()
- parm.SetString('token', app_token_fx)
- parm.SetObject('list', list)
- parm.SetInt('sptcomid', sptcomid)
- string arg_msg
- retParm = FxAppCom.ShopcartToSptPrice(parm, ref arg_msg)
- if (arg_msg <> '') then
- MessageBox('提示', '转询价单操作失败:' + arg_msg)
- return
- end if
- string billcode
- billcode = retParm.GetString('billcode')
- MessageBox('提示', '操作成功,新的询价单单号为:[' + billcode + ']')
- if (IsValid(s_win_open[4].win)) then // 4-供应商询价单
- Close(s_win_open[4].win)
- end if
- Open(w_spt_price_change_fx)
- end event
- type cb_to_buytask from uo_imflatbutton within w_shopcart_fx
- integer x = 430
- integer width = 320
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "转采购订单"
- boolean border = false
- end type
- event clicked;call super::clicked;if (dw_1.RowCount() <= 0) then return
- long i, sptcomid, row
- row = dw_1.Find('ch = 1', 1, dw_1.RowCount())
- if (row > 0) then
- sptcomid = dw_1.Object.sptcomid[row]
- else
- MessageBox('提示', '请勾选需要转为询价单的产品')
- return
- end if
- oleobject item, list
- list = FXAppCom.CreArrOfPbDictionary()
- for i = 1 to dw_1.RowCount()
- if (dw_1.Object.ch[i] = 0) then continue
-
- if (dw_1.Object.sptcomid[i] <> sptcomid) then
- MessageBox('提示', '请勾选同一个供应商的产品')
- return
- end if
-
- item = FXAppCom.CreatePbDictionary()
- item.SetInt('fxmtrlid', dw_1.Object.fxmtrlid[i])
- item.SetDouble('qty', dw_1.Object.qty[i])
-
- list.Add(item)
- next
- oleobject parm, retParm
- parm = FXAppCom.CreatePbDictionary()
- parm.SetString('token', app_token_fx)
- parm.SetObject('list', list)
- parm.SetInt('sptcomid', sptcomid)
- string arg_msg
- retParm = FxAppCom.ShopcartToBuytask(parm, ref arg_msg)
- if (arg_msg <> '') then
- MessageBox('提示', '转采购订单操作失败:' + arg_msg)
- return
- end if
- string tid
- tid = retParm.GetString('tid')
- MessageBox('提示', '操作成功,新的采购订单单号为:[' + tid + ']')
- if (IsValid(s_win_open[53].win)) then // 53-采购订单
- Close(s_win_open[53].win)
- end if
- Open(w_buytask_fx)
- end event
|