6b95ef81032f1217731f32fc7761c2549ee1a6c1.svn-base 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet href="../../css/body.css" type="text/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. <serachinfo>
  13. <Pstove/>
  14. </serachinfo>
  15. <ProcCD/>
  16. <cc/>
  17. <dd/>
  18. </formData>
  19. <datagrid1/>
  20. <datagrid2/>
  21. <initQltyCD>
  22. <QltyResult_Row>
  23. <LABEL/>
  24. <VALUE/>
  25. </QltyResult_Row>
  26. </initQltyCD>
  27. <tempData1/>
  28. <tempData2/>
  29. <initData>
  30. <ChargeNo_Row>
  31. <LABEL/>
  32. <VALUE/>
  33. </ChargeNo_Row>
  34. </initData>
  35. </root>
  36. </instance>
  37. <script type="javascript" ev:event="xforms-ready">
  38. <![CDATA[
  39. if(window.parent==null) Init();
  40. ]]>
  41. </script>
  42. </model>
  43. <script type="javascript" src="../../js/boaCommon.js"/>
  44. <script type="javascript" src="../../js/b01.js"/>
  45. <script type="javascript">
  46. <![CDATA[
  47. function Init(node)
  48. {
  49. InitParams(node);
  50. model.removenode("/root/reqData");
  51. model.makeNode("/root/reqData");
  52. datagrid1.colStatus(0)=false;
  53. input1.value = document.readIniFile("session1" , "UIB020132_1" , "" , "c:\\WINDOWS\\xgmes3.ini");
  54. input2.value = document.readIniFile("session1" , "UIB020132_2" , "" , "c:\\WINDOWS\\xgmes3.ini");
  55. commSubmit("UIB020132-service" , "success" , "glueAction.do");
  56. model.copyNode("/root/initQltyCD" , "/root/resData/QltyResult_VO");
  57. model.refresh();
  58. // combo1.select(0);
  59. }
  60. function find()
  61. {
  62. model.removenode("/root/reqData");
  63. model.resetInstanceNode("/root/datagrid2");//清空datagrid2的数据
  64. model.refresh();
  65. document.writeIniFile("session1" , "UIB020132_1" , input1.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
  66. document.writeIniFile("session1" , "UIB020132_2" , input2.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
  67. model.makeValue("/root/reqData/Pstove" , combo1.value.Trim());//炉次号
  68. model.makeValue("/root/reqData/PROCCD" , combo2.value);//进程状态
  69. model.makeValue("/root/reqData/COIL1" , input1.value.Trim());
  70. if(input2.value.Trim() == "")
  71. {
  72. model.makeValue("/root/reqData/COIL2" , input1.value.Trim());
  73. }
  74. else
  75. {
  76. model.makeValue("/root/reqData/COIL2" , input2.value.Trim());
  77. }
  78. // if(combo2.value.Trim() == "C")//检验待机
  79. // {
  80. // commSubmit("UIB020132-service" , "find2" , "glueAction.do");
  81. // }
  82. // else if(combo2.value.Trim() == "D")
  83. // {
  84. // commSubmit("UIB020132-service" , "find3" , "glueAction.do");
  85. // }
  86. // else
  87. // {
  88. // commSubmit("UIB020132-service" , "find1" , "glueAction.do");
  89. // }
  90. commSubmit("UIB020132-service" , "findSamp" , "glueAction.do");
  91. model.copyNode("/root/datagrid1" , "/root/resData/MapSmpResult_VO");
  92. model.refresh();
  93. // commSubmit("UIB020132-service" , "findSamp" , "glueAction.do");
  94. //
  95. // reset();
  96. // GridDynamicQlty(datagrid1 , "/root/resData/QltyNM_VO");
  97. // model.copyNode("/root/datagrid1" , "/root/resData/MapSmpResult_VO");
  98. // model.refresh();
  99. //
  100. // //改变与SMP_NO不同的CONV_SMP_NO的字体的颜色
  101. // var smp = "";//save SMP_NO
  102. // var subSmp = "";//save CONV_SMP_NO
  103. // for(var i = datagrid1.fixedRows; i < datagrid1.rows ; i++)
  104. // {
  105. // for(var j = 1; j < (datagrid1.cols - 6); j++)
  106. // {
  107. // subSmp = (datagrid1.valueMatrix(i,1)).substr(10,5);//试样编号
  108. // smp = datagrid1.valueMatrix(i , datagrid1.colRef("CD"+j));//动态生成的列
  109. // if(smp!="" && subSmp!= smp)
  110. // datagrid1.cellstyle("color", i,datagrid1.colRef("CD"+j)) = "#0000ff";//字体颜色设置
  111. // }
  112. // }
  113. }
  114. ///表格的动态列生成
  115. //ref 为"/root/resData/QltyNM_VO"形式
  116. function GridDynamicQlty(grid , ref)
  117. {
  118. ///获得材质名
  119. var node = instance1.selectSingleNode(ref);
  120. var nodeList = node.childNodes;
  121. var nNode;
  122. var i = 1;
  123. var tempCaption1 = "";//第一列的caption
  124. var tempCaption2 = "";//第二列的caption
  125. while(nNode=nodeList.nextNode())
  126. {
  127. grid.addColumn("ref:CD"+i, false);
  128. ///指定某一列的caption
  129. grid.colWidth(grid.colRef("CD"+i)) = 50;
  130. tempCaption1 = tempCaption1 +"^"+"材质实验编制项目";
  131. tempCaption2 = tempCaption2 +"^"+nNode.childNodes.item(0).nodeValue;
  132. i++;
  133. }
  134. ///生成最终的caption
  135. var caption = grid.caption ;
  136. grid.caption = caption.split("|")[0]+tempCaption1+"|"+caption.split("|")[1]+tempCaption2;
  137. }
  138. function save()
  139. {
  140. if(beGridChanged(datagrid1 , datagrid2)=="0")//若无修改,则不进行下面操作
  141. return;
  142. model.removenode("/root/reqData");
  143. model.makeNode("/root/reqData");
  144. model.removenode("/root/tempData1");
  145. model.makeNode("/root/tempData1");
  146. model.removenode("/root/tempData2");
  147. model.makeNode("/root/tempData2");
  148. // b01MultiUpdate(datagrid1 , "/root/tempData1" , "A" , true , "rowStatus1");//获得表1的更新记录
  149. b01MultiUpdate(datagrid2 , "/root/tempData2" , "A" , true , "rowStatus2");//获得表2的更新记录
  150. commSendReq("/root/tempData1" , "/root/tempData2");//生成reqData节点
  151. // commSendReq("/root/tempData1" );//生成reqData节点
  152. model.makeValue("/root/reqData/ONE_COUNT" , datagrid1.cols - datagrid1.colRef("SMP_PROG_CD"));//表1中动态生成项的数量
  153. getLoggingInInfo();
  154. commSubmit("UIB020132-service" , "save" , "glueAction.do");
  155. datagrid1.rebuild();
  156. //model.refresh();
  157. exceptionReport();
  158. }
  159. var captionxxx = datagrid1.caption;
  160. function reset()
  161. {
  162. model.removenode("/root/datagrid1");
  163. datagrid1.caption = captionxxx;
  164. model.makeNode("/root/datagrid1");
  165. datagrid1.addRow();
  166. var coll = datagrid1.cols;
  167. ///还原表格到初始状态
  168. for(var i = coll; i > 7; i--)
  169. {
  170. datagrid1.deleteColumn(i , false);
  171. }
  172. // model.removenode("/root/datagrid1");
  173. // datagrid1.caption = captionxxx;
  174. ///生成列
  175. datagrid1.addRow();//先有一行才能改变表格的宽度
  176. }
  177. function setColor(grid)
  178. {
  179. var valCol = grid.colRef("QLTY_VAL_WK1");//实绩值做在列
  180. var minCol = grid.colRef("QLTY_MIN");//最小值的列
  181. var maxCol = grid.colRef("QLTY_MAX");//最大值的列
  182. grid.colstyle(valCol, "data", "background-color") = "#ffff99";//恢复初始的黄色再染色
  183. var min = "";
  184. var max = "";
  185. var val = "";
  186. for(var i = 1; i < grid.rows; i++)
  187. {
  188. min = grid.valueMatrix(i , minCol);//成分最小
  189. max = grid.valueMatrix(i , maxCol);//最大
  190. val = grid.valueMatrix(i , valCol);//实绩
  191. if(val != "" && min !="" && parseFloat(min) > parseFloat(val) )//实绩值应大于等于指示最小值,否则不合格
  192. {
  193. grid.cellStyle("background-color" , i , valCol) = "#ff0000";
  194. }
  195. if(val != "" && max != "" && parseFloat(max) < parseFloat(val))//实绩值应小于等于指示最大值,否则不合格
  196. {
  197. grid.cellStyle("background-color" , i , valCol) = "#ff0000";
  198. }
  199. if(val =="" && (max != "" || min !="") )
  200. {
  201. grid.cellStyle("background-color" , i , valCol) = "#cc99ff";
  202. }
  203. }
  204. }
  205. ]]>
  206. </script>
  207. </xhtml:head>
  208. <xhtml:body pagewidth="980" pageheight="620">
  209. <caption id="caption1" class="cell" visibility="hidden" style="left:575px; top:5px; width:100px; height:20px; ">炉次号</caption>
  210. <datagrid id="datagrid1" nodeset="/root/datagrid1/MapSmpResult_Row" caption="选择^流水号^钢卷号^试样编号^位置^取样代码^标准号^标准钢号^厚度^试样进程代码^备注|选择^流水号^钢卷号^试样编号^位置^取样代码^标准号^标准钢号^厚度^试样进程代码^备注" colsep="^" colwidth="33, 100, 100, 96, 26, 40, 145, 98, 100, 86, 120" explorerbar="sortshow" extendlastcol="false" frozencols="3" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="label" style="left:0px; top:35px; width:977px; height:310px; ">
  211. <col checkvalue="Y,N" ref="CHK" type="radio"/>
  212. <col editable="false" ref="COIL_NO" type="input" visibility="hidden" style="background-color:#ffffff; "/>
  213. <col editable="false" ref="OLD_SAMPL_NO" type="input" style="background-color:#ffffff; "/>
  214. <col editable="false" ref="SMP_NO" type="input" style="background-color:#ffffff; "/>
  215. <col editable="false" ref="SMP_CUT_LOC" type="input" style="background-color:#ffffff; "/>
  216. <col editable="false" ref="SAMPLING_CODE" type="input" visibility="hidden" style="background-color:#ffffff; "/>
  217. <col editable="false" ref="SPEC_ABBSYM" type="input" style="background-color:#ffffff; "/>
  218. <col editable="false" ref="SPEC_STL_GRD" type="input" style="background-color:#ffffff; "/>
  219. <col editable="false" ref="DCS_THK" type="input" style="background-color:#ffffff; "/>
  220. <col disabled="true" ref="SMP_PROG_CD" type="combo">
  221. <choices>
  222. <item>
  223. <label>试样采集等待</label>
  224. <value>A</value>
  225. </item>
  226. <item>
  227. <label>试样入库等待</label>
  228. <value>B</value>
  229. </item>
  230. <item>
  231. <label>试样检验等待</label>
  232. <value>C</value>
  233. </item>
  234. <item>
  235. <label>材质判定等待</label>
  236. <value>D</value>
  237. </item>
  238. </choices>
  239. </col>
  240. <col ref="SMP_DETAIL" type="input" style="text-align:left; background-color:#ffff99; "/>
  241. <script type="javascript" ev:event="onclick">
  242. <![CDATA[
  243. // datagrid1.editCell();
  244. //若点击的是第一列,则进行查询操作
  245. var smpcol = datagrid1.colRef("SMP_NO");
  246. var smpcutcol = datagrid1.colRef("SMP_CUT_LOC");
  247. if(datagrid1.col == 0 && datagrid1.valueMatrix(datagrid1.row , datagrid1.col)=="Y")
  248. {
  249. var smpNO = datagrid1.valueMatrix(datagrid1.row, smpcol);//试样号
  250. var cutLOC = datagrid1.valueMatrix(datagrid1.row ,smpcutcol);//位置
  251. model.removenode("/root/reqData");
  252. model.makeValue("/root/reqData/SMPNO" , smpNO);//试样号
  253. model.makeValue("/root/reqData/SMPCUTLOC" , cutLOC);//位置
  254. //查询,生成表格2的数据
  255. commSubmit("UIB020132-service" , "findGrade" , "glueAction.do");
  256. model.copyNode("/root/datagrid2" , "/root/resData/GradeResult_VO");//copy
  257. model.refresh();
  258. //试样位置赋给表格2
  259. for(var i = 2; i < datagrid2.rows; i++)
  260. {
  261. datagrid2.valueMatrix( i , datagrid2.colRef("SMPCUTLOC")) = cutLOC;//位置
  262. }
  263. //若取样位置不是W,则隐藏“实绩2”,否则显示实绩2
  264. if(cutLOC=="W")
  265. {
  266. datagrid2.colHidden(datagrid2.colRef("QLTY_VAL_WK2")) = false;
  267. datagrid2.colHidden(datagrid2.colRef("QLTY_UNIT_WK2")) = false;
  268. }
  269. else
  270. {
  271. datagrid2.colHidden(datagrid2.colRef("QLTY_VAL_WK2")) = true;
  272. datagrid2.colHidden(datagrid2.colRef("QLTY_UNIT_WK2")) = true;
  273. }
  274. setColor(datagrid2);
  275. // datagrid1.row = 0;
  276. }
  277. ]]>
  278. </script>
  279. <script type="javascript" ev:event="xforms-value-changed">
  280. <![CDATA[
  281. var currentRow = datagrid1.row;
  282. var currentCol = datagrid1.col;
  283. if(datagrid1.valueMatrix(currentRow , currentCol)=="")
  284. {
  285. datagrid1.cellAttribute("disabled") = true;
  286. }
  287. ]]>
  288. </script>
  289. <script type="javascript" ev:event="onkeydown">
  290. <![CDATA[
  291. if(event.keyCode == 13 && datagrid1.colRef("SMP_DETAIL") == datagrid1.col)
  292. {
  293. datagrid1.editCell();
  294. model.setFocus("");
  295. model.removenode("/root/reqData");
  296. model.makeNode("/root/reqData");
  297. b01MultiUpdate(datagrid1 , "/root/reqData" , "A" , true , "rowStatus");
  298. commSubmit("UIB020132-service" , "save1" , "glueAction.do");
  299. datagrid1.row++;
  300. datagrid1.clearStatus();
  301. }
  302. ]]>
  303. </script>
  304. </datagrid>
  305. <datagrid id="datagrid2" nodeset="/root/datagrid2/GradeResult_Row" caption="材质代码^次数^材质项目^材质要求范围^材质要求范围^材质要求范围^实绩(1)^实绩(1)^实绩(2)^实绩(2)^试样号(隐)^试样位置(隐)^统一LOT试样号^统一LOT试样号^统一LOT试样号^统一LOT试样号^统一LOT试样号^统一LOT试样号^统一LOT试样号^统一LOT试样号^统一LOT试样号^统一LOT试样号^统一LOT试样号|材质代码^次数^材质项目^最小^最大^单位^材质^单位^材质^单位^试样号(隐)^试样位置(隐)^试样1^试样2^试样3^试样4^试样5^试样6^试样7^试样8^试样9^试样10^试样11" colsep="^" colwidth="60, 38, 132, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:0px; top:355px; width:977px; height:262px; ">
  306. <col editable="false" ref="QLTYCD" type="input" style="background-color:#ffffff; "/>
  307. <col editable="false" ref="QLTY_SEQ" type="input" style="background-color:#ffffff; "/>
  308. <col disabled="true" ref="QLTY_CD" type="combo">
  309. <choices>
  310. <itemset nodeset="/root/initQltyCD/QltyResult_Row">
  311. <label ref="LABEL"/>
  312. <value ref="VALUE"/>
  313. </itemset>
  314. </choices>
  315. </col>
  316. <col editable="false" ref="QLTY_MIN" type="input" style="background-color:#ffffff; "/>
  317. <col editable="false" ref="QLTY_MAX" type="input" style="border-color:#ffffff; "/>
  318. <col editable="false" ref="QLTY_UNIT" type="input" style="background-color:#ffffff; "/>
  319. <col ref="QLTY_VAL_WK1" type="input" style="background-color:#ffff99; "/>
  320. <col ref="QLTY_UNIT_WK1" type="input" style="background-color:#ffff99; "/>
  321. <col ref="QLTY_VAL_WK2" type="input" style="background-color:#ffff99; "/>
  322. <col ref="QLTY_UNIT_WK2" type="input" style="background-color:#ffff99; "/>
  323. <col ref="SMPNO" visibility="hidden"/>
  324. <col ref="SMPCUTLOC" visibility="hidden"/>
  325. <col ref="SMP1"/>
  326. <col ref="SMP2"/>
  327. <col ref="SMP3"/>
  328. <col ref="SMP4"/>
  329. <col ref="SMP5"/>
  330. <col ref="SMP6"/>
  331. <col ref="SMP7"/>
  332. <col ref="SMP8" visibility="hidden"/>
  333. <col ref="SMP9" visibility="hidden"/>
  334. <col ref="SMP10" visibility="hidden"/>
  335. <col ref="SMP11" visibility="hidden"/>
  336. <script type="javascript" ev:event="onclick">
  337. <![CDATA[
  338. // datagrid2.editCell();
  339. ]]>
  340. </script>
  341. <script type="javascript" ev:event="onentercell">
  342. <![CDATA[
  343. if(datagrid2.col == datagrid2.colRef("QLTY_VAL_WK1") || datagrid2.col == datagrid2.colRef("QLTY_UNIT_WK1"))
  344. {
  345. datagrid2.editCell();
  346. }
  347. ]]>
  348. </script>
  349. <script type="javascript" ev:event="onkeydown">
  350. <![CDATA[
  351. if(event.keyCode==13)//回车事件
  352. {
  353. datagrid2.row++;
  354. }
  355. ]]>
  356. </script>
  357. </datagrid>
  358. <caption id="caption2" class="cell" style="left:0px; top:5px; width:100px; height:20px; ">试样进程代码</caption>
  359. <select1 id="combo2" ref="/root/formData/ProcCD" appearance="minimal" style="left:100px; top:5px; width:100px; height:20px; ">
  360. <choices>
  361. <item>
  362. <label>-----------</label>
  363. <value/>
  364. </item>
  365. <item>
  366. <label>试样检验等待</label>
  367. <value>C</value>
  368. </item>
  369. <item>
  370. <label>试样判定等待</label>
  371. <value>D</value>
  372. </item>
  373. </choices>
  374. </select1>
  375. <line id="line1" style="x1:0px; y1:30px; x2:975px; y2:30px; "/>
  376. <line id="line2" style="x1:0px; y1:0px; x2:975px; y2:0px; "/>
  377. <select1 id="combo1" ref="/root/formData/serachinfo/Pstove" visibility="hidden" appearance="minimal" cols="5" editmode="inputsearch" style="left:675px; top:5px; width:100px; height:20px; ">
  378. <choices>
  379. <itemset nodeset="/root/initData/ChargeNo_Row">
  380. <label ref="LABEL"/>
  381. <value ref="VALUE"/>
  382. </itemset>
  383. </choices>
  384. </select1>
  385. <caption id="caption3" class="cell" style="left:220px; top:5px; width:100px; height:20px; ">轧批号</caption>
  386. <input id="input1" ref="/root/formData/cc" style="left:320px; top:5px; width:100px; height:20px; ">
  387. <script type="javascript" ev:event="onkeydown">
  388. <![CDATA[
  389. if(event.keyCode==13)
  390. {
  391. model.setFocus("");
  392. model.setFocus("input1");
  393. find();
  394. }
  395. ]]>
  396. </script>
  397. </input>
  398. <line id="line3" style="x1:420px; y1:15px; x2:430px; y2:15px; "/>
  399. <input id="input2" ref="/root/formData/dd" style="left:430px; top:5px; width:100px; height:20px; ">
  400. <script type="javascript" ev:event="onkeydown">
  401. <![CDATA[
  402. if(event.keyCode==13)
  403. {
  404. model.setFocus("");
  405. model.setFocus("input2");
  406. find();
  407. }
  408. ]]>
  409. </script>
  410. </input>
  411. </xhtml:body>
  412. </xhtml:html>