541 lines
18 KiB
JavaScript
541 lines
18 KiB
JavaScript
|
|
var g_grid = {};
|
|
var colModelGrid = [];
|
|
|
|
$(function () {
|
|
var PostData = {};
|
|
$(".datepicker").datepicker({
|
|
changeMonth: true,
|
|
changeYear: true,
|
|
showButtonPanel: true,
|
|
showOtherMonths: true,
|
|
selectOtherMonths: true
|
|
});
|
|
getColModelGrid();
|
|
jqGridInit();
|
|
g_grid = jQuery('#listGrid');
|
|
g_grid.setGridParam({
|
|
resizeStop: function (newWidth, index) {
|
|
$(".ui-jqgrid-hdiv table:first th").eq(index).css("width", newWidth + "px");
|
|
$(".frozen-div table:first th").eq(index).css("width", newWidth + "px");
|
|
$(".frozen-bdiv table:first td").eq(index).css("width", newWidth + "px");
|
|
}
|
|
});
|
|
function keyEnter(event) {
|
|
try {
|
|
var e = event ? event : (window.event ? window.event : null);
|
|
(e.keyCode == 13) && SearchClick(true);
|
|
} catch (e) { }
|
|
}
|
|
document.onkeydown = keyEnter;
|
|
SetAceDropDown();
|
|
$(window).resize(function () {
|
|
//如有频繁改变大小的需求,要增加延迟运行的逻辑;
|
|
$("#listGrid").jqGrid('destroyFrozenColumns');
|
|
$("#listGrid").jqGrid('setFrozenColumns');
|
|
$(".frozen-div").css("overflow", "hidden")
|
|
var height = $("#listGrid .jqgrow").height() + 2;
|
|
$("#listGrid_frozen .jqgrow").height(height);
|
|
$("#listGrid").setGridWidth($("#main-wrapper").width() - 30);
|
|
});
|
|
$(window).resize();
|
|
$("#OptName").parent().addClass("OptName-wrap");
|
|
$("#DateFromOptDate").parent().addClass("date-wrap");
|
|
});
|
|
|
|
$("#Name").change(function () {
|
|
var value = $("#Name").val();
|
|
$("#Name").attr("title", value);
|
|
});
|
|
$("#OptName").change(function () {
|
|
var value = $("#OptName").val();
|
|
$("#OptName").attr("title", value);
|
|
|
|
});
|
|
|
|
function isAuthorize(roleId) {
|
|
if (roleId === 'undefined') return false;
|
|
var roleIdStr = roleId + "";
|
|
if (roleIdStr === "") return false;
|
|
var rolesArr = page.roles;
|
|
var len = rolesArr.length;
|
|
if (len <= 0) return false;
|
|
for (var i = 0; i < len; i++) {
|
|
if (rolesArr[i] == roleIdStr) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
var i = 0;
|
|
|
|
function getColModelGrid() {
|
|
var actions = [];
|
|
actions.push({
|
|
name: 'operation',
|
|
label: '操作',
|
|
index: 'operation',
|
|
width: '220',
|
|
sortable: false,
|
|
align: 'center',
|
|
hidden: false
|
|
});
|
|
actions.push({
|
|
name: 'ProcessStatus',
|
|
label: '客户状态',
|
|
index: 'ProcessStatus',
|
|
width: '100',
|
|
sortable: false,
|
|
align: 'center',
|
|
hidden: false
|
|
});
|
|
actions.push({
|
|
name: 'auditLog.OptName',
|
|
label: '审批提交人',
|
|
index: 'auditLog.OptNam',
|
|
width: '100',
|
|
sortable: false,
|
|
align: 'center',
|
|
hidden: false
|
|
});
|
|
actions.push({
|
|
name: 'ApprovalStatus',
|
|
label: (page.TabIndex == 1 ? '开户审批' : (page.TabIndex == 2 ? '信息变更审批' : '状态变更审批')),
|
|
index: 'ApprovalStatus',
|
|
width: '100',
|
|
sortable: false,
|
|
align: 'center',
|
|
hidden: false
|
|
});
|
|
actions.push({
|
|
name: 'ApprovalRole',
|
|
label: '审批角色',
|
|
index: 'ApprovalRole',
|
|
width: '100',
|
|
sortable: false,
|
|
align: 'center',
|
|
hidden: false
|
|
});
|
|
|
|
if (page.TabIndex == 1) {
|
|
if (editConfig.openList == null) {
|
|
main.alert("请配置开户管理列表!");
|
|
return false;
|
|
}
|
|
else {
|
|
editConfig.openList = _.uniqBy(editConfig.openList, "name");
|
|
if (editConfig.openList.length > 0) {
|
|
actions.forEach(a => {
|
|
colModelGrid.push(a);
|
|
});
|
|
}
|
|
editConfig.openList.forEach(a => {
|
|
var rowData = {
|
|
name: a.name,
|
|
label: a.label,
|
|
index: a.name,
|
|
width: a.width,
|
|
sortable: a.sortable,
|
|
align: a.align,
|
|
hidden: a.hidden,
|
|
optionHide: a.optionHide,
|
|
}
|
|
colModelGrid.push(rowData);
|
|
});
|
|
}
|
|
} else if (page.TabIndex == 2) {
|
|
if (editConfig.clientList == null) {
|
|
main.alert("请配置客户管理列表!");
|
|
return false;
|
|
}
|
|
else {
|
|
editConfig.clientList = _.uniqBy(editConfig.clientList, "name");
|
|
if (editConfig.clientList.length > 0) {
|
|
actions.forEach(a => {
|
|
colModelGrid.push(a);
|
|
});
|
|
}
|
|
editConfig.clientList.forEach(a => {
|
|
var rowData = {
|
|
name: a.name,
|
|
label: a.label,
|
|
index: a.name,
|
|
width: a.width,
|
|
sortable: a.sortable,
|
|
align: a.align,
|
|
hidden: a.hidden,
|
|
optionHide: a.optionHide,
|
|
sortIndex: i++
|
|
}
|
|
colModelGrid.push(rowData);
|
|
});
|
|
if (colModelGrid.length > 0) {
|
|
if (page.isCreditLimit) {
|
|
colModelGrid.push({
|
|
name: 'IsCreditOn',
|
|
label: '授信',
|
|
index: 'IsCreditOn',
|
|
sortIndex: i++,
|
|
width: 80,
|
|
align: 'left'
|
|
});
|
|
}
|
|
else {
|
|
colModelGrid.push({
|
|
name: 'IsTradeCredit',
|
|
label: '期权费授信',
|
|
index: 'IsTradeCredit',
|
|
sortIndex: i++,
|
|
width: 80,
|
|
align: 'left'
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (page.ViewTagPermission) {
|
|
colModelGrid.push({
|
|
name: 'Tags',
|
|
label: '标签值',
|
|
index: 'Tags',
|
|
width: 150,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'OutputTags',
|
|
label: 'OutputTags',
|
|
index: 'OutputTags',
|
|
width: 70,
|
|
align: 'center',
|
|
hidden: true,
|
|
optionHide: true
|
|
});
|
|
}
|
|
FormatColData(colModelGrid);
|
|
}
|
|
|
|
function FormatColData(colData) {
|
|
colData.forEach(a => {
|
|
switch (a.name) {
|
|
case 'id':
|
|
case 'EncryptId':
|
|
a.optionHide = true;
|
|
break;
|
|
case 'Name':
|
|
a.formatter = nameFormat;
|
|
break;
|
|
case 'ClientName':
|
|
a.formatter = clientNameFormat;
|
|
break;
|
|
case 'Phone':
|
|
a.formatter = PhoneFormater;
|
|
break;
|
|
case 'operation':
|
|
a.formatter = showToolName
|
|
break;
|
|
case 'MarginOptionType':
|
|
a.formatter = MarginOptionFormater;
|
|
break;
|
|
case 'PendingMarginCallPayment':
|
|
case 'IsIndustryConnectVariety':
|
|
case 'IsRealControl':
|
|
case 'IsEvaluate':
|
|
case 'IsRequireConversionTypes':
|
|
case 'IsAssessmentResultChange':
|
|
case 'IsDocShowParentName':
|
|
case 'IsCreditOn':
|
|
case 'IsSmallAndMicroEnterprises':
|
|
case 'IsTradeCredit':
|
|
a.formatter = boolFormater;
|
|
break;
|
|
case 'EvaluateDate':
|
|
case 'ProtocolSignDate':
|
|
case 'RightProtocolSignDate':
|
|
case 'OptDate':
|
|
case 'SupProtocolDate':
|
|
a.formatter = dateformat;
|
|
break;
|
|
case 'IsCentralClearing':
|
|
a.formatter = IsCentralClearingFormater;
|
|
break;
|
|
case 'Tags':
|
|
a.formatter = tagformat;
|
|
break;
|
|
case 'RiskPreference':
|
|
a.label = extendFieldName;
|
|
break;
|
|
case 'AppropriatenessDegreeName':
|
|
a.formatter = appropriatenessDegreeNameFormater;
|
|
break;
|
|
case 'Remark':
|
|
a.formatter = remarkFormat;
|
|
break;
|
|
case 'AgreementBookType':
|
|
a.formatter = AgreementBookTypeFormater;
|
|
break;
|
|
case 'TradingInstType':
|
|
a.formatter = TradingInstTypeFormater;
|
|
break;
|
|
default:
|
|
a.formatter = 'text';
|
|
break;
|
|
}
|
|
|
|
if (a.name.indexOf("meta_") >= 0) {
|
|
var dicName = a.name.split("_")[1];
|
|
a.name = `MetaDic.${dicName}`;
|
|
a.index = `MetaDic.${dicName}`;
|
|
a.sortable = false;//自定义字段不支持排序
|
|
}
|
|
});
|
|
}
|
|
|
|
function nameFormat(c, o, r) {
|
|
var html = r.Name;
|
|
|
|
if (!r.HasDocuments) {
|
|
html += "<img title='未上传任何文件' style='width:16px;' src='/images/light_yellow.png'/>";
|
|
}
|
|
return html;
|
|
}
|
|
function clientNameFormat(c, o, r) {
|
|
var html = r.Name;
|
|
if (r.IsTradeCredit && r.IsCreditOn) {
|
|
html += "<img title='期权费已授信' style='cursor:help;width:18px;' src='/images/duigou.png'/>";
|
|
}
|
|
if (!r.HasDocuments) {
|
|
html += "<img title='未上传任何文件' style='cursor:help;width:18px;' src='/images/light_yellow.png'/>";
|
|
}
|
|
if (r.IsExistContactExpired) {
|
|
html += "<img title='联系人或法人登记信息已过期' style='cursor:help;width:18px;' src='/images/light_red.png'/>";
|
|
}
|
|
if (r.AssessmentExpired) {
|
|
html += '<i class="fa fa-exclamation tip" aria-hidden="true" title="适当性评估已过期" ></i>';
|
|
}
|
|
return html;
|
|
}
|
|
function PhoneFormater(cellValue, options, rowObject) {
|
|
//换行会影响行高,造成冻结列之后行错位的问题
|
|
//return cellValue != undefined ? cellValue.replace(",", "\n") : "";
|
|
return cellValue;
|
|
}
|
|
function showToolName(cellValue, options, rowObject) {
|
|
var html =
|
|
"<input type=\"button\" class=\"wentiEdit\" title='查看客户信息' onclick=\"startclientView('{0}')\" value=\"{1}\" />"
|
|
.template(rowObject.EncryptId, "查看");
|
|
if (page.approvalMode != 1) {
|
|
if (isAuthorize(rowObject.ProcessRoleId)) {
|
|
html = html +
|
|
"<input type=\"button\" class=\"wentiEdit\" title='审批' onclick=\"passorreject('{0}')\" value=\"{1}\" />"
|
|
.template(rowObject.id, "审批");
|
|
} else {
|
|
html = html +
|
|
"<input type=\"button\" class=\"wentiEdit\" title='审批' disabled='disabled' value=\"{1}\" />"
|
|
.template(rowObject.EncryptId, "审批");
|
|
}
|
|
}
|
|
if (page.approvalMode > 0 && page.approvalList) {
|
|
html = html +
|
|
"<input type=\"button\" class=\"wentiEdit\" title='匹配接口审批记录' onclick=\"approvalList('{0}')\" value=\"{1}\" />"
|
|
.template(rowObject.Name, "匹配审批");
|
|
}
|
|
return html;
|
|
}
|
|
function MarginOptionFormater(cellValue, option, rowObject) {
|
|
if (cellValue == undefined) {
|
|
cellValue = 0;
|
|
}
|
|
switch (cellValue) {
|
|
case 0: return "单向追保";
|
|
case 1: return "双向追保";
|
|
case 2: return "对手方单向追保";
|
|
case 3: return "其他";
|
|
default: return "单向追保";
|
|
}
|
|
}
|
|
function boolFormater(cellValue, options, rowObject) {
|
|
if (cellValue == null) return "";
|
|
if ((cellValue + "").indexOf("<label>") != -1) {
|
|
return cellValue;
|
|
}
|
|
var s = cellValue ? "是" : "否";
|
|
var html = "<label>{0}</label>".template(s);
|
|
return html;
|
|
}
|
|
function dateformat(cellvalue, options, rowObject) {
|
|
if (cellvalue == null || cellvalue == undefined) {
|
|
return "";
|
|
}
|
|
return new Date(cellvalue).format("yyyy-MM-dd");
|
|
}
|
|
function IsCentralClearingFormater(cellValue, option, rowObject) {
|
|
if (cellValue == undefined) {
|
|
cellValue = "";
|
|
}
|
|
switch (cellValue) {
|
|
case "Y": return "是";
|
|
case "N": return "否";
|
|
case "I": return "计划中央对手方清算";
|
|
default: return "";
|
|
}
|
|
}
|
|
function tagformat(cellvalue, options, rowObject) {
|
|
var html = '<div class="tag-context">';
|
|
var tagNames = "";
|
|
if (rowObject.Tags != null && rowObject.Tags.length > 0) {
|
|
for (var i = 0; i < rowObject.Tags.length; i++) {
|
|
if (i == rowObject.Tags.length - 1) {
|
|
tagNames += "[" + rowObject.Tags[i].Name + "]";
|
|
} else {
|
|
tagNames += "[" + rowObject.Tags[i].Name + "],";
|
|
}
|
|
}
|
|
if (rowObject.Tags.length > 2) {
|
|
for (var i = 0; i < 2; i++) {
|
|
html += '<span class="tag-item" data-id="' + rowObject.Tags[i].Id + '" data-name="' + rowObject.Tags[i].Name + '"><span class="tag-text" data-value="' + rowObject.Tags[i].Id + '">' + rowObject.Tags[i].Name + '</span></span>';
|
|
}
|
|
html += '<span class="tag-add" title="' + tagNames + '">...</span>';
|
|
} else {
|
|
for (var i = 0; i < rowObject.Tags.length; i++) {
|
|
html += '<span class="tag-item" data-id="' + rowObject.Tags[i].Id + '" data-name="' + rowObject.Tags[i].Name + '"><span class="tag-text" data-value="' + rowObject.Tags[i].Id + '">' + rowObject.Tags[i].Name + '</span></span>';
|
|
}
|
|
}
|
|
}
|
|
html += '</div>';
|
|
return html;
|
|
}
|
|
function appropriatenessDegreeNameFormater(cellValue, options, rowObject) {
|
|
return rowObject.AppropriatenessDegreeName;
|
|
}
|
|
function remarkFormat(ce, op, rowObj) {
|
|
if (ce && ce.startsWith("http://")) {
|
|
return "<a href='{0}' style='text-decoration:underline;' target='_blank'>{0}</a>".template(ce);
|
|
}
|
|
return ce;
|
|
}
|
|
function AgreementBookTypeFormater(cellValue, option, rowObject) {
|
|
if (cellValue == undefined) {
|
|
cellValue = true;
|
|
}
|
|
var s = cellValue ? "单向" : "双向";
|
|
var html = "<label>{0}</label>".template(s);
|
|
return html;
|
|
}
|
|
function TradingInstTypeFormater(cellValue, option, rowObject) {
|
|
if (cellValue == undefined) {
|
|
cellValue = 0;
|
|
}
|
|
switch (cellValue) {
|
|
case 0: return "全部";
|
|
case 1: return "权益类";
|
|
case 2: return "商品类";
|
|
default: return "全部";
|
|
}
|
|
}
|
|
|
|
window.reloadData = reloadclient2;
|
|
|
|
Date.prototype.format = function (fmt) {
|
|
var o = {
|
|
"M+": this.getMonth() + 1, //月份
|
|
"d+": this.getDate(), //日
|
|
"h+": this.getHours(), //小时
|
|
"m+": this.getMinutes(), //分
|
|
"s+": this.getSeconds(), //秒
|
|
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
|
|
"S": this.getMilliseconds() //毫秒
|
|
};
|
|
if (/(y+)/.test(fmt)) {
|
|
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
|
|
}
|
|
for (var k in o) {
|
|
if (new RegExp("(" + k + ")").test(fmt)) {
|
|
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
|
}
|
|
}
|
|
return fmt;
|
|
}
|
|
|
|
function gridComplete() {
|
|
main.setcolumnChooser(jQuery('#listGrid'), page.configcolumn_name);
|
|
var height = $("#listGrid .jqgrow").height() + 2;
|
|
$("#listGrid_frozen .jqgrow").height(height);
|
|
$("#listGrid").setGridWidth($("#main-wrapper").width() - 30);
|
|
}
|
|
|
|
function rowdblclick(rowid) {
|
|
var rowData = $(this).getRowData(rowid);
|
|
startclientView(rowData.EncryptId);
|
|
}
|
|
|
|
function approvalList(name) {
|
|
main.open("审批记录", "/trade/InterfaceApprovalRecord?type=2&code=" + name, { area: ["1200px", "600px"] });
|
|
}
|
|
|
|
function passorreject(eid) {
|
|
var type = page.TabIndex == 1 ? "OpenProcess" : page.TabIndex == 2 ? "ClientProcess" : "";
|
|
var url = "/processlog/processlogListInner?eid=" + eid + "&type=" + type;
|
|
main.open("审批", url, { area: ["60%", "65%"] });
|
|
}
|
|
|
|
function rowclick(id) {
|
|
|
|
}
|
|
|
|
function startclientView(id) {
|
|
var srcurl = "/client/clientViewV2?enid=" + id + "&isApproval=true";
|
|
var width = "1300px";
|
|
if (page.isZhaoZheng) {
|
|
width = "1430px";
|
|
} else if (page.isDongWu) {
|
|
width = "1550px";
|
|
}
|
|
layer.open({
|
|
type: 2,
|
|
title: "查看客户信息",
|
|
shadeClose: false,
|
|
shade: 0.4,
|
|
area: [width, '800px'],
|
|
content: srcurl
|
|
});
|
|
}
|
|
|
|
function reloadclient() {
|
|
//重新加载
|
|
SearchClick();
|
|
window.layer.closeAll();
|
|
}
|
|
|
|
function reloadclient2() {
|
|
//重新加载
|
|
SearchClick();
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
|
|
listGrid.appendPostData({ Name: $("#Name").val() });
|
|
listGrid.appendPostData({ LicenseCode: $("#LicenseCode").val() });
|
|
listGrid.appendPostData({ ProperClientClass: $("#ProperClientClass").val() == null ? "" : $("#ProperClientClass").val().join(",") });
|
|
listGrid.appendPostData({ CustomerManagerIds: $("#CustomerManagerIds").val() });
|
|
listGrid.appendPostData({ CustomerManagerString: $("#CustomerManagerString").val() });
|
|
listGrid.appendPostData({ Groupid: $("#Groupid").val() == null ? "" : $("#Groupid").val().join(",") });
|
|
listGrid.appendPostData({ ProcessStatus: $("#ProcessStatus").val() == null ? "" : $("#ProcessStatus").val().join(",") });
|
|
listGrid.appendPostData({ TraderIds: $("#TraderIds").val() == null ? "" : $("#TraderIds").val().join(",") });
|
|
listGrid.appendPostData({ ApprovaOptDateStart: $("#DateFromApprovaOptDate").val() });
|
|
listGrid.appendPostData({ ApprovaOptDateeEnd: $("#DateToApprovaOptDate").val() });
|
|
listGrid.appendPostData({ IsTradeCredit: $("#IsTradeCredit").val() });
|
|
listGrid.appendPostData({ TagIds: $("#TagIds").val() });
|
|
|
|
if (typeof (isSearchclick) != "undefined" && isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
listGrid.jqGrid('setGridParam', { page: 1 });
|
|
}
|
|
listGrid.trigger('reloadGrid');
|
|
}
|
|
|
|
function showcolumnChooser() {
|
|
main.showcolumnChooser(jQuery('#listGrid'), page.configcolumn_name);
|
|
}
|