w_workprice_pro_page_ch.srw 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. $PBExportHeader$w_workprice_pro_page_ch.srw
  2. forward
  3. global type w_workprice_pro_page_ch from w_pageretr_ch
  4. end type
  5. type cbx_mlselect from checkbox within w_workprice_pro_page_ch
  6. end type
  7. type cbx_all from checkbox within w_workprice_pro_page_ch
  8. end type
  9. type tv_1 from uo_tv_mtrltype within w_workprice_pro_page_ch
  10. end type
  11. end forward
  12. global type w_workprice_pro_page_ch from w_pageretr_ch
  13. integer width = 3611
  14. integer height = 2380
  15. string title = "物料工价表工序选择"
  16. cbx_mlselect cbx_mlselect
  17. cbx_all cbx_all
  18. tv_1 tv_1
  19. end type
  20. global w_workprice_pro_page_ch w_workprice_pro_page_ch
  21. type variables
  22. s_workpricetable_array INS_RT_STRU
  23. Boolean if_changeselect = TRUE
  24. Int if_mlselect = 0
  25. String cur_handtype = ''
  26. end variables
  27. on w_workprice_pro_page_ch.create
  28. int iCurrent
  29. call super::create
  30. this.cbx_mlselect=create cbx_mlselect
  31. this.cbx_all=create cbx_all
  32. this.tv_1=create tv_1
  33. iCurrent=UpperBound(this.Control)
  34. this.Control[iCurrent+1]=this.cbx_mlselect
  35. this.Control[iCurrent+2]=this.cbx_all
  36. this.Control[iCurrent+3]=this.tv_1
  37. end on
  38. on w_workprice_pro_page_ch.destroy
  39. call super::destroy
  40. destroy(this.cbx_mlselect)
  41. destroy(this.cbx_all)
  42. destroy(this.tv_1)
  43. end on
  44. event ue_usual_query_retr;call super::ue_usual_query_retr;string ls_querystrpart=''
  45. ls_newselect=lower(ori_oldselect)
  46. if trim(sle_usual_query.text)<>'' then
  47. if pos(trim(sle_usual_query.text),'%')=0 then
  48. ls_querystrpart= ls_querystrpart + "(u_mtrldef.mtrlcode like '%"+trim(sle_usual_query.text)+"%')"
  49. else
  50. ls_querystrpart=ls_querystrpart + "(u_mtrldef.mtrlcode like '"+trim(sle_usual_query.text)+"')"
  51. end if
  52. if pos(ls_newselect," where ") <> 0 then
  53. ls_newselect=ls_newselect+" and ("+ls_querystrpart+')'
  54. else
  55. ls_newselect=ls_newselect+" where ("+ls_querystrpart+')'
  56. end if
  57. end if
  58. wf_retrieveuc(dw_pageretr,ls_newselect,1)
  59. this.triggerevent('retrieve_pageretr')
  60. end event
  61. event ue_usual_query_filt;call super::ue_usual_query_filt;string obj_expr=''
  62. if trim(sle_usual_query.text)<>'' then
  63. if pos(trim(sle_usual_query.text),'%')=0 then
  64. obj_expr=obj_expr+'( u_mtrldef_mtrlcode like "%'+trim(sle_usual_query.text)+'%" )'
  65. else
  66. obj_expr=obj_expr+'( u_mtrldef_mtrlcode like "'+trim(sle_usual_query.text)+'" )'
  67. end if
  68. end if
  69. dw_pageretr.setfilter(obj_expr)
  70. dw_pageretr.setredraw(false)
  71. dw_pageretr.filter()
  72. if dw_pageretr.rowcount()>=1 then
  73. dw_pageretr.selectrow(0,false)
  74. dw_pageretr.selectrow(1,true)
  75. end if
  76. dw_pageretr.setredraw(true)
  77. end event
  78. event close;call super::close;CLOSEWITHRETURN(THIS,INS_RT_STRU)
  79. end event
  80. event retrieve_pageretr;Boolean cb_retrieveall_enabled,cb_nextpage_enabled
  81. Boolean cb_func_enabled,cb_retrieve_enabled
  82. cb_retrieveall_enabled = cb_retrieveall.Enabled
  83. cb_nextpage_enabled = cb_nextpage.Enabled
  84. cb_func_enabled = cb_func.Enabled
  85. cb_retrieveall.Enabled = FALSE
  86. cb_nextpage.Enabled = FALSE
  87. cb_func.Enabled = FALSE
  88. SetPointer(HourGlass!)
  89. dw_pageretr.Retrieve(cur_handtype)
  90. IF dw_pageretr.RowCount() > 0 AND dw_pageretr.GetRow() = 0 THEN dw_pageretr.SetRow(1)
  91. SetPointer(Arrow!)
  92. cb_nextpage.Enabled = cb_nextpage_enabled
  93. cb_retrieveall.Enabled = cb_retrieveall_enabled
  94. cb_func.Enabled = cb_func_enabled
  95. end event
  96. type cb_func from w_pageretr_ch`cb_func within w_workprice_pro_page_ch
  97. end type
  98. type cb_exit from w_pageretr_ch`cb_exit within w_workprice_pro_page_ch
  99. end type
  100. type sle_usual_query from w_pageretr_ch`sle_usual_query within w_workprice_pro_page_ch
  101. integer x = 494
  102. end type
  103. type cb_retrieveall from w_pageretr_ch`cb_retrieveall within w_workprice_pro_page_ch
  104. end type
  105. type em_pagerowno from w_pageretr_ch`em_pagerowno within w_workprice_pro_page_ch
  106. end type
  107. type dw_pageretr from w_pageretr_ch`dw_pageretr within w_workprice_pro_page_ch
  108. integer x = 878
  109. integer width = 2711
  110. integer height = 2000
  111. string dataobject = "dw_workprice_pro_ch"
  112. end type
  113. event dw_pageretr::clicked;call super::clicked;if row>0 then
  114. this.setrow(row)
  115. if if_mlselect=1 then
  116. if if_changeselect then
  117. this.selectrow(row,not this.IsSelected(row))
  118. else
  119. if_changeselect=true
  120. end if
  121. else
  122. this.selectrow(0,false)
  123. this.selectrow(row,true)
  124. end if
  125. end if
  126. end event
  127. event dw_pageretr::rowfocuschanged;if if_mlselect=1 then
  128. if currentrow <=0 then return
  129. if keydown(keycontrol!) then
  130. if this.isselected(currentrow) then
  131. this.selectrow(currentrow,false)
  132. if_changeselect=false
  133. else
  134. if_changeselect=true
  135. end if
  136. else
  137. if not this.isselected(currentrow) then
  138. this.selectrow(currentrow,true)
  139. if_changeselect=false
  140. else
  141. if_changeselect=true
  142. end if
  143. end if
  144. else
  145. if currentrow <=0 then return
  146. this.selectrow(0,false)
  147. this.selectrow(currentrow,true)
  148. end if
  149. end event
  150. type st_1 from w_pageretr_ch`st_1 within w_workprice_pro_page_ch
  151. integer x = 23
  152. integer width = 480
  153. string text = "物料编码/工序号含"
  154. end type
  155. type cb_nextpage from w_pageretr_ch`cb_nextpage within w_workprice_pro_page_ch
  156. integer width = 64
  157. string normalpicname = ""
  158. end type
  159. type cb_choice from w_pageretr_ch`cb_choice within w_workprice_pro_page_ch
  160. end type
  161. event cb_choice::clicked;call super::clicked;Long ROW,ls_i = 0,chC = 0
  162. dw_pageretr.AcceptText()
  163. ROW = dw_pageretr.RowCount()
  164. IF ROW <= 0 THEN
  165. MessageBox('系统提示','请先选择目标行!',StopSign!)
  166. RETURN
  167. END IF
  168. FOR ls_i = 1 TO dw_pageretr.RowCount()
  169. IF dw_pageretr.IsSelected(ls_i) THEN
  170. chC++
  171. ins_rt_stru.mtrlid[chC] = dw_pageretr.Object.mtrlid[ls_i]
  172. ins_rt_stru.mtrlname[chC] = dw_pageretr.Object.u_mtrldef_mtrlname[ls_i]
  173. ins_rt_stru.mtrlcode[chC] = dw_pageretr.Object.u_mtrldef_mtrlcode[ls_i]
  174. ins_rt_stru.mtrlsectype[chC] = dw_pageretr.Object.u_mtrldef_mtrlsectype[ls_i]
  175. ins_rt_stru.mtrlmode[chC] = dw_pageretr.Object.u_mtrldef_mtrlmode[ls_i]
  176. ins_rt_stru.dscrp[chC] = dw_pageretr.Object.dscrp[ls_i]
  177. ins_rt_stru.procode[chC] = dw_pageretr.Object.procode[ls_i]
  178. ins_rt_stru.proname[chC] = dw_pageretr.Object.u_sc_workprice_proname[ls_i]
  179. ins_rt_stru.worklevel[chC] = dw_pageretr.Object.worklevel[ls_i]
  180. ins_rt_stru.techlevel[chC] = dw_pageretr.Object.techlevel[ls_i]
  181. ins_rt_stru.workhour[chC] = dw_pageretr.Object.workhour[ls_i]
  182. ins_rt_stru.workprice[chC] = dw_pageretr.Object.workprice[ls_i]
  183. ins_rt_stru.workqty[chC] = dw_pageretr.Object.workqty[ls_i]
  184. ins_rt_stru.lastflag[chC] = dw_pageretr.Object.lastflag[ls_i]
  185. ins_rt_stru.wrkgrpid[chC] = dw_pageretr.Object.wrkgrpid[ls_i]
  186. ins_rt_stru.lsxtype[chC] = dw_pageretr.Object.lsxtype[ls_i]
  187. ins_rt_stru.ifstandard[chC] = dw_pageretr.Object.u_sc_workprice_ifstandard[ls_i]
  188. ins_rt_stru.zxmtrlmode[chC] = dw_pageretr.Object.u_mtrldef_zxmtrlmode[ls_i]
  189. ins_rt_stru.status[chC] = dw_pageretr.Object.u_sc_workprice_status[ls_i]
  190. END IF
  191. NEXT
  192. Close(PARENT)
  193. end event
  194. type cb_refresh from w_pageretr_ch`cb_refresh within w_workprice_pro_page_ch
  195. end type
  196. type cb_help from w_pageretr_ch`cb_help within w_workprice_pro_page_ch
  197. end type
  198. type ln_bar from w_pageretr_ch`ln_bar within w_workprice_pro_page_ch
  199. end type
  200. type ln_bar2 from w_pageretr_ch`ln_bar2 within w_workprice_pro_page_ch
  201. end type
  202. type r_bar from w_pageretr_ch`r_bar within w_workprice_pro_page_ch
  203. end type
  204. type ln_1 from w_pageretr_ch`ln_1 within w_workprice_pro_page_ch
  205. end type
  206. type ln_2 from w_pageretr_ch`ln_2 within w_workprice_pro_page_ch
  207. end type
  208. type cbx_mlselect from checkbox within w_workprice_pro_page_ch
  209. integer x = 1472
  210. integer y = 196
  211. integer width = 256
  212. integer height = 60
  213. boolean bringtotop = true
  214. integer textsize = -9
  215. integer weight = 400
  216. fontcharset fontcharset = gb2312charset!
  217. fontpitch fontpitch = variable!
  218. string facename = "宋体"
  219. long backcolor = 134217739
  220. string text = "多选"
  221. end type
  222. event clicked;IF THIS.Checked THEN
  223. if_mlselect = 1
  224. cbx_all.Enabled = TRUE
  225. ELSE
  226. if_mlselect = 0
  227. cbx_all.Enabled = FALSE
  228. cbx_all.Checked = FALSE
  229. Long li
  230. FOR li = 1 TO dw_pageretr.RowCount()
  231. dw_pageretr.SelectRow(li,FALSE)
  232. NEXT
  233. END IF
  234. SetProfileString (sys_inifilename,dw_pageretr.DataObject, "if_mlselect", String(if_mlselect))
  235. end event
  236. event constructor;if_mlselect = Integer(ProfileString (sys_inifilename,dw_pageretr.DataObject, "if_mlselect", '0'))
  237. IF if_mlselect = 0 THEN
  238. THIS.Checked = FALSE
  239. cbx_all.enabled = false
  240. ELSE
  241. THIS.Checked = TRUE
  242. cbx_all.enabled = true
  243. END IF
  244. end event
  245. type cbx_all from checkbox within w_workprice_pro_page_ch
  246. integer x = 1701
  247. integer y = 196
  248. integer width = 256
  249. integer height = 60
  250. boolean bringtotop = true
  251. integer textsize = -9
  252. integer weight = 400
  253. fontcharset fontcharset = gb2312charset!
  254. fontpitch fontpitch = variable!
  255. string facename = "宋体"
  256. long textcolor = 33554432
  257. long backcolor = 134217739
  258. boolean enabled = false
  259. string text = "全选"
  260. end type
  261. event clicked;IF dw_pageretr.RowCount() <= 0 THEN RETURN
  262. Long li
  263. IF THIS.Checked THEN
  264. FOR li = 1 TO dw_pageretr.RowCount()
  265. dw_pageretr.SelectRow(li,TRUE)
  266. NEXT
  267. ELSE
  268. FOR li = 1 TO dw_pageretr.RowCount()
  269. dw_pageretr.SelectRow(li,FALSE)
  270. NEXT
  271. END IF
  272. end event
  273. type tv_1 from uo_tv_mtrltype within w_workprice_pro_page_ch
  274. integer x = 9
  275. integer y = 288
  276. integer width = 864
  277. integer height = 1996
  278. integer taborder = 30
  279. boolean bringtotop = true
  280. integer textsize = -9
  281. fontcharset fontcharset = gb2312charset!
  282. fontfamily fontfamily = anyfont!
  283. string facename = "宋体"
  284. end type
  285. event selectionchanged;call super::selectionchanged;cur_handtype = THIS.uo_cur_info.handtype
  286. cur_handtype = cur_handtype + '%'
  287. parent.triggerevent("retrieve_pageretr")
  288. end event