UIB010275.xrw 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/css" href="../../css/body.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>
  6. <![CDATA[品质设计>>生产规范录入>>平整规格钢种录入]]>
  7. </xhtml:title>
  8. <model id="model1">
  9. <instance id="instance1">
  10. <root xmlns="">
  11. <formData>
  12. <delSpec/>
  13. <NeedGrd/>
  14. </formData>
  15. <datagrid1/>
  16. <datagrid2/>
  17. <reqData/>
  18. <resData/>
  19. <tempData1/>
  20. <tempData2/>
  21. <initData>
  22. <InitSpecResult_VO>
  23. <InitSpecResult_Row>
  24. <LABEL>---全部---</LABEL>
  25. <VALUE/>
  26. </InitSpecResult_Row>
  27. </InitSpecResult_VO>
  28. </initData>
  29. <tolerance>
  30. <Tolerance_Row>
  31. <LABEL/>
  32. <VALUE/>
  33. </Tolerance_Row>
  34. </tolerance>
  35. <initDengData>
  36. <DengJi_Row>
  37. <LABEL/>
  38. <VALUE/>
  39. </DengJi_Row>
  40. </initDengData>
  41. <SpecResult>
  42. <InitSpecResult_Row>
  43. <LABEL/>
  44. <VALUE/>
  45. </InitSpecResult_Row>
  46. </SpecResult>
  47. </root>
  48. </instance>
  49. <script type="javascript" ev:event="xforms-ready">
  50. <![CDATA[
  51. if(window.parent==null) Init();
  52. ]]>
  53. </script>
  54. </model>
  55. <script type="javascript" src="../../js/boaCommon.js"/>
  56. <script type="javascript" src="../../js/b01.js"/>
  57. <script type="javascript">
  58. <![CDATA[
  59. function Init(node)
  60. {
  61. InitParams(node);
  62. model.duplicate("/root/formData", "/root/initData/rcvInfo/REG_ID");
  63. datagrid2.colStatus(datagrid2.colRef("CHK")) = false;
  64. commSubmit("UIB010271-service", "success", "glueAction.do");
  65. model.duplicate("/root/initData" , "/root/resData/InitSpecResult_VO");//交付条件标准号初始化
  66. model.copyNode("/root/tolerance" , "/root/resData/Tolerance_VO");//公差(名)初始化
  67. model.copyNode("/root/initDengData" , "/root/resData/DengJi_VO");//等级代码
  68. model.copyNode("/root/SpecResult" , "/root/resData/InitSpecResult_VO");
  69. model.copyNode("/root/InitCopyDel" , "/root/resData/CopyDel_VO");
  70. model.refresh();
  71. }
  72. function find()
  73. {
  74. model.removenode("/root/reqData");
  75. model.makeNode("/root/reqData");
  76. commSendReq("/root/formData");
  77. commSubmit("UIB010271-service", "findspm", "glueAction.do");
  78. model.copyNode("/root/datagrid1" , "/root/resData/DelSpecResult_VO");
  79. currentRow = 0;
  80. // model.resetInstanceNode("/root/datagrid2"); 数据行实际上仍然保留,所以不能用该方法
  81. model.removenode("/root/datagrid2");
  82. model.makeNode("/root/datagrid2");
  83. datagrid1.clearStatus();
  84. datagrid2.clearStatus();
  85. model.refresh();
  86. datagrid1.cellAttribute("disabled",datagrid1.fixedRows , datagrid1.fixedCols , datagrid1.rows - 1 , datagrid1.cols - 1) = "true";
  87. }
  88. function save()
  89. {
  90. if(currentRow==0){window.alert("非法操作" , "提示"); return;}
  91. if(commComfirmBox("确认保存?","提示")=="0") return;
  92. model.removenode("/root/reqData");
  93. model.makeNode("/root/reqData");
  94. model.removenode("/root/tempData1");
  95. model.makeNode("/root/tempData1");
  96. b01MultiUpdate(datagrid2 , "/root/tempData1" , "A" , true , "rowStuts1");
  97. commSendReq("/root/formData","/root/datagrid1/DelSpecResult_Row["+currentRow+"]" , "/root/tempData1");
  98. getLoggingInInfo();
  99. commSubmit("UIB010271-service", "savespm", "glueAction.do");
  100. datagrid1.clearStatus();
  101. datagrid2.clearStatus();
  102. currentRow = 0;//防止保存误操作
  103. datagrid1.cellAttribute("disabled",datagrid1.fixedRows , datagrid1.fixedCols , datagrid1.rows - 1 , datagrid1.cols - 1) = "true";
  104. }
  105. var currentRow = 0;
  106. ]]>
  107. </script>
  108. </xhtml:head>
  109. <xhtml:body pagewidth="980" pageheight="620">
  110. <datagrid id="datagrid2" nodeset="/root/datagrid2/ToleranceResult_Row" caption="选择^平整类型^宽度^宽度^厚度^厚度^其它^标识|选择^平整类型^最小^最大^最小^最大^备注^标识" colsep="^" colwidth="40, 64, 87, 82, 79, 78, 106, 55" defaultrows="36" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" tooltip="label" style="left:335px; top:35px; width:530px; height:585px; border-style:solid; ">
  111. <col checkvalue="Y,N" ref="CHK" type="checkbox"/>
  112. <col disabled="true" ref="EMEC_TP" type="combo" style="text-align:right; background-color:#ffffff; ">
  113. <choices>
  114. <item>
  115. <label>平整</label>
  116. <value>1</value>
  117. </item>
  118. <item>
  119. <label>分卷</label>
  120. <value>2</value>
  121. </item>
  122. <item>
  123. <label>平整分卷</label>
  124. <value>3</value>
  125. </item>
  126. <item>
  127. <label>重卷</label>
  128. <value>4</value>
  129. </item>
  130. <item>
  131. <label>开卷检查</label>
  132. <value>5</value>
  133. </item>
  134. </choices>
  135. </col>
  136. <col disabled="true" ref="WTH_MIN" type="input" style="text-align:right; background-color:#ffffff; "/>
  137. <col disabled="true" ref="WTH_MAX" type="input" style="text-align:right; background-color:#ffffff; "/>
  138. <col disabled="true" ref="THK_MIN" type="input" style="text-align:right; background-color:#ffffff; "/>
  139. <col disabled="true" ref="THK_MAX" type="input" style="text-align:right; background-color:#ffffff; "/>
  140. <col disabled="true" ref="ADD_WTH" type="input" style="text-align:right; background-color:#ffffff; "/>
  141. <col disabled="true" ref="MARK" type="input" visibility="hidden" style="text-align:right; background-color:#ffffff; "/>
  142. <script type="javascript" ev:event="onclick">
  143. <![CDATA[
  144. if(datagrid2.row < datagrid2.fixedRows) return;
  145. if(datagrid2.col != datagrid2.colRef("CHK")) return;
  146. var cRow = datagrid2.row;
  147. var chkCol = datagrid2.colRef("CHK");
  148. var startCol = datagrid2.colRef("DEL_TOL_CD");
  149. if(datagrid2.valueMatrix(cRow , chkCol) == "Y")//可编辑状态
  150. {
  151. datagrid2.cellAttribute("disabled",cRow , chkCol+1 , cRow , datagrid2.cols-1) = "false";
  152. for(var i = startCol ; i < datagrid2.cols ; i++)
  153. {
  154. datagrid2.cellStyle("background-color",cRow, i) = "#ffff99";
  155. }
  156. }
  157. else
  158. {
  159. datagrid2.cellAttribute("disabled",cRow , chkCol+1 , cRow , datagrid2.cols-1) = "true";
  160. for(var i = startCol ; i < datagrid2.cols ; i++)
  161. {
  162. datagrid2.cellStyle("background-color",cRow, i) = "#ffffff";
  163. }
  164. }
  165. ]]>
  166. </script>
  167. <script type="javascript" ev:event="onentercell">
  168. <![CDATA[
  169. datagrid2.editCell();
  170. ]]>
  171. </script>
  172. <script type="javascript" ev:event="onkeydown">
  173. <![CDATA[
  174. onkeydownmove(datagrid2);
  175. ]]>
  176. </script>
  177. <script type="javascript" ev:event="xforms-value-changed">
  178. <![CDATA[
  179. compareMINMAX(datagrid2,"THK_MIN","THK_MAX") //验证最大值不能小于最小值
  180. compareMINMAX(datagrid2,"WTH_MIN","WTH_MAX") //验证最大值不能小于最小值
  181. ]]>
  182. </script>
  183. </datagrid>
  184. <caption id="caption1" class="cell" style="left:0px; top:5px; width:100px; height:20px; vertical-align:middle; border-style:solid; ">标准牌号</caption>
  185. <button id="button6" style="left:685px; top:5px; width:70px; height:20px; background-image:../../images/btn_add.gif; ">
  186. <caption>增加</caption>
  187. <script type="javascript" ev:event="onclick">
  188. <![CDATA[
  189. datagrid2.addRow();
  190. datagrid2.vscroll.attribute("pos") = datagrid2.rows*20;
  191. datagrid2.valueMatrix(datagrid2.row , datagrid2.colRef("CHK")) = "Y";
  192. datagrid2.cellStyle("background-color",datagrid2.row, datagrid2.colRef("DEL_TOL_CD") , datagrid2.row , datagrid2.cols-1) = "#ffff99";
  193. model.refresh();
  194. ]]>
  195. </script>
  196. </button>
  197. <button id="button7" style="left:755px; top:5px; width:73px; height:20px; background-image:../../images/btn_move.gif; ">
  198. <caption>删除</caption>
  199. <script type="javascript" ev:event="onclick">
  200. <![CDATA[
  201. if(beGridChanged(datagrid2) == "1")
  202. {
  203. if(commComfirmBox("数据已被更改,可能出现误删,确定删除?","提示")=="0") return;
  204. }
  205. var rows = datagrid2.rows;
  206. for(var i=rows; i > 0; i--)
  207. {
  208. if(datagrid2.valueMatrix(i , 0)=="Y")
  209. {
  210. datagrid2.deleteRow(i , false);
  211. }
  212. }
  213. save();
  214. ]]>
  215. </script>
  216. </button>
  217. <button id="button8" style="left:200px; top:35px; width:70px; height:20px; background-image:../../images/btn_add.gif; ">
  218. <caption>增加</caption>
  219. <script type="javascript" ev:event="onclick">
  220. <![CDATA[
  221. if(beGridChanged(datagrid1,datagrid2) == "1")
  222. {
  223. window.alert("数据已更新,请保存!" , "警告");
  224. return;
  225. }
  226. //只有最后一行允许编辑
  227. datagrid1.cellAttribute("disabled",datagrid1.fixedRows , datagrid1.fixedCols , datagrid1.rows - 1 , datagrid1.cols - 1) = "true";
  228. datagrid1.addRow();
  229. currentRow = datagrid1.row;
  230. model.removenode("/root/datagrid2");
  231. model.makeNode("/root/datagrid2");
  232. datagrid1.vscroll.attribute("pos") = datagrid1.rows*20;//滚动条到最后
  233. model.refresh();
  234. ]]>
  235. </script>
  236. </button>
  237. <button id="button9" style="left:270px; top:35px; width:70px; height:20px; background-image:../../images/btn_move.gif; ">
  238. <caption>删除</caption>
  239. <script type="javascript" ev:event="onclick">
  240. <![CDATA[
  241. if(beGridChanged(datagrid1) == "1")
  242. {
  243. window.alert("数据已修改,请保存或初始化!" , "警告");
  244. return;
  245. }
  246. if(commComfirmBox("确定删除?","提示")=="0") return;
  247. model.removenode("/root/reqData");
  248. model.makeNode("/root/reqData");
  249. datagrid1.deleteRow(datagrid1.row );
  250. b01MultiUpdate(datagrid1,"/root/reqData" ,"A", true, "rowStatusD");
  251. getLoggingInInfo();
  252. commSubmit("UIB010271-service", "save", "glueAction.do");
  253. datagrid1.clearStatus();
  254. model.removenode("/root/datagrid2");
  255. model.makeNode("/root/datagrid2");
  256. model.refresh();
  257. ]]>
  258. </script>
  259. </button>
  260. <select1 id="combo1" ref="/root/formData/delSpec" appearance="minimal" style="left:97px; top:5px; width:236px; height:20px; border-style:solid; ">
  261. <choices>
  262. <itemset nodeset="/root/initData/InitSpecResult_VO/InitSpecResult_Row">
  263. <label ref="LABEL"/>
  264. <value ref="VALUE"/>
  265. </itemset>
  266. </choices>
  267. </select1>
  268. <line id="line2" style="x1:0px; y1:0px; x2:810px; y2:0px; "/>
  269. <line id="line1" style="x1:0px; y1:30px; x2:810px; y2:30px; "/>
  270. <datagrid id="datagrid1" nodeset="/root/datagrid1/DelSpecResult_Row" caption="标准牌号^查询" colsep="^" colwidth="166, 69" defaultrows="46" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="30" rowsep="|" tooltip="label" style="left:0px; top:57px; width:330px; height:563px; ">
  271. <col editmode="search" ref="DEV_SPEC_CD" type="combo" style="text-align:left; background-color:#ffff99; ">
  272. <choices>
  273. <itemset nodeset="/root/SpecResult/InitSpecResult_Row">
  274. <label ref="LABEL"/>
  275. <value ref="VALUE"/>
  276. </itemset>
  277. </choices>
  278. </col>
  279. <col ref="QUERY" style="cursor:hand; "/>
  280. <script type="javascript" ev:event="onclick">
  281. <![CDATA[
  282. if(datagrid1.col == datagrid1.colRef("QUERY") && datagrid1.row >= datagrid1.fixedRows)
  283. {
  284. if(datagrid1.rowStatus(datagrid1.rows-1) == 1)
  285. {
  286. window.alert("增加状态下不允许该操作!" , "警告");
  287. datagrid1.row = datagrid1.rows-1;
  288. return;
  289. }
  290. if(beGridChanged(datagrid1 , datagrid2) == "1" && currentRow != 0)
  291. {
  292. if(commComfirmBox("数据已修改,是否保存被修改的数据?","提示")=="0")
  293. {
  294. datagrid1.clearStatus();
  295. datagrid2.clearStatus();
  296. }
  297. else
  298. {
  299. save();
  300. }
  301. }
  302. model.removenode("/root/reqData");
  303. model.makeNode("/root/reqData");
  304. commSendReq("/root/datagrid1/DelSpecResult_Row["+datagrid1.row+"]");
  305. commSubmit("UIB010271-service", "onclickspm", "glueAction.do");
  306. model.copyNode("/root/datagrid2" , "/root/resData/ToleranceResult_VO");
  307. model.refresh();
  308. currentRow = datagrid1.row;
  309. datagrid1.col = 1;//焦点变化,以免拖动滚动条时做了查询操作
  310. datagrid1.clearStatus();
  311. datagrid2.clearStatus();
  312. datagrid2.rebuildStyle();
  313. datagrid2.cellAttribute("disabled",datagrid2.fixedRows , datagrid2.fixedCols+1 , datagrid2.rows - 1 , datagrid2.cols - 1) = "true";
  314. }
  315. ]]>
  316. </script>
  317. <script type="javascript" ev:event="onentercell">
  318. <![CDATA[
  319. datagrid1.editCell();
  320. ]]>
  321. </script>
  322. <script type="javascript" ev:event="onkeydown">
  323. <![CDATA[
  324. onkeydownmove(datagrid1);
  325. ]]>
  326. </script>
  327. </datagrid>
  328. <button id="button2" visibility="hidden" style="left:430px; top:0px; width:100px; height:20px; ">
  329. <caption>FIND</caption>
  330. <script type="javascript" ev:event="DOMActivate">
  331. <![CDATA[
  332. find();
  333. ]]>
  334. </script>
  335. </button>
  336. <button id="button4" visibility="hidden" style="left:500px; top:0px; width:100px; height:20px; ">
  337. <caption>SAVE</caption>
  338. <script type="javascript" ev:event="DOMActivate">
  339. <![CDATA[
  340. save();
  341. ]]>
  342. </script>
  343. </button>
  344. <button id="button1" style="left:120px; top:35px; width:60px; height:20px; background-image:../../images/btn_add.gif; ">
  345. <caption>复制</caption>
  346. <script type="javascript" ev:event="DOMActivate">
  347. <![CDATA[
  348. if(commComfirmBox("确定复制?","提示")=="0") return;
  349. var checkCol = datagrid1.colRef("DEV_SPEC_CD");
  350. var i = datagrid1.fixedRows;
  351. datagrid1.addRow();
  352. datagrid1.cellStyle("background-color",datagrid1.row, datagrid1.colRef("DEV_SPEC_CD") , datagrid1.row , datagrid1.cols-1) = "#99cc00";
  353. //alert(checkCol+i);
  354. //datagrid2.valueMatrix(datagrid1.row , checkCol) = "Y";
  355. datagrid1.valueMatrix(datagrid1.row , checkCol) = datagrid1.valueMatrix(i , checkCol);
  356. model.refresh();
  357. //datagrid2.vscroll.attribute("pos") = datagrid2.rows*20;
  358. ]]>
  359. </script>
  360. </button>
  361. <button id="button3" style="left:620px; top:5px; width:60px; height:20px; background-image:../../images/btn_add.gif; ">
  362. <caption>复制</caption>
  363. <script type="javascript" ev:event="DOMActivate">
  364. <![CDATA[
  365. var checkFlag = "N";
  366. for(var i = datagrid2.fixedRows; i < datagrid2.rows; i++)
  367. {
  368. if(datagrid2.valueMatrix(i , datagrid2.colRef("CHK")) == "Y")
  369. {
  370. checkFlag = "Y";
  371. break;
  372. }
  373. }
  374. if(checkFlag == "N")
  375. {
  376. window.alert("请选择需要复制的行!","提示");
  377. return;
  378. }
  379. if(commComfirmBox("确定复制?","提示")=="0") return;
  380. var checkCol = datagrid2.colRef("CHK");
  381. var tolCol = datagrid2.colRef("EMEC_TP");//公差名
  382. var thkMinCol = datagrid2.colRef("THK_MIN");//厚度最小
  383. var thkMaxCol = datagrid2.colRef("THK_MAX");//厚度最大
  384. var wthMinCol = datagrid2.colRef("WTH_MIN");
  385. var wthMaxCol = datagrid2.colRef("WTH_MAX");
  386. var addwth = datagrid2.colRef("ADD_WTH");
  387. var theMaxRows = datagrid2.rows;
  388. for(var i = datagrid2.fixedRows; i < theMaxRows; i++)
  389. {
  390. if(datagrid2.valueMatrix(i , datagrid2.colRef("CHK")) == "Y")
  391. {
  392. datagrid2.addRow();
  393. datagrid2.cellStyle("background-color",datagrid2.row, datagrid2.colRef("EMEC_TP") , datagrid2.row , datagrid2.cols-1) = "#99cc00";
  394. datagrid2.valueMatrix(datagrid2.row , checkCol) = "Y";
  395. datagrid2.valueMatrix(datagrid2.row , tolCol) = datagrid2.valueMatrix(i , tolCol);
  396. datagrid2.valueMatrix(datagrid2.row , thkMinCol) = datagrid2.valueMatrix(i , thkMinCol);
  397. datagrid2.valueMatrix(datagrid2.row , thkMaxCol) = datagrid2.valueMatrix(i , thkMaxCol);
  398. datagrid2.valueMatrix(datagrid2.row , wthMinCol) = datagrid2.valueMatrix(i , wthMinCol);
  399. datagrid2.valueMatrix(datagrid2.row , wthMaxCol) = datagrid2.valueMatrix(i , wthMaxCol);
  400. datagrid2.valueMatrix(datagrid2.row , addwth) = datagrid2.valueMatrix(i , addwth);
  401. }
  402. }
  403. model.refresh();
  404. //datagrid2.vscroll.attribute("pos") = datagrid2.rows*20;
  405. ]]>
  406. </script>
  407. </button>
  408. </xhtml:body>
  409. </xhtml:html>