| | |
| | | |
| | | @GetMapping("/getReviewList/{orderNo}") |
| | | public synchronized R getReviewList(@PathVariable("orderNo") String orderNo) { |
| | | List<Review> reviewList = reviewService.selectList(new EntityWrapper<Review>().like("order_no", orderNo)); |
| | | List<Review> reviewList = reviewService.selectList(new EntityWrapper<Review>().like("order_no", orderNo).in("settle", 1, 2)); |
| | | List<String> collect = reviewList.stream().map(Review::getOrderNo).collect(Collectors.toList()); |
| | | return R.ok(collect); |
| | | |
| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.annotations.ManagerAuth; |
| | |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.util.Date; |
| | | import java.util.Map; |
| | | import java.net.URLEncoder; |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | | public class ReviewController extends BaseController { |
| | |
| | | @Resource |
| | | private ReviewDetlMapper reviewDetlMapper; |
| | | |
| | | @Resource |
| | | private HttpServletResponse response; |
| | | |
| | | |
| | | @RequestMapping("/exportReview") |
| | | public synchronized void exportReview(String ids) throws IOException { |
| | | if (Cools.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | String[] idsArr = ids.split(","); |
| | | Set set = new HashSet<Long>(); |
| | | for (String id : idsArr) { |
| | | if (!Cools.isEmpty(id)) { |
| | | set.add(Long.parseLong(id)); |
| | | } |
| | | } |
| | | List<ReviewDetl> reviewDetls = reviewDetlService.selectList(new EntityWrapper<ReviewDetl>().in("order_id", set)); |
| | | |
| | | response.setContentType("application/vnd.ms-excel"); |
| | | response.setCharacterEncoding("utf-8"); |
| | | String fileName = URLEncoder.encode("单据复核明细表", "UTF-8"); |
| | | response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); |
| | | EasyExcel.write(response.getOutputStream(), ReviewDetl.class) |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) |
| | | .sheet("表1") |
| | | .doWrite(reviewDetls); |
| | | } |
| | | |
| | | @PostMapping("/importReview") |
| | | @ManagerAuth(memo = "单据导入") |
| | | @ApiOperation(value = "单据导入", produces = MediaType.APPLICATION_JSON_VALUE) |
| | |
| | | package com.zy.asrs.entity; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelIgnore; |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | |
| | | */ |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | @ExcelIgnore |
| | | private Long id; |
| | | |
| | | /** |
| | | * 订单内码 |
| | | */ |
| | | @ApiModelProperty(value = "订单内码") |
| | | @ExcelIgnore |
| | | @TableField("order_id") |
| | | private Long orderId; |
| | | |
| | |
| | | */ |
| | | @ApiModelProperty(value = "单据编号") |
| | | @TableField("order_no") |
| | | @ExcelProperty("单据编号") |
| | | private String orderNo; |
| | | |
| | | |
| | |
| | | * 数量 |
| | | */ |
| | | @ApiModelProperty(value = "数量") |
| | | @ExcelProperty("净重") |
| | | private Double anfme; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @ApiModelProperty(value = "作业数量") |
| | | @TableField("work_qty") |
| | | @ExcelIgnore |
| | | private Double workQty; |
| | | |
| | | /** |
| | |
| | | * 出库 : qty 👆 |
| | | */ |
| | | @ApiModelProperty(value = "完成数量") |
| | | @ExcelIgnore |
| | | private Double qty; |
| | | |
| | | /** |
| | | * 商品编码 |
| | | */ |
| | | @ApiModelProperty(value = "商品编码") |
| | | @ExcelProperty("物料编码") |
| | | private String matnr; |
| | | |
| | | /** |
| | | * 商品名称 |
| | | */ |
| | | @ApiModelProperty(value = "商品名称") |
| | | @ExcelProperty("物料名称") |
| | | private String maktx; |
| | | |
| | | /** |
| | | * 批号 |
| | | */ |
| | | @ApiModelProperty(value = "批号") |
| | | @ExcelProperty("批次号") |
| | | private String batch; |
| | | |
| | | /** |
| | | * 规格 |
| | | */ |
| | | @ApiModelProperty(value = "规格") |
| | | @ExcelProperty("规格型号") |
| | | private String specs; |
| | | |
| | | /** |
| | | * 型号 |
| | | */ |
| | | @ApiModelProperty(value = "型号") |
| | | @ExcelProperty("卷号") |
| | | private String model; |
| | | |
| | | /** |
| | | * 颜色 |
| | | */ |
| | | @ApiModelProperty(value = "颜色") |
| | | @ExcelIgnore |
| | | private String color; |
| | | |
| | | /** |
| | | * 品牌 |
| | | */ |
| | | @ApiModelProperty(value = "品牌") |
| | | @ExcelIgnore |
| | | private String brand; |
| | | |
| | | /** |
| | | * 单位 |
| | | */ |
| | | @ApiModelProperty(value = "单位") |
| | | @ExcelIgnore |
| | | private String unit; |
| | | |
| | | /** |
| | | * 单价 |
| | | */ |
| | | @ApiModelProperty(value = "单价") |
| | | @ExcelIgnore |
| | | private Double price; |
| | | |
| | | /** |
| | | * sku |
| | | */ |
| | | @ApiModelProperty(value = "sku") |
| | | @ExcelIgnore |
| | | private String sku; |
| | | |
| | | /** |
| | | * 单位量 |
| | | */ |
| | | @ApiModelProperty(value = "单位量") |
| | | @ExcelIgnore |
| | | private Double units; |
| | | |
| | | /** |
| | | * 条码 |
| | | */ |
| | | @ApiModelProperty(value = "条码") |
| | | @ExcelIgnore |
| | | private String barcode; |
| | | |
| | | /** |
| | | * 产地 |
| | | */ |
| | | @ApiModelProperty(value = "产地") |
| | | @ExcelIgnore |
| | | private String origin; |
| | | |
| | | /** |
| | | * 厂家 、、江铜:暂存库位号 |
| | | */ |
| | | @ApiModelProperty(value = "厂家") |
| | | @ExcelIgnore |
| | | private String manu; |
| | | |
| | | /** |
| | | * 生产日期 |
| | | */ |
| | | @ApiModelProperty(value = "生产日期") |
| | | @ExcelIgnore |
| | | @TableField("manu_date") |
| | | private String manuDate; |
| | | |
| | |
| | | * 品项数 |
| | | */ |
| | | @ApiModelProperty(value = "品项数") |
| | | @ExcelIgnore |
| | | @TableField("item_num") |
| | | private String itemNum; |
| | | |
| | |
| | | * 安全库存量 |
| | | */ |
| | | @ApiModelProperty(value = "安全库存量") |
| | | @ExcelIgnore |
| | | @TableField("safe_qty") |
| | | private Double safeQty; |
| | | |
| | |
| | | * 重量 |
| | | */ |
| | | @ApiModelProperty(value = "重量") |
| | | @ExcelIgnore |
| | | private Double weight; |
| | | |
| | | /** |
| | | * 长度 |
| | | */ |
| | | @ApiModelProperty(value = "长度") |
| | | @ExcelIgnore |
| | | private Double length; |
| | | |
| | | /** |
| | | * 体积 |
| | | */ |
| | | @ApiModelProperty(value = "体积") |
| | | @ExcelIgnore |
| | | private Double volume; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @ApiModelProperty(value = "三方编码") |
| | | @TableField("three_code") |
| | | @ExcelProperty("复核人") |
| | | private String threeCode; |
| | | |
| | | /** |
| | | * 供应商 |
| | | */ |
| | | @ApiModelProperty(value = "供应商") |
| | | @ExcelIgnore |
| | | private String supp; |
| | | |
| | | /** |
| | | * 供应商编码 |
| | | */ |
| | | @ApiModelProperty(value = "供应商编码") |
| | | @ExcelIgnore |
| | | @TableField("supp_code") |
| | | private String suppCode; |
| | | |
| | |
| | | */ |
| | | @ApiModelProperty(value = "是否批次 1: 是 0: 否 ") |
| | | @TableField("be_batch") |
| | | @ExcelIgnore |
| | | private Integer beBatch; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @ApiModelProperty(value = "保质期") |
| | | @TableField("dead_time") |
| | | @ExcelProperty("出库日期") |
| | | private String deadTime; |
| | | |
| | | /** |
| | | * 预警天数 |
| | | */ |
| | | @ApiModelProperty(value = "预警天数") |
| | | @ExcelIgnore |
| | | @TableField("dead_warn") |
| | | private Integer deadWarn; |
| | | |
| | |
| | | * 制购 1: 制造 2: 采购 3: 外协 、、江铜:是否确认 1: 确认 2: 未确认 |
| | | */ |
| | | @ApiModelProperty(value = "制购 1: 制造 2: 采购 3: 外协 ") |
| | | @ExcelIgnore |
| | | private Integer source; |
| | | |
| | | /** |
| | | * 要求检验 1: 是 0: 否 |
| | | */ |
| | | @ApiModelProperty(value = "要求检验 1: 是 0: 否 ") |
| | | @ExcelIgnore |
| | | private Integer inspect; |
| | | |
| | | @ExcelProperty("是否复核") |
| | | @TableField(exist = false) |
| | | private String inspect$; |
| | | |
| | | /** |
| | | * 危险品 1: 是 0: 否 |
| | | */ |
| | | @ApiModelProperty(value = "危险品 1: 是 0: 否 ") |
| | | @ExcelIgnore |
| | | private Integer danger; |
| | | |
| | | /** |
| | | * 状态 1: 正常 0: 禁用 |
| | | */ |
| | | @ApiModelProperty(value = "状态 1: 正常 0: 禁用 ") |
| | | @ExcelIgnore |
| | | private Integer status; |
| | | |
| | | /** |
| | | * 添加人员 |
| | | */ |
| | | @ApiModelProperty(value = "添加人员") |
| | | @ExcelIgnore |
| | | @TableField("create_by") |
| | | private Long createBy; |
| | | |
| | |
| | | * 添加时间 |
| | | */ |
| | | @ApiModelProperty(value = "添加时间") |
| | | @ExcelIgnore |
| | | @TableField("create_time") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | |
| | | * 修改人员 |
| | | */ |
| | | @ApiModelProperty(value = "修改人员") |
| | | @ExcelIgnore |
| | | @TableField("update_by") |
| | | private Long updateBy; |
| | | |
| | |
| | | @ApiModelProperty(value = "修改时间") |
| | | @TableField("update_time") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @ExcelProperty("复核时间") |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * 备注 |
| | | */ |
| | | @ApiModelProperty(value = "备注") |
| | | @ExcelProperty("复核备注") |
| | | private String memo; |
| | | |
| | | @ApiModelProperty(value = "退库标记") |
| | | @ExcelIgnore |
| | | @TableField("tk_type") |
| | | private Integer tkType; |
| | | |
| | |
| | | * 卷信息ID |
| | | */ |
| | | @ApiModelProperty(value = "卷信息ID") |
| | | @ExcelIgnore |
| | | @TableField("roll_up") |
| | | private Long rollUp; |
| | | |
| | |
| | | package com.zy.asrs.task; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.Order; |
| | | import com.zy.asrs.entity.Review; |
| | | import com.zy.asrs.entity.ReviewDetl; |
| | | import com.zy.asrs.service.ApiLogService; |
| | | import com.zy.asrs.service.OrderService; |
| | | import com.zy.asrs.service.ReviewDetlService; |
| | | import com.zy.asrs.service.ReviewService; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.asrs.task.handler.OrderSyncHandler; |
| | | import com.zy.system.entity.Config; |
| | |
| | | private OrderSyncHandler orderSyncHandler; |
| | | @Autowired |
| | | private OrderService orderService; |
| | | @Autowired |
| | | private ReviewService reviewService; |
| | | @Autowired |
| | | private ReviewDetlService reviewDetlService; |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | @Resource |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | @Scheduled(cron = "0/30 * * * * ? ") |
| | | public void complete() { |
| | | List<Review> orders = reviewService.selectList(new EntityWrapper<Review>().eq("settle", 2)); |
| | | for (Review order : orders) { |
| | | try { |
| | | boolean flag = true; |
| | | List<ReviewDetl> reviewDetls = reviewDetlService.selectList(new EntityWrapper<ReviewDetl>().eq("order_no", order.getOrderNo())); |
| | | for (ReviewDetl reviewDetl : reviewDetls) { |
| | | if (Cools.isEmpty(reviewDetl.getInspect()) || reviewDetl.getInspect() == 0) { |
| | | flag = false; |
| | | break; |
| | | } |
| | | } |
| | | if (flag) { |
| | | order.setSettle(4L); |
| | | reviewService.updateById(order); |
| | | } |
| | | log.info("单据[orderNo={}]处理完成", order.getOrderNo()); |
| | | } catch (Exception e) { |
| | | log.error("单据[orderNo={}]处理失败,异常信息:" + e, order.getOrderNo()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | public ReturnT<String> start2() { |
| | | List<Review> settleEqual6 = reviewService.selectList(new EntityWrapper<Review>() |
| | | .in("settle", 4,6)); |
| | | .eq("settle", 6)); |
| | | for (Review order : settleEqual6) { |
| | | List<ReviewDetl> orderDetls = reviewDetlService.selectList(new EntityWrapper<ReviewDetl>() |
| | | .eq("order_no", order.getOrderNo())); |
| | |
| | | var element = layui.element; |
| | | |
| | | |
| | | |
| | | // 渲染表格 |
| | | var insTb = table.render({ |
| | | elem: '#order', |
| | |
| | | headers: {token: localStorage.getItem('token')}, |
| | | page: true, |
| | | cellMinWidth: 100, |
| | | toolbar: '#toolbar', |
| | | cols: [[ |
| | | {type: 'numbers'}, |
| | | {type: 'checkbox', fixed: 'left'}, |
| | | {field: 'orderNo', title: '单据编号'}, |
| | | {field: 'cstmrName', align: 'center',title: '客户名称'}, |
| | | {align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 250, width: 250}, |
| | |
| | | insTbCount = count; |
| | | } |
| | | }); |
| | | |
| | | |
| | | // |
| | | table.on('toolbar(order)', function (obj) { |
| | | console.info("121211") |
| | | var checkStatus = table.checkStatus(obj.config.id); |
| | | console.info(obj) |
| | | console.info(checkStatus) |
| | | layer.confirm('确定导出Excel吗', {shadeClose: true}, function () { |
| | | var ids = ''; |
| | | for (const o in checkStatus.data) { |
| | | console.info(o) |
| | | //ids.push(checkStatus.data[o].id) |
| | | ids =ids + checkStatus.data[o].id + "," |
| | | } |
| | | location.href = baseUrl + "/exportReview?ids=" + ids; |
| | | layer.closeAll(); |
| | | }); |
| | | }); |
| | | |
| | | |
| | | // 搜索 |
| | | form.on('submit(tbSearch)', function (data) { |
| | |
| | | page: true, |
| | | cellMinWidth: 100, |
| | | cols: [[ |
| | | {type: 'numbers'}, |
| | | {field: 'matnr', title: '物质编码'}, |
| | | {field: 'maktx', title: '产品名称'}, |
| | | {field: 'specs', title: '规格型号'}, |
| | |
| | | {field: 'maktx', title: '商品名称', width: 200}, |
| | | {field: 'batch', title: '箱号', edit: true}, |
| | | {field: 'specs', title: '接头'}, |
| | | {field: 'anfme', title: '数量(修改)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110}, |
| | | { |
| | | field: 'anfme', |
| | | title: '数量(修改)', |
| | | style: 'color: blue;font-weight: bold', |
| | | edit: true, |
| | | minWidth: 110, |
| | | width: 110 |
| | | }, |
| | | {field: 'workQty', title: '作业数量', minWidth: 100, width: 100}, |
| | | // {field: 'unit', title: '单位', width: 80}, |
| | | {field: 'memo', title: '备注' , edit: true}, |
| | | {align: 'center', title: '操作', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'} |
| | | { |
| | | align: 'center', |
| | | title: '操作', |
| | | toolbar: '#formSSXMTableBar', |
| | | minWidth: 80, |
| | | width: 80, |
| | | fixed: 'right' |
| | | } |
| | | ]], |
| | | done: function (res) { |
| | | $(layero).find('.layui-table-view').css('margin', '0'); |
| | |
| | | }, |
| | | color: ['#10B4E8', '#E0E0E0', '#FF0000'], |
| | | tooltip: {trigger: 'item'}, |
| | | series: [{name: '箱子数量', type: 'pie', radius: ['75%', '80%'], label: {normal: {show: false}}}] |
| | | series: [{ |
| | | name: '箱子数量', |
| | | type: 'pie', |
| | | radius: ['75%', '80%'], |
| | | label: {normal: {show: false}} |
| | | }] |
| | | }; |
| | | traceCharts.setOption(traceOptions); |
| | | // 赋值 |
| | |
| | | { |
| | | data: [ |
| | | {name: '已作业', value: res.data.wrkQty}, |
| | | {name: '未作业', value: res.data.totalQty-res.data.wrkQty-res.data.lackQty}, |
| | | { |
| | | name: '未作业', |
| | | value: res.data.totalQty - res.data.wrkQty - res.data.lackQty |
| | | }, |
| | | {name: '库存不足', value: res.data.lackQty}, |
| | | ] |
| | | } |
| | |
| | | // {field: 'brand', title: '木箱类型', align: 'center'}, |
| | | {field: 'brand$', title: '木箱类型', align: 'center'}, |
| | | {field: 'zpallet', title: '托盘码', align: 'center'}, |
| | | {field: 'anfme', title: '数量', align: 'center', width: 90, style: 'font-weight: bold'}, |
| | | {field: 'count', title: '数量', align: 'center', width: 90, style: 'font-weight: bold'}, |
| | | { |
| | | field: 'anfme', |
| | | title: '数量', |
| | | align: 'center', |
| | | width: 90, |
| | | style: 'font-weight: bold' |
| | | }, |
| | | { |
| | | field: 'count', |
| | | title: '数量', |
| | | align: 'center', |
| | | width: 90, |
| | | style: 'font-weight: bold' |
| | | }, |
| | | {field: 'locNo', title: '货位', align: 'center', width: 100, templet: '#locNoTpl'}, |
| | | {field: 'tkType$', title: 'TK标记', align: 'center', width: 100}, |
| | | // {field: 'staNos', align: 'center', title: '出库站', merge: ['locNo'], templet: '#tbBasicTbStaNos'}, |
| | |
| | | } |
| | | modifySta(stoPreTabData); |
| | | }); |
| | | |
| | | // 批量修改出库站 - 站点选择 |
| | | function modifySta(stoPreTabData) { |
| | | // 出库站取交集 |
| | |
| | | if (staBatchSelectVal.length === 0) { |
| | | staBatchSelectVal = staNos; |
| | | } else { |
| | | staBatchSelectVal = staBatchSelectVal.filter(val => |
| | | { |
| | | staBatchSelectVal = staBatchSelectVal.filter(val => { |
| | | return new Set(staNos).has(val) |
| | | } |
| | | ) |
| | |
| | | arr.forEach(item => { |
| | | $('div[lay-id=stoPreTab] tr[data-index="' + item + '"] .layui-select-title').find("input").css("color", "blue"); |
| | | }); |
| | | layer.close(loadIdx); layer.close(ddIndex); |
| | | layer.close(loadIdx); |
| | | layer.close(ddIndex); |
| | | return false; |
| | | }); |
| | | // 弹窗不出现滚动条 |
| | |
| | | .layui-timeline:first-child .layui-timeline-item { |
| | | margin-top: 30px; |
| | | } |
| | | |
| | | .btn-add { |
| | | display: none; |
| | | } |
| | | |
| | | .btn-edit { |
| | | display: none; |
| | | } |
| | | |
| | | .btn-complete { |
| | | display: none; |
| | | } |
| | | |
| | | .btn-delete { |
| | | display: none; |
| | | } |
| | |
| | | </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"> |
| | | <input class="layui-input layui-laydate-range" name="create_time" type="text" |
| | | placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | |
| | | <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit> |
| | | <i class="layui-icon"></i>搜索 |
| | | </button> |
| | | <!-- <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon"></i>添加--> |
| | | <!-- </button>--> |
| | | <input type="file" id="fileInput" accept=".xlsx, .xls"> |
| | | <button onclick="exportExc()">导入订单</button> |
| | | <input class="layui-btn icon-btn" type="file" id="fileInput" accept=".xlsx, .xls"> |
| | | <button class="layui-btn icon-btn" onclick="exportExc()">导入订单</button> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> |
| | | </div> |
| | | </script> |
| | | <script> |
| | | function exportExc() { |
| | | var fileInput = document.getElementById('fileInput'); |
| | |
| | | <div id="myModal" style="display: none"> |
| | | <div style="padding: 10px"> |
| | | <div class="layui-upload"> |
| | | <button type="button" class="layui-btn layui-btn-normal" id="data-btn-file2">选择文件</button><input id="data-btn-upload" class="layui-upload-file" type="file" accept="" name="file" multiple=""> |
| | | <button type="button" class="layui-btn layui-btn-normal" id="data-btn-file2">选择文件</button> |
| | | <input id="data-btn-upload" class="layui-upload-file" type="file" accept="" name="file" multiple=""> |
| | | <div class="layui-upload-list" style="max-width: 1000px;height:400px;overflow: scroll"> |
| | | <table class="layui-table"> |
| | | <colgroup> |
| | |
| | | <col width="150"> |
| | | </colgroup> |
| | | <thead> |
| | | <tr><th>文件名</th> |
| | | <tr> |
| | | <th>文件名</th> |
| | | <th>大小</th> |
| | | <th>上传进度</th> |
| | | <th>操作</th> |
| | | </tr></thead> |
| | | </tr> |
| | | </thead> |
| | | <tbody id="data-btn-file3"></tbody> |
| | | </table> |
| | | </div> |
| | |
| | | {{# 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> |
| | | <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">--> |
| | |
| | | <label class="layui-form-label">单据类型:</label> |
| | | <div class="layui-input-block cool-auto-complete"> |
| | | <input class="layui-input" name="docType" placeholder="请输入单据类型" style="display: none"> |
| | | <input id="docType$" name="docType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入单据类型" onfocus=this.blur() lay-verType="tips" lay-verify="required"> |
| | | <input id="docType$" name="docType$" class="layui-input cool-auto-complete-div" |
| | | onclick="autoShow(this.id)" type="text" placeholder="请输入单据类型" onfocus=this.blur() |
| | | lay-verType="tips" lay-verify="required"> |
| | | <div class="cool-auto-complete-window"> |
| | | <input class="cool-auto-complete-window-input" data-key="docTypeQueryBydocType" onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="docTypeQueryBydocTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | <input class="cool-auto-complete-window-input" data-key="docTypeQueryBydocType" |
| | | onkeyup="autoLoad(this.getAttribute('data-key'))"> |
| | | <select class="cool-auto-complete-window-select" data-key="docTypeQueryBydocTypeSelect" |
| | | onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">单据编号:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="orderNo" name="orderNo" placeholder="输入单据编号" type="text" class="layui-input" maxlength="20" lay-verType="tips" /> |
| | | <input id="orderNo" name="orderNo" placeholder="输入单据编号" type="text" class="layui-input" |
| | | maxlength="20" lay-verType="tips"/> |
| | | <!-- lay-verify="required"--> |
| | | </div> |
| | | </div> |
| | |
| | | <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-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> |
| | |
| | | <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> |
| | | <button style="margin-top: 30px" class="layui-btn" lay-filter="staBatchSelectConfirm" lay-submit="">确定 |
| | | </button> |
| | | </form> |
| | | </script> |
| | | |
| | |
| | | |
| | | |
| | | </body> |
| | | |
| | | |
| | | |
| | | |
| | | </html> |