dongfeng-pay/boss/views/road_pool.html

666 lines
20 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>管理后台</title>
<link rel="stylesheet" type="text/css" href="../static/css/basic.css">
<script src="../static/js/filter.js"></script>
<style type="text/css">
.road-pool-record, .edit-road-pool {
overflow-x: hidden;
}
.add-road-pool-button {
margin-bottom: 10px;
}
.edit-road-pool {
margin-top: 20px;
}
.edit-road-pool span {
display: inline-block;
width: 120px;
}
.modal-body-road-pool div {
margin-bottom: 20px;
}
.road-pool-name-error,
.road-pool-code-error {
color: red;
margin-left: 10px;
}
.edit-road-search {
border-bottom: 1px solid #e7e7e7;
margin-bottom: 10px;
}
.edit-road-search div {
display: inline-block;
margin-right: 20px;
margin-bottom: 10px;
}
.all-choose, .all-not-choose {
display: inline-block;
text-align: center;
width: 50px;
height: 30px;
line-height: 30px;
border: 1px solid #ccc;
border-radius: 3px;
font-weight: normal;
margin-bottom: 5px;
}
.all-choose:hover, .all-not-choose:hover {
cursor: pointer;
background-color: #e7e7e7;
}
#choose-road-table-body th {
height: 30px;
}
.current_total_page span, .current_total_page span{
width: 10px;
}
.road-footer {
width: 86%;
position: fixed;
float: left;
bottom: 30px;
left: 14%;
height: 30px;
border: 1px solid #e7e7e7;
background-color: white;
box-sizing: border-box;
}
.road-footer .road-cannel-button, .road-footer .road-save-button {
display: inline-block;
margin-right: 15px;
margin-left: 5px;
width: 50px;
height: 28px;
border: 1px solid #e7e7e7;
box-sizing: border-box;
text-align: center;
line-height: 28px;
border-radius: 2px;
}
.road-cannel-button:hover, .road-save-button:hover {
cursor: pointer;
background-color: #e7e7e7;
}
.cut_page {
margin-bottom: 30px;
}
</style>
</head>
<body>
<div class="road-pool-record">
<div class="search">
<div>
<span>通道池名称</span>
<input type="text" class="road-pool-name-search" value="" placeholder="模糊匹配">
</div>
<div>
<span>通道池编号</span>
<input type="text" class="product-pool-name-search" value="" placeholder="模糊匹配">
</div>
<div>
<button type="button" class="btn btn-default road-pool-search">搜索</button>
</div>
</div>
<button type="button" class="btn btn-default btn-xs glyphicon glyphicon-plus add-road-pool-button">添加通道池</button>
<div class="menu-table">
<table>
<thead class="thead-dark">
<tr>
<th>序列号</th>
<th>通道池名称</th>
<th>通道池编号</th>
<th>状态</th>
<th>通道池</th>
<th>操作</th>
</tr>
</thead>
<tbody id="road-pool-table-body">
</tbody>
</table>
</div>
<!-- 分页插件 -->
<div class="cut_page">
<li>
每页显示
<select id="display_count">
<option value="4">4</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
</li>
<li class="current_total_page"><span class="current_page">0</span>/<span class="total_page">0</span></li>
<li class="pre_page">上一页</li>
<li class="next_page">下一页</li>
<li class="jump_page">跳转 <input type="text" name="jump_page" value=""> <button type="button" class="btn btn-default">Go</button></li>
</div>
</div>
<div class="edit-road-pool">
<input type="hidden" value="" class="road-pool-code-hide">
<div class="edit-road-search">
<div>
通道名称
<input type="text" class="road-name-search" value="" placeholder="模糊匹配">
</div>
<div>
产品名称
<input type="text" class="road-product-name-search" value="" placeholder="模糊匹配">
</div>
<div>
支付类型
<input type="text" class="road-pay-type-search" value="">
</div>
<div>
<button type="button" class="btn btn-default edit-road-search-button">搜索</button>
</div>
</div>
<div class="menu-table">
<table>
<thead class="thead-dark">
<tr>
<th><input type="checkbox" id="controller-all-checkbox"></th>
<th>序列号</th>
<th>通道名称</th>
<th>产品名称</th>
<th>支付类型</th>
<th>成本汇率</th>
<th>状态</th>
<th>通道总额度</th>
<th>每天限额</th>
<th>单笔区间</th>
<th>开放时间段</th>
<th>总流水</th>
<th>今日流水</th>
<th>总利润</th>
<th>今日利润</th>
<th>成功数/请求数</th>
<th hidden="hidden">通道uid</th>
</tr>
</thead>
<tbody id="choose-road-table-body">
</tbody>
</table>
</div>
<!-- 分页插件 -->
<div class="cut_page">
<li>
每页显示
<select id="display_count_1">
<option value="20">20</option>
<option value="30">30</option>
<option value="50">50</option>
<option value="100">100</option>
</select>
</li>
<li class="current_total_page"><span class="current_page" id="current_page">0</span>/<span class="total_page" id="total_page">0</span></li>
<li class="pre_page">上一页</li>
<li class="next_page">下一页</li>
<li class="jump_page">跳转 <input type="text" id="jump_page" value=""> <button type="button" class="btn btn-default">Go</button></li>
</div>
<div class="road-footer">
<word class="road-cannel-button">取消</word>
<word class="road-save-button">保存</word>
</div>
</div>
<!-- 模态框 -->
<div class="modal fade" id="roadPoolModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" data-keyboard="false" data-backdrop="static">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="addroadPoolButton">添加通道池</h4>
</div>
<div class="modal-body modal-body-road-pool">
<div>
<span>通道池名称</span>
<input type="text" value="" placeholder="" class="road-pool-name">
<span class="road-pool-name-error"></span>
</div>
<div>
<span>通道池编号</span>
<input type="text" value="" class="road-pool-code">
<span class="road-pool-code-error"></span>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default cancel-road-pool" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-primary save-road-pool">保存</button>
</div>
</div>
</div>
</div>
<script>
//定义一个全局变量保存当前所有操作的通道uid
var roadUid = [];
//保存前端操作删除的通道uid
var deleteRoadUid = [];
$(function() {
$(".road-pool-code-hide").val("");
$(".edit-road-pool").hide();
showRoadPoolRecord(getRoadPoolCutPagevalues());
});
$(".add-road-pool-button").click(function() {
$(".road-pool-name").val("");
$(".road-pool-code").val("");
$(".road-pool-name-error").html("");
$(".road-pool-code-error").html("");
$("#roadPoolModal").modal();
});
$(".save-road-pool").click(function() {
let roadPoolName = $(".road-pool-name").val();
let roadPoolCode = $(".road-pool-code").val();
$.ajax({
url: "/add/roadPool",
data: {
"roadPoolName":roadPoolName,
"roadPoolCode":roadPoolCode
},
success: function(res) {
if (res.Code == 404) {
window.parent.location = "/login.html";
} else if (res.Code != 200) {
alert(res.Msg);
} else {
alert("添加通道池成功");
$(".cancel-road-pool").trigger("click");
showRoadPoolRecord(getRoadPoolCutPagevalues());
}
}
});
});
function showRoadPoolRecord(dataJSON) {
// let dataJSON = getRoadCutPagevalues();
$.ajax({
url: "/get/roadPool",
data: dataJSON,
success: function(res) {
if (res.Code == 404) {
window.parent.location = "/login.html";
} else if (res.Code != 200) {
} else {
$(".current_page").html(res.CurrentPage);
$(".total_page").html(res.TotalPage);
$("#display_count option").each(function() {
if ($(this).text() == res.DisplayCount) {
$(this).attr('selected', true);
}
});
$(".jump_page input").val("");
let str = "";
for (let i = 0; i < res.RoadPoolInfoList.length; i ++) {
let v = res.RoadPoolInfoList[i];
let tmp = "<tr>" + "<th>" + (res.StartIndex+i+1) + "</th>" +
"<th>" + v.RoadPoolName + "</th>" + "<th>" + v.RoadPoolCode + "</th>" +
"<th>" + v.Status + "</th>" +"<th>" +
'<button type="button" value="' + v.RoadPoolCode +'" class="btn btn-default" onclick="editRoadPool(this.value);"><span>配置通道</span></button>' +
"</th>";
tmp = tmp.replace("unactive", "冻结").replace("active", "激活");
tmp = tmp + "<th>" + '<div class="btn-group" role="group" aria-label="...">' +
'<button type="button" value="' + v.RoadPoolCode +'" class="btn btn-default" onclick="deleteRoadPool(this.value);"><span class="glyphicon glyphicon-trash"></span></button>' +
'</div>' + "</th>" + "</tr>";
str = str + tmp;
}
$("#road-pool-table-body").html(str);
}
},
error: function() {
alert("系统异常,请稍后再试");
}
});
}
function showRoadRecordList(dataJSON) {
$.ajax({
url: "/get/road",
data: dataJSON,
success: function(res) {
if (res.Code == 404) {
window.parent.location = "/login.html";
} else if (res.Code != 200) {
alert("系统异常,请稍后再试");
} else {
$(".road-name-search").val("");
$("#current_page").html(res.CurrentPage);
$("#total_page").html(res.TotalPage);
$("#display_count_1 option").each(function() {
if ($(this).text() == res.DisplayCount) {
$(this).attr('selected', true);
}
});
$("#jump_page").val("");
$(".road-name-search").val("");
$(".road-product-name-search").val("");
$(".road-pay-type-search").val("");
let str = "";
for (let i = 0; i < res.RoadInfoList.length; i ++) {
let v = res.RoadInfoList[i];
let tmp = "<tr>" + "<th>" + '<input type="checkbox">' + "</th>" +
"<th>" + (res.StartIndex+i+1) + "</th>" +
"<th>" + v.RoadName + "</th>" + "<th>" + v.ProductName + "</th>" +
"<th>" + v.PayType + "</th>" + "<th>" + v.BasicFee + "</th>" +
"<th>" + v.Status + "</th>" + "<th>" + v.TotalLimit + "</th>" +
"<th>" + v.TodayLimit + "</th>" + "<th>" + v.SingleMinLimit + "-" + v.SingleMaxLimit + "</th>" +
"<th>" + v.StarHour + "-" + v.EndHour + "</th>" + "<th>" + v.TotalIncome + "</th>" +
"<th>" + v.TodayIncome + "</th>" + "<th>" + v.TotalProfit + "</th>" +
"<th>" + v.TodayProfit + "</th>" + "<th>" + v.RequestSuccess + "/" + v.RequestAll + "</th>" +
"<th hidden='hidden'>" + v.RoadUid + "</th>";
tmp = tmp.replace("unactive", "冻结").replace("active", "激活");
str = str + tmp;
}
$("#choose-road-table-body").html(str);
signCheckbox(res.RoadPool);
}
},
error: function(res) {
alert("系统异常,请稍后再试");
}
});
}
function getRoadListCutPageValues() {
let displayCount = $("#display_count_1").val();
let currentPage = $("#current_page").html();
let totalPage = $("#total_page").html();
let jumpPage = $("#jump_page").val();
let roadName = $(".road-name-search").val();
let productName = $(".road-product-name-search").val();
let payType = $(".road-pay-type-search").val();
let roadPoolCode = $(".road-pool-code-hide").val();
return {
"displayCount":displayCount,
"currentPage":currentPage,
"totalPage":totalPage,
"jumpPage":jumpPage,
"roadName":roadName,
"productName":productName,
"payType":payType,
"roadPoolCode":roadPoolCode
};
}
function getRoadPoolCutPagevalues() {
let displayCount = $("#display_count").val();
let currentPage = $(".current_page").html();
let totalPage = $(".total_page").html();
let jumpPage = $(".jump_page input").val();
let roadPoolName = $(".road-pool-name-search").val();
let roadPoolCode = $(".product-pool-name-search").val();
return dataJSON = {
"roadPoolName":roadPoolName,
"roadPoolCode":roadPoolCode,
"displayCount":displayCount,
"currentPage":currentPage,
"totalPage":totalPage,
"jumpPage":jumpPage
};
}
function editRoadPool(roadPoolCode) {
//每次进来,清空数组
roadUid = [];
deleteRoadUid = [];
$("#jump_page").val("");
$(".road-pool-code-hide").val(roadPoolCode);
$(".edit-road-pool").show();
$(".road-pool-record").hide();
let dataJSON = getRoadListCutPageValues();
showRoadRecordList(dataJSON);
}
function deleteRoadPool(roadPoolCode) {
if (!window.confirm("是否确认删除该项?")) {
return false;
}
$.ajax({
url: "/delete/roadPool",
data:{
"roadPoolCode":roadPoolCode
},
success: function(res) {
if (res.Code == 404) {
window.parent.location = "/login.html";
} else if (res.Code != 200) {
} else {
alert("删除成功");
showRoadPoolRecord(getRoadPoolCutPagevalues());
}
}
});
}
//给数组绑定一个删除remove函数
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
//去重函数
function unique(uid) {
for (let i = 0; i < roadUid.length; i ++) {
if (roadUid[i] == uid) {
return true;
}
}
return false;
}
//将去重后的uid加入roadUid数组中
function PushUid(uid) {
if (!unique(uid)) {
roadUid.push(uid);
}
}
//判断uid是否存在deleteRoadUid
function ExistDeleteRoadUid(uid) {
for (let i = 0; i < deleteRoadUid.length; i ++) {
if (deleteRoadUid[i] == uid) {
return true;
}
}
return false;
}
// 标记已经被选的checkbox
function signCheckbox(roadPoolInfo) {
let uids = roadPoolInfo.RoadUidPool.split("||");
//需要将uid保存到roaduid全局数组中保存
for (let i = 0; i < uids.length; i ++) {
if (!unique(uids[i]) && !ExistDeleteRoadUid(uids[i])) {
roadUid.push(uids[i])
}
}
$("#choose-road-table-body tr input:checkbox").each(function() {
let uid = $(this).parent().parent().children().eq(16).text();
for (let i = 0; i < roadUid.length; i ++) {
if (uid == roadUid[i]) {
$(this).prop('checked', 'true');
break;
}
}
});
}
//点击最上面的checkbox做出的逻辑
$("#controller-all-checkbox").click(function() {
let flag;
$(".thead-dark input[type='checkbox']").each(function() {
flag = $(this).prop("checked");
});
if (flag == true) {
$("#choose-road-table-body input:checkbox").each(function() {
$(this).prop('checked', 'true');
let uid = $(this).parent().parent().children().eq(16).text();
PushUid(uid);
deleteRoadUid.remove(uid);
});;
} else {
$("#choose-road-table-body input:checkbox").each(function() {
$(this).removeAttr('checked');
let uid = $(this).parent().parent().children().eq(16).text();
roadUid.remove(uid);
if (!ExistDeleteRoadUid(uid)) {
deleteRoadUid.push(uid);
}
})
}
});
//监听checkbox的事件如果有取消选择的remove数组
$("#choose-road-table-body").on("change", "input:checkbox", function() {
let uid = $(this).parent().parent().children().eq(16).text();
if ($(this).prop('checked')) {
PushUid(uid);
deleteRoadUid.remove(uid);
} else {
roadUid.remove(uid);
if (!ExistDeleteRoadUid(uid)) {
deleteRoadUid.push(uid);
}
}
});
$(".road-cannel-button").click(function() {
$(".road-pool-record").show();
$(".edit-road-pool").hide();
});
$(".road-save-button").click(function() {
let roadPoolCode = $(".road-pool-code-hide").val();
$.ajax({
url: "/save/roadUid",
data: {
"roadPoolCode":roadPoolCode,
"roadUid":roadUid
},
success: function(res) {
if (res.Code == 404) {
window.parent.location = "/login.html";
} else if (res.Code != 200) {
alert("更改通道池失败")
} else {
alert("更改通道池通道成功");
$(".edit-road-pool").hide();
$(".road-pool-record").show();
}
},
error: function(res) {
alert("系统异常,请稍后再试");
}
});
});
$(".edit-road-search-button").click(function() {
let dataJSON = getRoadListCutPageValues();
showRoadRecordList(dataJSON);
});
$(".road-pool-search").click(function() {
let dataJSON = getRoadPoolCutPagevalues();
showRoadPoolRecord(dataJSON);
});
//当每页显示数更改后,执行的操作
$("#display_count").change(function() {
let dataJSON = getRoadPoolCutPagevalues();
showRoadPoolRecord(dataJSON);
});
$("#display_count_1").change(function() {
$(".thead-dark input[type='checkbox']").each(function(){
$(this).removeAttr('checked');
});
let dataJSON = getRoadListCutPageValues();
showRoadRecordList(dataJSON);
});
//点击上一页的按钮
$(".pre_page").click(function() {
let flag = $(".road-pool-code-hide").val();
if (flag.length > 0) {
$(".thead-dark input[type='checkbox']").each(function(){
$(this).removeAttr('checked');
});
let dataJSON = getRoadListCutPageValues();
if (dataJSON["currentPage"] == 1) {
return;
}
// saveNowRoadUid();
dataJSON["currentPage"] = parseInt(dataJSON["currentPage"]) -1;
showRoadRecordList(dataJSON);
} else {
let dataJSON = getRoadPoolCutPagevalues();
if (dataJSON["currentPage"] == 1) {
return;
}
dataJSON["currentPage"] = parseInt(dataJSON["currentPage"]) -1;
showRoadPoolRecord(dataJSON);
}
});
//点击下一页的按钮时
$(".next_page").click(function() {
let flag = $(".road-pool-code-hide").val();
if (flag.length > 0) {
$(".thead-dark input[type='checkbox']").each(function(){
$(this).removeAttr('checked');
});
let dataJSON = getRoadListCutPageValues();
if (dataJSON["currentPage"] == dataJSON["totalPage"]) {
return;
}
// saveNowRoadUid();
dataJSON["currentPage"] = parseInt(dataJSON["currentPage"]) + 1;
showRoadRecordList(dataJSON);
} else {
let dataJSON = getRoadPoolCutPagevalues();
if (dataJSON["currentPage"] == dataJSON["totalPage"]) {
return;
}
dataJSON["currentPage"] = parseInt(dataJSON["currentPage"]) + 1;
showRoadPoolRecord(dataJSON);
}
});
//点击跳转那一页的按钮
$(".jump_page button").click(function() {
let flag = $(".road-pool-code-hide").val();
if (flag.length > 0) {
$(".thead-dark input[type='checkbox']").each(function(){
$(this).removeAttr('checked');
});
let dataJSON = getRoadListCutPageValues();
if (dataJSON["jumpPage"].length <= 0) {
return;
}
// saveNowRoadUid();
showRoadRecordList(dataJSON);
} else {
let dataJSON = getRoadPoolCutPagevalues();
if (dataJSON["jumpPage"].length <= 0) {
return;
}
showRoadPoolRecord(dataJSON);
}
});
</script>
</body>
</html>