From 4ef4e287fe6597543a9628b6dae294c19f2b1d9c Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 22 十月 2025 10:50:41 +0800
Subject: [PATCH] 1.新增订单出库挑选功能 2.新增订单明细表
---
src/main/java/com/zy/asrs/entity/OrderDetl.java | 14
src/main/webapp/static/js/order/outAll.js | 29 +
src/main/webapp/views/order/outAll.html | 3
src/main/resources/mapper/third/ExdMaterialMapper.xml | 10
src/main/webapp/views/order/outLocDetlQuery.html | 625 ++++++++++++++++++++++++++++++++++
src/main/webapp/views/orderDetl/orderDetl.html | 109 ++++-
src/main/java/com/zy/asrs/controller/OutController.java | 41 ++
src/main/java/com/zy/asrs/entity/param/OutlocDetlParam.java | 12
src/main/webapp/static/js/orderDetl/orderDetl.js | 172 +++++++-
src/main/resources/application.yml | 12
10 files changed, 960 insertions(+), 67 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 820b5fd..58e0ab5 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -6,6 +6,7 @@
import com.core.common.R;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.param.OutlocDetlParam;
import com.zy.asrs.service.*;
import com.zy.common.model.LocDto;
import com.zy.common.model.TaskDto;
@@ -204,4 +205,44 @@
return R.ok();
}
+ @PostMapping("/out/pakout/preview/auth1")
+ @ManagerAuth
+ public R pakoutPreview1(@RequestBody OutlocDetlParam map) {
+ if (Cools.isEmpty(map)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ OrderDetl orderDetl = orderDetlService.selectById(map.getId());
+ if (Cools.isEmpty(orderDetl)) {
+ return R.error("娌℃湁鎵惧埌璇ヨ鍗�");
+ }
+
+ List<LocDto> locDtos = new ArrayList<>();
+ Set<String> exist = new HashSet<>();
+
+ double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
+ for (LocDetl locDetl : map.getList()) {
+ if (issued > 0) {
+ LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
+ locDetl.getAnfme());
+ List<String> staNos = new ArrayList<>();
+ staNos.add("C1");
+ staNos.add("C2");
+ staNos.add("C3");
+ locDto.setStaNos(staNos);
+ locDtos.add(locDto);
+ exist.add(locDetl.getLocNo());
+ // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+ issued = issued - locDetl.getAnfme();
+ } else {
+ break;
+ }
+ }
+ if (issued > 0) {
+ LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
+ locDto.setLack(Boolean.TRUE);
+ locDtos.add(locDto);
+ }
+ return R.ok().add(locDtos);
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index 311979d..116f4c8 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -17,6 +17,7 @@
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.Objects;
@Data
@TableName("man_order_detl")
@@ -348,6 +349,19 @@
return null;
}
+ public String getAnfme$(){
+ if(Objects.equals(this.qty, this.anfme)){
+ return "宸插畬鎴�";
+ }else if(this.workQty==0){
+ return "寰呭鐞�";
+ }else if(this.anfme>this.qty){
+ return "浣滀笟涓�";
+ }else if(this.anfme<this.qty){
+ return "寮傚父";
+ }
+ return "";
+ }
+
public String getBeBatch$(){
if (null == this.beBatch){ return null; }
switch (this.beBatch){
diff --git a/src/main/java/com/zy/asrs/entity/param/OutlocDetlParam.java b/src/main/java/com/zy/asrs/entity/param/OutlocDetlParam.java
new file mode 100644
index 0000000..f863520
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/OutlocDetlParam.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.entity.param;
+
+import com.zy.asrs.entity.LocDetl;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OutlocDetlParam {
+ long id;
+ List<LocDetl> list;
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e0deb17..cedb8f5 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -33,12 +33,12 @@
# password: root
#driver-class-name: com.mysql.cj.jdbc.Driver
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- jdbc-url: jdbc:sqlserver://192.168.3.148:1433;databasename=wms_middle
- username: wms
- password: wms@aunde
-# jdbc-url: jdbc:sqlserver://127.0.0.1:1433;databasename=wms_middle
-# username: sa
-# password: sa@123
+# jdbc-url: jdbc:sqlserver://192.168.3.148:1433;databasename=wms_middle
+# username: wms
+# password: wms@aunde
+ jdbc-url: jdbc:sqlserver://127.0.0.1:1433;databasename=ycawdasrs
+ username: sa
+ password: sa@123
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
diff --git a/src/main/resources/mapper/third/ExdMaterialMapper.xml b/src/main/resources/mapper/third/ExdMaterialMapper.xml
index 183a266..a7ca4a4 100644
--- a/src/main/resources/mapper/third/ExdMaterialMapper.xml
+++ b/src/main/resources/mapper/third/ExdMaterialMapper.xml
@@ -30,12 +30,12 @@
</select>
<select id="getBacode" resultType="com.zy.third.entity.ExdvYanbu" parameterType="string">
- SELECT top 1 *
- FROM [Textile].[trade].[TianfuQcResult]
- where Barcode = #{barcode}
- <!-- SELECT top 1 *
+-- SELECT top 1 *
+-- FROM [Textile].[trade].[TianfuQcResult]
+-- where Barcode = #{barcode}
+ SELECT top 1 *
FROM TianfuQcResult
- where Barcode = #{barcode}-->
+ where Barcode = #{barcode}
</select>
diff --git a/src/main/webapp/static/js/order/outAll.js b/src/main/webapp/static/js/order/outAll.js
index d3db620..a8f5953 100644
--- a/src/main/webapp/static/js/order/outAll.js
+++ b/src/main/webapp/static/js/order/outAll.js
@@ -1,5 +1,8 @@
var pageCurr;
var insTb2;
+var matnR;
+var id;
+var anfme;
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
}).extend({
@@ -54,7 +57,7 @@
// ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
// ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
// ,{field: 'memo', align: 'center',title: '澶囨敞'}
- ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 160}
+ ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width: 200}
]],
request: {
pageName: 'curr',
@@ -120,12 +123,34 @@
case 'pakoutPreview':
pakoutPreview([data.id])
break;
+ case 'outLocDetlQuery' :
+ outLocDetlQuery([data.matnr],[data.id],[data.enableQty])
+ break;
}
});
+ // 鎻愬彇搴撳瓨
+ function outLocDetlQuery(matnr,id,enableQty) {
+ let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ matnR=matnr;
+ ID=id;
+ anfme=enableQty;
+ locDetlLayerIdx = layer.open({
+ type: 2,
+ title: false,
+ closeBtn: false,
+ maxmin: false,
+ area: ['90%', '85%'],
+ shadeClose: true,
+ content: 'outLocDetlQuery.html',
+ success: function(layero, index){
+ layer.close(loadIndex);
+ }
+ });
+ }
+
function pakoutPreview(ids) {
let loadIndex = layer.load(2);
- console.log("1111")
$.ajax({
url: baseUrl + "/out/pakout2/preview/auth",
headers: {'token': localStorage.getItem('token')},
diff --git a/src/main/webapp/static/js/orderDetl/orderDetl.js b/src/main/webapp/static/js/orderDetl/orderDetl.js
index caef270..f6edb02 100644
--- a/src/main/webapp/static/js/orderDetl/orderDetl.js
+++ b/src/main/webapp/static/js/orderDetl/orderDetl.js
@@ -9,6 +9,27 @@
var form = layui.form;
var admin = layui.admin;
+ // 娓叉煋鎼滅储妯℃澘
+ $.ajax({
+ url: baseUrl+"/docType/list/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ limit: 9999
+ },
+ method: 'POST',
+ success: function (res) {
+ if (res.code === 200){
+ let template = Handlebars.compile($('#docTypeTpl').html());
+ $('#docType-query').html(template(res.data));
+ layui.form.render('select');
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+
// 鏁版嵁娓叉煋
tableIns = table.render({
elem: '#orderDetl',
@@ -22,29 +43,33 @@
height: 'full-120',
cols: [[
{type: 'checkbox'}
- ,{field: 'id', align: 'center',title: 'ID'}
- ,{field: 'orderId$', align: 'center',title: '璁㈠崟鍐呯爜'}
- ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
- ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜'}
- ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О'}
- ,{field: 'name', align: 'center',title: '鍚嶇О'}
- ,{field: 'specs', align: 'center',title: '瑙勬牸'}
- ,{field: 'model', align: 'center',title: '鍨嬪彿'}
- ,{field: 'batch', align: 'center',title: '鎵瑰彿'}
- ,{field: 'unit', align: 'center',title: '鍗曚綅'}
- ,{field: 'barcode', align: 'center',title: '鍟嗗搧鏉$爜'}
- ,{field: 'supplier', align: 'center',title: '渚涘簲鍟�'}
- ,{field: 'unitPrice', align: 'center',title: '鍗曚环'}
- ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'}
- ,{field: 'count', align: 'center',title: '鏁伴噺'}
- ,{field: 'weight', align: 'center',title: '閲嶉噺'}
- ,{field: 'status$', align: 'center',title: '鐘舵��'}
- ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
- ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
- ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
- ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
- ,{field: 'memo', align: 'center',title: '澶囨敞'}
+ // ,{field: 'id', align: 'center',title: 'ID'}
+ ,{field: 'orderNo', align: 'center',title: '璁㈠崟缂栫爜',sort:true}
+ ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜',sort:true}
+ ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О',sort:true}
+ ,{field: 'anfme', align: 'center',title: '鏁伴噺',sort:true}
+ ,{field: 'workQty', align: 'center',title: '宸ヤ綔鏁伴噺',sort:true}
+ ,{field: 'qty', align: 'center',title: '瀹屾垚鏁伴噺',sort:true}
+ // ,{field: 'model', align: 'center',title: '鍨嬪彿'}
+ ,{field: 'batch', align: 'center',title: '鎵瑰彿',sort:true, hide: true}
+ ,{field: 'brand', align: 'center',title: '浜х嚎',sort:true, hide: true}
+ ,{field: 'sku', align: 'center',title: '绛夌骇',sort:true, hide: true}
+ ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
+ ,{field: 'danger$', align: 'center',title: '璁㈠崟绫诲瀷', hide: true}
+ ,{field: 'anfme$', align: 'center', title: '鐘舵��', templet: '#settleTpl', minWidth: 160, width: 160},
+ // ,{field: 'unitPrice', align: 'center',title: '鍗曚环'}
+ // ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'}
+ // ,{field: 'count', align: 'center',title: '鏁伴噺'}
+ // ,{field: 'weight', align: 'center',title: '閲嶉噺'}
+ // ,{field: 'status$', align: 'center',title: '鐘舵��'}
+ // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
+ {field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+
+ ,{field: 'inspect$', align: 'center',title: '涓婃姤娆℃暟', width: 100}
+ // ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳'}
+ // ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
+ // ,{field: 'memo', align: 'center',title: '澶囨敞'}
,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
]],
request: {
@@ -93,14 +118,14 @@
showEditModel();
break;
case 'deleteData':
- if (checkStatus.length === 0) {
- layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
- return;
- }
- del(checkStatus.map(function (d) {
- return d.id;
- }));
- break;
+ if (checkStatus.length === 0) {
+ layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+ return;
+ }
+ del(checkStatus.map(function (d) {
+ return d.id;
+ }));
+ break;
case 'exportData':
admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
var titles=[];
@@ -193,6 +218,61 @@
});
}
+ // 鏃堕棿閫夋嫨鍣�
+ layDate.render({
+ elem: '#ymd\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#wrkDate\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#ioTime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#crnStrTime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#crnEndTime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#plcStrTime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#crnPosTime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#refIotime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#modiTime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#appeTime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#errorTime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '#logErrTime\\$',
+ type: 'datetime'
+ });
+ layDate.render({
+ elem: '.layui-laydate-range'
+ ,type: 'datetime'
+ ,range: true
+ });
+
/* 鍒犻櫎 */
function del(ids) {
layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
@@ -233,6 +313,30 @@
clearFormVal($('#search-box'));
tableReload(false);
});
+ // 寮傚父
+ form.on('submit(abnormal)', function (data) {
+ pageCurr = 1;
+ tableReload(true);
+ // console.log("abnormal");
+ // $.ajax({
+ // url: baseUrl+"/orderDetl/abnormal",
+ // headers: {'token': localStorage.getItem('token')},
+ // method: 'GET',
+ // success: function (res) {
+ // layer.close(loadIndex);
+ // if (res.code === 200){
+ // layer.msg(res.msg, {icon: 1});
+ // tableReload();
+ // } else if (res.code === 403){
+ // top.location.href = baseUrl+"/";
+ // } else {
+ // layer.msg(res.msg, {icon: 2});
+ // }
+ // }
+ // })
+
+ });
+
// 鏃堕棿閫夋嫨鍣�
function layDateRender(data) {
@@ -264,8 +368,14 @@
$.each($('#search-box [name]').serializeArray(), function() {
searchData[this.name] = this.value;
});
+ if(child){
+ searchData["abnormal"] = 1;
+ }else {
+ searchData["abnormal"] = 0;
+ }
+
tableIns.reload({
where: searchData,
page: {curr: pageCurr}
- });
+ });
}
diff --git a/src/main/webapp/views/order/outAll.html b/src/main/webapp/views/order/outAll.html
index 3e11c1d..453d1d7 100644
--- a/src/main/webapp/views/order/outAll.html
+++ b/src/main/webapp/views/order/outAll.html
@@ -152,8 +152,9 @@
<!-- 琛屽伐鍏锋爮 -->
<script type="text/html" id="operate">
- {{#if (d.anfme > d.qty){ }}
+ {{#if (d.anfme > d.workQty){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger btn-pakoutPreview" lay-event="pakoutPreview"><i class="layui-icon layui-icon-prev-circle"></i>鍑哄簱</a>
+ <a class="layui-btn layui-btn-xs layui-btn-danger btn-pakoutPreview" lay-event="outLocDetlQuery"><i class="layui-icon layui-icon-prev-circle"></i>鎻愬彇搴撳瓨</a>
{{# } }}
</script>
diff --git a/src/main/webapp/views/order/outLocDetlQuery.html b/src/main/webapp/views/order/outLocDetlQuery.html
new file mode 100644
index 0000000..7c212f6
--- /dev/null
+++ b/src/main/webapp/views/order/outLocDetlQuery.html
@@ -0,0 +1,625 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title></title>
+ <meta name="renderer" content="webkit">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+ <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+ <link rel="stylesheet" href="../../static/css/common.css" media="all">
+ <style>
+ body {
+ }
+
+ .layui-table-box {
+ border-right: 1px solid #9F9F9F;
+ border-left: 1px solid #9F9F9F;
+ }
+
+ #search-box {
+ padding: 30px 0 20px 0;
+ }
+
+ #search-box .layui-inline:first-child {
+ margin-left: 30px;
+ }
+
+ #search-box .layui-inline {
+ margin-right: 5px;
+ }
+
+ #data-search-btn {
+ margin-left: 10px;
+ display: inline-block;
+ }
+
+ #data-search-btn.layui-btn-container .layui-btn {
+ margin-right: 20px;
+ }
+ .fixed-header {
+ position: sticky;
+ top: 0;
+ z-index: 999;
+ padding: 25px;
+ line-height: 22px;
+ background-color: #393D49;
+ color: #fff;
+ font-weight: 300;
+ }
+ .total-count {
+ display: inline-block;
+ margin-left: 20px;
+ padding: 5px 15px;
+ background: #1E9FFF;
+ border-radius: 4px;
+ font-weight: bold;
+ color: #fff;
+ }
+
+ /* 涓鸿鍗曟暟閲忓崟鐙缃牱寮� */
+ #orderTotal {
+ color: #5FB878; /* 缁胯壊琛ㄧず璁㈠崟鏁伴噺 */
+ font-weight: bold;
+ }
+
+ /* 宸查�夋暟閲忔甯告牱寮� */
+ #selectedTotal {
+ color: #fff;
+ font-weight: bold;
+ }
+
+ /* 宸查�夋暟閲忚秴杩囪鍗曟暟閲忔椂鐨勮鍛婃牱寮� */
+ .over-limit #selectedTotal {
+ color: #FF5722 !important; /* 绾㈣壊璀﹀憡 */
+ }
+ </style>
+</head>
+<body>
+<div class="fixed-header">
+ <span style="font-size: large; font-weight: bold">鎻愬彇搴撳瓨鍟嗗搧</span>
+ <!-- 淇敼锛氳鍗曟暟閲忎娇鐢ㄧ浉鍚屾牱寮� -->
+ <span class="total-count">璁㈠崟鏁伴噺: <span id="orderTotal">0</span></span>
+ <span class="total-count">宸查�夋暟閲�: <span id="selectedTotal">0</span></span>
+</div>
+<!-- 鎼滅储鏍� -->
+<fieldset class="layui-elem-field site-demo-button" style="margin: 20px;">
+ <legend>鎼滅储鏍�</legend>
+ <!-- 鎼滅储鏍� -->
+ <div id="search-box" class="layui-form layui-card-header">
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" id="matnr" type="text" name="matnr" placeholder="鍟嗗搧缂栧彿"
+ autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline cool-auto-complete">
+ <input id="crnNo" class="layui-input" name="crnNo" type="text" placeholder="璇疯緭鍏�" autocomplete="off"
+ style="display: none">
+ <input id="crnNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text"
+ placeholder="鍫嗗灈鏈哄彿" onfocus=this.blur()>
+ <div class="cool-auto-complete-window">
+ <input class="cool-auto-complete-window-input" data-key="basCrnpQueryBycrnNo"
+ onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="basCrnpQueryBycrnNoSelect"
+ onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ </select>
+ </div>
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="loc_no" placeholder="搴撲綅鍙�" autocomplete="off">
+ </div>
+ </div>
+
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="orderNo" placeholder="璁㈠崟缂栧彿" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="brand" placeholder="鐢熶骇绾�" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="sku" placeholder="绛夌骇" autocomplete="off">
+ </div>
+ </div>
+ <!-- 鏃ユ湡鑼冨洿 -->
+ <div class="layui-inline" style="width: 300px">
+ <div class="layui-input-inline">
+ <input class="layui-input layui-laydate-range" name="appe_time" type="text"
+ placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+ </div>
+ </div>
+ <!-- 寰呮坊鍔� -->
+ <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block">
+ <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">
+ 鎼滅储
+ </button>
+ </div>
+ </div>
+</fieldset>
+
+<script type="text/html" id="toolbar">
+ <div class="layui-btn-container">
+ <button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">鎻愬彇</button>
+ </div>
+</script>
+
+<div class="layui-form">
+ <table class="layui-hide" id="stockOut" lay-filter="stockOut"></table>
+</div>
+
+<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>
+
+</body>
+
+<script type="text/html" id="pakoutPreviewBox" style="display: none">
+ <div style="padding: 25px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">
+ <span style="font-size: large; font-weight: bold">鍑哄簱棰勮</span>
+ </div>
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px">
+ <table id="stoPreTab1" lay-filter="stoPreTab1"></table>
+ </div>
+ <button class="layui-btn layui-btn-primary layui-border-black layui-btn-sm" lay-filter="batchModifySta"
+ lay-submit style="display: block;float: right;margin-right: 1rem">
+ 鎵归噺淇敼
+ </button>
+ </div>
+</script>
+
+<script type="text/html" id="tbBasicTbStaNos">
+ <div class="ew-select-fixed">
+ <select class="order-sta-select" lay-filter="tbBasicTbStaNos">
+ {{#if (d.staNos!=null) {}}
+ {{# for(let i=0; i
+ <d.staNos.length
+ ; i++) { }}
+ <option value="{{d.staNos[i]}}">{{d.staNos[i]}}</option>
+ {{# } }}
+ {{# } }}
+ </select>
+ </div>
+</script>
+
+<script>
+ function getCol() {
+ var cols = [
+ {type: 'checkbox', merge: ['locNo']}
+ , {field: 'locNo', align: 'center', title: '搴撲綅鍙�', merge: true, style: 'font-weight: bold'}
+ // ,{field: 'locNo$', align: 'center',title: '搴撲綅鍙�'}
+ ];
+ cols.push.apply(cols, detlCols);
+ cols.push({field: 'appeUser$', align: 'center', title: '鍒涘缓浜哄憳', hide: true}
+ , {field: 'appeTime$', align: 'center', title: '鍒涘缓鏃堕棿'})
+ return cols;
+ }
+
+ layui.config({
+ base: baseUrl + "/static/layui/lay/modules/"
+ }).extend({
+ notice: 'notice/notice',
+ })
+ .use(['table', 'notice', 'laydate', 'form', 'admin', 'tableMerge'], function () {
+ var table = layui.table;
+ var $ = layui.jquery;
+ var layer = layui.layer;
+ var layDate = layui.laydate;
+ var form = layui.form;
+ var admin = layui.admin;
+ var tableMerge = layui.tableMerge;
+ var notice = layui.notice;
+
+ $('#matnr').val(parent.matnR);
+ $('#anfme').val(parent.anfme);
+ var id = parent.ID[0];
+
+ // 瀛樺偍褰撳墠閫変腑鐨勬暟閲忓拰璁㈠崟鎬绘暟
+ var selectedTotal = 0;
+ var orderTotal = parseFloat(parent.anfme) || 0;
+
+ // 鏇存柊鏄剧ず閫変腑鐨勬暟閲�
+ function updateSelectedTotal() {
+ $('#selectedTotal').text(selectedTotal);
+ $('#orderTotal').text(orderTotal); // 鏇存柊璁㈠崟鏁伴噺鏄剧ず
+
+ // 濡傛灉閫変腑鐨勬暟閲忚秴杩囪鍗曟暟閲忥紝鏄剧ず璀﹀憡鏍峰紡
+ if (selectedTotal > orderTotal) {
+ $('#selectedTotal').parent().addClass('over-limit');
+ } else {
+ $('#selectedTotal').parent().removeClass('over-limit');
+ }
+
+ // 濡傛灉璁㈠崟鏁伴噺涓�0锛屾樉绀哄畬鎴愮姸鎬�
+ if (orderTotal <= 0) {
+ $('#orderTotal').parent().addClass('order-completed');
+ layer.msg('璁㈠崟宸插畬鎴愶紒', {icon: 1, time: 3000});
+
+ } else {
+ $('#orderTotal').parent().removeClass('order-completed');
+ }
+ }
+
+ // 鏁版嵁娓叉煋
+ locDetlTableIns = table.render({
+ elem: '#stockOut',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl + '/stock/out/list/auth',
+ where: {matnr: parent.matnR[0]},
+ page: true,
+ limits: [16, 30, 50, 100, 200, 500],
+ limit: 16,
+ even: true,
+ toolbar: '#toolbar',
+ cellMinWidth: 50,
+ cols: [getCol()],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function (res, curr, count) {
+ tableMerge.render(this);
+ if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ }
+ // 鍒濆鍖栭�変腑鏁伴噺
+ selectedTotal = 0;
+ updateSelectedTotal();
+ }
+ });
+
+ // 鐩戝惉澶嶉�夋閫夋嫨浜嬩欢
+ table.on('checkbox(stockOut)', function(obj){
+ var data = obj.data;
+ var checked = obj.checked;
+ var type = obj.type;
+
+ if (type === 'one') {
+ // 鍗曚釜閫夋嫨
+ if (checked) {
+ selectedTotal += parseFloat(data.anfme || 0);
+ } else {
+ selectedTotal -= parseFloat(data.anfme || 0);
+ }
+ } else if (type === 'all') {
+ // 鍏ㄩ��
+ var checkStatus = table.checkStatus('stockOut');
+ if (checked) {
+ // 璁$畻褰撳墠椤垫墍鏈夋暟鎹殑鏁伴噺鎬诲拰
+ checkStatus.data.forEach(function(item){
+ selectedTotal += parseFloat(item.anfme || 0);
+ });
+ } else {
+ // 鍙栨秷鍏ㄩ�夛紝鍑忓幓褰撳墠椤垫墍鏈夋暟鎹殑鏁伴噺鎬诲拰
+ checkStatus.data.forEach(function(item){
+ selectedTotal -= parseFloat(item.anfme || 0);
+ });
+ }
+ }
+
+ updateSelectedTotal();
+
+ // 濡傛灉閫変腑鐨勬暟閲忚秴杩囪鍗曟暟閲忥紝缁欏嚭鎻愮ず
+ if (selectedTotal > orderTotal) {
+ layer.msg('璀﹀憡锛氶�変腑鐨勬暟閲忓凡瓒呰繃璁㈠崟鏁伴噺锛�', {icon: 2, time: 3000});
+ }
+ });
+
+ // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ table.on('toolbar(stockOut)', function (obj) {
+ var checkStatus = table.checkStatus(obj.config.id);
+ var data = checkStatus.data;
+ switch (obj.event) {
+ case 'confirm':
+ if (data.length === 0) {
+ layer.msg("璇烽�夋嫨鏁版嵁");
+ return;
+ }
+ // 妫�鏌ラ�変腑鐨勬暟閲忔槸鍚﹁秴杩囪鍗曟暟閲�
+ if (selectedTotal > orderTotal) {
+ layer.confirm('閫変腑鐨勬暟閲忓凡瓒呰繃璁㈠崟鏁伴噺锛屾槸鍚︾户缁紵', {
+ icon: 3,
+ title: '璀﹀憡'
+ }, function(index){
+ layer.close(index);
+ pakoutPreview(id, data);
+ });
+ } else {
+ pakoutPreview(id, data);
+ }
+ break;
+ }
+ });
+
+ // 鎼滅储鏍忔悳绱簨浠�
+ form.on('submit(search)', function (data) {
+ tableReload();
+ });
+
+ layDate.render({
+ elem: '.layui-laydate-range'
+ , type: 'datetime'
+ , range: true
+ });
+
+ function tableReload() {
+ var searchData = {};
+ $.each($('#search-box [name]').serializeArray(), function () {
+ searchData[this.name] = this.value;
+ });
+ locDetlTableIns.reload({
+ where: searchData,
+ });
+ // 閲嶇疆閫変腑鏁伴噺
+ selectedTotal = 0;
+ updateSelectedTotal();
+ }
+
+ function pakoutPreview(id, data) {
+ console.log("id=" + id)
+ let loadIndex = layer.load(2);
+ var da = {
+ "id": JSON.stringify(id),
+ "list": data
+ }
+ $.ajax({
+ url: baseUrl + "/out/pakout/preview/auth1",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(da),
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ var tableCache;
+ if (res.code === 200) {
+ layer.open({
+ type: 1
+ , title: false
+ , closeBtn: false
+ , offset: '50px'
+ , area: ['1200px', '700px']
+ , shade: 0.5
+ , shadeClose: false
+ , btn: ['绔嬪嵆鍑哄簱', '绋嶅悗澶勭悊']
+ , btnAlign: 'c'
+ , moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1
+ , content: $('#pakoutPreviewBox').html()
+ , success: function (layero, index) {
+ res.data.forEach((item, index) => {
+ console.log(`椤� ${index + 1}:`, item);
+ });
+ stoPreTabIdx = table.render({
+ elem: '#stoPreTab1',
+ data: res.data,
+ height: 520,
+ page: false,
+ limit: Number.MAX_VALUE,
+ cellMinWidth: 100,
+ cols: [[
+ // {type: 'checkbox', merge: ['orderNo']},
+ {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
+ {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350},
+ {field: 'batch', title: '鎵瑰彿', align: 'center'},
+ {
+ field: 'anfme',
+ title: '鏁伴噺',
+ align: 'center',
+ width: 90,
+ style: 'font-weight: bold'
+ },
+ {
+ field: 'locNo',
+ title: '璐т綅',
+ align: 'center',
+ width: 100,
+ templet: '#locNoTpl'
+ },
+ {
+ field: 'staNos',
+ align: 'center',
+ title: '鍑哄簱绔�',
+ merge: ['locNo'],
+ templet: '#tbBasicTbStaNos'
+ },
+ {type: 'checkbox', merge: ['locNo']},
+ ]],
+ done: function (res) {
+ tableMerge.render(this);
+ $('.layui-table-body.layui-table-main').css("overflow", "auto");
+ tableCache = tableData = table.cache.stoPreTab1;
+ }
+ });
+ // 淇敼鍑哄簱绔�
+ form.on('select(tbBasicTbStaNos)', function (obj) {
+ let index = obj.othis.parents('tr').attr("data-index");
+ let data = tableCache[index];
+ for (let i = 0; i < tableCache.length; i++) {
+ if (tableCache[i].locNo === data.locNo) {
+ tableCache[i]['staNo'] = Number(obj.elem.value);
+ }
+ }
+ obj.othis.children().find("input").css("color", "blue");
+ return false;
+ });
+ // 鎵归噺淇敼鍑哄簱绔�
+ form.on('submit(batchModifySta)', function () {
+ let stoPreTabData = layui.table.checkStatus('stoPreTab1').data;
+ if (stoPreTabData.length < 1) {
+ layer.msg("璇疯嚦灏戦�夋嫨涓�鏉′互涓婂悎骞舵暟鎹�", {icon: 7});
+ return false;
+ }
+ modifySta(stoPreTabData);
+ });
+
+ // 鎵归噺淇敼鍑哄簱绔� - 绔欑偣閫夋嫨
+ function modifySta(stoPreTabData) {
+ // 鍑哄簱绔欏彇浜ら泦
+ let staBatchSelectVal = [];
+ for (let i = 0; i < stoPreTabData.length; i++) {
+ let staNos = stoPreTabData[i].staNos;
+ if (staNos !== null) {
+ if (staBatchSelectVal.length === 0) {
+ staBatchSelectVal = staNos;
+ } else {
+ staBatchSelectVal = staBatchSelectVal.filter(val => {
+ return new Set(staNos).has(val)
+ }
+ )
+ }
+ }
+ }
+ if (staBatchSelectVal.length === 0) {
+ layer.msg("鍑哄簱绔欐病鏈変氦闆嗭紝鏃犳硶鎵归噺淇敼", {icon: 2});
+ return;
+ }
+ admin.open({
+ type: 1,
+ area: '300px',
+ offset: 'auto',
+ title: '璇烽�夋嫨绔欑偣',
+ content: $('#staBatchSelectDialog').html(),
+ success: function (layero, ddIndex) {
+ // 娓叉煋涓嬫媺妗�
+ let template = Handlebars.compile($('#batchStaSelectTpl').html());
+ $('#batchSelectStaBox').html(template({list: staBatchSelectVal}));
+ // 纭
+ form.on('submit(staBatchSelectConfirm)', function (obj) {
+ let loadIdx = layer.load(2);
+ let batchSta = Number(obj.field.batchSta);
+ let arr = [];
+ for (let j = 0; j < stoPreTabData.length; j++) {
+ for (let i = 0; i < tableCache.length; i++) {
+ if (tableCache[i].orderNo === stoPreTabData[j].orderNo
+ && tableCache[i].matnr === stoPreTabData[j].matnr
+ && tableCache[i].locNo === stoPreTabData[j].locNo) {
+ tableCache[i]['staNo'] = batchSta;
+ arr.push(i);
+ }
+ }
+ }
+ stoPreTabIdx.reload({data: tableCache});
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab1] tr[data-index="' + item + '"] .order-sta-select').val(batchSta);
+ });
+ layui.form.render('select');
+ arr.forEach(item => {
+ $('div[lay-id=stoPreTab1] tr[data-index="' + item + '"] .layui-select-title').find("input").css("color", "blue");
+ });
+ layer.close(loadIdx);
+ layer.close(ddIndex);
+ return false;
+ });
+ // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ },
+ })
+ }
+
+ }
+ , yes: function (index, layero) {
+ //鎸夐挳銆愮珛鍗冲嚭搴撱�戠殑鍥炶皟
+ pakout(tableCache, index);
+ }
+ , btn2: function (index, layero) {
+ //鎸夐挳銆愮◢鍚庡鐞嗐�戠殑鍥炶皟
+ layer.close(index)
+ //return false 寮�鍚浠g爜鍙姝㈢偣鍑昏鎸夐挳鍏抽棴
+ }
+ });
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+ }
+
+ function pakout(tableCache, layerIndex) {
+ // let loadIndex = layer.load(2);
+ notice.msg('姝e湪鐢熸垚鍑哄簱浠诲姟......', {icon: 4});
+ $.ajax({
+ url: baseUrl + "/out/pakout/auth",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify(tableCache),
+ method: 'POST',
+ success: function (res) {
+ notice.destroy();
+ if (res.code === 200) {
+ layer.close(layerIndex);
+
+ console.log("orderTotal="+orderTotal);
+ // 鎵e噺璁㈠崟鏁伴噺
+ orderTotal = Math.max(0, orderTotal - selectedTotal);
+ console.log("selectedTotal="+selectedTotal);
+ console.log("orderTotal-selectedTotal="+orderTotal);
+
+ layer.msg('鍑哄簱鎴愬姛锛佹墸鍑� ' + selectedTotal + ' 鏁伴噺', {icon: 1, time: 1000}, function(){
+ // 鍒锋柊褰撳墠椤甸潰琛ㄦ牸
+ locDetlTableIns.reload({
+ where: {matnr: parent.matnR[0]},
+ page: {curr: 1}
+ });
+
+ // 鏇存柊鏄剧ず
+ updateSelectedTotal();
+
+ // 濡傛灉鏈夌埗椤甸潰琛ㄦ牸涔熼渶瑕佸埛鏂�
+ try {
+ if (parent.insTb) {
+ parent.insTb.close();
+ }
+ if (parent.insTb2) {
+ parent.insTb2.reload({page: {curr: 1}});
+ }
+ // 鏇存柊鐖堕〉闈㈢殑璁㈠崟鏁伴噺锛堝鏋滈渶瑕侊級
+ if (parent.updateOrderTotal) {
+ parent.updateOrderTotal(orderTotal);
+ }
+ } catch (e) {
+ console.log('鐖堕〉闈㈣〃鏍煎埛鏂板け璐�:', e);
+ }
+ });
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ });
+ }
+
+ window.pakoutPreview = pakoutPreview;
+ })
+</script>
+</html>
\ No newline at end of file
diff --git a/src/main/webapp/views/orderDetl/orderDetl.html b/src/main/webapp/views/orderDetl/orderDetl.html
index 2f890dd..57a1d80 100644
--- a/src/main/webapp/views/orderDetl/orderDetl.html
+++ b/src/main/webapp/views/orderDetl/orderDetl.html
@@ -18,9 +18,33 @@
<div class="layui-form toolbar" id="search-box">
<div class="layui-form-item">
<div class="layui-inline">
- <label class="layui-form-label">缂栧彿:</label>
<div class="layui-input-inline">
- <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+ <input class="layui-input" type="text" name="order_no" placeholder="璁㈠崟缂栧彿"
+ autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="matnr" placeholder="鐗╂枡缂栫爜"
+ autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+ </div>
+ </div>
+ <div class="layui-inline">
+ <div class="layui-input-inline">
+ <select name="be_batch" id="docType-query">
+ </select>
+ </div>
+ </div>
+ <div class="layui-inline" style="width: 300px">
+ <div class="layui-input-inline">
+ <input class="layui-input layui-laydate-range" name="create_time" type="text"
+ placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿"
+ autocomplete="off" style="width: 300px">
</div>
</div>
<div class="layui-inline"> 
@@ -30,6 +54,9 @@
<button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
<i class="layui-icon"></i>閲嶇疆
</button>
+ <button class="layui-btn icon-btn" lay-filter="abnormal" lay-submit>
+ <i class="layui-icon"></i>寮傚父
+ </button>
</div>
</div>
</div>
@@ -38,11 +65,31 @@
</div>
</div>
+<script type="text/html" id="settleTpl">
+ <span name="anfme"
+ {{# if( d.qty=== d.anfme){ }}
+ class="layui-badge layui-badge-green"
+ {{# }else if(d.workQty=== 0){ }}
+ class="layui-badge layui-badge-yellow"
+ {{# }else if(d.anfme> d.qty){ }}
+ class="layui-badge layui-badge-blue"
+ {{# }else if(d.anfme < d.qty){ }}
+ class="layui-badge layui-badge-red"
+ {{# }else if(d.workQty> 0){ }}
+ class="layui-badge layui-badge-blue"
+ {{# }else if(d.source === 6){ }}
+ class="layui-badge layui-badge-gray"
+ {{# } }}
+ >{{d.anfme$}}</span>
+</script>
+
<script type="text/html" id="toolbar">
<div class="layui-btn-container">
- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
- <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
+<!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>-->
+<!-- <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>-->
+ <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData"
+ style="float: right">瀵煎嚭
+ </button>
</div>
</script>
@@ -50,12 +97,19 @@
<a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
<a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
</script>
-
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
<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/orderDetl/orderDetl.js" charset="utf-8"></script>
+
+<script type="text/template" id="docTypeTpl">
+ <option value="">閫夋嫨绫诲瀷</option>
+ {{#each records}}
+ <option value="{{docId}}">{{docName}}</option>
+ {{/each}}
+</script>
</body>
<!-- 琛ㄥ崟寮圭獥 -->
<script type="text/html" id="editDialog">
@@ -67,10 +121,13 @@
<label class="layui-form-label">璁㈠崟鍐呯爜: </label>
<div class="layui-input-block cool-auto-complete">
<input class="layui-input" name="orderId" placeholder="璇疯緭鍏ヨ鍗曞唴鐮�" style="display: none">
- <input id="orderId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヨ鍗曞唴鐮�" onfocus=this.blur()>
+ <input id="orderId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)"
+ type="text" placeholder="璇疯緭鍏ヨ鍗曞唴鐮�" onfocus=this.blur()>
<div class="cool-auto-complete-window">
- <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId" onkeyup="autoLoad(this.getAttribute('data-key'))">
- <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ <input class="cool-auto-complete-window-input" data-key="orderQueryByorderId"
+ onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect"
+ onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
</select>
</div>
</div>
@@ -94,21 +151,21 @@
</div>
</div>
<div class="layui-form-item">
- <label class="layui-form-label">鍚嶇О: </label>
+ <label class="layui-form-label">璁㈠崟鏁伴噺: </label>
<div class="layui-input-block">
- <input class="layui-input" name="name" placeholder="璇疯緭鍏ュ悕绉�">
+ <input class="layui-input" name="anfme" placeholder="璇疯緭鍏ュ悕绉�">
</div>
</div>
<div class="layui-form-item">
- <label class="layui-form-label">瑙勬牸: </label>
+ <label class="layui-form-label">宸ヤ綔鏁伴噺: </label>
<div class="layui-input-block">
- <input class="layui-input" name="specs" placeholder="璇疯緭鍏ヨ鏍�">
+ <input class="layui-input" name="workQty" placeholder="璇疯緭鍏ヨ鏍�">
</div>
</div>
<div class="layui-form-item">
- <label class="layui-form-label">鍨嬪彿: </label>
+ <label class="layui-form-label">瀹屾垚鏁伴噺: </label>
<div class="layui-input-block">
- <input class="layui-input" name="model" placeholder="璇疯緭鍏ュ瀷鍙�">
+ <input class="layui-input" name="qty" placeholder="璇疯緭鍏ュ瀷鍙�">
</div>
</div>
<div class="layui-form-item">
@@ -173,10 +230,13 @@
<label class="layui-form-label">娣诲姞浜哄憳: </label>
<div class="layui-input-block cool-auto-complete">
<input class="layui-input" name="createBy" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" style="display: none">
- <input id="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()>
+ <input id="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)"
+ type="text" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�" onfocus=this.blur()>
<div class="cool-auto-complete-window">
- <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
- <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy"
+ onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect"
+ onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
</select>
</div>
</div>
@@ -191,10 +251,13 @@
<label class="layui-form-label">淇敼浜哄憳: </label>
<div class="layui-input-block cool-auto-complete">
<input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none">
- <input id="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()>
+ <input id="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)"
+ type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()>
<div class="cool-auto-complete-window">
- <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
- <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy"
+ onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect"
+ onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
</select>
</div>
</div>
@@ -212,7 +275,7 @@
</div>
</div>
- </div>
+ </div>
</div>
<hr class="layui-bg-gray">
<div class="layui-form-item text-right">
@@ -221,5 +284,7 @@
</div>
</form>
</script>
+
+
</html>
--
Gitblit v1.9.1