From f816765db6908f61a260e7da4fb15d22d1a89b0f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 10 七月 2020 16:47:08 +0800
Subject: [PATCH] #拣料
---
src/main/webapp/views/pda/stockOut.html | 393 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 392 insertions(+), 1 deletions(-)
diff --git a/src/main/webapp/views/pda/stockOut.html b/src/main/webapp/views/pda/stockOut.html
index 7264fe5..2b96608 100644
--- a/src/main/webapp/views/pda/stockOut.html
+++ b/src/main/webapp/views/pda/stockOut.html
@@ -10,8 +10,399 @@
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+ <style>
+ * {
+ font-family: microsoft yahei,serif;
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ font-size: 11px;
+ }
+ html {
+ height: 100%;
+ background-color: #f1f1f1;
+ padding: 5px;
+ }
+ body {
+ height: 100%;
+ background-color: #fff;
+ border-radius: 5px;
+ box-shadow: 0 0 3px rgba(0,0,0,.3);
+ padding: 2px 5px;
+ position: relative;
+ }
+ /* 澶撮儴 */
+ header {
+ padding: 5px 0;
+ }
+ .layui-input-inline {
+ margin-bottom: 5px;
+ }
+ .layui-form-label {
+ width: initial;
+ padding: 2px 10px;
+ }
+ .layui-input {
+ width: 75%;
+ height: 25px;
+ margin-right: 0;
+ }
+ /* layer */
+ .layui-layer-title {
+ font-size: 11px;
+ height: 20px;
+ line-height: 20px;
+ }
+ /* 涓讳綋 */
+ main {
+ height: 150px;
+ overflow: auto;
+ }
+ .layui-table, .layui-table-view {
+ margin: 0;
+ }
+ .layui-table-view .layui-table td, .layui-table-view .layui-table th {
+ padding: 0;
+ }
+ .layui-table-cell {
+ height: 22px;
+ line-height: 22px;
+ padding: 0;
+ }
+ .layui-table-grid-down {
+ display: none;
+ }
+ .layui-form-checkbox[lay-skin=primary] {
+ height: 15px;
+ width: 15px;
+ }
+ .layui-table-view .layui-form-checkbox[lay-skin=primary] i {
+ height: 15px;
+ width: 15px;
+ }
+ /* 灏鹃儴 */
+ footer {
+ position: absolute;
+ bottom: 5px;
+ width: 100%;
+ }
+
+ .site-list {
+ padding: 2px 0;
+ height: 22px;
+ margin-bottom: 5px;
+ }
+ .site-list label {
+ padding-right: 15px;
+ }
+ .site-list label span {
+ vertical-align: middle;
+ font-size: 13px;
+ }
+
+ .cool-checkbox:checked {
+ background:#1673ff
+ }
+ .cool-checkbox {
+ width:15px;
+ height:15px;
+ background-color:#ffffff;
+ border:solid 1px #dddddd;
+ -webkit-border-radius:50%;
+ border-radius:50%;
+ font-size:15px;
+ margin:0 5px 0 0;
+ padding:0;
+ position:relative;
+ display:inline-block;
+ vertical-align:middle;
+ cursor:default;
+ -webkit-appearance:none;
+ -webkit-user-select:none;
+ user-select:none;
+ -webkit-transition:background-color ease 0.1s;
+ transition:background-color ease 0.1s;
+ }
+ .cool-checkbox:checked::after {
+ content:'';
+ top:3px;
+ left:3px;
+ position:absolute;
+ background:transparent;
+ border:#fff solid 2px;
+ border-top:none;
+ border-right:none;
+ height:3px;
+ width:6px;
+ -moz-transform:rotate(-45deg);
+ -ms-transform:rotate(-45deg);
+ -webkit-transform:rotate(-45deg);
+ transform:rotate(-45deg);
+ }
+
+ .layui-btn-container .layui-btn {
+ margin-left: 10px;
+ margin-bottom: 2px;
+ }
+ #tips {
+ display: inline-block;
+ width: 90px;
+ color: #666;
+ margin-left: 5px;
+ margin-bottom: 5px;
+ vertical-align: middle;
+ overflow:hidden;
+ white-space:nowrap;
+ text-overflow:ellipsis;
+ }
+
+ .layui-btn-primary:hover {
+ border-color: #C9C9C9
+ }
+ </style>
</head>
<body>
-
+<!-- 澶撮儴 -->
+<header>
+ <div class="layui-input-inline">
+ <label class="layui-form-label">搴撲綅</label>
+ <input class="layui-input" type="text" id="locNo" onkeyup="findByLocNo(this)" autocomplete="off">
+ </div>
+ <div class="layui-input-inline">
+ <label class="layui-form-label">鐗╂枡</label>
+ <input class="layui-input" type="text" id="matNo" onkeyup="findByMatNo(this)" autocomplete="off">
+ </div>
+</header>
+<!-- 涓讳綋 -->
+<main>
+ <table class="layui-table" id="dataByLoc" lay-filter="dataByLoc"></table>
+</main>
+<!-- 灏鹃儴 -->
+<footer>
+ <!-- 鍑哄簱鍙� -->
+ <div class="site-list">
+ <span style="display: inline-block; padding:0 0 0 10px; font-size: 12px;">鍑哄簱鍙o細</span>
+ </div>
+ <div class="layui-btn-container">
+ <button type="button" class="layui-btn layui-btn-xs layui-btn-primary" onclick="reset()">閲嶇疆</button>
+ <button type="button" class="layui-btn layui-btn-normal layui-btn-xs" onclick="pakOut()" style="margin-left: 20px">鍑哄簱</button>
+ <span id="tips"></span>
+ </div>
+</footer>
</body>
+<script>
+
+ window.onload = function(){
+ document.getElementById("locNo").focus();
+ getOutBound();
+ }
+
+ /**
+ * 鏍规嵁搴撲綅鍙锋煡鎵惧簱瀛樻槑缁�
+ */
+ function findByLocNo(el){
+ if (isEmpty(el.value)) {
+ return;
+ }
+ $("#matNo").val("");
+ find(el.value, null);
+ }
+
+ /**
+ * 鏍规嵁鐗╂枡鍙锋煡鎵惧簱瀛樻槑缁�
+ */
+ function findByMatNo(el){
+ if (isEmpty(el.value)) {
+ return;
+ }
+ $("#locNo").val("");
+ find(null, el.value);
+ }
+ function find(locNo, matNo) {
+ $.ajax({
+ url: baseUrl + "/mobile/locDetl",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ locNo: locNo,
+ matNo: matNo
+ },
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200) {
+ if (res.data != null) {
+ locDetlData = res.data;
+ tableIns.reload({data: locDetlData});
+ }
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/pda";
+ } else {
+ locDetlData = [];
+ tableIns.reload({data: locDetlData});
+ }
+ }
+ })
+ }
+
+ // 琛ㄦ牸
+ var locDetlData = [];
+ var tableIns;
+ layui.use(['table','laydate', 'form'], function() {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var form = layui.form;
+
+ tableIns = table.render({
+ id: 'tableIdx',
+ elem: '#dataByLoc',
+ data: [],
+ limit: 500,
+ cellMinWidth: 50,
+ cols: [[
+ {type: 'checkbox', fixed: 'left', width:30},
+ {field: 'count', align: 'center', title: '閲�', event: 'detail', style:'color: blue', width:30},
+ {field: 'matnr', align: 'center', title: '缂栫爜', event: 'detail'},
+ {field: 'maktx', align: 'center', title: '鍚嶇О', event: 'detail'},
+ {field: 'locNo', align: 'center', title: '搴撲綅', event: 'detail'}
+ ]],
+ done: function (res, curr, count) {
+ }
+ });
+
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(dataByLoc)', function(obj) {
+ var data = obj.data;
+ switch (obj.event) {
+ // 璇︽儏
+ case 'detail':
+ layer.open({
+ type: 2,
+ title: '搴撳瓨鏄庣粏',
+ shade: [0.3,'#000'],
+ area: ['90%', '77%'],
+ content: 'locDetlIframe.html',
+ success: function(layero, index){
+ // 璁剧疆寮圭獥鏍峰紡
+ $('.layui-layer-title').css('height', '20px').css('line-height', '20px').css('font-size', '12px').css('padding-left', '10px')
+ $('.layui-layer-setwin').css("top", '2px').css('right', '3px');
+ // 娉ㄥ叆鍊�
+ let el = layer.getChildFrame('.form-box', index);
+ for (var val in data) {
+ var find = el.find(":input[id='" + val + "']");
+ find.val(data[val]);
+ }
+ }
+ });
+ break;
+ }
+ })
+ });
+
+ // 鑾峰彇鍑哄簱鍙�
+ function getOutBound(){
+ $.ajax({
+ url: baseUrl+"/available/take/site",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200){
+ var tpl = $("#outSitesTemplate").html();
+ var template = Handlebars.compile(tpl);
+ var html = template(res);
+ $('.site-list').append(html);
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/pda";
+ }else {
+ tips("鑾峰彇鍑哄簱鍙eけ璐�", true)
+ }
+ }
+ })
+ }
+
+ // 鍑哄簱
+ function pakOut() {
+ var tableData = layui.table.checkStatus('tableIdx').data;
+ if (tableData.length === 0) {
+ tips("璇烽�夋嫨鐗╂枡", true);
+ document.getElementById("locNo").focus();
+ return;
+ }
+ let site = $('input:radio[name="site"]:checked').next("span").html();
+ if (null === site || undefined === site) {
+ tips("璇烽�夋嫨鍑哄簱鍙�", true);
+ return;
+ }
+ $.ajax({
+ url: baseUrl+"/plate/out/start",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify({
+ outSite: site,
+ locDetls: tableData
+ }),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200) {
+ reset();
+ tips("鍚姩鍑哄簱鎴愬姛")
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/pda";
+ } else {
+ tips(res.msg, true)
+ }
+ }
+ })
+ }
+
+ // 淇敼琛ㄦ牸鏁版嵁
+ function updateTableData(data) {
+ for (var i=0;i<locDetlData.length;i++) {
+ if (data.matnr === locDetlData[i].matnr && data.locNo === locDetlData[i].locNo) {
+ locDetlData[i].count = data.count;
+ break
+ }
+ }
+ tableIns.reload({data: locDetlData});
+ }
+
+ // 鍒犻櫎琛ㄦ牸琛�
+ function removeTableData(data) {
+ for (var i = locDetlData.length - 1; i >= 0; i--) {
+ if (locDetlData[i].locNo === data.locNo && locDetlData[i].matnr === data.matnr) {
+ locDetlData.splice(i, 1);
+ }
+ }
+ tableIns.reload({data: locDetlData});
+ }
+
+ // 閲嶇疆
+ function reset() {
+ $("#matNo").val("");
+ $("#locNo").val("");
+ locDetlData = [];
+ tableIns.reload({data: locDetlData});
+ $('input:radio[name="site"]').prop('checked',false);
+ tips("");
+ }
+
+ /**
+ * 鎻愮ず淇℃伅
+ * @param msg 鎻愮ず鍐呭
+ * @param warn true锛氱孩鑹插瓧浣�
+ */
+ function tips(msg, warn) {
+ let tips = $('#tips');
+ tips.html(msg);
+ tips.css("color", warn?"red":'#666');
+ }
+</script>
+<script type="text/template" id="outSitesTemplate">
+ {{#each data}}
+ <label><input class="cool-checkbox" type="radio" name="site"><span>{{this}}</span></label>
+ {{/each}}
+</script>
</html>
\ No newline at end of file
--
Gitblit v1.9.1