UIB010272.xrw 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  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. <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("UIB010272-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("UIB010272-service", "find", "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("UIB010272-service", "save", "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, 53, 78, 100, 166, 109, 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" visibility="hidden" style="text-align:right; background-color:#ffffff; ">
  113. <choices>
  114. <item>
  115. <label>Y</label>
  116. <value>Y</value>
  117. </item>
  118. <item>
  119. <label>N</label>
  120. <value>N</value>
  121. </item>
  122. </choices>
  123. </col>
  124. <col editmode="search" ref="CUSTSTL" type="input" style="text-align:left; background-color:#ffff99; "/>
  125. <col editmode="search" ref="SPEC_ABBSYM" type="input" style="text-align:left; background-color:#ffff99; "/>
  126. <col editmode="search" ref="CUSTNAME" type="input" style="text-align:left; background-color:#ffff99; "/>
  127. <col disabled="true" ref="ADD_WTH" type="input" style="text-align:right; background-color:#ffffff; "/>
  128. <col disabled="true" ref="MARK" type="input" visibility="hidden" style="text-align:right; background-color:#ffffff; "/>
  129. <script type="javascript" ev:event="onclick">
  130. <![CDATA[
  131. if(datagrid2.row < datagrid2.fixedRows) return;
  132. if(datagrid2.col != datagrid2.colRef("CHK")) return;
  133. var cRow = datagrid2.row;
  134. var chkCol = datagrid2.colRef("CHK");
  135. var startCol = datagrid2.colRef("DEL_TOL_CD");
  136. if(datagrid2.valueMatrix(cRow , chkCol) == "Y")//可编辑状态
  137. {
  138. datagrid2.cellAttribute("disabled",cRow , chkCol+1 , cRow , datagrid2.cols-1) = "false";
  139. for(var i = startCol ; i < datagrid2.cols ; i++)
  140. {
  141. datagrid2.cellStyle("background-color",cRow, i) = "#ffff99";
  142. }
  143. }
  144. else
  145. {
  146. datagrid2.cellAttribute("disabled",cRow , chkCol+1 , cRow , datagrid2.cols-1) = "true";
  147. for(var i = startCol ; i < datagrid2.cols ; i++)
  148. {
  149. datagrid2.cellStyle("background-color",cRow, i) = "#ffffff";
  150. }
  151. }
  152. ]]>
  153. </script>
  154. <script type="javascript" ev:event="onentercell">
  155. <![CDATA[
  156. datagrid2.editCell();
  157. ]]>
  158. </script>
  159. <script type="javascript" ev:event="onkeydown">
  160. <![CDATA[
  161. onkeydownmove(datagrid2);
  162. ]]>
  163. </script>
  164. <script type="javascript" ev:event="xforms-value-changed">
  165. <![CDATA[
  166. compareMINMAX(datagrid2,"THK_MIN","THK_MAX") //验证最大值不能小于最小值
  167. compareMINMAX(datagrid2,"WTH_MIN","WTH_MAX") //验证最大值不能小于最小值
  168. ]]>
  169. </script>
  170. </datagrid>
  171. <caption id="caption1" class="cell" style="left:0px; top:5px; width:100px; height:20px; vertical-align:middle; border-style:solid; ">标准牌号</caption>
  172. <button id="button6" style="left:685px; top:5px; width:70px; height:20px; background-image:../../images/btn_add.gif; ">
  173. <caption>增加</caption>
  174. <script type="javascript" ev:event="onclick">
  175. <![CDATA[
  176. datagrid2.addRow();
  177. datagrid2.vscroll.attribute("pos") = datagrid2.rows*20;
  178. datagrid2.valueMatrix(datagrid2.row , datagrid2.colRef("CHK")) = "Y";
  179. datagrid2.cellStyle("background-color",datagrid2.row, datagrid2.colRef("DEL_TOL_CD") , datagrid2.row , datagrid2.cols-1) = "#ffff99";
  180. model.refresh();
  181. ]]>
  182. </script>
  183. </button>
  184. <button id="button7" style="left:755px; top:5px; width:73px; height:20px; background-image:../../images/btn_move.gif; ">
  185. <caption>删除</caption>
  186. <script type="javascript" ev:event="onclick">
  187. <![CDATA[
  188. if(beGridChanged(datagrid2) == "1")
  189. {
  190. if(commComfirmBox("数据已被更改,可能出现误删,确定删除?","提示")=="0") return;
  191. }
  192. var rows = datagrid2.rows;
  193. for(var i=rows; i > 0; i--)
  194. {
  195. if(datagrid2.valueMatrix(i , 0)=="Y")
  196. {
  197. datagrid2.deleteRow(i , false);
  198. }
  199. }
  200. save();
  201. ]]>
  202. </script>
  203. </button>
  204. <button id="button8" style="left:200px; top:35px; width:70px; height:20px; background-image:../../images/btn_add.gif; ">
  205. <caption>增加</caption>
  206. <script type="javascript" ev:event="onclick">
  207. <![CDATA[
  208. if(beGridChanged(datagrid1,datagrid2) == "1")
  209. {
  210. window.alert("数据已更新,请保存!" , "警告");
  211. return;
  212. }
  213. //只有最后一行允许编辑
  214. datagrid1.cellAttribute("disabled",datagrid1.fixedRows , datagrid1.fixedCols , datagrid1.rows - 1 , datagrid1.cols - 1) = "true";
  215. datagrid1.addRow();
  216. currentRow = datagrid1.row;
  217. model.removenode("/root/datagrid2");
  218. model.makeNode("/root/datagrid2");
  219. datagrid1.vscroll.attribute("pos") = datagrid1.rows*20;//滚动条到最后
  220. model.refresh();
  221. ]]>
  222. </script>
  223. </button>
  224. <button id="button9" style="left:270px; top:35px; width:70px; height:20px; background-image:../../images/btn_move.gif; ">
  225. <caption>删除</caption>
  226. <script type="javascript" ev:event="onclick">
  227. <![CDATA[
  228. if(beGridChanged(datagrid1) == "1")
  229. {
  230. window.alert("数据已修改,请保存或初始化!" , "警告");
  231. return;
  232. }
  233. if(commComfirmBox("确定删除?","提示")=="0") return;
  234. model.removenode("/root/reqData");
  235. model.makeNode("/root/reqData");
  236. datagrid1.deleteRow(datagrid1.row );
  237. b01MultiUpdate(datagrid1,"/root/reqData" ,"A", true, "rowStatusD");
  238. getLoggingInInfo();
  239. commSubmit("UIB010272-service", "save", "glueAction.do");
  240. datagrid1.clearStatus();
  241. model.removenode("/root/datagrid2");
  242. model.makeNode("/root/datagrid2");
  243. model.refresh();
  244. ]]>
  245. </script>
  246. </button>
  247. <select1 id="combo1" ref="/root/formData/delSpec" appearance="minimal" style="left:97px; top:5px; width:236px; height:20px; border-style:solid; ">
  248. <choices>
  249. <itemset nodeset="/root/initData/InitSpecResult_VO/InitSpecResult_Row">
  250. <label ref="LABEL"/>
  251. <value ref="VALUE"/>
  252. </itemset>
  253. </choices>
  254. </select1>
  255. <line id="line2" style="x1:0px; y1:0px; x2:810px; y2:0px; "/>
  256. <line id="line1" style="x1:0px; y1:30px; x2:810px; y2:30px; "/>
  257. <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; ">
  258. <col editmode="search" ref="DEV_SPEC_CD" type="combo" style="text-align:left; background-color:#ffff99; ">
  259. <choices>
  260. <itemset nodeset="/root/SpecResult/InitSpecResult_Row">
  261. <label ref="LABEL"/>
  262. <value ref="VALUE"/>
  263. </itemset>
  264. </choices>
  265. </col>
  266. <col ref="QUERY" style="cursor:hand; "/>
  267. <script type="javascript" ev:event="onclick">
  268. <![CDATA[
  269. if(datagrid1.col == datagrid1.colRef("QUERY") && datagrid1.row >= datagrid1.fixedRows)
  270. {
  271. if(datagrid1.rowStatus(datagrid1.rows-1) == 1)
  272. {
  273. window.alert("增加状态下不允许该操作!" , "警告");
  274. datagrid1.row = datagrid1.rows-1;
  275. return;
  276. }
  277. if(beGridChanged(datagrid1 , datagrid2) == "1" && currentRow != 0)
  278. {
  279. if(commComfirmBox("数据已修改,是否保存被修改的数据?","提示")=="0")
  280. {
  281. datagrid1.clearStatus();
  282. datagrid2.clearStatus();
  283. }
  284. else
  285. {
  286. save();
  287. }
  288. }
  289. model.removenode("/root/reqData");
  290. model.makeNode("/root/reqData");
  291. commSendReq("/root/datagrid1/DelSpecResult_Row["+datagrid1.row+"]");
  292. commSubmit("UIB010272-service", "onclick", "glueAction.do");
  293. model.copyNode("/root/datagrid2" , "/root/resData/ToleranceResult_VO");
  294. model.refresh();
  295. currentRow = datagrid1.row;
  296. datagrid1.col = 1;//焦点变化,以免拖动滚动条时做了查询操作
  297. datagrid1.clearStatus();
  298. datagrid2.clearStatus();
  299. datagrid2.rebuildStyle();
  300. datagrid2.cellAttribute("disabled",datagrid2.fixedRows , datagrid2.fixedCols+1 , datagrid2.rows - 1 , datagrid2.cols - 1) = "true";
  301. }
  302. ]]>
  303. </script>
  304. <script type="javascript" ev:event="onentercell">
  305. <![CDATA[
  306. datagrid1.editCell();
  307. ]]>
  308. </script>
  309. <script type="javascript" ev:event="onkeydown">
  310. <![CDATA[
  311. onkeydownmove(datagrid1);
  312. ]]>
  313. </script>
  314. </datagrid>
  315. <button id="button2" visibility="visible" style="left:430px; top:5px; width:100px; height:20px; ">
  316. <caption>查询</caption>
  317. <script type="javascript" ev:event="DOMActivate">
  318. <![CDATA[
  319. find();
  320. ]]>
  321. </script>
  322. </button>
  323. <button id="button4" visibility="visible" style="left:500px; top:5px; width:100px; height:20px; ">
  324. <caption>保存</caption>
  325. <script type="javascript" ev:event="DOMActivate">
  326. <![CDATA[
  327. save();
  328. ]]>
  329. </script>
  330. </button>
  331. <button id="button1" style="left:120px; top:35px; width:60px; height:20px; background-image:../../images/btn_add.gif; ">
  332. <caption>复制</caption>
  333. <script type="javascript" ev:event="DOMActivate">
  334. <![CDATA[
  335. if(commComfirmBox("确定复制?","提示")=="0") return;
  336. var checkCol = datagrid1.colRef("DEV_SPEC_CD");
  337. var i = datagrid1.fixedRows;
  338. datagrid1.addRow();
  339. datagrid1.cellStyle("background-color",datagrid1.row, datagrid1.colRef("DEV_SPEC_CD") , datagrid1.row , datagrid1.cols-1) = "#99cc00";
  340. //alert(checkCol+i);
  341. //datagrid2.valueMatrix(datagrid1.row , checkCol) = "Y";
  342. datagrid1.valueMatrix(datagrid1.row , checkCol) = datagrid1.valueMatrix(i , checkCol);
  343. model.refresh();
  344. //datagrid2.vscroll.attribute("pos") = datagrid2.rows*20;
  345. ]]>
  346. </script>
  347. </button>
  348. <button id="button3" style="left:620px; top:5px; width:60px; height:20px; background-image:../../images/btn_add.gif; ">
  349. <caption>复制</caption>
  350. <script type="javascript" ev:event="DOMActivate">
  351. <![CDATA[
  352. var checkFlag = "N";
  353. for(var i = datagrid2.fixedRows; i < datagrid2.rows; i++)
  354. {
  355. if(datagrid2.valueMatrix(i , datagrid2.colRef("CHK")) == "Y")
  356. {
  357. checkFlag = "Y";
  358. break;
  359. }
  360. }
  361. if(checkFlag == "N")
  362. {
  363. window.alert("请选择需要复制的行!","提示");
  364. return;
  365. }
  366. if(commComfirmBox("确定复制?","提示")=="0") return;
  367. var checkCol = datagrid2.colRef("CHK");
  368. var tolCol = datagrid2.colRef("EMEC_TP");//公差名
  369. var thkMinCol = datagrid2.colRef("THK_MIN");//厚度最小
  370. var thkMaxCol = datagrid2.colRef("THK_MAX");//厚度最大
  371. var wthMinCol = datagrid2.colRef("WTH_MIN");
  372. var wthMaxCol = datagrid2.colRef("WTH_MAX");
  373. var addwth = datagrid2.colRef("ADD_WTH");
  374. var theMaxRows = datagrid2.rows;
  375. for(var i = datagrid2.fixedRows; i < theMaxRows; i++)
  376. {
  377. if(datagrid2.valueMatrix(i , datagrid2.colRef("CHK")) == "Y")
  378. {
  379. datagrid2.addRow();
  380. datagrid2.cellStyle("background-color",datagrid2.row, datagrid2.colRef("EMEC_TP") , datagrid2.row , datagrid2.cols-1) = "#99cc00";
  381. datagrid2.valueMatrix(datagrid2.row , checkCol) = "Y";
  382. datagrid2.valueMatrix(datagrid2.row , tolCol) = datagrid2.valueMatrix(i , tolCol);
  383. datagrid2.valueMatrix(datagrid2.row , thkMinCol) = datagrid2.valueMatrix(i , thkMinCol);
  384. datagrid2.valueMatrix(datagrid2.row , thkMaxCol) = datagrid2.valueMatrix(i , thkMaxCol);
  385. datagrid2.valueMatrix(datagrid2.row , wthMinCol) = datagrid2.valueMatrix(i , wthMinCol);
  386. datagrid2.valueMatrix(datagrid2.row , wthMaxCol) = datagrid2.valueMatrix(i , wthMaxCol);
  387. datagrid2.valueMatrix(datagrid2.row , addwth) = datagrid2.valueMatrix(i , addwth);
  388. }
  389. }
  390. model.refresh();
  391. //datagrid2.vscroll.attribute("pos") = datagrid2.rows*20;
  392. ]]>
  393. </script>
  394. </button>
  395. </xhtml:body>
  396. </xhtml:html>