From f82ba31e05fffb1f528a46d3f98ba9a6508cd4bc Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 25 七月 2022 15:13:28 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/OrderController.java | 87 +++++++++++-
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 5
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 11 +
src/main/java/com/zy/asrs/entity/WrkMast.java | 7 -
src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 3
src/main/java/com/zy/asrs/entity/WrkMastLog.java | 2
src/main/webapp/views/order/order.html | 109 +++++++++++++++
src/main/resources/mapper/WrkDetlMapper.xml | 25 +++
src/main/java/com/zy/asrs/entity/result/WrkTraceVo.java | 33 ++++
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 4
src/main/webapp/static/js/order/order.js | 69 +++++++++
src/main/java/com/zy/asrs/entity/ViewWorkInBean.java | 4
src/main/java/com/zy/asrs/service/WrkDetlService.java | 4
13 files changed, 340 insertions(+), 23 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index d79943c..de1f495 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -7,15 +7,13 @@
import com.core.annotations.ManagerAuth;
import com.core.common.*;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.DocType;
-import com.zy.asrs.entity.Order;
-import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.OrderDomainParam;
-import com.zy.asrs.service.DocTypeService;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.entity.result.WrkTraceVo;
+import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
import com.zy.common.web.BaseController;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -33,6 +31,14 @@
private SnowflakeIdWorker snowflakeIdWorker;
@Autowired
private DocTypeService docTypeService;
+ @Autowired
+ private WrkDetlService wrkDetlService;
+ @Autowired
+ private WrkMastService wrkMastService;
+ @Autowired
+ private WrkMastLogService wrkMastLogService;
+ @Autowired
+ private LocDetlService locDetlService;
@RequestMapping(value = "/order/nav/list/auth")
@ManagerAuth
@@ -214,8 +220,73 @@
}
-
-
+ @PostMapping(value = "/order/wrk/trace/auth")
+ @ManagerAuth
+ public R orderWrkTrace(@RequestParam("orderId") Long orderId) {
+ Order order = orderService.selectById(orderId);
+ if (null == order) {
+ return R.error("鍗曟嵁涓嶅瓨鍦�");
+ }
+ // 鏁伴噺缁熻
+ List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(orderId);
+ double totalQty = 0;
+ double wrkQty = 0;
+ double lackQty = 0;
+ for (OrderDetl orderDetl : orderDetls) {
+ totalQty = totalQty + orderDetl.getAnfme();
+ wrkQty = wrkQty + orderDetl.getQty();
+ double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D);
+ if (issued > 0.0) {
+ List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getOrigin(), null);
+ for (LocDetl locDetl : locDetls) {
+ if (issued > 0) {
+ issued = issued - locDetl.getAnfme();
+ } else {
+ break;
+ }
+ }
+ }
+ if (issued > 0.0) {
+ lackQty = lackQty + issued;
+ }
+ }
+ // 浠诲姟杩芥函
+ List<WrkTraceVo> wrkTraceVos = new ArrayList<>();
+ List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNoGroupByMatnrOfSum(order.getOrderNo());
+ for (WrkDetl wrkDetl : wrkDetls) {
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()));
+ if (wrkMast == null) {
+ WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()));
+ if (wrkMastLog != null) {
+ wrkMast = new WrkMast();
+ BeanUtils.copyProperties(wrkMastLog, wrkMast);
+ } else {
+ continue;
+ }
+ }
+ boolean exist = false;
+ for (WrkTraceVo vo : wrkTraceVos) {
+ if (vo.getWrkNo().equals(wrkMast.getWrkNo()) && vo.getIoTimeStr().equals(DateUtils.convert(wrkMast.getIoTime()))) {
+ vo.getWrkDetls().add(wrkDetl);
+ exist = true;
+ }
+ }
+ if (!exist) {
+ WrkTraceVo vo = new WrkTraceVo(wrkMast.getWrkNo(), DateUtils.convert(wrkMast.getIoTime()), wrkMast, wrkDetl);
+ wrkTraceVos.add(vo);
+ }
+ }
+ if (!Cools.isEmpty(wrkTraceVos) && wrkTraceVos.size() > 1) {
+ wrkTraceVos.sort((o1, o2) -> (int) (o2.getWrkMast().getIoTime().getTime() - o1.getWrkMast().getIoTime().getTime()));
+ }
+ return R.ok().add(Cools
+ .add("list", wrkTraceVos)
+ .add("orderNo", order.getOrderNo())
+ .add("totalQty", totalQty)
+ .add("wrkQty", wrkQty)
+ .add("lackQty", lackQty)
+ );
+ }
// ------------------------------------------------------------------------------------------------
diff --git a/src/main/java/com/zy/asrs/entity/ViewWorkInBean.java b/src/main/java/com/zy/asrs/entity/ViewWorkInBean.java
index 15a23ed..0089da5 100644
--- a/src/main/java/com/zy/asrs/entity/ViewWorkInBean.java
+++ b/src/main/java/com/zy/asrs/entity/ViewWorkInBean.java
@@ -1,6 +1,5 @@
package com.zy.asrs.entity;
-import com.baomidou.mybatisplus.annotations.TableField;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.system.entity.User;
@@ -59,8 +58,7 @@
private String batch;
@ApiModelProperty(value= "鍗曟嵁缂栧彿")
- @TableField("order_no")
- private String orderNo;
+ private String order_no;
@ApiModelProperty(value= "瑙勬牸")
private String specs;
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index 668b6b8..69a19c4 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -495,13 +495,6 @@
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime);
}
- public void setErrorMemo(String errorMemo) {
- if (errorMemo.length() > 255) {
- errorMemo = errorMemo.substring(0, 150);
- }
- this.errorMemo = errorMemo;
- }
-
public String getLogErrTime$(){
if (Cools.isEmpty(this.logErrTime)){
return "";
diff --git a/src/main/java/com/zy/asrs/entity/WrkMastLog.java b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
index 35d2d77..bee870a 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMastLog.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMastLog.java
@@ -55,7 +55,7 @@
*/
@ApiModelProperty(value= "宸ヤ綔鐘舵��")
@TableField("wrk_sts")
- private Integer wrkSts;
+ private Long wrkSts;
/**
* 鍏ュ嚭搴撶被鍨�
diff --git a/src/main/java/com/zy/asrs/entity/result/WrkTraceVo.java b/src/main/java/com/zy/asrs/entity/result/WrkTraceVo.java
new file mode 100644
index 0000000..a435599
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/result/WrkTraceVo.java
@@ -0,0 +1,33 @@
+package com.zy.asrs.entity.result;
+
+import com.zy.asrs.entity.WrkDetl;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.common.model.DetlDto;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by vincent on 2022/7/22
+ */
+@Data
+public class WrkTraceVo {
+
+ private Integer wrkNo;
+
+ private String ioTimeStr;
+
+ private WrkMast wrkMast;
+
+ private List<WrkDetl> wrkDetls = new ArrayList<>();
+
+ private List<DetlDto> detlDtos = new ArrayList<>();
+
+ public WrkTraceVo(Integer wrkNo, String ioTimeStr, WrkMast wrkMast, WrkDetl wrkDetl) {
+ this.wrkNo = wrkNo;
+ this.ioTimeStr = ioTimeStr;
+ this.wrkMast = wrkMast;
+ this.wrkDetls.add(wrkDetl);
+ }
+}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index 97d48d8..e74b6f5 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -20,7 +20,12 @@
List<WrkDetl> selectAndLogByOrderNo(String orderNo);
+ List<WrkDetl> selectAndLogByOrderNoGroupByMatnrOfSum(String orderNo);
+
int updateInspect( @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
List<WrkDetl> selectPakoutQuery(@Param("staNo")Integer staNo, @Param("matnr")String matnr);
+
+ int updateOrderNo(@Param("orderNo")String orderNo, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
+
}
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index 5e0de95..7018d0f 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -16,8 +16,12 @@
List<WrkDetl> selectAndLogByOrderNo(String orderNo);
+ List<WrkDetl> selectAndLogByOrderNoGroupByMatnrOfSum(String orderNo);
+
boolean updateInspect(Integer wrkNo, String matnr, String batch);
List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr);
+ boolean updateOrderNo(String orderNo, Integer wrkNo, String matnr, String batch);
+
}
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 97779cc..a32f666 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -141,6 +141,10 @@
throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
}
}
+ // 宸ヤ綔妗f槑缁嗘洿鏂板崟鎹紪鍙�
+ for (WrkDetl wrkDetl : wrkDetls) {
+ wrkDetlService.updateOrderNo(orderNo, wrkDetl.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+ }
} catch (Exception e) {
log.error("", e);
return false;
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index a911107..47bede0 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -72,6 +72,11 @@
}
@Override
+ public List<WrkDetl> selectAndLogByOrderNoGroupByMatnrOfSum(String orderNo) {
+ return this.baseMapper.selectAndLogByOrderNoGroupByMatnrOfSum(orderNo);
+ }
+
+ @Override
public boolean updateInspect(Integer wrkNo, String matnr, String batch) {
return this.baseMapper.updateInspect(wrkNo, matnr, batch) > 0;
}
@@ -80,4 +85,10 @@
public List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr) {
return this.baseMapper.selectPakoutQuery(staNo, matnr);
}
+
+ @Override
+ public boolean updateOrderNo(String orderNo, Integer wrkNo, String matnr, String batch) {
+ return baseMapper.updateOrderNo(orderNo, wrkNo, matnr, batch) > 0;
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index 10bffd4..34be800 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -36,6 +36,9 @@
ReturnT<String> returnT = workMastHandler.start(wrkMast);
if (!returnT.isSuccess()) {
wrkMast.setUpdMk("X");
+ if (returnT.getMsg().length() > 255) {
+ returnT.setMsg(returnT.getMsg().substring(0, 150));
+ }
wrkMast.setErrorMemo(returnT.getMsg());
wrkMast.setErrorTime(new Date());
if (!wrkMastService.updateById(wrkMast)) {
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index 03ec74f..a9a84f2 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -94,6 +94,21 @@
and (awml.manu_type is null or awml.manu_type != '鎵嬪姩鍙栨秷')
</select>
+ <select id="selectAndLogByOrderNoGroupByMatnrOfSum" resultMap="BaseResultMap">
+ select awd.wrk_no, awd.io_time, awd.matnr, sum(awd.anfme) as anfme
+ from asr_wrk_detl awd
+ left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no and awd.io_time = awm.io_time
+ where order_no = #{orderNo}
+ group by awd.wrk_no, awd.io_time, awd.matnr
+ union
+ select distinct awdl.wrk_no, awdl.io_time, awdl.matnr, sum(awdl.anfme) as anfme
+ from asr_wrk_detl_log awdl
+ left join asr_wrk_mast_log awml on awdl.wrk_no = awml.wrk_no and awdl.io_time = awml.io_time
+ where awdl.order_no = #{orderNo}
+ and (awml.manu_type is null or awml.manu_type != '鎵嬪姩鍙栨秷')
+ group by awdl.wrk_no, awdl.io_time, awdl.matnr
+ </select>
+
<update id="updateInspect">
update asr_wrk_detl
set inspect = 1
@@ -115,4 +130,14 @@
and awd.matnr + '-' + awd.batch = #{matnr}
</select>
+ <update id="updateOrderNo">
+ update asr_wrk_detl
+ set order_no = #{orderNo}
+ , modi_time = getdate()
+ where 1=1
+ and wrk_no = #{wrkNo}
+ and matnr = #{matnr}
+ <include refid="batchSeq"></include>
+ </update>
+
</mapper>
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index cde142a..cc58f12 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -10,6 +10,7 @@
var admin = layui.admin;
var xmSelect = layui.xmSelect;
var layDate = layui.laydate;
+ var laytpl = layui.laytpl;
// 娓叉煋鎼滅储妯℃澘
$.ajax({
@@ -41,7 +42,7 @@
cellMinWidth: 100,
cols: [[
{type: 'numbers'},
- {field: 'orderNo', title: '鍗曟嵁缂栧彿'},
+ {field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'},
{field: 'docType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160},
{align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160},
{field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200},
@@ -89,6 +90,8 @@
var layEvent = obj.event;
if (layEvent === 'edit') {
showEditModel(data);
+ } else if (layEvent === 'wrkTrace') {
+ showWrkTrace(data.id);
} else if (layEvent === 'del') {
doDel(data.id);
} else if (layEvent === 'complete') {
@@ -454,6 +457,70 @@
});
}
+ // 浠诲姟杩芥函
+ function showWrkTrace(orderId) {
+ let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ $.ajax({
+ url: baseUrl+"/order/wrk/trace/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ orderId: orderId
+ },
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ laytpl(wrkTraceDialog.innerHTML).render(res.data, function (html) {
+ admin.open({
+ type: 1,
+ title: '浠诲姟杩芥函',
+ area: ['800px', '450px'],
+ shadeClose: true,
+ content: html,
+ success: function (layero, dIndex) {
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ /** 缁熻鍥捐〃 */
+ var traceCharts = echarts.init(document.getElementById('wrkTraceCharts'));
+ var traceOptions = {
+ title: {
+ text: '浣滀笟/鎬婚噺', x: 'center', y: '38%',
+ textStyle: {fontSize: 18, color: '#262626', fontWeight: 'normal'},
+ subtextStyle: {fontSize: 36, color: '#10B4E8'},
+ itemGap: 20
+ },
+ color: ['#10B4E8', '#E0E0E0', '#FF0000'],
+ tooltip: {trigger: 'item'},
+ series: [{name: '鏁伴噺', type: 'pie', radius: ['75%', '80%'], label: {normal: {show: false}}}]
+ };
+ traceCharts.setOption(traceOptions);
+ // 璧嬪��
+ traceCharts.setOption({
+ title: {
+ subtext: res.data.wrkQty+"/"+res.data.totalQty
+ },
+ series: [
+ {
+ data: [
+ {name: '宸蹭綔涓�', value: res.data.wrkQty},
+ {name: '鏈綔涓�', value: res.data.totalQty-res.data.wrkQty-res.data.lackQty},
+ {name: '搴撳瓨涓嶈冻', value: res.data.lackQty},
+ ]
+ }
+ ]
+ });
+ }
+ });
+ });
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ }
+
+
layDate.render({
elem: '.layui-laydate-range'
,type: 'datetime'
diff --git a/src/main/webapp/views/order/order.html b/src/main/webapp/views/order/order.html
index d89f0c4..0c4cb7f 100644
--- a/src/main/webapp/views/order/order.html
+++ b/src/main/webapp/views/order/order.html
@@ -15,6 +15,17 @@
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
+ .wrk-trace {
+ color: green;
+ cursor: pointer;
+ margin-left: 6px;
+ font-size: 18px;
+ }
+
+ .layui-timeline:first-child .layui-timeline-item {
+ margin-top: 30px;
+ }
+
.btn-add {
display: none;
}
@@ -102,9 +113,13 @@
</a>
</span>
</script>
-<!--<script type="text/html" id="settleTpl">-->
-<!-- <span name="settle" class="layui-badge layui-badge-gray">{{d.settle$}}</span>-->
-<!--</script>-->
+<script type="text/html" id="orderNoTpl">
+ {{d.orderNo}}
+ {{# if(d.settle > 1 && d.settle !== 3){ }}
+
+ {{# } }}
+ <i class="layui-icon layui-icon-about wrk-trace" lay-tips="鏌ョ湅浠诲姟杩芥函" lay-direction="2" lay-offset="-10px,0px" lay-event="wrkTrace"></i>
+</script>
<script type="text/html" id="settleTpl">
<span name="settle"
{{# if( d.settle === 1){ }}
@@ -183,9 +198,97 @@
</form>
</script>
+<!-- 璁㈠崟浠诲姟杩芥函 -->
+<script id="wrkTraceDialog" type="text/html" style="position: relative">
+ <div style="position: absolute; top: 0; left: 0;">
+ <div class="layui-card" style="overflow: hidden;">
+ <div class="layui-card-header" style="text-align: center;width: 80%;font-weight: inherit;font-size: 18px">{{ d.orderNo }}</div>
+ <div class="layui-card-body">
+ <div id="wrkTraceCharts" style="height: 300px;width: 400px;transform: translateX(-10%);"></div>
+ </div>
+ </div>
+ </div>
+ <div class="layui-row" >
+ <div class="layui-col-md5">
+ <h1 style="opacity: 0;">Hello World</h1>
+ </div>
+ <div class="layui-col-md7" style="">
+ {{# if(d.list.length > 0){ }}
+ <ul class="layui-timeline" style="height: 400px; overflow: scroll;">
+ {{# layui.each(d.list, function(index, item){ }}
+ <li class="layui-timeline-item">
+ <i class="layui-icon layui-timeline-axis"></i>
+ <div class="layui-timeline-content layui-text">
+ <div class="layui-timeline-title">
+ <h3 class="inline-block">
+ {{ item.wrkNo }}
+
+ {{# if(item.wrkMast.ioType < 100){ }}
+ <span class="layui-badge layui-bg-blue" style="line-height: 20px;">
+ {{ item.wrkMast.ioType$ }}
+ </span>
+ {{# } }}
+
+ {{# if(item.wrkMast.ioType > 100){ }}
+ <span class="layui-badge layui-bg-orange" style="line-height: 20px;">
+ {{ item.wrkMast.ioType$ }}
+ </span>
+ {{# } }}
+
+
+ {{# if(item.wrkMast.wrkSts < 14){ }}
+ <span class="layui-badge layui-bg-red" style="line-height: 20px;">
+ {{ item.wrkMast.wrkSts$ }}
+ </span>
+ {{# } }}
+
+ {{# if(item.wrkMast.wrkSts >= 14){ }}
+ <span class="layui-badge layui-bg-green" style="line-height: 20px;">
+ {{ item.wrkMast.wrkSts$ }}
+ </span>
+ {{# } }}
+
+ </h3> 
+ {{ item.wrkMast.ioTime$ }}
+ </div>
+
+ <table class="layui-table" lay-skin="nob" style="width: 80%">
+ <thead>
+ <tr style="background: none">
+ <td>No.</td>
+ <td>鍟嗗搧缂栧彿</td>
+ <td>鏁伴噺</td>
+ </tr>
+ </thead>
+ <tbody>
+ {{# layui.each(item.wrkDetls, function(idx, wrkDetl){ }}
+ <tr>
+ <td><span class="layui-badge layui-bg-cyan">{{ idx+1 }}</span></td>
+ <td>{{ wrkDetl.matnr }}</td>
+ <td style="font-weight: bold">{{ wrkDetl.anfme }}</td>
+ </tr>
+ {{# }); }}
+ </tbody>
+ </table>
+
+ <hr class="layui-border-cyan" style="width: 90%; opacity: .6;">
+ </div>
+ </li>
+ {{# }); }}
+ </ul>
+ {{# } else { }}
+ <div style="height: 350px;display: flex;justify-content: center;align-items: center;">
+ <h2 style="font-weight: bold;letter-spacing: 2px">鏆傛棤浠诲姟</h2>
+ </div>
+ {{# } }}
+ </div>
+ </div>
+</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/echarts/echarts.min.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/order/order.js" charset="utf-8"></script>
--
Gitblit v1.9.1