From 640404cd2545c1f0869c69d5b66e0c7108c36b45 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期六, 16 八月 2025 10:39:10 +0800
Subject: [PATCH] #计划组货单下发上报
---
src/main/resources/mapper/OrderMapper.xml | 11
src/main/java/com/zy/asrs/controller/OrderController.java | 30 ++
src/main/java/com/zy/asrs/service/OrderService.java | 2
src/main/webapp/static/js/orderTableMes.js | 174 +++++++++++++
src/main/java/com/zy/asrs/controller/OpenController.java | 13 +
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 2
src/main/java/com/zy/asrs/entity/param/GroupOrderConfirmParam.java | 23 +
src/main/java/com/zy/asrs/service/OpenService.java | 2
src/main/resources/mapper/OrderDetlMapper.xml | 35 +
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 4
src/main/webapp/static/js/order/out.js | 52 +++
src/main/java/com/zy/asrs/mapper/OrderMapper.java | 4
src/main/java/com/zy/asrs/entity/param/GwmsGenerateInventoryDto.java | 2
src/main/java/com/zy/asrs/controller/OutController.java | 14
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 60 ++++
src/main/webapp/views/order/outMes.html | 321 ++++++++++++++++++++++++
16 files changed, 727 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 5902ae2..ab3eb29 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -476,6 +476,19 @@
return R.ok(param);
}
+ /**
+ * 璁″垝缁勮揣鍗�
+ */
+ @PostMapping("/groupOrderConfirm/auth/v1")
+ @AppAuth(memo = "璁″垝鍗曟嵁涓嬪彂")
+ public synchronized R groupOrderConfirm(@RequestHeader(required = false) String appkey,
+ @RequestBody GroupOrderConfirmParam param,
+ HttpServletRequest request) {
+// auth(appkey, param, request);
+ openService.groupOrderConfirm(param);
+ return R.ok(param);
+ }
+
/*...........................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯...........................*/
}
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 8465ddb..3d7fac7 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -83,7 +83,7 @@
if (!Cools.isEmpty(orderNo)) {
wrapper.like("order_no", orderNo);
}
- wrapper.le("settle", 2).eq("status", 1);
+ wrapper.le("settle", 2).eq("status", 1).ne("doc_type",25);
wrapper.orderBy("create_time", false);
List<Order> orders = orderService.selectList(wrapper);
// 淇濈暀鍑哄簱鍗�
@@ -104,6 +104,34 @@
return R.ok().add(orders);
}
+ @RequestMapping(value = "/order/nav/listMes/auth")
+ @ManagerAuth
+ public R navListMes(@RequestParam(required = false) String orderNo){
+ EntityWrapper<Order> wrapper = new EntityWrapper<>();
+ if (!Cools.isEmpty(orderNo)) {
+ wrapper.like("order_no", orderNo);
+ }
+ wrapper.le("settle", 2).eq("status", 0).eq("doc_type", 25);
+ wrapper.orderBy("create_time", false);
+ List<Order> orders = orderService.selectList(wrapper);
+// // 淇濈暀鍑哄簱鍗�
+// if (!Cools.isEmpty(orders)) {
+// Iterator<Order> iterator = orders.iterator();
+// while (iterator.hasNext()) {
+// Order order = iterator.next();
+// if (order.getDocType() != null) {
+// DocType docType = docTypeService.selectById(order.getDocType());
+// if (docType != null) {
+// if (docType.getPakout() == 0) {
+// iterator.remove();
+// }
+// }
+// }
+// }
+// }
+ return R.ok().add(orders);
+ }
+
@RequestMapping(value = "/order/head/page/auth")
@ManagerAuth
public R head(@RequestParam(defaultValue = "1")Integer curr,
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index c43b525..379b1a9 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -5,6 +5,7 @@
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.PakoutRequest;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.*;
import com.zy.common.model.LocDetlDto;
@@ -55,7 +56,12 @@
Thread.sleep(200);
return R.ok().add(orderDetlService.selectByOrderId(orderId).stream().map(OrderDetl::getId).distinct().collect(Collectors.toList()));
}
-
+ @PostMapping("/getMesOrder/auth")
+ @ManagerAuth
+ public R getMesOrder() {
+ List<String> orderNoList = orderService.getOrderNosByDocType(25L);
+ return R.ok().add(orderNoList);
+ }
@PostMapping("/out/pakout/preview/auth")
@ManagerAuth
public R pakoutPreview(@RequestBody List<Long> ids) {
@@ -159,7 +165,9 @@
@PostMapping("/out/pakout/auth")
@ManagerAuth(memo = "璁㈠崟鍑哄簱")
- public synchronized R pakout(@RequestBody List<LocDto> locDtos) throws InterruptedException {
+ public synchronized R pakout(@RequestBody PakoutRequest request) throws InterruptedException {
+ List<LocDto> locDtos = request.getTableCache();
+ String optionValue = request.getOptionValue();
if (Cools.isEmpty(locDtos)) {
return R.parse(BaseRes.PARAM);
}
@@ -246,7 +254,7 @@
workService.stockOut(staNo, locDetlDtos,
order.getDocType() != null && order.getDocType() == 23
? IoWorkType.CHECK_OUT : null,
- getUserId());
+ getUserId(),optionValue);
} else {
throw new CoolException("鎵�閫夊簱浣嶇姸鎬佷笉涓篎/D锛屽簱浣嶅彿锛�" +
locMast.getLocNo() + "锛屽綋鍓嶇姸鎬侊細" +
diff --git a/src/main/java/com/zy/asrs/entity/param/GroupOrderConfirmParam.java b/src/main/java/com/zy/asrs/entity/param/GroupOrderConfirmParam.java
new file mode 100644
index 0000000..7b6abc9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/GroupOrderConfirmParam.java
@@ -0,0 +1,23 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class GroupOrderConfirmParam {
+ private String groupOrderNumber; //缁勮揣鍗曞彿
+ private String groupStatus; //缁勮揣鐘舵�侊細0鏈‘璁ょ粍璐с��1纭缁勮揣
+ private List<PackageGroupNo> packageGroupNos; // 澶氫釜鍖呰缁勫彿
+ private List<VolumeNumber> volumeNumbers; // 澶氫釜鍖呰缁勫彿
+
+ @Data
+ public static class PackageGroupNo {
+ private String packageGroupNo;
+ }
+
+ @Data
+ public static class VolumeNumber {
+ private String volumeNumber;
+ }
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/GwmsGenerateInventoryDto.java b/src/main/java/com/zy/asrs/entity/param/GwmsGenerateInventoryDto.java
index 42a61dc..e6c3a54 100644
--- a/src/main/java/com/zy/asrs/entity/param/GwmsGenerateInventoryDto.java
+++ b/src/main/java/com/zy/asrs/entity/param/GwmsGenerateInventoryDto.java
@@ -15,6 +15,8 @@
private List<MatList> matList; // 鏈ㄧ闆嗗悎
//1涓�鍘傚钩搴� 2 涓�鍘傜珛搴� 3浜屽巶骞冲簱 4浜屽巶绔嬪簱
private Integer warehouseType ;
+ private String groupOrderNumber; //缁勮揣鍗曞彿
+
@Data
public static class MatList{
private String boxPos; // 绠卞瓙浣嶇疆
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 64b8ab3..02c7cb2 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -65,4 +65,6 @@
List<String> selectDetlList(@Param("orderNo") String orderNo);
List<OrderDetl> selectByBrand(@Param("brand") String brand);
+
+ OrderDetl selectByOrderNoAndPkgGroupNoAndVolumeNo(@Param("orderNo") String orderNo,@Param("brand") String brand,@Param("model") String model);
}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderMapper.java b/src/main/java/com/zy/asrs/mapper/OrderMapper.java
index 1354c61..61b0e7e 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderMapper.java
@@ -47,4 +47,8 @@
* 鑾峰彇鏈畬鎴愯鍗曠粺璁′俊鎭�(orderNo涓虹┖鍒欐煡璇㈡墍鏈�)
*/
List<OrderStatisticsDto> getUnfulfilledOrders(@Param("orderNo") String orderNo);
+
+ Order selectOrderByOrderNo(@Param("orderNo") String orderNo);
+
+ List<String> getOrderNosByDocType(@Param("docType")Long docType);
}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 7d2cc7d..61597c6 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -154,5 +154,7 @@
void updateBarcode();
+ R groupOrderConfirm(GroupOrderConfirmParam param);
+
}
diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java
index 5054dd9..8e7498c 100644
--- a/src/main/java/com/zy/asrs/service/OrderService.java
+++ b/src/main/java/com/zy/asrs/service/OrderService.java
@@ -28,4 +28,6 @@
List<Order> selectorderNoL(String orderNo);
+ List<String> getOrderNosByDocType(Long docType);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index b5d4fad..6b0c862 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -34,6 +34,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -109,6 +110,9 @@
@Resource
private OrderMapper orderMapper;
+
+ @Resource
+ private OrderDetlMapper orderDetlMapper;
@Resource
private BasCrnpMapper basCrnpMapper;
@@ -1517,6 +1521,7 @@
gwmsGenerateInventoryDto.setWarehouseType(4);
gwmsGenerateInventoryDto.setBarcode(wrkMast.getBarcode());
gwmsGenerateInventoryDto.setPalletizingNo(wrkMast.getStaNo());
+ gwmsGenerateInventoryDto.setGroupOrderNumber(wrkMast.getMemo());
List<GwmsGenerateInventoryDto.MatList> matLists = new ArrayList<>();
for (WrkDetl wrkDetl : wrkDetls) {
boolean flag = true;
@@ -2266,5 +2271,60 @@
return crnStn;
}
+ @Override
+ @Transactional
+ public R groupOrderConfirm(GroupOrderConfirmParam param) {
+ // 1. 鏌ヨ鍗曟嵁鏄惁瀛樺湪
+ Order order = orderMapper.selectOrderByOrderNo(param.getGroupOrderNumber());
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+ if (order == null) {
+ // 1.1 涓嶅瓨鍦紝鏂板缓鍗曟嵁
+ order = new Order();
+ order.setOrderNo(param.getGroupOrderNumber());
+ order.setStatus(Integer.valueOf(param.getGroupStatus()));
+ order.setOrderTime(sdf.format(new Date()));
+ order.setCreateTime(new Date());
+ order.setSettle(1L);
+ order.setDocType(25L);
+ orderMapper.insert(order);
+ } else {
+ // 1.2 瀛樺湪锛屾洿鏂板崟鎹姸鎬�
+ order.setStatus(Integer.valueOf(param.getGroupStatus()));
+ orderMapper.updateById(order);
+ }
+
+ // 2. 涓�涓�瀵瑰簲閬嶅巻
+ List<GroupOrderConfirmParam.PackageGroupNo> pkgList = param.getPackageGroupNos();
+ List<GroupOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers();
+
+ int size = Math.min(pkgList.size(), volList.size()); // 闃叉瓒婄晫
+ for (int i = 0; i < size; i++) {
+ GroupOrderConfirmParam.PackageGroupNo pg = pkgList.get(i);
+ GroupOrderConfirmParam.VolumeNumber vn = volList.get(i);
+
+ // 鏌ヨ鏄惁宸插瓨鍦ㄨ detl
+ OrderDetl detl = orderDetlMapper.selectByOrderNoAndPkgGroupNoAndVolumeNo(
+ param.getGroupOrderNumber(), pg.getPackageGroupNo(), vn.getVolumeNumber()
+ );
+
+ if (detl == null) {
+ detl = new OrderDetl();
+ detl.setOrderId(order.getId());
+ detl.setOrderNo(param.getGroupOrderNumber());
+ detl.setCreateTime(new Date());
+ detl.setAnfme(1.0);
+ detl.setBrand(pg.getPackageGroupNo()); // 鍖呰缁勫彿
+ detl.setModel(vn.getVolumeNumber()); // 鍗峰彿
+ orderDetlMapper.insert(detl);
+ }
+ }
+
+ return R.ok("缁勮揣纭鎴愬姛");
+ }
+
+
+
+
/*...........................涓婇ザ姹熼摐..............浠ヤ笂.............寰愬伐姹変簯...........................*/
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index b3f1cd5..04cdfff 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -175,4 +175,8 @@
return this.baseMapper.selectorderNoL(orderNo);
}
+ @Override
+ public List<String> getOrderNosByDocType(Long docType){
+ return this.baseMapper.getOrderNosByDocType(docType);
+ }
}
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 2cec33a..169eb4d 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -100,19 +100,22 @@
<select id="getPakoutPage" resultMap="BaseResultMap">
select * from
(
- select
- ROW_NUMBER() over (order by mo.create_time desc) as row,
- mod.*
- from man_order_detl mod
- inner join man_order mo on mod.order_id = mo.id
- inner join man_doc_type mdt on mo.doc_type = mdt.doc_id
- where 1=1
- and mo.settle <= 2
- and mo.status = 1
- and mdt.pakout = 1
- <include refid="pakOutPageCondition"></include>
- ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+ select
+ ROW_NUMBER() over (order by mo.create_time desc) as row,
+ mod.*
+ from man_order_detl mod
+ inner join man_order mo on mod.order_id = mo.id
+ inner join man_doc_type mdt on mo.doc_type = mdt.doc_id
+ where 1=1
+ and mo.settle <= 2
+ and mo.status =
+ case when mo.doc_type = 25 then 0 else 1 end
+ and mdt.pakout = 1
+ <include refid="pakOutPageCondition"></include>
+ ) t
+ where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
</select>
+
<select id="getPakoutPageCount" parameterType="java.util.Map" resultType="java.lang.Integer">
select
@@ -270,4 +273,12 @@
where brand = #{brand}
</select>
+ <select id="selectByOrderNoAndPkgGroupNoAndVolumeNo" resultMap="BaseResultMap">
+ select *
+ from man_order_detl
+ where order_no = #{orderNo}
+ and brand = #{brand}
+ and model = #{model}
+ </select>
+
</mapper>
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index e359a06..7377a19 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -133,5 +133,16 @@
GROUP BY
mo.order_no
</select>
+ <select id="selectOrderByOrderNo" resultMap="BaseResultMap">
+ select *
+ from man_order
+ where order_no = #{orderNo}
+ </select>
+ <select id="getOrderNosByDocType" resultType="String">
+ select order_no
+ from man_order
+ where doc_type =#{docType}
+ and status = 0
+ </select>
</mapper>
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index 1ebda0a..9881ad1 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -330,10 +330,48 @@
}
}
- ,yes: function(index, layero){
- //鎸夐挳銆愮珛鍗冲嚭搴撱�戠殑鍥炶皟
- pakout(tableCache, index);
+ ,yes: function(layerIndex, layero){
+ // 绔嬪嵆鍑哄簱鎸夐挳鐐瑰嚮 鈫� 鍏堣姹備笅鎷夊垪琛�
+ let loadIndex = layer.load(10);
+ $.ajax({
+ url: baseUrl + "/getMesOrder/auth", // 浣犳彁渚涚殑鎺ュ彛
+ headers: {'token': localStorage.getItem('token')},
+ method: 'POST',
+ success: function(res){
+ layer.close(loadIndex);
+ if(res.code === 200){
+ // 寮瑰嚭浜屾纭妗�
+ layer.open({
+ type: 1,
+ title: '璇烽�夋嫨缁勮揣鍗曞彿',
+ area: ['400px','200px'],
+ content: $('#staBatchSelectDialog').html(),
+ success: function(layero2, index2){
+ // 娓叉煋涓嬫媺妗�
+ let select = $(layero2).find('select[name="batchSta"]');
+ res.data.forEach(item => {
+ select.append(`<option value="${item}">${item}</option>`);
+ });
+ layui.form.render('select');
+
+ // 纭鎸夐挳
+ form.on('submit(staBatchSelectConfirm)', function(obj){
+ let selectedValue = obj.field.batchSta;
+ console.log(selectedValue)
+ layer.close(index2);
+ // 璋冪敤鍘熸潵鐨勫嚭搴撳嚱鏁帮紝鍚屾椂浼犱笅鎷夊��
+ pakout(tableCache, layerIndex, selectedValue);
+ return false;
+ });
+ }
+ });
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ });
}
+
,btn2: function(index, layero){
//鎸夐挳銆愮◢鍚庡鐞嗐�戠殑鍥炶皟
layer.close(index)
@@ -349,14 +387,14 @@
})
}
- function pakout(tableCache, layerIndex) {
- // let loadIndex = layer.load(2);
+ function pakout(tableCache, layerIndex, optionValue) {
+ // 鍙互鎶� optionValue 浼犵粰鎺ュ彛
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),
+ data: JSON.stringify({tableCache,optionValue}),
method: 'POST',
success: function (res) {
notice.destroy();
@@ -376,6 +414,8 @@
+
+
/* 鍒犻櫎璁㈠崟 */
function doDelSensor(obj) {
layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
diff --git a/src/main/webapp/static/js/orderTableMes.js b/src/main/webapp/static/js/orderTableMes.js
new file mode 100644
index 0000000..8262fad
--- /dev/null
+++ b/src/main/webapp/static/js/orderTableMes.js
@@ -0,0 +1,174 @@
+var insTb;
+layui.config({
+ base: baseUrl + "/static/layui/lay/modules/" // 閰嶇疆妯″潡鎵�鍦ㄧ殑鐩綍
+}).use(['table','laydate', 'form', 'admin', 'tableX'], 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 tableX = layui.tableX;
+
+ /****************************************** 宸﹁竟琛� *************************************************/
+
+ insTb = table.render({
+ elem: '#originTable',
+ url: baseUrl + '/order/nav/listMes/auth',
+ height: 'full-120',
+ headers: {token: localStorage.getItem('token')},
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ page: false,
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'data': res.data
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ // toolbar: ['<p>',
+ // '<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon"></i>娣诲姞</button> ',
+ // '<button lay-event="edit" class="layui-btn layui-btn-sm layui-btn-warm icon-btn"><i class="layui-icon"></i>淇敼</button> ',
+ // '<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon"></i>鍒犻櫎</button>',
+ // '</p>'].join(''),
+ defaultToolbar: [],
+ cols: [[
+ // {type: 'numbers', title: '#'},
+ {field: 'orderTime', title: '鏃ユ湡'},
+ {field: 'orderNo', title: '鍗曟嵁缂栧彿', align: 'center'},
+ {field: 'docType$', title: '鍗曟嵁绫诲瀷'},
+ ]],
+ done: function (res, curr, count) {
+ $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
+
+ // 缁戝畾榧犳爣鍙抽敭
+ tableX.bindCtxMenu('originTable', function (d) {
+ return [
+ {
+ icon: 'layui-icon layui-icon-ok',
+ name: '涓�閿嚭搴�',
+ click: function (d) {
+ autoOut(d.id);
+ }
+ }
+ ]
+
+ })
+
+ }
+ });
+
+ /* 琛ㄦ牸鎼滅储 */
+ form.on('submit(originTableSearch)', function (data) {
+ insTb.reload({where: data.field});
+ return false;
+ });
+
+ /* 琛ㄦ牸閲嶇疆 */
+ form.on('submit(originTbReset)', function (data) {
+ insTb.reload({where: null});
+ insTb2.reload({where: null, page: {curr: 1}});
+ return false;
+ });
+
+ /* 琛ㄦ牸澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */
+ table.on('toolbar(originTable)', function (obj) {
+ if (obj.event === 'add') { // 娣诲姞
+ showEdit();
+ } else if (obj.event === 'edit') { // 淇敼
+ if (selObj == null) {
+ return;
+ }
+ showEdit(selObj.data);
+ } else if (obj.event === 'del') { // 鍒犻櫎
+ if (selObj == null) {
+ return;
+ }
+ doDel(selObj);
+ }
+ });
+
+
+ /* 鐩戝惉琛屽崟鍑讳簨浠� */
+ var selObj;
+ table.on('row(originTable)', function (obj) {
+
+ selObj = obj;
+ obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
+ insTb2.reload({where: {order_id: obj.data.id}, page: {curr: 1}});
+ });
+
+ /* 鏄剧ず琛ㄥ崟寮圭獥 */
+ function showEdit(mData) {
+ admin.open({
+ type: 1,
+ title: (mData ? '淇敼' : '娣诲姞') + '椤圭洰',
+ content: $('#hostEditDialog').html(),
+ success: function (layero, dIndex) {
+ // 鍥炴樉琛ㄥ崟鏁版嵁
+ form.val('hostEditForm', mData);
+ // 琛ㄥ崟鎻愪氦浜嬩欢
+ form.on('submit(hostEditSubmit)', function (data) {
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/host/"+(mData?'update':'add')+"/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: data.field,
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ selObj = null;
+ if (res.code === 200){
+ layer.close(dIndex);
+ layer.msg(res.msg, {icon: 1});
+ insTb.reload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ return false;
+ });
+ }
+ });
+ }
+
+ /* 鍒犻櫎 */
+ function doDel(obj) {
+ layer.confirm('纭畾瑕佸垹闄ゆ鍗曟嵁绫诲瀷鍚楋紵', {
+ skin: 'layui-layer-admin',
+ shade: .1
+ }, function (i) {
+ layer.close(i);
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/host/delete/one/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {param: JSON.stringify(obj.data)},
+ method: 'POST',
+ success: function (res) {
+ selObj = null;
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.closeAll();
+ insTb.reload();
+ $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ });
+ }
+
+})
diff --git a/src/main/webapp/views/order/outMes.html b/src/main/webapp/views/order/outMes.html
new file mode 100644
index 0000000..5c24ca7
--- /dev/null
+++ b/src/main/webapp/views/order/outMes.html
@@ -0,0 +1,321 @@
+<!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/originTable.css" media="all">
+ <style>
+ body {
+ color: #595959;
+ background-color: #f5f7f9;
+ }
+
+ .admin-form {
+ padding: 25px 30px 0 0 !important;
+ margin: 0 !important;
+ }
+
+ .layui-table-view .layui-table-cell .layui-select-title .layui-input {
+ height: 28px;
+ line-height: 28px;
+ }
+
+ .layui-table-view [lay-size="lg"] .layui-table-cell .layui-select-title .layui-input {
+ height: 40px;
+ line-height: 40px;
+ }
+
+ .layui-table-view [lay-size="lg"] .layui-table-cell .layui-select-title .layui-input {
+ height: 40px;
+ line-height: 40px;
+ }
+
+ .layui-table-view [lay-size="sm"] .layui-table-cell .layui-select-title .layui-input {
+ height: 20px;
+ line-height: 20px;
+ }
+
+ .layui-table-view [lay-size="sm"] .layui-table-cell .layui-btn-xs {
+ height: 18px;
+ line-height: 18px;
+ }
+
+ /* 鏉冮檺鎺у埗 */
+ #btn-pakoutPreview {
+ display: none;
+ }
+ /*#btn-delete {*/
+ /* display: none;*/
+ /*}*/
+ /*.btn-edit {*/
+ /* display: none;*/
+ /*}*/
+ /*.btn-more {*/
+ /* display: none;*/
+ /*}*/
+ </style>
+</head>
+<body>
+<!-- 姝f枃寮�濮� -->
+<div class="layui-fluid" style="padding-bottom: 0;">
+ <div class="layui-row layui-col-space15">
+ <!-- 宸� -->
+ <div class="layui-col-md3" id="left-table">
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px;">
+ <form class="layui-form toolbar">
+ <div class="layui-form-item">
+ <div class="layui-inline" style="max-width: 300px;">
+ <input name="orderNo" class="layui-input" placeholder="杈撳叆鍗曟嵁缂栧彿" autocomplete="off"/>
+ </div>
+ <div class="layui-inline">
+ <button class="layui-btn icon-btn" lay-filter="originTableSearch" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ <button class="layui-btn icon-btn" lay-filter="originTbReset" lay-submit>
+ <i class="layui-icon"></i>閲嶇疆
+ </button>
+ </div>
+ </div>
+ </form>
+ <table id="originTable" lay-filter="originTable"></table>
+ </div>
+ </div>
+ </div>
+ <!-- 鍙� -->
+ <div class="layui-col-md9">
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px;">
+ <form class="layui-form toolbar">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">鍖呰缁勫彿:</label>
+ <div class="layui-input-inline">
+ <input name="brand" class="layui-input" placeholder="鍖呰缁勫彿"/>
+ </div>
+ </div>
+<!-- <div class="layui-inline">-->
+<!-- <label class="layui-form-label">鍟嗗搧鍚嶇О:</label>-->
+<!-- <div class="layui-input-inline">-->
+<!-- <input name="maktx" class="layui-input" placeholder="鍟嗗搧鍚嶇О"/>-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <div class="layui-inline">-->
+<!-- <label class="layui-form-label">搴忓垪鐮�:</label>-->
+<!-- <div class="layui-input-inline">-->
+<!-- <input name="batch" class="layui-input" placeholder="搴忓垪鐮�"/>-->
+<!-- </div>-->
+<!-- </div>-->
+ <!-- <div class="layui-inline">-->
+ <!-- <label class="layui-form-label">鐘舵��:</label>-->
+ <!-- <div class="layui-input-inline">-->
+ <!-- <select name="isOnline">-->
+ <!-- <option value="1">鍏呯數涓�</option>-->
+ <!-- <option value="1">鍏呯數涓�</option>-->
+ <!-- <option value="0">涓嶅湪鍏呯數</option>-->
+ <!-- </select>-->
+ <!-- </div>-->
+ <!-- </div>-->
+ <div class="layui-inline"> 
+ <button class="layui-btn icon-btn" lay-filter="sensorTbSearch" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ </div>
+ </div>
+ </form>
+ <table id="orderDetlTable" lay-filter="orderDetlTable"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+
+<!-- 澶村伐鍏锋爮 -->
+<script type="text/html" id="orderDetToolbar">
+
+ <!-- <div class="layui-btn-container">-->
+ <!-- <div class="layui-col-md3">-->
+ <!-- <select id="staNoSelect" lay-verify="required">-->
+ <!-- <option value="">璇烽�夋嫨绔欑偣</option>-->
+ <!-- </select>-->
+ <!-- </div>-->
+ <!-- </div>-->
+ <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="pakoutPreview">鎵归噺鍑哄簱</button>
+
+</script>
+
+<!-- 琛屽伐鍏锋爮 -->
+<script type="text/html" id="operate">
+<!-- {{#if (d.enableQty > 0){ }}-->
+<!-- <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>-->
+<!-- {{# } }}-->
+</script>
+
+<!-- 鍑哄簱棰勮 -->
+<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="stoPreTab" lay-filter="stoPreTab"></table>
+ </div>
+ <button class="layui-btn layui-btn-primary layui-border-black layui-btn-sm"
+ lay-filter="checkModifySta"
+ lay-submit
+ style="display: block; float: right; margin-right: 3rem; transform: scale(1.2);margin-bottom: 3rem; transform-origin: right center;">
+ 鐩樼偣鍧囧垎
+ </button>
+
+<!-- <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 type="text/html" id="staBatchSelectDialog">
+ <form class="layui-form" style="padding: 25px 50px 30px 50px;text-align: center">
+ <select id="batchSelectStaBox" name="batchSta" lay-vertype="tips" lay-verify="required" required="">
+ </select>
+ <button style="margin-top: 30px" class="layui-btn" lay-filter="staBatchSelectConfirm" lay-submit="">纭畾</button>
+ </form>
+</script>
+
+<script type="text/html" id="locNoTpl">
+ <span name="locNo"
+ {{# if( d.lack === false){ }}
+ class="layui-badge layui-badge-green" >{{d.locNo}}</span>
+ {{# } else { }}
+ class="layui-badge layui-badge-red" >搴撳瓨涓嶈冻</span>
+ {{# } }}
+</script>
+
+<!-- 琛屾牱寮� -->
+<script type="text/html" id="orderNoTpl">
+ <span name="orderNo" class="layui-badge layui-badge-gray">{{d.orderNo}}</span>
+</script>
+<script type="text/html" id="statusTpl">
+ <input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="姝e父|绂佺敤" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}>
+</script>
+
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+ <form id="detail" lay-filter="detail" class="layui-form admin-form">
+ <input name="id" type="hidden">
+ <input name="status" type="hidden">
+ <div class="layui-row">
+
+ <div class="layui-col-md4">
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">璁惧缂栧彿</label>
+ <div class="layui-input-block">
+ <input name="uuid" placeholder="璇疯緭鍏ヨ澶囩紪鍙�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md4">
+ <div class="layui-form-item">
+ <label class="layui-form-label">璁惧绫诲瀷锛�</label>
+ <div class="layui-input-block">
+ <div id="modelSel" class="ew-xmselect-tree"></div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md4">
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">鎵�灞為」鐩�: </label>
+ <div class="layui-input-block cool-auto-complete">
+ <input name="hostId" class="layui-input" style="display: none">
+ <input id="hostId$" name="hostId$" 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="hostQueryByhostId" onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="hostQueryByhostIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ </select>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md12">
+ <div class="layui-form-item">
+ <label class="layui-form-label">璇︾粏鍦板潃</label>
+ <div class="layui-input-block">
+ <input name="addr" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" class="layui-input">
+ </div>
+ </div>
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-col-md12" style="text-align: center">
+ <iframe id="mapIframe" src="map.html" scrolling="no" frameborder="0"
+ style="display: inline-block; width: 90%;height: 400px;margin: auto">
+ </iframe>
+ </div>
+
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.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/tools/md5.js"></script>
+<script type="text/javascript" src="../../static/js/orderTableMes.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/order/out.js" charset="utf-8"></script>
+<!--<script type="text/template" id="takeSiteSelectTemplate">-->
+<!-- {{#each data}}-->
+<!-- <option value="{{siteId}}">{{desc}}</option>-->
+<!-- {{/each}}-->
+<!--</script>-->
+<!-- 椤圭洰缂栬緫绐楀彛 -->
+<script type="text/html" id="hostEditDialog">
+ <form id="hostEditForm" lay-filter="hostEditForm" class="layui-form model-form">
+ <input name="id" type="hidden"/>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">椤圭洰鍚嶇О:</label>
+ <div class="layui-input-block">
+ <input name="name" placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" class="layui-input"
+ lay-verType="tips" lay-verify="required" required/>
+ </div>
+ </div>
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="hostEditSubmit" lay-submit>淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</script>
+
+</body>
+
+<script type="text/template" id="batchStaSelectTpl">
+ <option value="">閫夋嫨鍑哄簱绔�</option>
+ {{#each list}}
+ <option value="{{this}}">{{this}}</option>
+ {{/each}}
+</script>
+
+</html>
+
--
Gitblit v1.9.1