提交 7d5a22e2 编写于 作者: L lsh

增加结算账户互转

上级 f1f9562e
#(token)
<input type="hidden" name="id" value="#(transferOrder.id??)">
<input type="hidden" name="order_status" value="#(transferOrder.order_status??OrderStatusEnum.normal.value)">
<div class="row">
<div class="col-6">
<div class="input-group mb-3">
<span class="input-group-text">转出账户<span class="text-danger">*</span></span>
#if(transferOrder)
<input type="hidden" name="out_account_id" id="transferOrder_out_account_id" value="#(transferOrder.out_account_id)" >
<input type="text" value="#(transferOrder.outBalanceAccount.name??)" readonly class="form-control input-readonly">
#else
<select class="form-select" name="out_account_id" id="transferOrder_out_account_id">
#for(x : balanceAccountPage.list)
#if(for.first)
#set(firstAccount = x)
#end
<option value="#(x.id)" #if(transferOrder && transferOrder.out_account_id == x.id) selected #end>#(x.name)</option>
#end
</select>
#end
</div>
</div>
<div class="col">
<div class="input-group mb-3">
<span class="input-group-text">转出日期<span class="text-danger">*</span></span>
<input type="text" class="form-control" onClick="WdatePicker({el:this})" readonly name="out_time" id="transferOrder_out_time" #if(transferOrder) value="#date(transferOrder.out_time??, "yyyy-MM-dd")" #else value="#date(DateUtil.currentTime, "yyyy-MM-dd")" #end >
</div>
</div>
</div>
<div class="row">
<div class="col-6">
<div class="input-group mb-3">
<span class="input-group-text">转入账户<span class="text-danger">*</span></span>
#if(transferOrder)
<input type="hidden" name="in_account_id" id="transferOrder_in_account_id" value="#(transferOrder.in_account_id)" >
<input type="text" value="#(transferOrder.inBalanceAccount.name??)" readonly class="form-control input-readonly">
#else
<select class="form-select" name="in_account_id" id="transferOrder_in_account_id">
#for(x : balanceAccountPage.list)
#if(for.first)
#set(firstAccount = x)
#end
<option value="#(x.id)" #if(transferOrder && transferOrder.in_account_id == x.id) selected #end>#(x.name)</option>
#end
</select>
#end
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="input-group mb-3">
<span class="input-group-text">到帐日期<span class="text-danger">*</span></span>
<input type="text" class="form-control" onClick="WdatePicker({el:this})" readonly name="in_time" id="transferOrder_in_time" #if(transferOrder) value="#date(transferOrder.in_time??, "yyyy-MM-dd")" #else value="#date(DateUtil.currentTime, "yyyy-MM-dd")" #end >
</div>
</div>
<div class="col">
<div class="input-group">
<span class="input-group-text">经手人</span>
<input type="hidden" name="handler_id" value="#(transferOrder.handler_id??)">
<input type="text" class="form-control" placeholder="选择经手人" name="handler_keyword" value="#(transferOrder.handler.real_name??)" autocomplete="off" >
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="input-group mb-3">
<span class="input-group-text">转账金额<span class="text-danger">*</span></span> <input type="text" maxlength="10" class="form-control" placeholder="请输入转账金额" name="amount" id="transferOrder_amount" value="#(transferOrder.amount??)" onclick="$(this).select();">
</div>
</div>
<div class="col">
<div class="input-group mb-3">
<span class="input-group-text">手续费</span> <input type="text" class="form-control" maxlength="6" placeholder="请输入手续费" name="fee" id="transferOrder_fee" value="#(transferOrder.fee??)" onclick="$(this).select();">
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="input-group mb-3">
<span class="input-group-text">手续费支付方<span class="text-danger">*</span></span>
<select class="form-select" name="fee_pay_account" id="transferOrder_fee_pay_account">
<option value="#(FeePayAccountEnum.out.value)" #if(transferOrder && transferOrder.fee_pay_account == FeePayAccountEnum.out.value) selected #end>转出账户支付</option>
<option value="#(FeePayAccountEnum.in.value)" #if(transferOrder && transferOrder.fee_pay_account == FeePayAccountEnum.in.value) selected #end>转入账户支付</option>
</select>
</div>
</div>
<div class="col">
<div class="input-group mb-3">
<span class="input-group-text">备注</span>
<input type="text" class="form-control" placeholder="请输入备注说明" maxlength="100" name="remark" id="transferOrder_remark" value="#(transferOrder.remark??)" onclick="$(this).select();">
</div>
</div>
</div>
<div class="row">
</div>
<script type="application/javascript">
transferOrder.handlerList = function(formId) {
var inputKeyword = $(formId).find("input[name=handler_keyword]").first();
var inputId = $(formId).find("input[name=handler_id]").first();
beekit.autocomplete(inputKeyword, "/setting/tenant/admin/listByJson", inputId);
};
transferOrder.formChecking = function() {
if($.trim($("#transferOrder_out_account_id").val()) == '') {
beekit.tips('转出账户不能为空!', '#transferOrder_out_account_id');
$("#transferOrder_out_account_id").focus();
return false;
}
if($.trim($("#transferOrder_out_time").val()) == '') {
beekit.tips('转出日期不能为空!', '#transferOrder_out_time');
$("#transferOrder_out_time").focus();
return false;
}
if($.trim($("#transferOrder_in_account_id").val()) == '') {
beekit.tips('转入账户不能为空!', '#transferOrder_in_account_id');
$("#transferOrder_in_account_id").focus();
return false;
}
if($("#transferOrder_out_account_id").val() == $("#transferOrder_in_account_id").val()) {
beekit.tips('转入转出账户不能相同!', '#transferOrder_out_account_id');
$("#transferOrder_out_account_id").focus();
return false;
}
if($.trim($("#transferOrder_in_time").val()) == '') {
beekit.tips('转出日期不能为空!', '#transferOrder_in_time');
$("#transferOrder_in_time").focus();
return false;
}
if($.trim($("#transferOrder_amount").val()) == '') {
beekit.tips('转账金额不能为空!', '#transferOrder_amount');
$("#transferOrder_amount").focus();
$("#transferOrder_amount").select();
return false;
}
if(!formValidator.checkPositiveNumber($("#transferOrder_amount").val())) {
beekit.tips('转账金额格式不正确!', '#transferOrder_amount');
$("#transferOrder_amount").focus();
$("#transferOrder_amount").select();
return false;
}
if($.trim($("#transferOrder_fee").val()) != '' && !formValidator.checkPositiveNumber($("#transferOrder_fee").val())) {
beekit.tips('手续费格式不正确!', '#transferOrder_fee');
$("#transferOrder_fee").focus();
$("#transferOrder_fee").select();
return false;
}
return true;
};
</script>
\ No newline at end of file
<div class="modal-dialog modal-dialog-scrollable modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">新增转账单</h6>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form id="transferOrder-add-form" onsubmit="transferOrder.create();return false;">
#include("_form.html")
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" aria-label="Close">关闭</button>
<button type="button" class="btn btn-primary" onclick="transferOrder.create();">保存</button>
</div>
</div>
</div>
<script type="application/javascript">
$(function() {
// 初始化bootstrap相关组件
common.initBootstrap();
var formId = "#transferOrder-add-form";
setTimeout(function() {
$("#transferOrder_name").focus();
transferOrder.handlerList(formId);
formInput.listenkeyUp(formId);
}, 500);
});
transferOrder.create = function() {
var result = transferOrder.formChecking();
if(!result) {
return;
}
beekit.ajaxPost("/fund/account/transfer/create", $("#transferOrder-add-form").serialize(), function(ret) {
common.processRequestResult(ret, function(ret) {
beekit.msg(ret);
if (ret.state == "ok") {
beekit.modalClose();
transferOrder.list(ret.targetId);
}
});
});
};
</script>
<div class="modal-dialog modal-dialog-scrollable modal-dialog-centered modal-lg">
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">编辑转账单</h6>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form id="transferOrder-edit-form" onsubmit="transferOrder.update();return false;">
#include("_form.html")
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" aria-label="Close">关闭</button>
<button type="button" class="btn btn-primary" onclick="transferOrder.update();">保存</button>
</div>
</div>
</div>
<script type="application/javascript">
$(function() {
// 初始化bootstrap相关组件
common.initBootstrap();
var formId = "#transferOrder-edit-form";
setTimeout(function() {
transferOrder.handlerList(formId);
formInput.listenkeyUp(formId);
}, 500);
});
transferOrder.update = function() {
var result = transferOrder.formChecking();
if(!result) {
return;
}
beekit.ajaxPost("/fund/account/transfer/update", $("#transferOrder-edit-form").serialize(), function(ret) {
common.processRequestResult(ret, function(ret) {
beekit.msg(ret);
if (ret.state == "ok") {
beekit.modalClose();
transferOrder.list(#(transferOrder.id));
}
});
});
};
</script>
<div class="card mb-2">
<div class="card-body search-form">
<form id="transferOrder-search-form">
<input type="hidden" id="transferOrder_pageNumber" name="pageNumber">
<div class="row align-items-center">
<div class="col-2">
#if(session.hasOper(Permissions.fund_account_transfer_create))
<button type="button" class="btn btn-sm btn-primary" onclick="transferOrder.add();">
<i class="bi bi-plus-circle"></i>新增转账单
</button>
#end
</div>
<div class="col-7">
<div class="row align-items-center">
<div class="col-5">
<input type="hidden" id="transferOrder_search_start_time" name="start_time">
<input type="hidden" id="transferOrder_search_end_time" name="end_time">
<div class="btn-group" role="group">
<input type="radio" class="btn-check" name="order_time_btn" id="order_time_preday" value="1" autocomplete="off">
<label class="btn btn-outline-primary" for="order_time_preday">昨日</label>
<input type="radio" class="btn-check" name="order_time_btn" id="order_time_today" value="2" autocomplete="off">
<label class="btn btn-outline-primary" for="order_time_today">今日</label>
<input type="radio" class="btn-check" name="order_time_btn" id="order_time_month" value="3" autocomplete="off">
<label class="btn btn-outline-primary" for="order_time_month">本月</label>
<input type="radio" class="btn-check" name="order_time_btn" id="order_time_premonth" value="4" autocomplete="off">
<label class="btn btn-outline-primary" for="order_time_premonth">上月</label>
<input type="radio" class="btn-check" name="order_time_btn" id="order_time_year" value="5" autocomplete="off">
<label class="btn btn-outline-primary" for="order_time_year">本年</label>
</div>
</div>
<div class="col-3">
<select class="form-select" name="out_account_id" id="transferOrder_search_out_account_id">
<option value="">转出账户</option>
#for(x : balanceAccountPage.list)
<option value="#(x.id)">#(x.name)</option>
#end
</select>
</div>
<div class="col-3">
<select class="form-select" name="in_account_id" id="transferOrder_search_in_account_id">
<option value="">转入账户</option>
#for(x : balanceAccountPage.list)
<option value="#(x.id)">#(x.name)</option>
#end
</select>
</div>
</div>
</div>
<div class="col-2">
<input type="text" class="form-control" placeholder="单据编号/备注" name="keyword" onclick="$(this).select();">
</div>
<div class="col-1 align-self-center">
<button type="submit" class="btn btn-sm btn-primary" onclick="transferOrder.search(this);">
<i class="bi bi-search"></i>搜索
</button>
</div>
</div>
</form>
</div>
</div>
<div id="data-list-transferOrder"></div>
<script type="application/javascript">
var transferOrder = {};
$(function() {
// 初始化bootstrap相关组件
common.initBootstrap();
// 加载列表
transferOrder.list();
$('#transferOrder-search-form input[name=order_time_btn]').on('click', function() {
var timeType = $(this).val();
var times = datetime.getFormatTime(timeType);
$("#transferOrder_search_start_time").val(times.startTime);
$("#transferOrder_search_end_time").val(times.endTime);
transferOrder.list();
});
$('#transferOrder_search_out_account_id').on('change', function() {
transferOrder.list();
});
$('#transferOrder_search_in_account_id').on('change', function() {
transferOrder.list();
});
});
transferOrder.list = function(targetId, callback) {
var hideDisableFlag = $("#transferOrder_hide_disable_flag").prop("checked");
if(typeof(hideDisableFlag) == 'undefined') {
hideDisableFlag = true;
}
$("#transferOrder_pageNumber").val(1);
beekit.ajaxFillPage("/fund/account/transfer/list?hide_disable_flag="+hideDisableFlag, "#transferOrder-search-form", "#data-list-transferOrder" ,"transferOrder-data-"+targetId, callback);
};
transferOrder.add = function() {
beekit.modal("/fund/account/transfer/add");
};
transferOrder.search = function(othis) {
common.loadingSearch(othis);
transferOrder.list("", function(ret) {
common.restoreSearch(othis);
});
};
</script>
<div class="card card-table mb-1">
<div class="card-body page-body">
<div class="row align-items-center oper-list">
<div class="col-5"></div>
<div class="col">
#if(page.totalPage > 1)
<div class="float-end">#@paginate(page.pageNumber, page.totalPage, "")</div>
#end
<div class="float-end me-3 mt-1">
<input class="form-check-input" type="checkbox" name="hide_disable_flag" id="transferOrder_hide_disable_flag" #if(hideDisableFlag) checked #end onclick="transferOrder.list();">
<label class="form-check-label" for="transferOrder_hide_disable_flag"> 隐藏作废单据</label>
</div>
</div>
</div>
</div>
</div>
<table class="table table-hover table-bordered bg-white">
<thead>
<tr class="table-header">
<th>单据编号</th>
<th>转出账户</th>
<th>转入账户</th>
<th>到账日期</th>
<th>金额</th>
<th>手续费</th>
<th>手续费支付方</th>
<th>备注</th>
<th style="width: 13%">操作</th>
</tr>
</thead>
<tbody class="table-row" id="transferOrder-list">
#for (x : page.getList())
<tr data-id="#(x.id)" id="transferOrder-data-#(x.id)" #if(x.order_status == OrderStatusEnum.disable.value) class="disable-order" #end>
<td>#(x.order_code)</td>
<td>#(x.outBalanceAccount.name)</td>
<td>#(x.inBalanceAccount.name)</td>
<td>#date(x.in_time, "yyyy-MM-dd HH:mm:ss")</td>
<td><span class="text-danger">#(x.amount)</span></td>
<td>#(x.fee)</td>
<td>
#if(x.fee_pay_account == FeePayAccountEnum.out.value)
#(FeePayAccountEnum.out.name)
#else
#(FeePayAccountEnum.in.name)
#end
</td>
<td>#(x.remark??)</td>
<td>
#if(x.order_status == OrderStatusEnum.disable.value)
<span class="text-decoration-line-through">已作废</span>
#else
#if(session.hasOper(Permissions.fund_account_transfer_update))
<button type="button" class="btn btn-sm sm-more btn-outline-primary" onclick="transferOrder.edit(#(x.id));">修改</button>
#end
#if(session.hasOper(Permissions.fund_account_transfer_disable))
#if(x.order_status == OrderStatusEnum.normal.value)
<button type="button" class="btn btn-sm sm-more btn-outline-danger" onclick="transferOrder.disable(#(x.id));">作废</button>
#end
#end
#end
</td>
</tr>
#end
</tbody>
</table>
<script type="application/javascript">
$(function() {
// 初始化bootstrap相关组件
common.initBootstrap();
// 滚动表头处理
common.tableFixedWidth();
common.tableFixed();
$(".main").scroll(function() {
common.tableFixed();
});
$("#transferOrder_pageNumber").val(#(page.pageNumber));
$("#transferOrder-list tr").on("dblclick", function() {
transferOrder.show($(this).attr("data-id"));
});
});
transferOrder.show = function(id) {
beekit.offcanvas("/fund/account/transfer/show?id="+id);
};
transferOrder.edit = function(id) {
beekit.offcanvasClose();
beekit.modal("/fund/account/transfer/edit?id="+id);
};
transferOrder.delete = function(id) {
beekit.focusColor("transferOrder-data-"+id);
beekit.confirmByUrl("/fund/account/transfer/delete", {"id":id}, "确认要删除此转账单吗?", function(ret) {
beekit.msg(ret);
beekit.offcanvasClose();
transferOrder.list();
});
};
transferOrder.disable = function(id) {
beekit.confirmByUrl("/fund/account/transfer/disable", {"id":id}, "确认要作废此转账单吗?", function(ret) {
common.processRequestResult(ret, function(ret) {
beekit.msg(ret);
beekit.offcanvasClose();
transferOrder.list(id);
});
});
};
</script>
<div class="offcanvas-header">
<h6 class="text-white">
<i class="bi bi-grid"></i>转账单详情
</h6>
<i class="bi bi-x-square-fill" style="font-size: 1.5rem; color: #ffffff; cursor: pointer;" data-bs-dismiss="offcanvas" aria-label="Close"></i>
</div>
<div class="offcanvas-body pt-1">
<div class="card">
<div class="card-body" style="padding: 0.5rem 0.5rem;">
<div class="row align-items-center">
<div class="col">
#if(transferOrder.order_status == OrderStatusEnum.normal.value || transferOrder.order_status == OrderStatusEnum.draft.value)
#if(session.hasOper(Permissions.fund_account_transfer_update))
<button type="button" class="btn btn-sm btn-outline-primary" onclick="transferOrder.edit(#(transferOrder.id));">
<i class="bi bi-pencil-square"></i>修改
</button>
#end
&nbsp;
#end
#if(transferOrder.order_status == OrderStatusEnum.normal.value)
#if(session.hasOper(Permissions.fund_account_transfer_disable))
<button type="button" class="btn btn-sm btn-outline-danger" onclick="transferOrder.disable(#(transferOrder.id));">
<i class="bi bi-trash"></i>作废
</button>
#end
#end
</div>
#if(transferOrder.order_status == OrderStatusEnum.disable.value)
<img src="#(resourceDomain)/img/disable.png" class="order-status-pic">
#end
</div>
</div>
</div>
<div class="card mt-2">
<div class="card-body" style="padding: 1rem 1rem;">
<div class="row">
<div class="col-3">
<span class="text-secondary">单据编号:</span><span>#(transferOrder.order_code)</span>
</div>
<div class="col-3">
<span class="text-secondary">经手人:</span><span>#(transferOrder.handler.real_name??)</span>
</div>
<div class="col-3">
<span class="text-secondary">制单人:</span><span>#(transferOrder.makeMan.real_name??)</span>
</div>
</div>
<hr class="row-hr" />
<div class="row">
<div class="col-3">
<span class="text-secondary">转出账户:</span><span>#(transferOrder.outBalanceAccount.name??)</span>
</div>
<div class="col-3">
<span class="text-secondary">转入账户:</span><span>#(transferOrder.inBalanceAccount.name??)</span>
</div>
<div class="col-3">
<span class="text-secondary">转账金额:</span><span class="text-danger fw-bold">#number(transferOrder.amount, "#.##")</span>
</div>
<div class="col-3">
<span class="text-secondary">手续费:</span><span class="text-danger fw-bold">#number(transferOrder.fee??0, "#.##")</span>
#if(transferOrder.fee && transferOrder.fee > 0)
#if(transferOrder.fee_pay_account == FeePayAccountEnum.out.value)
<span>(转出账户支付)</span>
#elseif(transferOrder.fee_pay_account == FeePayAccountEnum.in.value)
<span>(转入账户支付)</span>
#end
#end
</div>
</div>
<hr class="row-hr" />
<div class="row">
<div class="col-3">
<span class="text-secondary">转出时间:</span><span>#date(transferOrder.out_time, "yyyy-MM-dd HH:mm:ss")</span>
</div>
<div class="col-3">
<span class="text-secondary">到账时间:</span><span>#date(transferOrder.in_time, "yyyy-MM-dd HH:mm:ss")</span>
</div>
<div class="col-3">
<span class="text-secondary">制单时间:</span><span>#date(transferOrder.created_at, "yyyy-MM-dd HH:mm:ss")</span>
</div>
<div class="col-3">
<span class="text-secondary">最近修改:</span><span>#date(transferOrder.updated_at, "yyyy-MM-dd HH:mm:ss")</span>
</div>
</div>
#if(transferOrder.auditConfigFlag)
<hr class="row-hr" />
<div class="row">
<div class="col-3">
<span class="text-secondary">审核状态:</span>
#if(transferOrder.audit_status == AuditStatusEnum.waiting.value)
<span class="badge bg-warning">待审核</span>
#elseif(transferOrder.audit_status == AuditStatusEnum.pass.value)
<span class="badge bg-success">审核通过</span>
#elseif(transferOrder.audit_status == AuditStatusEnum.reject.value)
<span class="badge bg-danger">审核拒绝</span>
#end
</div>
<div class="col-3">
<span class="text-secondary">审核人:</span><span>#(transferOrder.auditor.real_name??)</span>
</div>
<div class="col-3">
<span class="text-secondary">审核时间:</span><span>#date(transferOrder.audit_time, "yyyy-MM-dd HH:mm:ss")</span>
</div>
<div class="col-3">
<span class="text-secondary">审核反馈:</span><span>#(transferOrder.audit_desc)</span>
</div>
</div>
#end
<hr class="row-hr" />
<div class="row">
<div class="col">
<span class="text-secondary">备注:</span><span>#(transferOrder.remark??)</span>
</div>
</div>
</div>
</div>
</div>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册