UIE012130.xrw 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918
  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. <initData>
  12. <searchInfo>
  13. <LG_CD>Z05001,Z05002</LG_CD>
  14. </searchInfo>
  15. </initData>
  16. <codeData>
  17. </codeData>
  18. <formData>
  19. <searchInfo>
  20. <CHARGE_NO/>
  21. </searchInfo>
  22. <searchInfo2>
  23. <YEAR/>
  24. <BUY_CHARGE_NO/>
  25. <BUY_MKR_NAME/>
  26. </searchInfo2>
  27. <searchInfo3>
  28. <CUT_WKSHIFT/>
  29. <CUT_WKGROUP/>
  30. <STL_GRD/>
  31. <SLAB_THK/>
  32. <SLAB_WTH/>
  33. <SLAB_LEN/>
  34. <SLAB_WGT/>
  35. <SLAB_CNT/>
  36. <BUY_POST/>
  37. <CUR_LOAD_LOC/>
  38. <SLAB_RT>H</SLAB_RT>
  39. </searchInfo3>
  40. </formData>
  41. <gridData>
  42. </gridData>
  43. <hideData/>
  44. </root>
  45. </instance>
  46. </model>
  47. <script type="javascript" src="../../js/boaCommon.js"/>
  48. <script type="javascript" src="../../js/boaMsg.js"/>
  49. <script type="javascript" src="../../js/mesCommon.js"/>
  50. <script type="javascript">
  51. <![CDATA[
  52. var isNew = false;
  53. submitID = "UIE012130-service";
  54. function Init(node) {
  55. model.makeValue("/root/gridData/ListResult_1_VO/ListResult_1_Row[1]/CHEM_NM", "值");
  56. model.makeValue("/root/gridData/ListResult_1_VO/ListResult_1_Row[2]/CHEM_NM", "最小值");
  57. model.makeValue("/root/gridData/ListResult_1_VO/ListResult_1_Row[3]/CHEM_NM", "最大值");
  58. model.makeValue("/root/gridData/ListResult_1_VO/ListResult_1_Row[4]/CHEM_NM", "建议值");
  59. model.setValue("/root/formData/searchInfo2/YEAR", commCurDate("y"));
  60. exec("/root/initData/searchInfo", "", "", "/root/codeData/ListResult_0_VO", // 钢号
  61. "/root/codeData/ListResult_2_VO", "/root/codeData/ListResult_3_VO"); // 公共表、卸车位
  62. model.setValue("/root/formData/searchInfo3/CUT_WKSHIFT",
  63. model.getValue("/root/codeData/ListResult_2_VO/ListResult_2_Row[LG_CD = 'Z05001']/SM_CD"));
  64. model.setValue("/root/formData/searchInfo3/CUT_WKGROUP",
  65. model.getValue("/root/codeData/ListResult_2_VO/ListResult_2_Row[LG_CD = 'Z05002']/SM_CD"));
  66. model.setValue("/root/formData/searchInfo3/CUR_LOAD_LOC",
  67. model.getValue("/root/codeData/ListResult_3_VO/ListResult_3_Row/LOAD_LOC"));
  68. // 动态生成成分元素
  69. var datagrid = datagrid1;
  70. var nodeList = model.instances(0).selectSingleNode("/root/resData/ListResult_1_VO").childNodes;
  71. var title = "成分";
  72. while (childNode = nodeList.nextNode()) {
  73. var column = childNode.CHEM_CD.value;
  74. datagrid.addColumn("ref:" + column + "; type:input;", false);
  75. datagrid.colWidth(datagrid.colRef(column)) = 40;
  76. title += '^' + column;
  77. }
  78. datagrid.caption = title;
  79. var row = datagrid.fixedRows;
  80. datagrid.rowStyle(row++, "data", "background-color") = insertRowStyle;
  81. datagrid.isReadOnly(row, 0, datagrid.rows - 1, datagrid.cols - 1) = true;
  82. pageInit();
  83. // InitParams(node);
  84. model.duplicate("/root/formData/searchInfo", "/root/initData/rcvInfo/REG_ID");
  85. }
  86. function pageInit() {
  87. model.removenode("/root/reqData");
  88. model.removenode("/root/resData");
  89. model.refresh();
  90. var datagrid = datagrid2;
  91. datagrid.rebuild();
  92. commGridInit(datagrid);
  93. colStyle(datagrid, "CHK,BUY_SLAB_NO,SLAB_THK,SLAB_WTH,SLAB_LEN,SLAB_WGT");
  94. var colStat = datagrid.colRef("SLAB_STAT");
  95. var colFl = datagrid.colRef("ORD_FL");
  96. var rows = datagrid.rows;
  97. var cols = datagrid.cols - 1;
  98. for (var i = datagrid.fixedRows; i < rows; i++) {
  99. if (datagrid.valueMatrix(i, colStat) == "3" || datagrid.valueMatrix(i, colFl) == "1") {
  100. datagrid.isReadOnly(i, 0, i, cols) = true;
  101. datagrid.rowStyle(i, "data", "background-color") = initCellStyle;
  102. }
  103. }
  104. datagrid3.rebuild();
  105. datagrid4.rebuild();
  106. }
  107. function find(refresh) {
  108. isNew = false;
  109. var chargeNo = model.getValue("/root/formData/searchInfo/CHARGE_NO");
  110. if (chargeNo.length != 10) {
  111. alert("请输入完整的炉次号!");
  112. return;
  113. }
  114. // if (chargeNo.length != 10 || chargeNo.substring(2, 3) != "W") {
  115. // alert("输入炉次号不是外购炉次号!");
  116. // return;
  117. // }
  118. // var datagrid = datagrid3;
  119. // if (chargeNo == datagrid.valueMatrix(datagrid.fixedRows, datagrid.colRef("CHARGE_NO"))) return;
  120. exec("/root/formData/searchInfo", "", "find", "/root/hideData/ListResult_0_VO",
  121. "/root/hideData/ListResult_1_VO", "/root/gridData/ListResult_2_VO");
  122. if (model.getXPathValue("count(/root/hideData/ListResult_0_VO/ListResult_0_Row)") == 0 ||
  123. model.getXPathValue("count(/root/hideData/ListResult_1_VO/ListResult_1_Row)") == 0) {
  124. alert("输入炉次号不是外购炉次号!");
  125. model.removenode("/root/hideData/ListResult_0_VO");
  126. model.removenode("/root/hideData/ListResult_1_VO");
  127. model.removenode("/root/gridData/ListResult_2_VO");
  128. pageInit();
  129. return;
  130. }
  131. model.setValue("/root/formData/searchInfo3/STL_GRD",
  132. model.getValue("/root/hideData/ListResult_0_VO/ListResult_0_Row/STL_GRD"));
  133. if (typeof refresh == "undefined") refresh = true;
  134. if (refresh) {
  135. model.setValue("/root/formData/searchInfo3/SLAB_CNT",
  136. model.getValue("/root/hideData/ListResult_0_VO/ListResult_0_Row/SLAB_CNT"));
  137. model.setValue("/root/formData/searchInfo3/SLAB_WGT",
  138. Number(model.getValue("/root/hideData/ListResult_0_VO/ListResult_0_Row/SLAB_WGT")) / Number(model.getValue("/root/hideData/ListResult_0_VO/ListResult_0_Row/SLAB_CNT")));
  139. model.setValue("/root/formData/searchInfo2/BUY_CHARGE_NO",
  140. model.getValue("/root/gridData/ListResult_2_VO/ListResult_2_Row/BUY_CHARGE_NO"));
  141. model.setValue("/root/formData/searchInfo2/BUY_MKR_NAME",
  142. model.getValue("/root/gridData/ListResult_2_VO/ListResult_2_Row/BUY_MKR_NAME"));
  143. // model.setValue("/root/formData/searchInfo3/CUR_LOAD_LOC",
  144. // model.getValue("/root/gridData/ListResult_2_VO/ListResult_2_Row/CUR_LOAD_LOC"));
  145. model.setValue("/root/formData/searchInfo3/CUT_WKSHIFT",
  146. model.getValue("/root/gridData/ListResult_2_VO/ListResult_2_Row/CUT_WKSHIFT"));
  147. model.setValue("/root/formData/searchInfo3/CUT_WKGROUP",
  148. model.getValue("/root/gridData/ListResult_2_VO/ListResult_2_Row/CUT_WKGROUP"));
  149. model.setValue("/root/formData/searchInfo3/SLAB_THK",
  150. model.getValue("/root/gridData/ListResult_2_VO/ListResult_2_Row/SLAB_THK"));
  151. model.setValue("/root/formData/searchInfo3/SLAB_WTH",
  152. model.getValue("/root/gridData/ListResult_2_VO/ListResult_2_Row/SLAB_WTH"));
  153. model.setValue("/root/formData/searchInfo3/SLAB_LEN",
  154. model.getValue("/root/gridData/ListResult_2_VO/ListResult_2_Row/SLAB_LEN"));
  155. }
  156. find2();
  157. var datagrid = datagrid3;
  158. var row = datagrid.fixedRows;
  159. datagrid.valueMatrix(row, datagrid.colRef("BUY_CHARGE_NO")) = model.getValue("/root/formData/searchInfo2/BUY_CHARGE_NO");
  160. datagrid.valueMatrix(row, datagrid.colRef("BUY_MKR_NAME")) = model.getValue("/root/formData/searchInfo2/BUY_MKR_NAME");
  161. datagrid.valueMatrix(row, datagrid.colRef("STL_GRD")) = model.getValue("/root/formData/searchInfo3/STL_GRD");
  162. datagrid.valueMatrix(row, datagrid.colRef("CUT_WKSHIFT")) = model.getValue("/root/formData/searchInfo3/CUT_WKSHIFT");
  163. datagrid.valueMatrix(row, datagrid.colRef("CUT_WKGROUP")) = model.getValue("/root/formData/searchInfo3/CUT_WKGROUP");
  164. pageInit();
  165. }
  166. function save() {
  167. var chargeNo = model.getValue("/root/hideData/ListResult_0_VO/ListResult_0_Row/CHARGE_NO");
  168. if (chargeNo == "") return;
  169. isNew = false;
  170. // 更新修改过的成份值
  171. var datagrid = datagrid1;
  172. for (var i=1; i<datagrid.cols; i++) {
  173. if (datagrid.colStatus(i)) {
  174. var element = datagrid.colAttribute(i, "ref");
  175. for (var j=datagrid4.fixedRows; j<datagrid4.rows; j++) {
  176. if (datagrid4.valueMatrix(j, datagrid4.colRef("CHEM_CD")) == element) {
  177. datagrid4.valueMatrix(j, datagrid4.colRef("CHEM_VAL")) = datagrid.valueMatrix(1, i);
  178. datagrid4.addStatus(j, "update");
  179. break;
  180. }
  181. }
  182. }
  183. }
  184. datagrid = datagrid2;
  185. var wgt = 0;
  186. var colRef = datagrid.colRef("SLAB_WGT");
  187. for (var i = datagrid.fixedRows; i < datagrid.rows; i++)
  188. wgt += Number(datagrid.valueMatrix(i, colRef));
  189. datagrid = datagrid3;
  190. if (datagrid.valueMatrix(datagrid.fixedRows, datagrid.colRef("SLAB_WGT")) != wgt) {
  191. datagrid4.addStatus(datagrid.fixedRows, "update");
  192. datagrid.valueMatrix(datagrid.fixedRows, datagrid.colRef("SLAB_WGT")) = wgt;
  193. }
  194. exec("/root/formData/searchInfo", "datagrid3,datagrid4,datagrid2,datagrid3", "save", true,
  195. "/root/hideData/ListResult_0_VO", "/root/hideData/ListResult_1_VO", "/root/hideData/ListResult_2_VO");
  196. if (model.getValue("/root/resData/errorData") == "") {
  197. model.removenode("/root/reqData");
  198. model.removenode("/root/resData");
  199. datagrid = datagrid2;
  200. for (var i = datagrid.fixedRows; i < datagrid.rows; i++) {
  201. var rss = datagrid.rowStatus(i);
  202. if (rss == 1 || rss == 3) { // 新建
  203. datagrid.rowStatus(i) = 2;
  204. } else if (rss == 2) { // 更新
  205. datagrid.rowStatus(i) = 0;
  206. } // 删除
  207. }
  208. exec("/root/initData/rcvInfo/REG_ID", datagrid, "yard"); // 更新板坯库
  209. commAppendData("/root/gridData/ListResult_2_VO", "/root/hideData/ListResult_2_VO");
  210. model.removenode("/root/hideData/ListResult_2_VO");
  211. }
  212. pageInit();
  213. }
  214. function remove() {
  215. var chargeNo = model.getValue("/root/hideData/ListResult_0_VO/ListResult_0_Row/CHARGE_NO");
  216. if (chargeNo == "") {
  217. alert("当前没有选定炉次,不能进行删除操作!")
  218. return;
  219. }
  220. var datagrid = datagrid3;
  221. if (datagrid.rowStatus(1) == 0 || datagrid.rowStatus(1) == 2) { // 炉次存在情况,即删除现有炉次
  222. datagrid = datagrid2;
  223. var colStat = datagrid.colRef("SLAB_STAT");
  224. var colFl = datagrid.colRef("ORD_FL");
  225. for (var i=datagrid.fixedRows; i<datagrid.rows; i++) {
  226. if (datagrid.valueMatrix(i, colStat) == "3" || datagrid.valueMatrix(i, colFl) == "1") {
  227. alert("购入板坯已经有部分被使用,不能删除!");
  228. return;
  229. }
  230. }
  231. }
  232. if(commComfirmBox("确定要删除:" + chargeNo + " 炉次吗?", "删除确认") == '0') return;
  233. datagrid = datagrid3;
  234. datagrid.addStatus(datagrid.fixedRows, "delete");
  235. exec("/root/formData/searchInfo/CHARGE_NO", datagrid, "delete");
  236. model.removenode("/root/hideData/ListResult_0_VO");
  237. model.removenode("/root/hideData/ListResult_1_VO");
  238. model.removenode("/root/gridData/ListResult_2_VO");
  239. model.setValue("/root/formData/searchInfo2/BUY_CHARGE_NO", "");
  240. model.setValue("/root/formData/searchInfo2/BUY_MKR_NAME", "");
  241. // model.setValue("/root/formData/searchInfo3/CUT_WKSHIFT", "");
  242. // model.setValue("/root/formData/searchInfo3/CUT_WKGROUP", "");
  243. // model.setValue("/root/formData/searchInfo3/STL_GRD", "");
  244. // model.setValue("/root/formData/searchInfo3/SLAB_THK", "");
  245. // model.setValue("/root/formData/searchInfo3/SLAB_WTH", "");
  246. // model.setValue("/root/formData/searchInfo3/SLAB_LEN", "");
  247. // model.setValue("/root/formData/searchInfo3/SLAB_WGT", "");
  248. // model.setValue("/root/formData/searchInfo3/SLAB_CNT", "");
  249. // model.setValue("/root/formData/searchInfo/CHARGE_NO", "");
  250. datagrid = datagrid1;
  251. var start = datagrid.fixedCols;
  252. for (var i=datagrid.cols-1; i>=start; i--) {
  253. datagrid.deleteColumn(i, false);
  254. }
  255. datagrid.rebuild();
  256. pageInit();
  257. }
  258. function comfirm() {
  259. if (model.getValue("/root/formData/searchInfo2/YEAR") == "") {
  260. alert("请输入年度信息!");
  261. return;
  262. }
  263. if (model.getValue("/root/formData/searchInfo2/BUY_CHARGE_NO") == "") {
  264. alert("请输入购入炉次号信息!");
  265. return;
  266. }
  267. if (model.getValue("/root/formData/searchInfo2/BUY_MKR_NAME") == "") {
  268. alert("请输入购入MAKER名称信息!");
  269. return;
  270. }
  271. if (model.getValue("/root/formData/searchInfo3/STL_GRD") == "") {
  272. alert("请输入钢号信息!");
  273. return;
  274. }
  275. if (model.getValue("/root/formData/searchInfo3/CUR_LOAD_LOC") == "") {
  276. alert("请输入卸车位信息!");
  277. return;
  278. }
  279. if (model.getValue("/root/formData/searchInfo3/SLAB_THK") == "") {
  280. alert("请输入厚度信息!");
  281. return;
  282. }
  283. if (model.getValue("/root/formData/searchInfo3/SLAB_WTH") == "") {
  284. alert("请输入宽度信息!");
  285. return;
  286. }
  287. if (model.getValue("/root/formData/searchInfo3/SLAB_LEN") == "") {
  288. alert("请输入长度信息!");
  289. return;
  290. }
  291. if (model.getValue("/root/formData/searchInfo3/SLAB_WGT") == "") {
  292. alert("请输入重量信息!");
  293. return;
  294. }
  295. if (model.getValue("/root/formData/searchInfo3/SLAB_CNT") == "") {
  296. alert("请输入购入块数!");
  297. return;
  298. }
  299. if (Number(model.getValue("/root/formData/searchInfo3/SLAB_CNT")) > 99) {
  300. alert("购入块数太多,不能处理!");
  301. return;
  302. }
  303. showProgressBar();
  304. var datagrid = datagrid3;
  305. var chargNo = model.getValue("/root/formData/searchInfo2/BUY_CHARGE_NO"); // 购入炉次号
  306. if (chargNo == datagrid.valueMatrix(datagrid.fixedRows, datagrid.colRef("BUY_CHARGE_NO")) && // 购入炉次号相同
  307. model.getValue("/root/formData/searchInfo2/YEAR").substring(3) ==
  308. datagrid.valueMatrix(datagrid.fixedRows, datagrid.colRef("CHARGE_NO")).substring(1, 2)) { // 炉次号年度相同
  309. chargNo = datagrid.valueMatrix(datagrid.fixedRows, datagrid.colRef("CHARGE_NO"));
  310. } else {
  311. isNew = false;
  312. exec("/root/formData/searchInfo2", "", "charge");
  313. chargNo = model.getValue("/root/resData/ListResult_0_VO/ListResult_0_Row/CHARGE_NO");
  314. if (chargNo != "") {
  315. model.setValue("/root/formData/searchInfo/CHARGE_NO", chargNo);
  316. find(false);
  317. datagrid = datagrid4;
  318. // 删除多余成份
  319. var colRef = datagrid.colRef("CHEM_CD");
  320. for (var i=datagrid.rows-1; i>=datagrid.fixedRows; i--) {
  321. var element = datagrid.valueMatrix(i, colRef);
  322. if (model.getValue("/root/gridData/ListResult_1_VO/ListResult_1_Row/" + element) == "")
  323. datagrid.deleteRow(i, false);
  324. }
  325. // 插入新成份
  326. for (var i=1; i<datagrid1.cols; i++) {
  327. var element = datagrid1.colAttribute(i, "ref");
  328. if (model.getValue("/root/hideData/ListResult_1_VO/ListResult_1_Row[CHEM_CD='" + element + "']/CHEM_CD") == "") {
  329. commAddRow(datagrid);
  330. row = datagrid.row;
  331. datagrid.valueMatrix(row, datagrid.colRef("CHARGE_NO")) = chargNo;
  332. datagrid.valueMatrix(row, datagrid.colRef("CHEM_CD")) = datagrid1.valueMatrix(0, i);
  333. datagrid.valueMatrix(row, datagrid.colRef("CHEM_VAL")) = datagrid1.valueMatrix(1, i);
  334. }
  335. }
  336. } else {
  337. isNew = true;
  338. model.removenode("/root/hideData/ListResult_0_VO"); // 炉次信息
  339. model.removenode("/root/hideData/ListResult_1_VO"); // 成份信息
  340. model.removenode("/root/gridData/ListResult_2_VO"); // 板坯信息
  341. // 生成炉次号
  342. // chargNo = model.getValue("/root/formData/searchInfo/CHARGE_NO");
  343. // if (chargNo == "") {
  344. chargNo = "J" + model.getValue("/root/formData/searchInfo2/YEAR").substring(3) + "W-";
  345. var cnt = Number(model.getValue("/root/resData/ListResult_0_VO/ListResult_0_Row/CNT"));
  346. if (cnt < 10) chargNo += "0000" + cnt + "A";
  347. else if (cnt < 100) chargNo += "000" + cnt + "A";
  348. else if (cnt < 1000) chargNo += "00" + cnt + "A";
  349. else if (cnt < 10000) chargNo += "0" + cnt + "A";
  350. else chargNo += cnt + "A";
  351. model.setValue("/root/formData/searchInfo/CHARGE_NO", chargNo);
  352. // }
  353. find2();
  354. datagrid = datagrid3;
  355. datagrid.rebuild();
  356. datagrid.refresh();
  357. commAddRow(datagrid);
  358. var row = datagrid.row;
  359. datagrid.valueMatrix(row, datagrid.colRef("CHARGE_NO")) = model.getValue("/root/formData/searchInfo/CHARGE_NO");
  360. datagrid.valueMatrix(row, datagrid.colRef("STL_GRD")) = model.getValue("/root/formData/searchInfo3/STL_GRD");
  361. datagrid.valueMatrix(row, datagrid.colRef("SLAB_CNT")) = model.getValue("/root/formData/searchInfo3/SLAB_CNT");
  362. datagrid.valueMatrix(row, datagrid.colRef("SLAB_WGT")) = model.getValue("/root/formData/searchInfo3/SLAB_WGT");
  363. datagrid = datagrid4;
  364. datagrid.rebuild();
  365. datagrid.refresh();
  366. var cnt = datagrid1.cols;
  367. for (var i=1; i<cnt; i++) {
  368. commAddRow(datagrid);
  369. row = datagrid.row;
  370. datagrid.valueMatrix(row, datagrid.colRef("CHEM_CD")) = datagrid1.valueMatrix(0, i);
  371. datagrid.valueMatrix(row, datagrid.colRef("CHEM_VAL")) = datagrid1.valueMatrix(1, i);
  372. }
  373. }
  374. datagrid = datagrid2;
  375. datagrid.rebuild();
  376. datagrid.refresh();
  377. }
  378. datagrid = datagrid2;
  379. var rows = datagrid.rows - datagrid.fixedRows;
  380. var cnt = Number(model.getValue("/root/formData/searchInfo3/SLAB_CNT"));
  381. if (cnt > rows) { // 增加板坯
  382. var slabNo = chargNo + "010";
  383. var colRef = datagrid.colRef("SLAB_NO");
  384. var start = datagrid.fixedRows; // 板坯号比较时,使用的网格起始行号
  385. for (var i=rows; i<cnt; i++) {
  386. // 生成板坯号
  387. var found = true;
  388. do {
  389. found = true;
  390. for (var j=start; j<datagrid.rows; j++) {
  391. start = j + 1;
  392. if (datagrid.valueMatrix(j, colRef) == slabNo) {
  393. found = false;
  394. var sNo = Number(slabNo.substring(10)) + 10;
  395. if (sNo < 100) slabNo = chargNo + "0" + sNo;
  396. else slabNo = chargNo + sNo;
  397. }
  398. }
  399. } while (!found);
  400. commAddRow(datagrid);
  401. var row = datagrid.row;
  402. datagrid.valueMatrix(row, datagrid.colRef("SLAB_NO")) = slabNo;
  403. datagrid.valueMatrix(row, datagrid.colRef("BUY_CHARGE_NO")) = model.getValue("/root/formData/searchInfo2/BUY_CHARGE_NO");
  404. datagrid.valueMatrix(row, datagrid.colRef("BUY_SLAB_NO")) = model.getValue("/root/formData/searchInfo3/BUY_POST");
  405. datagrid.valueMatrix(row, datagrid.colRef("SLAB_THK")) = model.getValue("/root/formData/searchInfo3/SLAB_THK");
  406. datagrid.valueMatrix(row, datagrid.colRef("SLAB_WTH")) = model.getValue("/root/formData/searchInfo3/SLAB_WTH");
  407. datagrid.valueMatrix(row, datagrid.colRef("SLAB_LEN")) = model.getValue("/root/formData/searchInfo3/SLAB_LEN");
  408. datagrid.valueMatrix(row, datagrid.colRef("SLAB_WGT")) = model.getValue("/root/formData/searchInfo3/SLAB_WGT");
  409. datagrid.valueMatrix(row, datagrid.colRef("SLAB_RT")) = model.getValue("/root/formData/searchInfo3/SLAB_RT");
  410. datagrid.valueMatrix(row, datagrid.colRef("STL_GRD")) = model.getValue("/root/formData/searchInfo3/STL_GRD");
  411. datagrid.valueMatrix(row, datagrid.colRef("CUR_LOAD_LOC")) = model.getValue("/root/formData/searchInfo3/CUR_LOAD_LOC");
  412. datagrid.valueMatrix(row, datagrid.colRef("BUY_MKR_NAME")) = model.getValue("/root/formData/searchInfo2/BUY_MKR_NAME");
  413. datagrid.valueMatrix(row, datagrid.colRef("CUT_WKSHIFT")) = model.getValue("/root/formData/searchInfo3/CUT_WKSHIFT");
  414. datagrid.valueMatrix(row, datagrid.colRef("CUT_WKGROUP")) = model.getValue("/root/formData/searchInfo3/CUT_WKGROUP");
  415. }
  416. colStyle(datagrid, "CHK,BUY_SLAB_NO,SLAB_THK,SLAB_WTH,SLAB_LEN,SLAB_WGT,SLAB_RT");
  417. } else if (cnt < rows) { // 删除板坯
  418. var colStat = datagrid.colRef("SLAB_STAT");
  419. var colFl = datagrid.colRef("ORD_FL");
  420. for (var i=cnt; i<rows; i++) {
  421. var found = false;
  422. for (var j=datagrid.rows-1; j>=datagrid.fixedRows; j--) {
  423. if (datagrid.valueMatrix(j, colStat) != "3" && datagrid.valueMatrix(j, colFl) != "1") {
  424. found = true;
  425. datagrid.deleteRow(j, false);
  426. break;
  427. }
  428. }
  429. if (!found) {
  430. alert("板坯已被使用,不能再减少!");
  431. break;
  432. }
  433. }
  434. }
  435. datagrid = datagrid3;
  436. var row = datagrid.fixedRows;
  437. // 重新设定板坯数
  438. cnt = Number(model.getXPathValue("count(/root/gridData/ListResult_2_VO/ListResult_2_Row)"));
  439. if (cnt != datagrid.valueMatrix(row, datagrid.colRef("SLAB_CNT"))) {
  440. datagrid.valueMatrix(row, datagrid.colRef("SLAB_CNT")) = cnt;
  441. datagrid.addStatus(row, "update");
  442. model.setValue("/root/formData/searchInfo3/SLAB_CNT", cnt);
  443. }
  444. // 重新设定单板重量
  445. var slabWgt = model.getValue("/root/formData/searchInfo3/SLAB_WGT");
  446. if (slabWgt != datagrid.valueMatrix(row, datagrid.colRef("SLAB_WGT"))) {
  447. datagrid.valueMatrix(row, datagrid.colRef("SLAB_WGT")) = slabWgt;
  448. datagrid.addStatus(row, "update");
  449. }
  450. // 设置炉次网格参数
  451. datagrid.valueMatrix(row, datagrid.colRef("BUY_CHARGE_NO")) = model.getValue("/root/formData/searchInfo2/BUY_CHARGE_NO");
  452. datagrid.valueMatrix(row, datagrid.colRef("BUY_MKR_NAME")) = model.getValue("/root/formData/searchInfo2/BUY_MKR_NAME");
  453. datagrid.valueMatrix(row, datagrid.colRef("CUT_WKSHIFT")) = model.getValue("/root/formData/searchInfo3/CUT_WKSHIFT");
  454. datagrid.valueMatrix(row, datagrid.colRef("CUT_WKGROUP")) = model.getValue("/root/formData/searchInfo3/CUT_WKGROUP");
  455. datagrid.valueMatrix(row, datagrid.colRef("REG_ID")) = model.getValue("/root/initData/rcvInfo/REG_ID");
  456. model.removenode("/root/reqData");
  457. model.removenode("/root/resData");
  458. model.refresh();
  459. datagrid = datagrid2;
  460. var colStat = datagrid.colRef("SLAB_STAT");
  461. var colFl = datagrid.colRef("ORD_FL");
  462. var rows = datagrid.rows;
  463. var cols = datagrid.cols - 1;
  464. for (var i = datagrid.fixedRows; i < rows; i++) {
  465. if (datagrid.valueMatrix(i, colStat) == "3" || datagrid.valueMatrix(i, colFl) == "1") {
  466. datagrid.isReadOnly(i, 0, i, cols) = true;
  467. datagrid.rowStyle(i, "data", "background-color") = initCellStyle;
  468. }
  469. }
  470. removeProgressBar();
  471. }
  472. function find2() {
  473. exec("/root/formData/searchInfo3/STL_GRD", "", "chem");
  474. try {
  475. var datagrid = datagrid1;
  476. var start = datagrid.fixedCols;
  477. var destNodeset1 = "/root/gridData/ListResult_1_VO/ListResult_1_Row[1]/"; // 输入值
  478. var destNodeset2 = "/root/gridData/ListResult_1_VO/ListResult_1_Row[2]/"; // 最小值
  479. var destNodeset3 = "/root/gridData/ListResult_1_VO/ListResult_1_Row[3]/"; // 最大值
  480. var destNodeset4 = "/root/gridData/ListResult_1_VO/ListResult_1_Row[4]/"; // 建议值
  481. var count = datagrid.cols;
  482. var row = datagrid.fixedRows;
  483. for (var i = start; i <= count; i++) {
  484. var Idx = i + start - 1;
  485. datagrid.colStatus(i) = false; // 更新成份时使用,判定是否被更动
  486. var element = datagrid.valueMatrix(0, i);
  487. var value = model.getValue("/root/hideData/ListResult_1_VO/ListResult_1_Row[CHEM_CD = '" + element + "']/CHEM_VAL");
  488. var srcNodeset = "/root/resData/ListResult_0_VO/ListResult_0_Row[CHEM_CD = '" + element + "']/";
  489. var aimVal = model.getValue(srcNodeset + "CHEM_AIM");
  490. if (value == "") value = aimVal;
  491. if (value == "") value = 0;
  492. var minVal = model.getValue(srcNodeset + "CHEM_MIN");
  493. var maxVal = model.getValue(srcNodeset + "CHEM_MAX");
  494. if ((minVal != "" && value < minVal) || (maxVal != "" && value > maxVal))
  495. datagrid.cellStyle("color", row, Idx, row, Idx) = "red";
  496. else if (value == aimVal) datagrid.cellStyle("color", row, Idx, row, Idx) = "blue";
  497. model.makeValue(destNodeset1 + element, value);
  498. model.makeValue(destNodeset2 + element, minVal);
  499. model.makeValue(destNodeset3 + element, maxVal);
  500. model.makeValue(destNodeset4 + element, aimVal);
  501. }
  502. var cols = datagrid.cols - 1;
  503. datagrid.cellAttribute("format", row, start, row, cols) = "#,##0.#";
  504. datagrid.rowStyle(row, "data", "background-color") = insertRowStyle;
  505. datagrid.isReadOnly(row+1, 0, datagrid.rows-1, cols) = true;
  506. datagrid.rebuild();
  507. } catch(e) {}
  508. }
  509. function find20() {
  510. exec("/root/formData/searchInfo3/STL_GRD", "", "chem");
  511. try {
  512. var datagrid = datagrid1;
  513. var start = datagrid.fixedCols;
  514. for (var i=datagrid.cols-1; i>=start; i--) {
  515. datagrid.deleteColumn(i, false);
  516. }
  517. var destNodeset1 = "/root/gridData/ListResult_1_VO/ListResult_1_Row[1]/"; // 输入值
  518. var destNodeset2 = "/root/gridData/ListResult_1_VO/ListResult_1_Row[2]/"; // 最小值
  519. var destNodeset3 = "/root/gridData/ListResult_1_VO/ListResult_1_Row[3]/"; // 最大值
  520. var destNodeset4 = "/root/gridData/ListResult_1_VO/ListResult_1_Row[4]/"; // 建议值
  521. var count = model.getXPathValue("count(/root/resData/ListResult_0_VO/ListResult_0_Row)");
  522. var row = datagrid.fixedRows;
  523. datagrid.caption = "成分";
  524. for (var i=1; i<=count; i++) {
  525. var srcNodeset = "/root/resData/ListResult_0_VO/ListResult_0_Row["+i+"]/";
  526. var element = model.getValue(srcNodeset + "CHEM_CD");
  527. datagrid.addColumn("ref:" + element + "; type:input;", false);
  528. datagrid.caption = datagrid.caption + "^" + element;
  529. var Idx = i + start - 1;
  530. datagrid.colWidth(Idx) = 65;
  531. datagrid.colStatus(Idx) = false; // 更新成份时使用,判定是否被更动
  532. var value = model.getValue("/root/hideData/ListResult_1_VO/ListResult_1_Row[CHEM_CD='" + element + "']/CHEM_VAL");
  533. var aimVal = model.getValue(srcNodeset + "CHEM_AIM");
  534. if (value == "") value = aimVal;
  535. if (value == "") value = 0;
  536. var minVal = model.getValue(srcNodeset + "CHEM_MIN");
  537. var maxVal = model.getValue(srcNodeset + "CHEM_MAX");
  538. if ((minVal != "" && value < minVal) || (maxVal != "" && value > maxVal))
  539. datagrid.cellStyle("color", row, Idx, row, Idx) = "red";
  540. else if (value == aimVal) datagrid.cellStyle("color", row, Idx, row, Idx) = "blue";
  541. model.makeValue(destNodeset1 + element, value);
  542. model.makeValue(destNodeset2 + element, minVal);
  543. model.makeValue(destNodeset3 + element, maxVal);
  544. model.makeValue(destNodeset4 + element, aimVal);
  545. }
  546. var cols = datagrid.cols - 1;
  547. datagrid.cellAttribute("format", row, start, row, cols) = "#,##0.#";
  548. datagrid.rowStyle(row, "data", "background-color") = insertRowStyle;
  549. datagrid.isReadOnly(row+1, 0, datagrid.rows-1, cols) = true;
  550. datagrid.rebuild();
  551. } catch(e) {}
  552. }
  553. function ChangeValue(colRef) {
  554. var datagrid = datagrid2;
  555. var rowSep = (datagrid.attribute("rowsep")=='')?'|':datagrid.attribute('rowsep');
  556. var colSep = (datagrid.attribute("colsep")=='')?'^':datagrid.attribute('colsep');
  557. var data = datagrid.getUpdateData(); // 删除行不考虑
  558. var up_data = data.split(rowSep);
  559. var rows = up_data.length - 1;
  560. for (var i=1; i<rows; i++) {
  561. var vRow = up_data[i].split(colSep);
  562. var Idx = Number(vRow[1]);
  563. datagrid.valueMatrix(Idx, colRef) = event.pTarget.value;
  564. }
  565. }
  566. ]]>
  567. </script>
  568. </xhtml:head>
  569. <xhtml:body overflow="hidden" pagewidth="980" pageheight="620" style="font-family:宋体; ">
  570. <group id="group1" ref="/root/formData/searchInfo3" style="left:px; top:0px; width:980px; height:96px; ">
  571. <line id="line2" style="x1:0px; y1:95px; x2:980px; y2:95px; "/>
  572. <caption id="caption101" class="cell" style="left:0px; top:5px; width:90px; height:20px; ">炉次号</caption>
  573. <input id="input101" ref="/root/formData/searchInfo/CHARGE_NO" maxlength="10" style="left:92px; top:5px; width:110px; height:20px; background-color:#ffcc99; ">
  574. <script type="javascript" ev:event="xforms-value-changed">
  575. <![CDATA[
  576. if (isNew) {
  577. var datagrid = datagrid2;
  578. var rows = datagrid.rows;
  579. var colRef = datagrid.colRef("SLAB_NO");
  580. var changeNo = event.pTarget.value;
  581. chargeNo = changeNo.toUpperCase();
  582. for (var i = datagrid.fixedRows; i < rows; i++) {
  583. var slab_no = datagrid.valueMatrix(i, colRef);
  584. datagrid.valueMatrix(i, colRef) = chargeNo + slab_no.substring(slab_no.length - 3);
  585. }
  586. datagrid3.valueMatrix(datagrid3.fixedRows, datagrid3.colRef("CHARGE_NO")) = chargeNo;
  587. event.pTarget.value = datagrid3.valueMatrix(datagrid3.fixedRows, datagrid3.colRef("CHARGE_NO"));
  588. }
  589. /*
  590. else {
  591. alert("不能改变已有炉次的炉次号!");
  592. event.pTarget.value = model.getValue("/root/hideData/ListResult_0_VO/ListResult_0_Row/CHARGE_NO");
  593. }
  594. */
  595. ]]>
  596. </script>
  597. </input>
  598. <caption id="caption102" class="cell" visibility="hidden" style="left:212px; top:5px; width:90px; height:20px; ">生产年度</caption>
  599. <input id="input102" ref="/root/formData/searchInfo2/YEAR" visibility="hidden" maxlength="4" style="left:304px; top:5px; width:110px; height:20px; "/>
  600. <caption id="caption103" class="cell" style="left:0px; top:27px; width:90px; height:20px; ">购入炉次号</caption>
  601. <input id="input103" ref="/root/formData/searchInfo2/BUY_CHARGE_NO" style="left:92px; top:27px; width:110px; height:20px; background-color:#ffccff; ">
  602. <script type="javascript" ev:event="xforms-value-changed">
  603. <![CDATA[
  604. var datagrid = datagrid2;
  605. var colRef = datagrid.colRef("BUY_CHARGE_NO");
  606. if (isNew) {
  607. var rows = datagrid.rows;
  608. var chargeNo = event.pTarget.value;
  609. for (var i = datagrid.fixedRows; i < rows; i++) {
  610. datagrid.valueMatrix(i, colRef) = chargeNo;
  611. }
  612. }
  613. /* else {
  614. if (model.getValue("/root/hideData/ListResult_0_VO/ListResult_0_Row/CHARGE_NO") != "") {
  615. alert("不能改变已有炉次的购入炉次号!");
  616. event.pTarget.value = datagrid.valueMatrix(datagrid.fixedRows, colRef);
  617. }
  618. }
  619. */
  620. ]]>
  621. </script>
  622. </input>
  623. <caption id="caption104" class="cell" style="left:212px; top:27px; width:90px; height:20px; ">购入MAKER名称</caption>
  624. <input id="input104" ref="/root/formData/searchInfo2/BUY_MKR_NAME" style="left:304px; top:27px; width:110px; height:20px; background-color:#ffccff; ">
  625. <script type="javascript" ev:event="xforms-value-changed">
  626. <![CDATA[
  627. var datagrid = datagrid2;
  628. var colRef = datagrid.colRef("BUY_MKR_NAME");
  629. if (isNew) {
  630. var rows = datagrid.rows;
  631. var mkrName = event.pTarget.value;
  632. for (var i = datagrid.fixedRows; i < rows; i++) {
  633. datagrid.valueMatrix(i, colRef) = mkrName;
  634. }
  635. }
  636. /*
  637. else {
  638. if (model.getValue("/root/hideData/ListResult_0_VO/ListResult_0_Row/CHARGE_NO") != "") {
  639. alert("不能改变已有炉次的购入MAKER名称!");
  640. event.pTarget.value = datagrid.valueMatrix(datagrid.fixedRows, colRef);
  641. }
  642. }
  643. */
  644. ]]>
  645. </script>
  646. </input>
  647. <caption id="caption105" class="cell" style="left:212px; top:49px; width:90px; height:20px; vertical-align:middle; ">作业班次</caption>
  648. <select1 id="combo105" ref="CUT_WKSHIFT" appearance="minimal" style="left:304px; top:49px; width:110px; height:20px; ">
  649. <choices>
  650. <itemset nodeset="/root/codeData/ListResult_2_VO/ListResult_2_Row[LG_CD = 'Z05001']">
  651. <label ref="SM_CFNM"/>
  652. <value ref="SM_CD"/>
  653. </itemset>
  654. </choices>
  655. <script type="javascript" ev:event="xforms-value-changed">
  656. <![CDATA[
  657. ChangeValue(datagrid2.colRef("CUT_WKSHIFT"));
  658. ]]>
  659. </script>
  660. </select1>
  661. <caption id="caption106" class="cell" style="left:425px; top:49px; width:90px; height:20px; vertical-align:middle; ">作业班组</caption>
  662. <select1 id="combo106" ref="CUT_WKGROUP" appearance="minimal" style="left:517px; top:49px; width:110px; height:20px; ">
  663. <choices>
  664. <itemset nodeset="/root/codeData/ListResult_2_VO/ListResult_2_Row[LG_CD = 'Z05002']">
  665. <label ref="SM_CFNM"/>
  666. <value ref="SM_CD"/>
  667. </itemset>
  668. </choices>
  669. <script type="javascript" ev:event="xforms-value-changed">
  670. <![CDATA[
  671. ChangeValue(datagrid2.colRef("CUT_WKGROUP"));
  672. ]]>
  673. </script>
  674. </select1>
  675. <caption id="caption107" class="cell" style="left:425px; top:27px; width:90px; height:20px; ">钢号</caption>
  676. <select1 id="combo107" ref="STL_GRD" appearance="minimal" editmode="search" style="left:517px; top:27px; width:150px; height:20px; background-color:#ffccff; ">
  677. <choices>
  678. <itemset nodeset="/root/codeData/ListResult_0_VO/ListResult_0_Row[STL_GRD != '']">
  679. <label ref="STL_GRD"/>
  680. <value ref="STL_GRD"/>
  681. </itemset>
  682. </choices>
  683. <script type="javascript" ev:event="xforms-value-changed">
  684. <![CDATA[
  685. var datagrid = datagrid2;
  686. var colRef = datagrid.colRef("STL_GRD");
  687. if (isNew) {
  688. var rows = datagrid.rows;
  689. var stlGrd = event.pTarget.value;
  690. for (var i = datagrid.fixedRows; i < rows; i++) {
  691. datagrid.valueMatrix(i, colRef) = stlGrd;
  692. }
  693. find2();
  694. model.removenode("/root/hideData/ListResult_1_VO");
  695. datagrid = datagrid4;
  696. datagrid.rebuild();
  697. datagrid.refresh();
  698. var cnt = datagrid1.cols;
  699. for (var i=1; i<cnt; i++) {
  700. commAddRow(datagrid);
  701. row = datagrid.row;
  702. datagrid.valueMatrix(row, datagrid.colRef("CHEM_CD")) = datagrid1.valueMatrix(0, i);
  703. datagrid.valueMatrix(row, datagrid.colRef("CHEM_VAL")) = datagrid1.valueMatrix(1, i);
  704. }
  705. }
  706. /*
  707. else {
  708. if (model.getValue("/root/hideData/ListResult_0_VO/ListResult_0_Row/CHARGE_NO") != "") {
  709. alert("不能改变已有炉次的钢号!");
  710. event.pTarget.value = datagrid.valueMatrix(datagrid.fixedRows, colRef);
  711. }
  712. }
  713. */
  714. ]]>
  715. </script>
  716. </select1>
  717. <caption id="caption108" class="cell" style="left:0px; top:71px; width:90px; height:20px; ">厚度</caption>
  718. <input id="input108" ref="SLAB_THK" format="#,###.#" style="left:92px; top:71px; width:110px; height:20px; text-align:right; ">
  719. <script type="javascript" ev:event="xforms-value-changed">
  720. <![CDATA[
  721. ChangeValue(datagrid2.colRef("SLAB_THK"));
  722. ]]>
  723. </script>
  724. </input>
  725. <caption id="caption109" class="cell" style="left:212px; top:71px; width:90px; height:20px; ">宽度</caption>
  726. <input id="input109" ref="SLAB_WTH" format="#,###.#" style="left:304px; top:71px; width:110px; height:20px; text-align:right; ">
  727. <script type="javascript" ev:event="xforms-value-changed">
  728. <![CDATA[
  729. ChangeValue(datagrid2.colRef("SLAB_WTH"));
  730. ]]>
  731. </script>
  732. </input>
  733. <caption id="caption110" class="cell" style="left:425px; top:71px; width:90px; height:20px; ">长度</caption>
  734. <input id="input110" ref="SLAB_LEN" format="#,###" style="left:517px; top:71px; width:110px; height:20px; text-align:right; ">
  735. <script type="javascript" ev:event="xforms-value-changed">
  736. <![CDATA[
  737. ChangeValue(datagrid2.colRef("SLAB_LEN"));
  738. ]]>
  739. </script>
  740. </input>
  741. <caption id="caption111" class="cell" style="left:639px; top:71px; width:80px; height:20px; ">单重</caption>
  742. <input id="input111" ref="SLAB_WGT" format="#,###" style="left:721px; top:71px; width:110px; height:20px; text-align:right; ">
  743. <script type="javascript" ev:event="xforms-value-changed">
  744. <![CDATA[
  745. ChangeValue(datagrid2.colRef("SLAB_WGT"));
  746. ]]>
  747. </script>
  748. </input>
  749. <caption id="caption112" class="cell" style="left:843px; top:71px; width:80px; height:20px; ">块数</caption>
  750. <input id="input112" ref="SLAB_CNT" format="#,###" style="left:926px; top:71px; width:40px; height:20px; text-align:right; ">
  751. <script type="javascript" ev:event="xforms-value-changed">
  752. <![CDATA[
  753. if (event.pTarget.value < 1) {
  754. event.pTarget.value = 1;
  755. alert("块数不能小于 1");
  756. }
  757. ]]>
  758. </script>
  759. </input>
  760. <caption id="caption1" class="cell" style="left:0px; top:49px; width:90px; height:20px; ">板坯码前缀</caption>
  761. <input id="input1" ref="BUY_POST" style="left:92px; top:49px; width:110px; height:20px; ">
  762. <script type="javascript" ev:event="xforms-value-changed">
  763. <![CDATA[
  764. ChangeValue(datagrid2.colRef("BUY_SLAB_NO"));
  765. ]]>
  766. </script>
  767. </input>
  768. <select1 id="combo1" ref="CUR_LOAD_LOC" appearance="minimal" editmode="search" style="left:721px; top:49px; width:110px; height:20px; ">
  769. <choices>
  770. <itemset nodeset="/root/codeData/ListResult_3_VO/ListResult_3_Row">
  771. <label ref="LOAD_LOC"/>
  772. <value ref="LOAD_LOC"/>
  773. </itemset>
  774. </choices>
  775. </select1>
  776. <caption id="caption2" class="cell" style="left:639px; top:49px; width:80px; height:20px; ">卸车位</caption>
  777. <select1 id="combo2" ref="SLAB_RT" appearance="minimal" editmode="search" style="left:762px; top:27px; width:110px; height:20px; ">
  778. <choices>
  779. <item>
  780. <label>热轧厂</label>
  781. <value>H</value>
  782. </item>
  783. <item>
  784. <label>中板厂</label>
  785. <value>Z</value>
  786. </item>
  787. <item>
  788. <label>厚板厂</label>
  789. <value>P</value>
  790. </item>
  791. </choices>
  792. </select1>
  793. <caption id="caption3" class="cell" style="left:680px; top:27px; width:80px; height:20px; ">板坯去向</caption>
  794. </group>
  795. <datagrid id="datagrid1" nodeset="/root/gridData/ListResult_1_VO/ListResult_1_Row" removevscroll="false" scroll="horizontal" caption="成分" colsep="^" colwidth="45" defaultrows="4" extendlastcol="false" fixedcols="1" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:100px; width:980px; height:102px; ">
  796. <col ref="CHEM_NM"/>
  797. <script type="javascript" ev:event="onentercell">
  798. <![CDATA[
  799. event.pTarget.editCell();
  800. ]]>
  801. </script>
  802. <script type="javascript" ev:event="xforms-value-changed">
  803. <![CDATA[
  804. var datagrid = datagrid1;
  805. var col = datagrid.col;
  806. datagrid.colStatus(col) = true; // 更新成份时使用,判定已经被更动
  807. var value = datagrid.valueMatrix(1, col);
  808. if (value == "") {
  809. value = datagrid.valueMatrix(4, col);
  810. if (value == "") value = 0;
  811. datagrid.valueMatrix(1, col) = value;
  812. datagrid.cellstyle("color", 1, col, 1, col) = "blue";
  813. } else {
  814. if (value == ".") {
  815. value = "0";
  816. datagrid.valueMatrix(1, col) = value;
  817. } else if (value.substring(0, 1) == ".") {
  818. value = "0" + value;
  819. datagrid.valueMatrix(1, col) = value;
  820. }
  821. var minVal = datagrid.valueMatrix(2, col);
  822. var maxVal = datagrid.valueMatrix(3, col);
  823. if ((minVal != "" && value < minVal) || (maxVal != "" && value > maxVal))
  824. datagrid.cellstyle("color", 1, col, 1, col) = "red";
  825. else datagrid.cellstyle("color", 1, col, 1, col) = "";
  826. }
  827. ]]>
  828. </script>
  829. </datagrid>
  830. <datagrid id="datagrid3" nodeset="/root/hideData/ListResult_0_VO/ListResult_0_Row" visibility="visible" caption="炉次号^钢号^块数^重量^购入炉次号^购入MAKER名称^作业班次^作业班组" colsep="^" colwidth="100, 75, 75, 75, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:60px; top:370px; width:750px; height:55px; ">
  831. <col key="false" ref="CHARGE_NO"/>
  832. <col ref="STL_GRD"/>
  833. <col ref="SLAB_CNT"/>
  834. <col ref="SLAB_WGT"/>
  835. <col ref="BUY_CHARGE_NO"/>
  836. <col ref="BUY_MKR_NAME"/>
  837. <col ref="CUT_WKSHIFT"/>
  838. <col ref="CUT_WKGROUP"/>
  839. </datagrid>
  840. <datagrid id="datagrid4" nodeset="/root/hideData/ListResult_1_VO/ListResult_1_Row" visibility="visible" caption="项目^值" colsep="^" colwidth="80, 80" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:450px; top:445px; width:350px; height:150px; ">
  841. <col ref="CHEM_CD"/>
  842. <col ref="CHEM_VAL"/>
  843. </datagrid>
  844. <line id="line1" style="x1:0px; y1:207px; x2:980px; y2:207px; border-color:#0000ff; "/>
  845. <datagrid id="datagrid2" nodeset="/root/gridData/ListResult_2_VO/ListResult_2_Row" caption="板坯号^购入炉次号^购入板坯码^厚度^宽度^长度^重量^板坯去向^钢号^卸车位^购入MAKER名称^购入板坯卸货日期^现在进度^作业班次^作业组^录入者^SLAB_STAT^ORD_FL" colsep="^" colwidth="100, 80, 100, 80, 80, 80, 80, 100, 150, 100, 100, 120, 110, 35, 35, 100, 100, 100" explorerbar="sortshow" extendlastcol="false" frozencols="1" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="42" rowsep="|" style="left:0px; top:215px; width:980px; height:405px; ">
  846. <col ref="SLAB_NO"/>
  847. <col key="false" ref="BUY_CHARGE_NO" style="text-align:left; "/>
  848. <col ref="BUY_SLAB_NO" type="input" style="text-align:left; "/>
  849. <col ref="SLAB_THK" type="input" format="#,###.#" style="text-align:right; "/>
  850. <col ref="SLAB_WTH" type="input" format="#,###.#" style="text-align:right; "/>
  851. <col ref="SLAB_LEN" type="input" format="#,###" style="text-align:right; "/>
  852. <col ref="SLAB_WGT" type="input" format="#,###" style="text-align:right; "/>
  853. <col ref="SLAB_RT" type="combo">
  854. <choices>
  855. <item>
  856. <label>热轧厂</label>
  857. <value>H</value>
  858. </item>
  859. <item>
  860. <label>中板厂</label>
  861. <value>Z</value>
  862. </item>
  863. <item>
  864. <label>厚板厂</label>
  865. <value>P</value>
  866. </item>
  867. </choices>
  868. </col>
  869. <col key="false" ref="STL_GRD" style="text-align:left; "/>
  870. <col ref="CUR_LOAD_LOC"/>
  871. <col key="false" ref="BUY_MKR_NAME" style="text-align:left; "/>
  872. <col key="false" ref="BUY_SLAB_RECEPT_DTIME" format="yyyy-mm-dd hh:nn:ss" mask="exclude"/>
  873. <col key="false" ref="CUR_PROG_CD"/>
  874. <col key="false" ref="CUT_WKSHIFT"/>
  875. <col key="false" ref="CUT_WKGROUP"/>
  876. <col key="false" ref="CUT_EMP_ID" style="text-align:left; "/>
  877. <col key="false" ref="SLAB_STAT" visibility="hidden"/>
  878. <col key="false" ref="ORD_FL" visibility="hidden"/>
  879. <script type="javascript" ev:event="onentercell">
  880. <![CDATA[
  881. event.pTarget.editCell();
  882. ]]>
  883. </script>
  884. </datagrid>
  885. </xhtml:body>
  886. </xhtml:html>