| | |
| | | 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' |