machine_delivery.ftl 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
  6. <meta name="apple-mobile-web-app-capable" content="yes">
  7. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  8. <#assign path="${request.contextPath}">
  9. <link href="${path}/common/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
  10. <link href="${path}/common/lib/mui/css/mui.min.css" rel="stylesheet" type="text/css" />
  11. <link href="${path}/common/lib/mui/css/mui.picker.min.css" rel="stylesheet" type="text/css" />
  12. <link href="${path}/common/lib/mui/css/mui.poppicker.css" rel="stylesheet" type="text/css" />
  13. <link href="${path}/common/css/input_order/input_order1.css" rel="stylesheet" type="text/css" />
  14. <link rel="stylesheet" type="text/css" href="//css.iamberry.com/wateroPF/new/css/iconfont.css?v=2017072401" />
  15. <style>
  16. .mui-segmented-control{border:1px solid #58d1eb;}
  17. .mui-segmented-control .mui-control-item{background-color:#fff;line-height: 48px;color:#58d1eb;border-color:#58d1eb;border-left: 1px solid #58d1eb;}
  18. .mui-segmented-control .mui-control-item.mui-active{background-color:#58d1eb;}
  19. .chuku-saoma{position: absolute;right: 25px;top:0;color: #fff;background-color: #58d1eb;padding: 9px 10px;}
  20. .bg-select{background: url(${path}/common/images/pts/select-down.png) 96% center no-repeat;background-size:20px;}
  21. .cl-blue{color:#58d1eb;}
  22. .my-pull-list>li{position: relative;height: 100px;padding-left: 15px;}
  23. .my-pull-list>li:after{content: '';position: absolute;left: 0px;right: 0px;height: 1px;bottom: 0; background-color:#f0f0f0;}
  24. .my-pull-list>li:before{content: '';position: absolute;left: 0;top:40%;height: 20%;width:3px;background-color: #58d1eb;}
  25. .my-pull-list>li>div{padding: 10px 0;height: 35px;margin:5px 0;}
  26. .btn-cancel{float: right;padding: 5px 12px;background-color: #fff;color: #58d1eb;border:1px solid #58d1eb;}
  27. .my-pull-right{float: right;color: #999;}
  28. .sp-status{margin-top: 5px;float: left;}
  29. .sp-font{ font-size: 15px;}
  30. </style>
  31. <title>RST - 产品出库</title>
  32. </head>
  33. <body>
  34. <div class="mui-content" style="background-color: #fff;">
  35. <div style="padding: 10px 10px 0 10px;">
  36. <div id="segmentedControl" class="mui-segmented-control">
  37. <a class="mui-control-item mui-active" href="#item1" id="chuku" >出库</a>
  38. <a class="mui-control-item" href="#item2" id="yichuku">已出库</a>
  39. </div>
  40. </div>
  41. <div id="item1" class="mui-control-content mui-active chukuDiv">
  42. <article class="cl pd-10">
  43. <ul class="my_input_list" id="basic_input_list">
  44. <li>销售公司&nbsp;&nbsp;
  45. <input type="text" class="input-text w-75 bg-select" id="machineSalesCompanyId" placeholder="请选择销售公司" readonly="readonly">
  46. </li>
  47. <li>出库日期&nbsp;&nbsp;
  48. <input type="text" id="machineSalesDate" class="input-text w-75 bg-select" placeholder="请选择日期" readonly="readonly">
  49. </li>
  50. <li style="position: relative;">条&nbsp;&nbsp;形&nbsp;&nbsp;码&nbsp;&nbsp;<span id="xy_number"></span>
  51. <input type="text" class="input-text w-75" id="machineBarcode" placeholder="请输入产品条形码/扫描">
  52. <span class="iconfont icon-saoma chuku-saoma scan-code-machine"></span>
  53. </li>
  54. </ul>
  55. </article>
  56. <div class="row loginbox_btn">
  57. <div class="formControls col-8 col-offset-2">
  58. <a class="btn btn-block btn-water radius size-L" href="javascript:void(0);" onclick="addMachineDelivery()">提交</a>
  59. </div>
  60. </div>
  61. <div style="padding-top: 100px;text-align: center;" id="deliveryNumber">
  62. </div>
  63. </div>
  64. <div id="item2" class="mui-control-content yichukuDiv">
  65. <article class="cl pd-10">
  66. <ul class="my_input_list">
  67. <li style="position: relative;">条&nbsp;&nbsp;形&nbsp;&nbsp;码&nbsp;&nbsp;
  68. <input type="text" class="input-text w-75" id="secahMachineBarcode" placeholder="请输入产品条形码/扫描进行搜索">
  69. <span class="iconfont icon-saoma chuku-saoma secah-scan-code-machine"></span>
  70. </li>
  71. </ul>
  72. <ul class="my-pull-list">
  73. <#-- <li>
  74. <div>232435u6yi1i2 爱贝源</div>
  75. <div><span class="sp-status">已出库</span><span class="btn-cancel">取消出库</span></div>
  76. </li>
  77. <li>
  78. <div>232435u6yi1i2 爱贝源<span class="my-pull-right">2017-10-20</span></div>
  79. <div><span class="sp-status">已出库</span><span class="btn-cancel">取消出库</span></div>
  80. </li>-->
  81. </ul>
  82. </article>
  83. </div>
  84. </div>
  85. <script type="text/javascript" src="${path}/common/lib/mui/js/mui.min.js"></script>
  86. <script type="text/javascript" src="${path}/common/lib/mui/js/mui.view.js"></script>
  87. <script type="text/javascript" src="${path}/common/lib/mui/js/mui.picker.min.js"></script>
  88. <script type="text/javascript" src="${path}/common/lib/mui/js/city.data-3.js"></script>
  89. <script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/jquery.min.js"></script>
  90. <script type="text/javascript" src="${path}/common/js/order/order_common.js"></script>
  91. <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
  92. <script src="//s.iamberry.com/wateroPF/js/shop/wechat-utils-1.0.js"></script>
  93. <script>
  94. var validate_flag=false;
  95. document.getElementById('chuku').addEventListener('tap',function(){
  96. $(".mui-control-item").removeClass("mui-active");
  97. $(".mui-control-content").removeClass("mui-active");
  98. $("#chuku").addClass("mui-active");
  99. $(".chukuDiv").addClass("mui-active");
  100. initializeMachines();
  101. });
  102. document.getElementById('yichuku').addEventListener('tap',function(){
  103. $(".mui-control-item").removeClass("mui-active");
  104. $(".mui-control-content").removeClass("mui-active");
  105. $("#yichuku").addClass("mui-active");
  106. $(".yichukuDiv").addClass("mui-active");
  107. initializeDelivery("");
  108. });
  109. mui.ready(function() {
  110. mui.ajax('${path}/admin/machine/list_delivery', {
  111. data: {
  112. },
  113. type: 'post',
  114. timeout: 15000,
  115. success: function(dt) {
  116. if(dt.isRedirect) {
  117. location.href = dt.redirectURL;
  118. }else{
  119. if(dt.resultCode=="200") {
  120. var result = dt.returnMsg.ptsSalesCompanyList;
  121. var id = result[0].salesCompanyId;
  122. var name = result[0].salesCompanyName;
  123. $("#machineSalesCompanyId").val(name);
  124. $("#machineSalesCompanyId").attr("name",id);
  125. }else{
  126. mui.alert(dt.resultMsg);
  127. }
  128. }
  129. },
  130. error: function(xhr, type, errorThrown) {
  131. mui.alert("加载失败!请检查网络或稍后重试!");
  132. }
  133. });
  134. ///初始化时间
  135. var YY = new Date().getFullYear(),
  136. MM = new Date().getMonth()+1,
  137. DD = new Date().getDate();
  138. var machineSalesDate = YY + "-" + MM + "-" + DD;
  139. $("#machineSalesDate").val(machineSalesDate);
  140. //初始化机器台数
  141. initializeMachines();
  142. });
  143. //初始化机器台数
  144. function initializeMachines() {
  145. var html = "";
  146. mui.ajax('${path}/admin/machine/delivery_desc', {
  147. data: {
  148. },
  149. type: 'post',
  150. timeout: 15000,
  151. success: function(dt) {
  152. if(dt.isRedirect) {
  153. location.href = dt.redirectURL;
  154. }else{
  155. if(dt.resultCode=="200") {
  156. var result = dt.returnMsg.machineNumber;
  157. var flag = 0;
  158. for(var i=0;i<result.length;i++){
  159. if(result[i].number != 0){
  160. html += '<span>'+ result[i].name +':&nbsp;&nbsp;今日出库<span class="cl-blue">&nbsp;&nbsp;'+ result[i].number +'</span></span><br/>';
  161. }
  162. flag += result[i].number
  163. }
  164. if(flag != 0){
  165. $("#deliveryNumber").html(html);
  166. }else{
  167. $("#deliveryNumber").html("今天暂时没有出库任何机器哦~");
  168. }
  169. }else{
  170. mui.alert(dt.resultMsg);
  171. }
  172. }
  173. },
  174. error: function(xhr, type, errorThrown) {
  175. mui.alert("加载失败!请检查网络或稍后重试!");
  176. }
  177. });
  178. }
  179. //初始化已出库
  180. function initializeDelivery(machineBarcode) {
  181. var html = "";
  182. mui.ajax('${path}/admin/machine/to_list_delivery', {
  183. data: {
  184. machineBarcode : machineBarcode,
  185. data : new Date().getTime()
  186. },
  187. type: 'post',
  188. timeout: 15000,
  189. success: function(dt) {
  190. if(dt.isRedirect) {
  191. location.href = dt.redirectURL;
  192. }else{
  193. if(dt.resultCode=="200") {
  194. var result = dt.returnMsg.listPtsMachine;
  195. for(var i=0;i<result.length;i++){
  196. var machineBarcode = result[i].machineBarcode;
  197. var machineSalesCompanyName = result[i].machineSalesCompanyName;
  198. var machineSalesDate = result[i].machineSalesDate;
  199. html += '<li>' +
  200. '<div class="sp-font">'+ machineBarcode +'&nbsp;&nbsp; '+ machineSalesCompanyName +'</div>' +
  201. '<div><span class="sp-status sp-font">已出库 &nbsp;&nbsp;&nbsp;&nbsp; '+ machineSalesDate +'</span><span class="btn-cancel sp-font" id="cancelTheLibrary" name="'+ machineBarcode +'">取消出库</span></div>' +
  202. '</li>';
  203. }
  204. $(".my-pull-list").html(html);
  205. }else{
  206. mui.alert(dt.resultMsg);
  207. }
  208. }
  209. },
  210. error: function(xhr, type, errorThrown) {
  211. mui.alert("加载失败!请检查网络或稍后重试!");
  212. }
  213. });
  214. }
  215. /*时间选择-- */
  216. mui('body').on('tap', '#machineSalesDate', function() {
  217. var th=this;
  218. var userPicker = new mui.PopPicker();
  219. var dtpicker = new mui.DtPicker({
  220. "type": "date",
  221. "customData": {}
  222. })
  223. var iTems;
  224. dtpicker.show(function (machineSalesDate) {
  225. //onsole.log(selectItems.m);//{text: "05",value: "05"}
  226. iTems=machineSalesDate.y.value + "-" + machineSalesDate.m.value + "-" + machineSalesDate.d.value;
  227. $('#machineSalesDate').val(iTems);
  228. })
  229. });
  230. /*取消出库*/
  231. mui('body').on('tap', '#cancelTheLibrary', function() {
  232. var machineBarcode = $(this).attr("name");
  233. var btnArray = ['否', '是'];
  234. mui.confirm('是否取消该机器出库?', '取消出库', btnArray, function(e) {
  235. if (e.index == 1) {
  236. mui.ajax('${path}/admin/machine/cancel_warehouse', {
  237. data: {
  238. machineBarcode : machineBarcode,
  239. data : new Date().getTime()
  240. },
  241. type: 'post',
  242. timeout: 15000,
  243. success: function(dt) {
  244. if(dt.isRedirect) {
  245. location.href = dt.redirectURL;
  246. }else{
  247. if(dt.resultCode=="200") {
  248. mui.alert(dt.resultMsg);
  249. initializeDelivery(""); //初始化出库列表
  250. }else{
  251. mui.alert(dt.resultMsg);
  252. }
  253. }
  254. },
  255. error: function(xhr, type, errorThrown) {
  256. mui.alert("加载失败!请检查网络或稍后重试!");
  257. }
  258. });
  259. } else {
  260. }
  261. })
  262. });
  263. /*出库扫码*/
  264. mui('body').on('tap', '.scan-code-machine', function() {
  265. wx.scanQRCode({
  266. needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
  267. scanType: ["barCode"], // 可以指定扫二维码还是一维码,默认二者都有
  268. success: function (res) {
  269. var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
  270. if (result.indexOf("weixin.qq.com") > 0) {
  271. mui.alert("请扫描条形码!");
  272. } else {
  273. var code = result;
  274. var brCode = code.split(",");
  275. $('#machineBarcode').val(brCode[1]);
  276. var btnArray = ['否', '是'];
  277. mui.confirm('条形码:'+brCode[1], '是否出库?', btnArray, function(e) {
  278. if (e.index == 1) {
  279. addMachineDelivery(); //调用提交
  280. } else {
  281. }
  282. })
  283. }
  284. }
  285. });
  286. });
  287. /*搜索的扫码*/
  288. mui('body').on('tap', '.secah-scan-code-machine', function() {
  289. wx.scanQRCode({
  290. needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
  291. scanType: ["barCode"], // 可以指定扫二维码还是一维码,默认二者都有
  292. success: function (res) {
  293. var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
  294. if (result.indexOf("weixin.qq.com") > 0) {
  295. mui.alert("请扫描条形码!");
  296. } else {
  297. var code = result;
  298. var brCode = code.split(",");
  299. $('#secahMachineBarcode').val(brCode[1]);
  300. initializeDelivery(brCode[1]);
  301. }
  302. }
  303. });
  304. });
  305. /*销售公司选择*/
  306. mui('body').on('tap', '#machineSalesCompanyId', function() {
  307. var th=this;
  308. var userPicker = new mui.PopPicker();
  309. mui.ajax('${path}/admin/machine/list_delivery', {
  310. data: {
  311. sourceAddress:''
  312. },
  313. type: 'post',
  314. timeout: 15000,
  315. success: function(dt) {
  316. if(dt.isRedirect) {
  317. location.href = dt.redirectURL;
  318. }else{
  319. if(dt.resultCode=="200") {
  320. var mydata=[];
  321. mui(dt.returnMsg.ptsSalesCompanyList).each(function(index) {
  322. var a={text:this.salesCompanyName,value:this.salesCompanyId,number:this.salesCompanyId};
  323. mydata.push(a);
  324. });
  325. userPicker.setData(mydata);
  326. }else{
  327. mui.alert(dt.resultMsg);
  328. }
  329. }
  330. },
  331. error: function(xhr, type, errorThrown) {
  332. mui.alert("加载失败!请检查网络或稍后重试!");
  333. }
  334. });
  335. userPicker.show(function(items) {
  336. // th.value = items[0].text;
  337. th.setAttribute("name",items[0].value);
  338. $('#machineSalesCompanyId').val(items[0].text);
  339. });
  340. });
  341. mui('body').on('tap', '#mydate', function() {
  342. var YY = new Date().getFullYear() + 1,
  343. MM = new Date().getMonth(),
  344. DD = new Date().getDate() + 1;
  345. var th = this;
  346. var picker = new mui.DtPicker({
  347. type: "date", //设置日历初始视图模式
  348. beginDate: new Date(), //设置开始日期
  349. endDate: new Date(YY, MM, DD) //设置结束日期
  350. });
  351. picker.show(function(rs) {
  352. th.value = rs.text;
  353. picker.dispose();
  354. });
  355. });
  356. /*提交*/
  357. function addMachineDelivery(){
  358. mui("#basic_input_list .input-text").each(function() {
  359. switch(this.getAttribute("id")) {
  360. case "machineSalesCompanyId":
  361. if (this.value != "") {
  362. validate_flag = true;
  363. } else {
  364. alert_msg = "请选择销售公司";
  365. validate_flag = false;
  366. return false;
  367. }
  368. break;
  369. case "machineBarcode":
  370. var en_name = /^[a-zA-Z0-9]+$/;
  371. if (this.value == "") {
  372. alert_msg = "请输入条形码";
  373. validate_flag = false;
  374. return false;
  375. }else if(this.value.length != 13){
  376. alert_msg = "条形码格式不正确";
  377. validate_flag = false;
  378. return false;
  379. }else if(!(en_name.test(this.value))){
  380. alert_msg = "条形码格式不正确";
  381. validate_flag = false;
  382. return false;
  383. }else{
  384. validate_flag = true;
  385. }
  386. break;
  387. case "machineSalesDate":
  388. if (this.value != "") {
  389. validate_flag = true;
  390. } else {
  391. alert_msg = "请选择销售日期";
  392. validate_flag = false;
  393. return false;
  394. }
  395. break;
  396. default:
  397. break;
  398. }
  399. });
  400. if(!validate_flag){
  401. mui.alert(alert_msg);
  402. return false
  403. }
  404. var param = {
  405. "machineSalesCompanyId":$("#machineSalesCompanyId").attr("name"),
  406. "machineBarcode": $("#machineBarcode").val(),
  407. "machineSalesDate": $("#machineSalesDate").val()
  408. };
  409. $.ajax({
  410. type: 'post',
  411. url: '${path}/admin/machine/machine_delivery?dates=' + new Date().getTime(),
  412. data: param,
  413. dataType: 'json',
  414. timeout: 15000,
  415. success: function(dt) {
  416. if(dt.isRedirect) {
  417. location.href = dt.redirectURL;
  418. }else{
  419. if(dt.resultCode=='200' && dt.returnCode=='200') {
  420. mui.alert('录入出库信息成功');
  421. }else if(dt.returnCode == 500){
  422. mui.alert('录入出库信息失败');
  423. } else {
  424. mui.alert(dt.resultMsg);
  425. }
  426. }
  427. },
  428. error: function(xhr, type, errorThrown) {
  429. //异常处理;
  430. mui.alert("提交失败!请检查网络或稍后重试!");
  431. }
  432. });
  433. }
  434. </script>
  435. </body>
  436. </html>