From 74fd6eb7fb0322078f7946f51073f20e90231df1 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期二, 01 四月 2025 11:54:00 +0800
Subject: [PATCH] #
---
src/main/webapp/views/pda/stockOut.html | 268 +++++++++++++++++++++++++++++++----------------------
1 files changed, 157 insertions(+), 111 deletions(-)
diff --git a/src/main/webapp/views/pda/stockOut.html b/src/main/webapp/views/pda/stockOut.html
index 5ba0296..ac83efd 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="findByLocNo(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" onkeyup="findByMatNo(this)" 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>
@@ -153,7 +77,7 @@
}
/**
- * 鏍规嵁鐗╂枡鍙锋煡鎵惧簱瀛樻槑缁�
+ * 鏍规嵁鍟嗗搧缂栧彿鏌ユ壘搴撳瓨鏄庣粏
*/
function findByMatNo(el){
if (isEmpty(el.value)) {
@@ -177,6 +101,7 @@
locDetlData = res.data;
tableIns.reload({data: locDetlData});
}
+ $('#pakOut').focus();
} else if (res.code === 403) {
top.location.href = baseUrl + "/pda";
} else {
@@ -187,6 +112,7 @@
})
}
+ // 琛ㄦ牸
var locDetlData = [];
var tableIns;
layui.use(['table','laydate', 'form'], function() {
@@ -196,20 +122,51 @@
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: '閲�', style:'color: blue', width:30},
- {field: 'matNo', align: 'center', title: '缂栫爜'},
- {field: 'matName', align: 'center', title: '鍚嶇О'},
- {field: 'locNo', align: 'center', title: '搴撲綅'}
+ {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: '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;
+ }
+ })
});
// 鑾峰彇鍑哄簱鍙�
@@ -221,22 +178,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+"/";
- }else {
- layer.msg(res.msg)
+ top.location.href = baseUrl+"/pda";
+ } else {
+ tips("鑾峰彇鍑哄簱鍙eけ璐�", true)
}
}
})
}
+
+ // 鍑哄簱
+ 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