You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

288 lines
11 KiB

3 days ago
  1. <#import "../master.ftl" as master>
  2. <@master.layout>
  3. <style>
  4. #fm label {
  5. width: 150px;
  6. }
  7. </style>
  8. <div class="page-header">
  9. <h2>Slitting Roll Comfirm</h2>
  10. </div>
  11. <table id="dg" class="easyui-datagrid" style="width:100%;height:460px;display: none;"
  12. data-options="pagination: true, showFooter: true, singleSelect:true, fitColumns:true , url:'/scanning/getSlittingCheckData',method:'get',pageSize:20,toolbar:'#tb'">
  13. <thead>
  14. <tr>
  15. <th data-options="field:'orderNo',width:100">Order No</th>
  16. <th data-options="field:'slittingNo',width:100">FG roll number</th>
  17. <th data-options="field:'status',width:80,align:'left'">Status</th>
  18. <th data-options="field:'statement',width:80,align:'left', formatter:getStatement">Close status</th>
  19. <th data-options="field:'statementBy',width:100">Close By</th>
  20. <th data-options="field:'statementDate',width:100,formatter:formatDateTime">Close Date</th>
  21. <th data-options="field:'id',width:100,editor:'textbox', formatter:formatAction">Actions</th>
  22. </tr>
  23. </thead>
  24. </table>
  25. <div id="tb" style="padding:10px 5px;display: none;">
  26. <div>
  27. 订单号: <input class="easyui-textbox" id="orderNo" style="width:110px">
  28. 小卷号: <input class="easyui-textbox" id="slittingNo" style="width:110px">
  29. 卷状态: <select id="status" class="easyui-combobox" style="width:110px;" data-options="required:true">
  30. <option value="">All</option>
  31. <option value="Created">Created</option>
  32. <option value="Printed">Printed</option>
  33. <option value="Diecuted">Diecuted</option>
  34. <option value="Inspected">Inspected</option>
  35. <option value="Scanned">Scanned</option>
  36. </select>
  37. 结单状态: <select id="statement" class="easyui-combobox" style="width:110px;" data-options="required:true">
  38. <option value="">All</option>
  39. <option value="N">Open</option>
  40. <option value="Y">Closed</option>
  41. </select>
  42. <a href="#nowhere" id="queryLink" class="easyui-linkbutton" iconCls="icon-search">Search</a>
  43. <#if currentUser.isAdmin>
  44. <a href="javascript:void(0)" id="closedAllRoll" class="easyui-linkbutton" iconCls="icon-edit" onclick="closedAllRoll()">Batch close</a>
  45. </#if>
  46. <#if currentUser.isAdmin || currentUser.authorities?contains("closeorder")>
  47. <a href="javascript:void(0)" id="forceClosed" class="easyui-linkbutton" iconCls="icon-remove" onclick="forceClosed()">Force close</a>
  48. </#if>
  49. </div>
  50. </div>
  51. <div id="dlgDtls" class="easyui-dialog" style="width:300px;display: none;"
  52. closed="true">
  53. <div novalidate style="margin:0;padding:20px 20px">
  54. <div style="margin-bottom:10px">
  55. <input id = "order_No" name="orderNo" class="easyui-textbox" label="订单号:" style="width:100%">
  56. </div>
  57. <div style="margin-bottom:10px">
  58. <input id = "slitting_No" name="rollNo" class="easyui-textbox" label="小卷号:" style="width:100%">
  59. </div>
  60. <div style="margin-bottom:10px">
  61. <input id = "roll_Qty"name="rollQty" class="easyui-textbox" label="卷标签数量:" style="width:100%">
  62. </div>
  63. <div style="margin-bottom:10px">
  64. <input id = "state_ment"name="statement" class="easyui-textbox" label="结单状态:" style="width:100%">
  65. </div>
  66. <div style="margin-bottom:10px">
  67. <input id = "scan_Qty" name="scanQty" class="easyui-textbox" label="已扫描数量:" style="width:100%">
  68. </div>
  69. <div style="margin-bottom:10px">
  70. <input id = "noScan_Qty" name="noScanQty" class="easyui-textbox" label="未扫描数量:" style="width:100%">
  71. </div>
  72. </div>
  73. </div>
  74. <script>
  75. $(window).resize(function () {
  76. $("#dg").datagrid({"height": $(window).height() - $(".datagrid").offset().top - 20});
  77. });
  78. $(function () {
  79. $(window).resize();
  80. });
  81. $("#queryLink").click(function(){
  82. var dg = $('#dg').datagrid({
  83. queryParams: {
  84. orderNo: $("#orderNo").val(),
  85. slittingNo: $("#slittingNo").val(),
  86. status: $("#status").val(),
  87. statement: $("#statement").val()
  88. }
  89. });
  90. });
  91. function formatAction(value, row){
  92. var action = "<a href='javascript:viewSerials(\""+row.orderNo+ "\",\""+row.rowFrom+"\",\""+row.rowTo+"\",\""+row.slittingNo+"\",\""+row.statement+"\")'>Query</a>";
  93. action += " | <a onclick='downRollSerial(\""+row.slittingNo+ "\")'>Trace</a>";
  94. //action += " | <a onclick='unscannedReport(\""+row.rollNo+ "\")'>未扫描报告</a>";
  95. if(row.statement=="Y"){
  96. action += " | Closed";
  97. }else{
  98. action += " | <a onclick='closedRoll(\""+row.orderNo+ "\",\""+row.rowFrom+"\",\""+row.rowTo+"\",\""+row.slittingNo+"\")'>Close</a>";
  99. }
  100. return action;
  101. }
  102. //获取卷标签数量
  103. function getRollQty(value, row){
  104. if(row.rowTo==null||row.rowTo==""
  105. ||row.rowFrom==null||row.rowFrom==""){
  106. return 0;
  107. }
  108. var qty = row.rowTo-row.rowFrom+1;
  109. return qty;
  110. }
  111. //获取结单状态
  112. function getStatement(value, row){
  113. if(value==""||value==null||value=="N"){
  114. return "Open";
  115. }else if(value=="Y"){
  116. return "Closed";
  117. }else if(value=="W"){
  118. return "To be closed";
  119. }
  120. }
  121. function lodopPrint(rollNo){
  122. var url = "/print/finalrollScan/"+rollNo+"/";
  123. //设置href
  124. $("#lodopPrint"+rollNo).attr("href", url);
  125. }
  126. function formatDtlAction(value, row){
  127. return "<a href='/shipment/boxes/scan/" + value + "'>Scan and delivery</a>";
  128. }
  129. function viewSerials(orderNo,rowFrom,rowTo,slittingNo,statement){
  130. if(rowTo==null||rowTo==""
  131. ||rowFrom==null||rowFrom==""){
  132. return 0;
  133. }
  134. var qty = rowTo-rowFrom+1;
  135. var state;
  136. if(statement=="Y"){
  137. state = "Closed";
  138. }else {
  139. state = "Open";
  140. }
  141. $("#order_No").textbox('setValue',orderNo);
  142. $('#order_No').textbox('textbox').attr('readonly',true);
  143. $("#slitting_No").textbox('setValue',slittingNo);
  144. $('#slitting_No').textbox('textbox').attr('readonly',true);
  145. $("#state_ment").textbox('setValue',state);
  146. $('#state_ment').textbox('textbox').attr('readonly',true);
  147. $.post("/scanning/getSlittingSerial", {slittingNo: slittingNo,rowFrom: rowFrom,rowTo: rowTo}, function(ret){
  148. console.log(ret);
  149. if(ret.success){
  150. //qty = qty * ret.ret.noOfCross;
  151. $("#roll_Qty").textbox('setValue',qty);
  152. $('#roll_Qty').textbox('textbox').attr('readonly',true);
  153. $("#scan_Qty").textbox('setValue',ret.ret.scanQty);
  154. $('#scan_Qty').textbox('textbox').attr('readonly',true);
  155. $("#noScan_Qty").textbox('setValue',ret.ret.noScanQty);
  156. $('#noScan_Qty').textbox('textbox').attr('readonly',true);
  157. $('#dlgDtls').dialog('open').dialog('center').dialog('setTitle',orderNo+':Detail');
  158. }else{
  159. $.messager.alert('Error',ret.errorMsg, 'error');
  160. }
  161. });
  162. }
  163. function deleteBadRoll(finalRollNo){
  164. $.messager.confirm('Confirm','Do you want to delete the defective roll <b>'+finalRollNo+'</b> ?',function(r){
  165. if (r){
  166. $.post('/scanning/deleteQcRoll/do',{finalRollNo: finalRollNo},function(result){
  167. if (result.success){
  168. $('#dg').datagrid('reload'); // reload the user data
  169. } else {
  170. $.messager.alert('error',result.errorMsg, 'error');
  171. }
  172. },'json');
  173. }
  174. });
  175. }
  176. function downExcel() {
  177. //拼接url
  178. $("#query_rollNo").val($("#finalRollNo").val());
  179. $("#query_jobId").val($("#jobId").val());
  180. $("#query_dateFrom").val($("#createdDateFrom").val());
  181. $("#query_dateTo").val($("#createdDateTo").val());
  182. var url = "/scanning/down/currentRollList?query_rollNo="+$("#query_rollNo").val()+"&query_jobId="+$("#query_jobId").val()+
  183. "&query_dateFrom="+$("#query_dateFrom").val()+"&query_dateTo="+$("#query_dateTo").val()+"&query_openNo=40";
  184. //设置href
  185. $("#downExcel").attr("href", url);
  186. }
  187. //trace
  188. function downRollSerial(rollNo){
  189. $.post("/scanning/downSlittingRollSerial", {rollNo: rollNo}, function(ret){
  190. console.log(ret);
  191. if(ret.success){
  192. window.location.href="/prepress/downloadFileZip/"+ret.fileName;
  193. }else{
  194. $.messager.alert('Error',ret.errorMsg, 'error');
  195. }
  196. });
  197. }
  198. //未扫描报告
  199. function unscannedReport(rollNo){
  200. $.post("/scanning/unscannedReport", {rollNo: rollNo}, function(ret){
  201. console.log(ret);
  202. if(ret.success){
  203. window.location.href="/prepress/downloadFileZip/"+ret.fileName;
  204. }else{
  205. $.messager.alert('Error',ret.errorMsg, 'error');
  206. }
  207. });
  208. }
  209. //结单
  210. function closedRoll(orderNo,rowFrom,rowTo,slittingNo){
  211. $.messager.confirm('Confirm','Close confirm ?',function(r){
  212. if (r){
  213. $.post('/scanning/closedSlitting',{orderNo: orderNo,rowFrom: rowFrom,rowTo: rowTo,slittingNo: slittingNo},function(result){
  214. console.log(result);
  215. if (result.success){
  216. $('#dg').datagrid('reload');
  217. } else {
  218. $.messager.alert('Error',result.errorMsg, 'error');
  219. }
  220. },'json');
  221. }
  222. });
  223. }
  224. //批量结单
  225. function closedAllRoll(){
  226. $.messager.confirm('Confirm','Are you sure to close the SO existing empty roll ?',function(r){
  227. if (r){
  228. $.messager.progress({
  229. title: 'Point',
  230. msg: 'Please Wait……',
  231. text: '',
  232. interval: 300
  233. });
  234. $.post('/scanning/closedAllSlitting',{},function(result){
  235. console.log(result);
  236. $.messager.progress('close');//进度条关闭
  237. if (result.success){
  238. $('#dg').datagrid('reload');
  239. } else {
  240. $.messager.alert('Error',result.errorMsg, 'error');
  241. }
  242. },'json');
  243. }
  244. });
  245. }
  246. //强制结单
  247. function forceClosed(){
  248. var row = $('#dg').datagrid('getSelected');
  249. if (row){
  250. var slittingNo = row.slittingNo;
  251. $.messager.confirm('Confirm','Force Close?',function(r){
  252. if (r){
  253. $.post('/scanning/forceClosedSlitting/',{slittingNo: slittingNo},function(result){
  254. if (result.success){
  255. $('#dg').datagrid('reload');
  256. } else {
  257. $.messager.alert('Error',result.errorMsg, 'error');
  258. }
  259. },'json');
  260. }
  261. });
  262. }else{
  263. $.messager.alert('Warning','Please select a row.', 'warning');
  264. }
  265. }
  266. </script>
  267. </@master.layout>