From fe0b22ed3a56a53f0d9ccd95e09d009634d34b65 Mon Sep 17 00:00:00 2001
From: L <L@123>
Date: 星期日, 13 七月 2025 16:05:01 +0800
Subject: [PATCH] *
---
src/main/webapp/views/pda/stockOut.html | 287 ++++++++++++++++++++++-----------------------------------
1 files changed, 110 insertions(+), 177 deletions(-)
diff --git a/src/main/webapp/views/pda/stockOut.html b/src/main/webapp/views/pda/stockOut.html
index 4f4228d..798f5c7 100644
--- a/src/main/webapp/views/pda/stockOut.html
+++ b/src/main/webapp/views/pda/stockOut.html
@@ -5,188 +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%;
- }
-
- .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;
- 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
+ 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; 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>
+ <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>
@@ -210,7 +77,7 @@
}
/**
- * 鏍规嵁鐗╂枡鍙锋煡鎵惧簱瀛樻槑缁�
+ * 鏍规嵁鍟嗗搧缂栧彿鏌ユ壘搴撳瓨鏄庣粏
*/
function findByMatNo(el){
if (isEmpty(el.value)) {
@@ -234,6 +101,7 @@
locDetlData = res.data;
tableIns.reload({data: locDetlData});
}
+ $('#pakOut').focus();
} else if (res.code === 403) {
top.location.href = baseUrl + "/pda";
} else {
@@ -244,6 +112,7 @@
})
}
+ // 琛ㄦ牸
var locDetlData = [];
var tableIns;
layui.use(['table','laydate', 'form'], function() {
@@ -253,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;
+ }
+ })
});
// 鑾峰彇鍑哄簱鍙�
@@ -278,10 +178,11 @@
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+"/pda";
}else {
@@ -293,13 +194,13 @@
// 鍑哄簱
function pakOut() {
- if (locDetlData.length === 0) {
- tips("鐗╂枡鏁版嵁涓虹┖", true);
- document.getElementById("locNo").focus();
+ var tableData = layui.table.checkStatus('tableIdx').data;
+ if (tableData.length === 0) {
+ tips("璇烽�夋嫨鐗╂枡", true);
return;
}
- let site = $('input:radio[name="site"]:checked').next("span").html();
- if (null === site || undefined === site) {
+ var site = $('#staNoSelect').val();
+ if (null === site || undefined === site || site === "") {
tips("璇烽�夋嫨鍑哄簱鍙�", true);
return;
}
@@ -308,7 +209,7 @@
headers: {'token': localStorage.getItem('token')},
data: JSON.stringify({
outSite: site,
- locDetls: locDetlData
+ locDetls: tableData
}),
contentType:'application/json;charset=UTF-8',
method: 'POST',
@@ -326,30 +227,62 @@
})
}
+ // 淇敼琛ㄦ牸鏁版嵁
+ 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("");
+ $('#staNoSelect').val("");
+ layui.form.render('select');
}
/**
* 鎻愮ず淇℃伅
* @param msg 鎻愮ず鍐呭
- * @param warn true锛氱孩鑹插瓧浣�
+ * @param warn true锛氱孩鑹瞯ar瀛椾綋
*/
function tips(msg, warn) {
- let tips = $('#tips');
- tips.html(msg);
- tips.css("color", warn?"red":'#666');
+ 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