| | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.result.WrkTraceVo; |
| | | import com.zy.asrs.service.*; |
| | |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private WrkMastLogService wrkMastLogService; |
| | | @Autowired |
| | | private OrderTimeChangeLogService orderTimeChangeLogService; |
| | | |
| | | @RequestMapping(value = "/order/head/page/auth") |
| | | @ManagerAuth |
| | |
| | | } else { |
| | | wrapper.orderBy("create_time", false); |
| | | } |
| | | return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | Page<OrderPakinLog> page = orderService.selectPage(new Page<>(curr, limit), wrapper); |
| | | // 批量查询哪些订单有变更记录 |
| | | if (page.getRecords() != null && !page.getRecords().isEmpty()) { |
| | | java.util.List<Long> orderIds = new java.util.ArrayList<>(); |
| | | for (OrderPakinLog order : page.getRecords()) { |
| | | orderIds.add(order.getId()); |
| | | } |
| | | if (!orderIds.isEmpty()) { |
| | | EntityWrapper<OrderTimeChangeLog> logWrapper = new EntityWrapper<>(); |
| | | logWrapper.in("order_id", orderIds); |
| | | logWrapper.eq("order_type", 1); // 1:入库 |
| | | java.util.List<OrderTimeChangeLog> changeLogs = orderTimeChangeLogService.selectList(logWrapper); |
| | | java.util.Set<Long> orderIdsWithLog = new java.util.HashSet<>(); |
| | | if (changeLogs != null) { |
| | | for (OrderTimeChangeLog log : changeLogs) { |
| | | orderIdsWithLog.add(log.getOrderId()); |
| | | } |
| | | } |
| | | // 设置是否有变更记录标识 |
| | | for (OrderPakinLog order : page.getRecords()) { |
| | | order.setHasChangeLog(orderIdsWithLog.contains(order.getId())); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(page); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/detl/all/auth") |
| | |
| | | return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | @PostMapping(value = "/order/update/orderTime/auth") |
| | | @ManagerAuth(memo = "修改历史单据业务时间") |
| | | public R updateOrderTime(@RequestParam Long id, @RequestParam String orderTime, @RequestParam(required = false) String memo) { |
| | | if (Cools.isEmpty(id) || Cools.isEmpty(orderTime)) { |
| | | return R.error("参数不能为空"); |
| | | } |
| | | OrderPakinLog order = orderService.selectById(id); |
| | | if (order == null) { |
| | | return R.error("单据不存在"); |
| | | } |
| | | // 检查是否已绑定月结单据,如果已绑定则禁止修改 |
| | | if (order.getMonthlySettleId() != null && order.getMonthlySettleId() > 0) { |
| | | return R.error("该单据已绑定月结单据,不能修改业务时间"); |
| | | } |
| | | // 获取原业务时间(在修改前获取) |
| | | String oldOrderTime = order.getOrderTime(); |
| | | // 检查新旧时间是否相同 |
| | | if (oldOrderTime != null && oldOrderTime.equals(orderTime)) { |
| | | return R.error("新业务时间与原业务时间相同,无需修改"); |
| | | } |
| | | // 更新业务时间 |
| | | order.setOrderTime(orderTime); |
| | | order.setUpdateBy(getUserId()); |
| | | order.setUpdateTime(new Date()); |
| | | if (!orderService.updateById(order)) { |
| | | throw new CoolException("修改业务时间失败"); |
| | | } |
| | | // 保存变更记录(只有时间不同时才保存) |
| | | if (oldOrderTime != null && !oldOrderTime.equals(orderTime)) { |
| | | OrderTimeChangeLog changeLog = new OrderTimeChangeLog(); |
| | | changeLog.setOrderId(order.getId()); |
| | | changeLog.setOrderNo(order.getOrderNo()); |
| | | changeLog.setOrderType(1); // 1:入库 |
| | | changeLog.setOldOrderTime(oldOrderTime); |
| | | changeLog.setNewOrderTime(orderTime); |
| | | changeLog.setMemo(memo); |
| | | changeLog.setCreateBy(getUserId()); |
| | | changeLog.setCreateTime(new Date()); |
| | | orderTimeChangeLogService.insert(changeLog); |
| | | } |
| | | return R.ok("修改成功"); |
| | | } |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | String val = String.valueOf(entry.getValue()); |
| | |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.result.WrkTraceVo; |
| | | import com.zy.asrs.service.*; |
| | |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private WrkMastLogService wrkMastLogService; |
| | | @Autowired |
| | | private OrderTimeChangeLogService orderTimeChangeLogService; |
| | | |
| | | @RequestMapping(value = "/order/head/page/auth") |
| | | @ManagerAuth |
| | | public R head(@RequestParam(defaultValue = "1") Integer curr, |
| | | @RequestParam(defaultValue = "10") Integer limit, |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | @RequestParam(defaultValue = "10") Integer limit, |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | EntityWrapper<OrderPakoutLog> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | |
| | | } else { |
| | | wrapper.orderBy("create_time", false); |
| | | } |
| | | return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | Page<OrderPakoutLog> page = orderService.selectPage(new Page<>(curr, limit), wrapper); |
| | | // 批量查询哪些订单有变更记录 |
| | | if (page.getRecords() != null && !page.getRecords().isEmpty()) { |
| | | java.util.List<Long> orderIds = new java.util.ArrayList<>(); |
| | | for (OrderPakoutLog order : page.getRecords()) { |
| | | orderIds.add(order.getId()); |
| | | } |
| | | if (!orderIds.isEmpty()) { |
| | | EntityWrapper<OrderTimeChangeLog> logWrapper = new EntityWrapper<>(); |
| | | logWrapper.in("order_id", orderIds); |
| | | logWrapper.eq("order_type", 2); // 2:出库 |
| | | java.util.List<OrderTimeChangeLog> changeLogs = orderTimeChangeLogService.selectList(logWrapper); |
| | | java.util.Set<Long> orderIdsWithLog = new java.util.HashSet<>(); |
| | | if (changeLogs != null) { |
| | | for (OrderTimeChangeLog log : changeLogs) { |
| | | orderIdsWithLog.add(log.getOrderId()); |
| | | } |
| | | } |
| | | // 设置是否有变更记录标识 |
| | | for (OrderPakoutLog order : page.getRecords()) { |
| | | order.setHasChangeLog(orderIdsWithLog.contains(order.getId())); |
| | | } |
| | | } |
| | | } |
| | | return R.ok(page); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/detl/all/auth") |
| | |
| | | return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | @PostMapping(value = "/order/update/orderTime/auth") |
| | | @ManagerAuth(memo = "修改历史单据业务时间") |
| | | public R updateOrderTime(@RequestParam Long id, @RequestParam String orderTime, @RequestParam(required = false) String memo) { |
| | | if (Cools.isEmpty(id) || Cools.isEmpty(orderTime)) { |
| | | return R.error("参数不能为空"); |
| | | } |
| | | OrderPakoutLog order = orderService.selectById(id); |
| | | if (order == null) { |
| | | return R.error("单据不存在"); |
| | | } |
| | | // 检查是否已绑定月结单据,如果已绑定则禁止修改 |
| | | if (order.getMonthlySettleId() != null && order.getMonthlySettleId() > 0) { |
| | | return R.error("该单据已绑定月结单据,不能修改业务时间"); |
| | | } |
| | | // 获取原业务时间(在修改前获取) |
| | | String oldOrderTime = order.getOrderTime(); |
| | | // 检查新旧时间是否相同 |
| | | if (oldOrderTime != null && oldOrderTime.equals(orderTime)) { |
| | | return R.error("新业务时间与原业务时间相同,无需修改"); |
| | | } |
| | | // 更新业务时间 |
| | | order.setOrderTime(orderTime); |
| | | order.setUpdateBy(getUserId()); |
| | | order.setUpdateTime(new Date()); |
| | | if (!orderService.updateById(order)) { |
| | | throw new CoolException("修改业务时间失败"); |
| | | } |
| | | // 保存变更记录(只有时间不同时才保存) |
| | | if (oldOrderTime != null && !oldOrderTime.equals(orderTime)) { |
| | | OrderTimeChangeLog changeLog = new OrderTimeChangeLog(); |
| | | changeLog.setOrderId(order.getId()); |
| | | changeLog.setOrderNo(order.getOrderNo()); |
| | | changeLog.setOrderType(2); // 2:出库 |
| | | changeLog.setOldOrderTime(oldOrderTime); |
| | | changeLog.setNewOrderTime(orderTime); |
| | | changeLog.setMemo(memo); |
| | | changeLog.setCreateBy(getUserId()); |
| | | changeLog.setCreateTime(new Date()); |
| | | orderTimeChangeLogService.insert(changeLog); |
| | | } |
| | | return R.ok("修改成功"); |
| | | } |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | String val = String.valueOf(entry.getValue()); |
| | |
| | | @TableField("monthly_settle_no") |
| | | private String monthlySettleNo; |
| | | |
| | | /** |
| | | * 是否有业务时间变更记录(临时字段,不映射到数据库) |
| | | */ |
| | | @ApiModelProperty(value = "是否有业务时间变更记录") |
| | | @TableField(exist = false) |
| | | private Boolean hasChangeLog; |
| | | |
| | | public OrderPakinLog() { |
| | | } |
| | | |
| | |
| | | @TableField("monthly_settle_no") |
| | | private String monthlySettleNo; |
| | | |
| | | /** |
| | | * 是否有业务时间变更记录(临时字段,不映射到数据库) |
| | | */ |
| | | @ApiModelProperty(value = "是否有业务时间变更记录") |
| | | @TableField(exist = false) |
| | | private Boolean hasChangeLog; |
| | | |
| | | public OrderPakoutLog() { |
| | | } |
| | | |
| New file |
| | |
| | | package com.zy.asrs.entity.result; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * 库存数量DTO(用于批量查询) |
| | | */ |
| | | @Data |
| | | public class StockQtyDTO { |
| | | |
| | | /** |
| | | * 物料编码 |
| | | */ |
| | | private String matnr; |
| | | |
| | | /** |
| | | * 批次 |
| | | */ |
| | | private String batch; |
| | | |
| | | /** |
| | | * 库存数量 |
| | | */ |
| | | private BigDecimal stockQty; |
| | | } |
| | | |
| | |
| | | var insTbCount = 0; |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['layer', 'form', 'table', 'util', 'admin', 'laydate'], function () { |
| | | }).use(['layer', 'form', 'table', 'util', 'admin', 'laydate', 'element'], function () { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var form = layui.form; |
| | |
| | | var admin = layui.admin; |
| | | var layDate = layui.laydate; |
| | | var laytpl = layui.laytpl; |
| | | var element = layui.element; |
| | | |
| | | // 渲染搜索模板 |
| | | $.ajax({ |
| | |
| | | { align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 160, width: 160 }, |
| | | { field: 'createTime$', title: '创建时间', minWidth: 200, width: 200 }, |
| | | { field: 'settle$', align: 'center', title: '状态', templet: '#settleTpl', minWidth: 160, width: 160 }, |
| | | { field: 'memo', align: 'center', title: '备注', hide: true } |
| | | { field: 'memo', align: 'center', title: '备注', hide: true }, |
| | | { align: 'center', title: '操作', toolbar: '#operate', width: 180 } |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | |
| | | var offset = $a.offset(); |
| | | var top = offset.top; |
| | | var left = offset.left; |
| | | var hasChangeLog = data.hasChangeLog || false; |
| | | var tabContent = '<div class="layui-tab layui-tab-brief" lay-filter="orderDetailTab">' + |
| | | '<ul class="layui-tab-title">' + |
| | | '<li class="layui-this">单据明细</li>'; |
| | | if (hasChangeLog) { |
| | | tabContent += '<li>业务时间变更记录</li>'; |
| | | } |
| | | tabContent += '</ul>' + |
| | | '<div class="layui-tab-content" style="padding: 10px 0;">' + |
| | | '<div class="layui-tab-item layui-show">' + |
| | | '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>' + |
| | | '</div>'; |
| | | if (hasChangeLog) { |
| | | tabContent += '<div class="layui-tab-item">' + |
| | | '<table id="changeLogTable" lay-filter="changeLogTable"></table>' + |
| | | '</div>'; |
| | | } |
| | | tabContent += '</div></div>'; |
| | | |
| | | layer.open({ |
| | | type: 1, |
| | | title: false, |
| | |
| | | shade: .01, |
| | | shadeClose: true, |
| | | fixed: false, |
| | | content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>', |
| | | content: tabContent, |
| | | success: function (layero) { |
| | | // 渲染单据明细表格 |
| | | table.render({ |
| | | elem: '#lookSSXMTable', |
| | | method: 'POST', |
| | |
| | | }, |
| | | size: '' |
| | | }); |
| | | |
| | | // 标签切换事件 |
| | | var changeLogTableRendered = false; |
| | | element.on('tab(orderDetailTab)', function(elem){ |
| | | if (hasChangeLog && elem.index === 1 && !changeLogTableRendered) { |
| | | // 切换到变更记录标签时才查询(只查询一次) |
| | | changeLogTableRendered = true; |
| | | table.render({ |
| | | elem: '#changeLogTable', |
| | | method: 'POST', |
| | | headers: { token: localStorage.getItem('token') }, |
| | | url: baseUrl + '/orderTimeChangeLog/list/byOrderId/auth', |
| | | where: { |
| | | orderId: data.id |
| | | }, |
| | | page: false, |
| | | cellMinWidth: 100, |
| | | cols: [[ |
| | | { type: 'numbers' }, |
| | | { field: 'oldOrderTime', title: '原业务时间', width: 180 }, |
| | | { field: 'newOrderTime', title: '新业务时间', width: 180 }, |
| | | { field: 'memo', title: '备注', minWidth: 200 }, |
| | | { field: 'createByName', title: '操作人', width: 120 }, |
| | | { field: 'createTime$', title: '变更时间', width: 180 } |
| | | ]], |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data ? res.data.length : 0, |
| | | 'data': res.data || [] |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } else if (layEvent === 'editOrderTime') { |
| | | // 检查是否已月结 |
| | | if (data.monthlySettleId && data.monthlySettleId > 0) { |
| | | layer.msg('该单据已月结,不能修改业务时间', { icon: 2 }); |
| | | return; |
| | | } |
| | | showEditOrderTimeDialog(data); |
| | | } |
| | | }); |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | // 显示修改业务时间弹窗 |
| | | function showEditOrderTimeDialog(data) { |
| | | admin.open({ |
| | | type: 1, |
| | | title: '修改业务时间', |
| | | content: $('#editOrderTimeDialog').html(), |
| | | area: '400px', |
| | | success: function (layero, dIndex) { |
| | | // 回显数据 |
| | | form.val('editOrderTimeForm', { |
| | | id: data.id, |
| | | orderTime: data.orderTime |
| | | }); |
| | | // 初始化业务时间日期选择器(支持选择时分秒) |
| | | layDate.render({ |
| | | elem: '#orderTimeEdit', |
| | | type: 'datetime', |
| | | format: 'yyyy-MM-dd HH:mm:ss', |
| | | value: data.orderTime || '', |
| | | btns: ['clear', 'confirm'], |
| | | ready: function(date){ |
| | | // 确保时分秒选择器显示 |
| | | var layero = this.elem.next(); |
| | | if(layero.length > 0) { |
| | | layero.find('.laydate-time-list').show(); |
| | | } |
| | | } |
| | | }); |
| | | // 表单提交事件 |
| | | form.on('submit(editOrderTimeSubmit)', function (formData) { |
| | | // 前端校验:检查新旧时间是否相同 |
| | | var oldOrderTime = data.orderTime; |
| | | var newOrderTime = formData.field.orderTime; |
| | | if (oldOrderTime && oldOrderTime === newOrderTime) { |
| | | layer.msg('新业务时间与原业务时间相同,无需修改', { icon: 2 }); |
| | | return false; |
| | | } |
| | | layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl + "/order/pakinLog/order/update/orderTime/auth", |
| | | headers: { 'token': localStorage.getItem('token') }, |
| | | data: { |
| | | id: formData.field.id, |
| | | orderTime: formData.field.orderTime, |
| | | memo: formData.field.memo || '' |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll('loading'); |
| | | if (res.code === 200) { |
| | | layer.close(dIndex); |
| | | insTb.reload({ page: { curr: 1 } }); |
| | | layer.msg(res.msg, { icon: 1 }); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg, { icon: 2 }); |
| | | } |
| | | } |
| | | }); |
| | | return false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | layDate.render({ |
| | | elem: '.layui-laydate-range' |
| | | , type: 'datetime' |
| | |
| | | var insTbCount = 0; |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).use(['layer', 'form', 'table', 'util', 'admin', 'laydate'], function () { |
| | | }).use(['layer', 'form', 'table', 'util', 'admin', 'laydate', 'element'], function () { |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var form = layui.form; |
| | |
| | | var admin = layui.admin; |
| | | var layDate = layui.laydate; |
| | | var laytpl = layui.laytpl; |
| | | var element = layui.element; |
| | | |
| | | // 渲染搜索模板 |
| | | $.ajax({ |
| | |
| | | { align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 160, width: 160 }, |
| | | { field: 'createTime$', title: '创建时间', minWidth: 200, width: 200 }, |
| | | { field: 'settle$', align: 'center', title: '状态', templet: '#settleTpl', minWidth: 160, width: 160 }, |
| | | { field: 'memo', align: 'center', title: '备注', hide: true } |
| | | { field: 'memo', align: 'center', title: '备注', hide: true }, |
| | | { align: 'center', title: '操作', toolbar: '#operate', width: 120 } |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | |
| | | var offset = $a.offset(); |
| | | var top = offset.top; |
| | | var left = offset.left; |
| | | var hasChangeLog = data.hasChangeLog || false; |
| | | var tabContent = '<div class="layui-tab layui-tab-brief" lay-filter="orderDetailTab">' + |
| | | '<ul class="layui-tab-title">' + |
| | | '<li class="layui-this">单据明细</li>'; |
| | | if (hasChangeLog) { |
| | | tabContent += '<li>业务时间变更记录</li>'; |
| | | } |
| | | tabContent += '</ul>' + |
| | | '<div class="layui-tab-content" style="padding: 10px 0;">' + |
| | | '<div class="layui-tab-item layui-show">' + |
| | | '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>' + |
| | | '</div>'; |
| | | if (hasChangeLog) { |
| | | tabContent += '<div class="layui-tab-item">' + |
| | | '<table id="changeLogTable" lay-filter="changeLogTable"></table>' + |
| | | '</div>'; |
| | | } |
| | | tabContent += '</div></div>'; |
| | | |
| | | layer.open({ |
| | | type: 1, |
| | | title: false, |
| | |
| | | shade: .01, |
| | | shadeClose: true, |
| | | fixed: false, |
| | | content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>', |
| | | content: tabContent, |
| | | success: function (layero) { |
| | | // 渲染单据明细表格 |
| | | table.render({ |
| | | elem: '#lookSSXMTable', |
| | | method: 'POST', |
| | |
| | | }, |
| | | size: '' |
| | | }); |
| | | |
| | | // 标签切换事件 |
| | | var changeLogTableRendered = false; |
| | | element.on('tab(orderDetailTab)', function(elem){ |
| | | if (hasChangeLog && elem.index === 1 && !changeLogTableRendered) { |
| | | // 切换到变更记录标签时才查询(只查询一次) |
| | | changeLogTableRendered = true; |
| | | table.render({ |
| | | elem: '#changeLogTable', |
| | | method: 'POST', |
| | | headers: { token: localStorage.getItem('token') }, |
| | | url: baseUrl + '/orderTimeChangeLog/list/byOrderId/auth', |
| | | where: { |
| | | orderId: data.id |
| | | }, |
| | | page: false, |
| | | cellMinWidth: 100, |
| | | cols: [[ |
| | | { type: 'numbers' }, |
| | | { field: 'oldOrderTime', title: '原业务时间', width: 180 }, |
| | | { field: 'newOrderTime', title: '新业务时间', width: 180 }, |
| | | { field: 'memo', title: '备注', minWidth: 200 }, |
| | | { field: 'createByName', title: '操作人', width: 120 }, |
| | | { field: 'createTime$', title: '变更时间', width: 180 } |
| | | ]], |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data ? res.data.length : 0, |
| | | 'data': res.data || [] |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } else if (layEvent === 'editOrderTime') { |
| | | // 检查是否已月结 |
| | | if (data.monthlySettleId && data.monthlySettleId > 0) { |
| | | layer.msg('该单据已月结,不能修改业务时间', { icon: 2 }); |
| | | return; |
| | | } |
| | | showEditOrderTimeDialog(data); |
| | | } |
| | | }); |
| | | |
| | |
| | | }) |
| | | } |
| | | |
| | | // 显示修改业务时间弹窗 |
| | | function showEditOrderTimeDialog(data) { |
| | | admin.open({ |
| | | type: 1, |
| | | title: '修改业务时间', |
| | | content: $('#editOrderTimeDialog').html(), |
| | | area: '400px', |
| | | success: function (layero, dIndex) { |
| | | // 回显数据 |
| | | form.val('editOrderTimeForm', { |
| | | id: data.id, |
| | | orderTime: data.orderTime |
| | | }); |
| | | // 初始化业务时间日期选择器(支持选择时分秒) |
| | | layDate.render({ |
| | | elem: '#orderTimeEdit', |
| | | type: 'datetime', |
| | | format: 'yyyy-MM-dd HH:mm:ss', |
| | | value: data.orderTime || '', |
| | | btns: ['clear', 'confirm'], |
| | | ready: function(date){ |
| | | // 确保时分秒选择器显示 |
| | | var layero = this.elem.next(); |
| | | if(layero.length > 0) { |
| | | layero.find('.laydate-time-list').show(); |
| | | } |
| | | } |
| | | }); |
| | | // 表单提交事件 |
| | | form.on('submit(editOrderTimeSubmit)', function (formData) { |
| | | // 前端校验:检查新旧时间是否相同 |
| | | var oldOrderTime = data.orderTime; |
| | | var newOrderTime = formData.field.orderTime; |
| | | if (oldOrderTime && oldOrderTime === newOrderTime) { |
| | | layer.msg('新业务时间与原业务时间相同,无需修改', { icon: 2 }); |
| | | return false; |
| | | } |
| | | layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl + "/order/pakoutLog/order/update/orderTime/auth", |
| | | headers: { 'token': localStorage.getItem('token') }, |
| | | data: { |
| | | id: formData.field.id, |
| | | orderTime: formData.field.orderTime, |
| | | memo: formData.field.memo || '' |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.closeAll('loading'); |
| | | if (res.code === 200) { |
| | | layer.close(dIndex); |
| | | insTb.reload({ page: { curr: 1 } }); |
| | | layer.msg(res.msg, { icon: 1 }); |
| | | } else if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } else { |
| | | layer.msg(res.msg, { icon: 2 }); |
| | | } |
| | | } |
| | | }); |
| | | return false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | layDate.render({ |
| | | elem: '.layui-laydate-range' |
| | | , type: 'datetime' |
| | |
| | | </a> |
| | | </span> |
| | | </script> |
| | | <!-- 操作列 --> |
| | | <script type="text/html" id="operate"> |
| | | {{# if(!d.monthlySettleId || d.monthlySettleId == 0){ }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="editOrderTime">修改业务时间</a> |
| | | {{# } }} |
| | | </script> |
| | | <script type="text/html" id="orderNoTpl"> |
| | | {{d.orderNo}} |
| | | {{# if(d.settle > 1 && d.settle !== 3){ }} |
| | |
| | | <option value="{{docId}}">{{docName}}</option> |
| | | {{/each}} |
| | | </script> |
| | | <!-- 修改业务时间弹窗 --> |
| | | <script type="text/html" id="editOrderTimeDialog"> |
| | | <form id="editOrderTimeForm" lay-filter="editOrderTimeForm" class="layui-form model-form"> |
| | | <input name="id" type="hidden"/> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">业务时间:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="orderTimeEdit" name="orderTime" placeholder="选择业务时间" type="text" class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">变更备注:</label> |
| | | <div class="layui-input-block"> |
| | | <textarea name="memo" placeholder="请输入变更备注(可选)" class="layui-textarea" rows="3"></textarea> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button> |
| | | <button class="layui-btn" lay-filter="editOrderTimeSubmit" lay-submit>保存</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |
| | |
| | | </a> |
| | | </span> |
| | | </script> |
| | | <!-- 操作列 --> |
| | | <script type="text/html" id="operate"> |
| | | {{# if(!d.monthlySettleId || d.monthlySettleId == 0){ }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="editOrderTime">修改业务时间</a> |
| | | {{# } }} |
| | | </script> |
| | | <script type="text/html" id="orderNoTpl"> |
| | | {{d.orderNo}} |
| | | {{# if(d.settle > 1 && d.settle !== 3){ }} |
| | |
| | | <option value="{{docId}}">{{docName}}</option> |
| | | {{/each}} |
| | | </script> |
| | | <!-- 修改业务时间弹窗 --> |
| | | <script type="text/html" id="editOrderTimeDialog"> |
| | | <form id="editOrderTimeForm" lay-filter="editOrderTimeForm" class="layui-form model-form"> |
| | | <input name="id" type="hidden"/> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">业务时间:</label> |
| | | <div class="layui-input-block"> |
| | | <input id="orderTimeEdit" name="orderTime" placeholder="选择业务时间" type="text" class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">变更备注:</label> |
| | | <div class="layui-input-block"> |
| | | <textarea name="memo" placeholder="请输入变更备注(可选)" class="layui-textarea" rows="3"></textarea> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item text-right"> |
| | | <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button> |
| | | <button class="layui-btn" lay-filter="editOrderTimeSubmit" lay-submit>保存</button> |
| | | </div> |
| | | </form> |
| | | </script> |
| | | </body> |
| | | |
| | | </html> |