From 2f63acadcd111fe47b2feedf13adb9cffcd64b2c Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 25 十月 2024 13:28:50 +0800
Subject: [PATCH] mes调用立即出库修改
---
src/main/webapp/views/pda/stockOut.html | 331 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 198 insertions(+), 133 deletions(-)
diff --git a/src/main/webapp/views/pda/stockOut.html b/src/main/webapp/views/pda/stockOut.html
index 4795bb0..1fc7dfc 100644
--- a/src/main/webapp/views/pda/stockOut.html
+++ b/src/main/webapp/views/pda/stockOut.html
@@ -5,131 +5,55 @@
<meta name="viewport" content="width=device-width, target-densitydpi=high-dpi, initial-scale=1.0, user-scalable=no"/>
<title>鍑哄簱</title>
<link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../static/css/pda.css" media="all">
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
<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;
+ .layui-input-block {
+ margin-left: 60px;
}
- 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%;
- }
- .layui-btn-container .layui-btn {
- margin-left: 10px;
- margin-bottom: 2px;
- }
- #tips {
- display: inline-block;
- color: #666;
- margin-left: 5px;
- margin-bottom: 5px;
- vertical-align: middle;
- }
-
- .layui-btn-primary:hover {
- border-color: #C9C9C9
+ height: 200px;
}
</style>
</head>
<body>
<!-- 澶撮儴 -->
-<header>
+<header class="layui-form">
<div class="layui-input-inline">
<label class="layui-form-label">搴撲綅</label>
- <input class="layui-input" type="text" id="locNo" onkeyup="findLocDetl(this)" autocomplete="off">
+ <div class="layui-input-block">
+ <input class="layui-input" type="number" id="locNo" onkeyup="findByLocNo(this)" autocomplete="off">
+ </div>
+
</div>
<div class="layui-input-inline">
<label class="layui-form-label">鐗╂枡</label>
- <input class="layui-input" type="text" id="matNo" autocomplete="off">
+ <div class="layui-input-block">
+ <input class="layui-input" type="text" id="matNo" onkeyup="findByMatNo(this)" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-input-inline">
+ <label class="layui-form-label">鍑哄簱鍙�</label>
+ <div class="layui-input-inline" style="margin-left: 5px;width: 120px">
+ <select id="staNoSelect">
+ <option value="">璇烽�夋嫨</option>
+ </select>
+ </div>
</div>
</header>
<!-- 涓讳綋 -->
<main>
- <table class="layui-table" id="dataByLoc" lay-filter="chooseData"></table>
+ <table class="layui-table" id="dataByLoc" lay-filter="dataByLoc"></table>
</main>
<!-- 灏鹃儴 -->
<footer>
- <!-- 鍑哄簱鍙� -->
- <div class="site-list">
- <span style="display: inline-block; margin: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>
+ <button id="reset" type="button" class="layui-btn layui-btn-primary" onclick="reset()">閲嶇疆</button>
+ <button id="pakOut" type="button" class="layui-btn layui-btn-normal" onclick="pakOut()" style="margin-left: 20px">鍑哄簱</button>
<span id="tips"></span>
</div>
</footer>
@@ -144,33 +68,107 @@
/**
* 鏍规嵁搴撲綅鍙锋煡鎵惧簱瀛樻槑缁�
*/
- function findLocDetl(el){
+ 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 + "/matCode/auth",
+ url: baseUrl + "/mobile/locDetl",
headers: {'token': localStorage.getItem('token')},
data: {
- id: el.value
+ locNo: locNo,
+ matNo: matNo
},
method: 'POST',
success: function (res) {
if (res.code === 200) {
if (res.data != null) {
- $('#matName').val(res.data.matName);
- $('#str1').val(res.data.str1);
- $('#str2').val(res.data.str2);
- countDom.focus().val(initMatCount)
+ locDetlData = res.data;
+ tableIns.reload({data: locDetlData});
}
+ $('#pakOut').focus();
} else if (res.code === 403) {
top.location.href = baseUrl + "/pda";
} else {
- alert(res.msg)
+ 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:50},
+ {field: 'matnr', align: 'center', title: '缂栫爜', event: 'detail'},
+ {field: 'maktx', align: 'center', title: '鍚嶇О', event: 'detail'},
+ {field: 'model', align: 'center',title: '浜у搧浠g爜', 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%', '70%'],
+ content: 'locDetlIframe.html',
+ success: function(layero, index){
+ // 璁剧疆寮圭獥鏍峰紡
+ $('.layui-layer-title').css('font-size', '16px');
+ // 娉ㄥ叆鍊�
+ let el = layer.getChildFrame('.form-box', index);
+ for (var val in data) {
+ var find = el.find(":input[id='" + val + "']");
+ find.val(data[val]);
+ }
+ },
+ end: function () {
+ $('#pakOut').focus();
+ }
+ });
+ break;
+ }
+ })
+ });
// 鑾峰彇鍑哄簱鍙�
function getOutBound(){
@@ -181,44 +179,111 @@
async: false,
success: function (res) {
if (res.code === 200){
- var tpl = $("#outSitesTemplate").html();
+ var tpl = $("#takeSiteSelectTemplate").html();
var template = Handlebars.compile(tpl);
var html = template(res);
- $('#site-list').append(html);
+ $('#staNoSelect').append(html);
+ layui.form.render('select');
} else if (res.code === 403){
- top.location.href = baseUrl+"/";
+ top.location.href = baseUrl+"/pda";
}else {
- layer.msg(res.msg)
+ tips("鑾峰彇鍑哄簱鍙eけ璐�", true)
}
}
})
}
- layui.use(['table','laydate', 'form'], function() {
- var table = layui.table;
- var $ = layui.jquery;
- var layer = layui.layer;
- var form = layui.form;
-
- tableIns = table.render({
- elem: '#dataByLoc',
- data: [],
- limit: 500,
- cellMinWidth: 50,
- cols: [[
- {type: 'checkbox', fixed: 'left', width:30},
- {fixed: 'left', align: 'center', field: 'count', title: '閲�', style:'color: blue', width:30},
- {field: 'matNo', align: 'center', title: '鐗╂枡缂栫爜'},
- {field: 'matName', align: 'center', title: '鐗╂枡鍚嶇О'}
- ]],
- done: function (res, curr, count) {
+ // 鍑哄簱
+ function pakOut() {
+ var tableData = layui.table.checkStatus('tableIdx').data;
+ if (tableData.length === 0) {
+ tips("璇烽�夋嫨鐗╂枡", true);
+ return;
+ }
+ var site = $('#staNoSelect').val();
+ if (null === site || undefined === site || 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});
+ $('#staNoSelect').val("");
+ layui.form.render('select');
+ }
+
+ /**
+ * 鎻愮ず淇℃伅
+ * @param msg 鎻愮ず鍐呭
+ * @param warn true锛氱孩鑹瞯ar瀛椾綋
+ */
+ function tips(msg, warn) {
+ layer.msg(msg, {icon: warn?2:1})
+ }
+
+ document.onkeyup = function (e) {
+ if (window.event)//濡傛灉window.event瀵硅薄瀛樺湪锛屽氨浠ユ浜嬩欢瀵硅薄涓哄噯
+ e = window.event;
+ var key = e.charCode || e.keyCode;
+ if (key === 115) {
+ $("#pakOut").focus();
+ pakOut();
+ } else if (key === 113) {
+ $("#locNo").val("");
+ $("#locNo").focus();
+ }
+ }
</script>
-<script type="text/template" id="outSitesTemplate">
+<script type="text/template" id="takeSiteSelectTemplate">
{{#each data}}
- <label><input class="cool-checkbox" type="radio" name="site"><span>{{this}}</span></label>
+ <option value="{{siteId}}">{{desc}}</option>
{{/each}}
</script>
</html>
\ No newline at end of file
--
Gitblit v1.9.1