517 lines
20 KiB
JavaScript
517 lines
20 KiB
JavaScript
//标的价格控制
|
|
const updatePriceCtrl = (new function () {
|
|
|
|
const consRender = _.template(($('#priceCtrlTpl').html() || '').trim().replace(/[\r\n]+\s+/g, '') || ' ');
|
|
|
|
this.jqgridFormat = function (cellValue, options, rowObject) {
|
|
if (rowObject.CommodityCode === '篮子标的' || rowObject.CommodityCode === '组合标的') return cellValue;
|
|
return consRender({ price: cellValue || '0', id: rowObject.id })
|
|
}
|
|
|
|
this.showInput = function () {
|
|
let $e = $(event.target);
|
|
$e.closest('.underlying-price').addClass('input');
|
|
$e.next().find('input').focus();
|
|
}
|
|
|
|
this.onInputKeyDown = function () {
|
|
event.stopPropagation();
|
|
let $input = $(event.target);
|
|
if (event.keyCode === 13) {
|
|
$input.blur();
|
|
} else if (event.keyCode === 27) {
|
|
$input.val($input.data('value'));
|
|
$input.closest('.underlying-price').removeClass('input');
|
|
}
|
|
}
|
|
|
|
this.removeInput = function () {
|
|
$(event.target).closest('.underlying-price').removeClass('input');
|
|
}
|
|
|
|
var blurTime = 0;
|
|
|
|
function __blurPrice($input) {
|
|
$input = $input || $(event.target);
|
|
let newPrice = parseFloat($input.val());
|
|
let oldPrice = parseFloat($input.data('value')) || 0;
|
|
if (!newPrice || Math.abs(newPrice - oldPrice) < 1e-5) {
|
|
$input.val($input.data('value'));
|
|
$input.closest('.underlying-price').removeClass('input');
|
|
} else {
|
|
let id = parseInt($input.data('id'));
|
|
let userData = $("#listGrid").getGridParam('userData').find(x => x.id === id);
|
|
main.post("/underlying_manager/AjaxSetUnderlyingPrice", { id: id, price: newPrice }, false).done(function () {
|
|
userData.Price = newPrice;
|
|
$("#listGrid").jqGrid('setRowData', id, userData);
|
|
});
|
|
}
|
|
}
|
|
|
|
this.blurPrice = function ($input) {
|
|
let time = new Date().getTime();
|
|
if (blurTime + 100 < time) {
|
|
__blurPrice();
|
|
}
|
|
blurTime = time + 100;
|
|
}
|
|
});
|
|
|
|
const colModelGrid = function () {
|
|
|
|
function dateFmt(cellValue) {
|
|
return (cellValue || '').substring(0, 10);
|
|
}
|
|
|
|
return [{
|
|
name: '1', label: '操作', index: '1', width: 210, formatter: showToolName, sortable: false
|
|
}, {
|
|
name: '2', label: '除权设置', index: '2', width: 90, formatter: SetDividEnd, sortable: false
|
|
}, {
|
|
name: 'LaunchState', label: '启用', index: 'LaunchState', width: 45, formatter: launchUnderlying,
|
|
}, {
|
|
name: 'id', label: 'id', index: 'id', width: 1, hidden: true, optionHide: true,
|
|
}, {
|
|
name: 'UnderlyingInstrumentType', label: 'UnderlyingInstrumentType', index: 'UnderlyingInstrumentType', width: 1, hidden: true, optionHide: true,
|
|
}, {
|
|
name: 'EncryptId', label: 'EncryptId', index: 'EncryptId', width: 0, hidden: true, optionHide: true,
|
|
}, {
|
|
name: 'MarketName', label: '交易所', index: 'MarketName', width: 140
|
|
}, {
|
|
name: 'UnderlyingCode', label: '标的资产码', index: 'UnderlyingCode', width: 80
|
|
}, {
|
|
name: 'UnderlyingName', label: '标的名称', index: 'UnderlyingName', width: 180
|
|
}, {
|
|
name: 'UnderlyingEnName', label: '标的英文名称', index: 'UnderlyingEnName', width: 180, sortable: false
|
|
}, {
|
|
name: 'BBGTicker', label: 'BBGTicker', index: 'BBGTicker', width: 180
|
|
}, {
|
|
name: 'Price', label: '标的价格', index: 'Price', width: 90, formatter: updatePriceCtrl.jqgridFormat
|
|
}, {
|
|
name: 'UnderlyingInstrumentTypeCn', label: '资产类型', index: 'UnderlyingInstrumentTypeCn', width: 100, sortable: false
|
|
}, {
|
|
name: 'UnderlyingType', label: '标的品种类型', index: 'UnderlyingType', width: 130, hidden: true
|
|
}, {
|
|
name: 'MaturityDate', label: '标的到期日', index: 'MaturityDate', width: 100, formatter: dateFmt
|
|
}, {
|
|
name: 'CloseDate', label: '标的交割日', index: 'CloseDate', width: 100, formatter: dateFmt
|
|
}, {
|
|
name: 'UnderlyingState', label: '标的状态', index: 'UnderlyingState', width: 80,
|
|
formatter(cellValue) {
|
|
if (cellValue === 'Live') return '正常';
|
|
if (cellValue === 'Matured') return '已过期';
|
|
return cellValue;
|
|
}
|
|
}, {
|
|
name: 'UnderlyingStatus', label: '交易状态', index: 'UnderlyingStatus', width: 80
|
|
}, {
|
|
name: 'LinkTo', label: '关联指数', index: 'LinkTo', width: 80, sortable: false
|
|
},{
|
|
name: 'VolatilityRate', label: 'Span波动率变动', index: 'LinkTo', width: 110, sortable: false
|
|
},{
|
|
name: 'UpDownLimit', label: 'Span涨跌幅度', index: 'LinkTo', width: 110, sortable: false
|
|
},{
|
|
name: 'MarginRate', label: '预付金比例', index: 'LinkTo', width: 80, sortable: false
|
|
},{
|
|
name: 'Beta', label: 'Beta', index: 'Beta', width: 45, sortable: false
|
|
}, {
|
|
name: 'OptName', label: '操作人名', index: 'OptName', width: 80, sortable: false
|
|
}, {
|
|
name: 'OptDate', label: '创建日期', width: 90, formatter: dateFmt
|
|
}];
|
|
};
|
|
|
|
var g_grid = {};
|
|
|
|
$(function () {
|
|
|
|
$(".datepicker").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true });
|
|
var PostData = { LaunchState: $("#LaunchState").val() };
|
|
var grid = jQuery('#listGrid').jqGrid({
|
|
url: '/underlying_manager/underlying_managerQuery',
|
|
datatype: 'json',
|
|
height: 'auto',
|
|
width: '90%',
|
|
autowidth: false,
|
|
shrinkToFit: false,
|
|
viewrecords: true,
|
|
jsonReader: { repeatitems: false, userdata: 'rows' },
|
|
cmTemplate: { align: 'center', width: 120 },
|
|
mtype: 'POST',
|
|
postData: PostData,
|
|
colModel: colModelGrid(),
|
|
pager: jQuery('#pagerGrid'),
|
|
pagerpos: 'left',
|
|
rowNum: 20,
|
|
rowList: [20, 30, 50, 200, 10000],
|
|
loadComplete:gridComplete,
|
|
footerrow: false
|
|
});
|
|
|
|
g_grid = jQuery('#listGrid');
|
|
|
|
document.onkeydown = function keyEnter(event) {
|
|
try {
|
|
var e = event || window.event;
|
|
(e.keyCode === 13) && SearchClick(true);
|
|
} catch (e) {
|
|
//
|
|
}
|
|
};
|
|
|
|
SetAceDropDown();
|
|
});
|
|
|
|
//设置除权
|
|
function SetDividEnd(cellValue, options, rowObject) {
|
|
if (rowObject.UnderlyingInstrumentType !== "Stock" || rowObject.CommodityCode === "篮子标的" || !g_dividend) return "";
|
|
var imageHtml = "<input type=\"button\" value=\"除权\" class=\"wentiEdit btn-info\" onclick=\"openDividEnd('" + rowObject.EncryptId + "');\" />";
|
|
return imageHtml;
|
|
}
|
|
|
|
function openDividEnd(enid) {
|
|
var url = "/ex_dividend_info/underlying_dividend_info?unid=" + enid;
|
|
main.open("个股除权设置", url, { area: ['60%', '50%'] });
|
|
}
|
|
|
|
function showToolName(cellValue, options, rowObject) {
|
|
var html = "<input type=\"button\" class=\"wentiEdit\" title='查看标的管理' onclick=\"startunderlying_managerView('{0}','{2}','{3}')\" value=\"{1}\" />".template(rowObject.EncryptId, "查看", rowObject.CommodityCode, rowObject.UnderlyingCode);
|
|
if (rowObject.CommodityCode === "篮子标的") {
|
|
html += "<input type=\"button\" disabled class=\"wentiEdit\" title='报价参数' onclick=\"openQuotationParameter('{0}','{2}','{3}')\" value=\"{1}\" />".template(rowObject.id, "报价参数", rowObject.UnderlyingCode, rowObject.LaunchState || '0');
|
|
}
|
|
else {
|
|
html += "<input type=\"button\" class=\"wentiEdit\" title='报价参数' onclick=\"openQuotationParameter('{0}','{2}','{3}')\" value=\"{1}\" />".template(rowObject.id, "报价参数", rowObject.UnderlyingCode, rowObject.LaunchState || '0');
|
|
}
|
|
return html;
|
|
}
|
|
|
|
function gridComplete() {
|
|
var jgrid = $(this);
|
|
$('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll();
|
|
$.when(main.setcolumnChooser(jgrid, configcolumn_data_bdzc)).always(function () {
|
|
const colModel = jgrid.jqGrid('getGridParam', 'colModel');
|
|
const priceIndex = colModel.findIndex(x => x.name === 'Price');
|
|
const instrumentTypeIndex = colModel.findIndex(x => x.name === 'UnderlyingInstrumentTypeCn');
|
|
|
|
jgrid.jqGrid('showCol', 'UnderlyingInstrumentTypeCn');
|
|
if (priceIndex >= 0 && instrumentTypeIndex >= 0 && instrumentTypeIndex !== priceIndex + 1) {
|
|
const perm = colModel.map((_, index) => index);
|
|
perm.splice(instrumentTypeIndex, 1);
|
|
perm.splice(perm.indexOf(priceIndex) + 1, 0, instrumentTypeIndex);
|
|
jgrid.jqGrid('remapColumns', perm, true);
|
|
}
|
|
});
|
|
}
|
|
|
|
function showcolumnChooser() {
|
|
var jgrid = jQuery('#listGrid');
|
|
main.showcolumnChooser(jgrid, configcolumn_data_bdzc);
|
|
}
|
|
|
|
function openQuotationParameter(id, ucode, launchState) {
|
|
if (launchState === '0') {
|
|
main.message("进行波动率及报价管理,请先启用该标的");
|
|
return false;
|
|
}
|
|
var url = "/underlying_manager/pop_parameterEdit?display=info&under_id=" + id;
|
|
main.open(ucode + "报价参数", url, { area: ["1200px", "600px"] });
|
|
}
|
|
|
|
function startAddunderlying_manager() {
|
|
main.open("新增标的", "/underlying_manager/underlying_managerEdit/0", { area: ['1200px', '80%'] });
|
|
}
|
|
|
|
function startAddsSyntheticUnderlyingManager() {
|
|
main.open("新增组合标的", "/SyntheticUnderlying/SyntheticUnderlyingEdit", { area: ['1300px', '85%'] });
|
|
}
|
|
function startAddBasketunderlying_manager() {
|
|
main.open("新增篮子组合", "/BasketUnderlying/BasketUnderlyingSetting", { area: ['1000px', '85%'] });
|
|
}
|
|
function startunderlying_managerView(id, CommodityCode, syntheticUnderlyingName) {
|
|
|
|
if (CommodityCode === "组合标的") {
|
|
let url = "/SyntheticUnderlying/SyntheticUnderlyingView?syntheticUnderlyingName=" + encodeURIComponent(syntheticUnderlyingName);
|
|
main.open("组合标的查看", url, { area: ['1200px', '96%'] });
|
|
}
|
|
else if (CommodityCode === "篮子标的") {
|
|
let url = "/BasketUnderlying/PopBasketUnderlyingSettingView?basketUnderlyingName=" + encodeURIComponent(syntheticUnderlyingName);
|
|
main.open("篮子标的查看", url, { area: ['1000px', '80%'] });
|
|
}
|
|
else {
|
|
let url = "/underlying_manager/underlying_managerView/?enid=" + id;
|
|
main.open("查看", url, { area: ['1200px', '96%'] });
|
|
}
|
|
}
|
|
function reloadunderlying_manager() {
|
|
//重新加载
|
|
SearchClick();
|
|
}
|
|
|
|
function syntheticUnderlyingSettingCallback(syntheticUnderlyingId) {
|
|
//重新加载
|
|
SearchClick();
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
|
|
listGrid.appendPostData({ MarketCode: $("#MarketCode").val() });
|
|
listGrid.appendPostData({ Underlying: $("#Underlying").val() });
|
|
|
|
listGrid.appendPostData({ UnderlyingCode: $("#UnderlyingCode").val() });
|
|
listGrid.appendPostData({ UnderlyingInstrumentType: ($("#UnderlyingInstrumentType").val() || []).join() });
|
|
listGrid.appendPostData({ UnderlyingType: ($("#UnderlyingTypeId").val() || []).join() });
|
|
listGrid.appendPostData({ MaturityDateStart: $("#DateFromMaturityDate").val() });
|
|
listGrid.appendPostData({ MaturityDateEnd: $("#DateToMaturityDate").val() });
|
|
listGrid.appendPostData({ UnderlyingState: $("#UnderlyingState").val() });
|
|
listGrid.appendPostData({ UnderlyingStatus: $("#UnderlyingStatus").val() });
|
|
listGrid.appendPostData({ TradeUnit: $("#TradeUnit").val() });
|
|
listGrid.appendPostData({ QuotationUnit: $("#QuotationUnit").val() });
|
|
listGrid.appendPostData({ MinChangePrice: $("#MinChangePrice").val() });
|
|
listGrid.appendPostData({ PriceLimits: $("#PriceLimits").val() });
|
|
listGrid.appendPostData({ Months: $("#Months").val() });
|
|
listGrid.appendPostData({ TradeTime: $("#TradeTime").val() });
|
|
listGrid.appendPostData({ DeliveryGrade: $("#DeliveryGrade").val() });
|
|
listGrid.appendPostData({ DeliveryPlace: $("#DeliveryPlace").val() });
|
|
listGrid.appendPostData({ MinDiposit: $("#MinDiposit").val() });
|
|
listGrid.appendPostData({ DeliveryType: $("#DeliveryType").val() });
|
|
listGrid.appendPostData({ TradeCode: $("#TradeCode").val() });
|
|
listGrid.appendPostData({ ListedExchangeName: $("#ListedExchangeName").val() });
|
|
listGrid.appendPostData({ Desc: $("#Desc").val() });
|
|
listGrid.appendPostData({ OptName: $("#OptName").val() });
|
|
listGrid.appendPostData({ OptDateStart: $("#DateFromOptDate").val() });
|
|
listGrid.appendPostData({ OptDateEnd: $("#DateToOptDate").val() });
|
|
listGrid.appendPostData({ LaunchState: $("#LaunchState").val() });
|
|
|
|
$("#CheckboxAll").prop("checked", false);
|
|
if (isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
listGrid.jqGrid('setGridParam', {
|
|
page: 1
|
|
});
|
|
}
|
|
listGrid.trigger('reloadGrid');
|
|
}
|
|
|
|
function setLauch(uid, launchState, obj) {
|
|
var uids = [];
|
|
uids.push(uid);
|
|
main.post("/trade/CheckUnderlyingTrade", { uids: uids }).done(function (res) {
|
|
if (res.obj.length > 0 && launchState !== '1') {
|
|
main.message("有" + res.obj.length + "笔交易还在使用此标的");
|
|
} else {
|
|
main.confirm(launchState === '1' ? "确认启用选中标的?" : "确认不启用选中标的?", function () {
|
|
main.post("/underlying_manager/UpdateById", { id: uid, LaunchState: launchState }).done(function (res) {
|
|
SearchClick();
|
|
//var opthtml = " style='cursor:pointer' title='设置启用或禁用标的' onclick=\"setLauch('{0}','{1}',this)\" ".template(uid, res.obj.LaunchState === "1" ? "0" : "1");
|
|
//var imgpicture = res.obj.LaunchState === "1" ? "/Images/yes.gif" : "/Images/no.gif";
|
|
//var temphtml = "<img src='{0}' {1}>".template(imgpicture, opthtml);
|
|
//$(obj).parent().html(temphtml);
|
|
});
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function launchUnderlying(cellValue, options, rowObject) {
|
|
var opthtml = "";
|
|
if (g_canlaunch) {
|
|
opthtml = " style='cursor:pointer' title='设置启用或禁用标的' onclick=\"setLauch('{0}','{1}',this)\" ".template(rowObject.id, cellValue === "1" ? "0" : "1");
|
|
}
|
|
|
|
var html = "<img src='{0}' {1}>";
|
|
html = cellValue === "1" ? html.template("/Images/yes.gif", opthtml) : html.template("/Images/no.gif", opthtml);
|
|
return html;
|
|
}
|
|
|
|
function updateSelectedLaunchState(doLaunch) {
|
|
var ggrid = jQuery('#listGrid');
|
|
var rowIds = ggrid.jqGrid('getGridParam', 'selarrrow');
|
|
if (rowIds.length === 0) {
|
|
main.alert(doLaunch === 1 ? "请选择要启用的标的" : "请选择不启用的标的");
|
|
return false;
|
|
}
|
|
|
|
var ids = [];
|
|
for (var i = 0; i < rowIds.length; i++) {
|
|
ids.push(ggrid.getRowData(rowIds[i])['id']);
|
|
}
|
|
|
|
main.post("/trade/CheckUnderlyingTrade", { uids: ids }).done(function (res) {
|
|
if (res.obj.length > 0 && doLaunch !== 1) {
|
|
main.message("有" + res.obj.length + "笔交易还在使用这些标的,请检查后再批量取消启用");
|
|
} else {
|
|
main.confirm(doLaunch === 1 ? "确认启用选中标的?" : "确认不启用选中标的?", function () {
|
|
//启用 所有
|
|
var checkAll = $("#CheckboxAll").prop("checked");
|
|
var postData = { ids: ids, LaunchState: doLaunch === 1 ? "1" : "0" };
|
|
if (checkAll) {
|
|
postData = $.extend(postData, ggrid.getPostData());
|
|
postData.LaunchState = doLaunch === 1 ? "1" : "0";
|
|
postData.isCheckAll = true;
|
|
}
|
|
|
|
main.post("/underlying_manager/UpdateByIds", postData).done(function (res) {
|
|
jQuery('#listGrid').trigger("reloadGrid");
|
|
});
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function updateLaunchStateForSTStock(doLaunch) {
|
|
|
|
main.confirm(doLaunch === 1 ? "确认启用所有ST股?" : "确认取消启用所有ST股?", function () {
|
|
var postData = { LaunchState: doLaunch === 1 ? "1" : "0" };
|
|
|
|
main.post("/underlying_manager/UpdateLaunchStateForSTStock", postData).done(function (res) {
|
|
jQuery('#listGrid').trigger("reloadGrid");
|
|
});
|
|
});
|
|
}
|
|
|
|
//导入预付金参数
|
|
function importMarginParams() {
|
|
main.infopage('标的预付金参数导入', "/underlying_manager/MarginParams");
|
|
}
|
|
|
|
function uploadChange() {
|
|
$('#uploadfileButton').val($('#uploadfile').val());
|
|
}
|
|
function upload() {
|
|
if (!$("#uploadfile").get(0).value.length) {
|
|
main.alert("请选择要上传的文件!");
|
|
return;
|
|
}
|
|
var fd = new FormData();
|
|
/*上传的文件file*/
|
|
fd.append("file", $("#uploadfile").get(0).files[0]);
|
|
$.ajax({
|
|
url: "/ex_dividend_info/ImportDividendInfo",
|
|
type: "POST",
|
|
processData: false,
|
|
contentType: false,
|
|
data: fd,
|
|
success: function (res) {
|
|
if (!res.success) {
|
|
main.alert(res.msg);
|
|
} else {
|
|
$("#uploadfile").val("");
|
|
$("#uploadfileButton").val("");
|
|
layer.closeAll();
|
|
main.message(res.msg);
|
|
}
|
|
},
|
|
beforeSend(jqXHR) {
|
|
main.waitMe(true);
|
|
},
|
|
complete(jqXHR, textStatus) {
|
|
main.waitMe(false);
|
|
}
|
|
});
|
|
}
|
|
|
|
function importDividendInfo() {
|
|
var htmlContent = `
|
|
<div style="padding:5px">
|
|
<span>文件:</span >
|
|
<input type="file" accept=".xlsx" id="uploadfile" style="display: none" onchange=uploadChange() >
|
|
<input style="width:90%; height: 28px; text-align: left;" type="button" id="uploadfileButton" onclick="$('#uploadfile').click();" value="请选择..." />
|
|
<div style="margin: 5px; float: right;">
|
|
<a class="btn btn-primary" href="/download/ImportTemplate/个股除权信息模板">下载模板</a>
|
|
<input type="button" class="btn btn-primary" onclick="upload()" value="上传文件">
|
|
</div>
|
|
</div>`;
|
|
main.open2("个股除权信息导入",
|
|
htmlContent,
|
|
{
|
|
area: ["400px", "130px"],
|
|
zIndex: 1000
|
|
});
|
|
}
|
|
|
|
//板块性质配置
|
|
function showBlockConfig() {
|
|
main.infopage('板块性质别名配置', '/UnderlyingBlock/UnderlyingBlockConfig');
|
|
}
|
|
|
|
function importUnderlying() {
|
|
$("#modalFileUpload").modal('show');
|
|
uploadfileInit();
|
|
$("#Content").width("680px")
|
|
}
|
|
|
|
function downTemplate() {
|
|
window.open("../App_Docs/导入模板/标的导入模板.xlsx");
|
|
}
|
|
|
|
function uploadUnderlying() {
|
|
let fileName = $("#uploadfileButton").val();
|
|
if (!fileName) {
|
|
return main.alert("请选择要导入的文件!");
|
|
}
|
|
let index = fileName.lastIndexOf(".");
|
|
let fileEx = index > 0 ? fileName.substr(index).toLowerCase() : '';
|
|
if (fileEx !== '.xlsx') {
|
|
return main.alert("只能上传.xlsx类型的文件!");
|
|
}
|
|
function success(data) {
|
|
if (data.success) {
|
|
_reloadData = 'reloadData';
|
|
main.alert(!data.totalNum ? '导入成功!' : "共 {0} 条数据,导入成功 {1} 条数据!".template(data.totalNum, data.successNum));
|
|
reloadunderlying_manager();
|
|
$("#modalFileUpload").modal('hide');
|
|
} else {
|
|
main.alert("导入失败:" + data.msg);
|
|
$("#modalFileUpload").modal('hide');
|
|
}
|
|
}
|
|
main.confirm("确定导入?", UploadFile.bind(null, { inputId: 'openFile', url: '/underlying_manager/UploadUnderlying', success: success }));
|
|
}
|
|
|
|
function UploadFile(options) {
|
|
|
|
if (!options || !options.url || !options.inputId) {
|
|
throw '[UploadFile]参数错误';
|
|
}
|
|
|
|
let file = $("#uploadfile").prop('files');
|
|
if (!file || !file[0]) return;
|
|
file = file[0];
|
|
|
|
var formData = new FormData();
|
|
formData.append("file", file, file.name);
|
|
formData.append("upload_file", true);
|
|
|
|
$.ajax({
|
|
type: "POST",
|
|
url: options.url,
|
|
xhr: function () {
|
|
var myXhr = $.ajaxSettings.xhr();
|
|
if (myXhr.upload) {
|
|
myXhr.upload.addEventListener('progress', options.progressFn, false);
|
|
}
|
|
return myXhr;
|
|
},
|
|
beforeSend() {
|
|
main.waitMe("show");
|
|
},
|
|
success: options.success,
|
|
error(error) {
|
|
main.alert("导入失败:" + error.statusText);
|
|
},
|
|
complete(result) {
|
|
main.waitMe("hide");
|
|
$('#' + options.inputId).val('');
|
|
},
|
|
async: true,
|
|
data: formData,
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
timeout: 60000
|
|
});
|
|
}
|
|
|
|
window.reloadData = SearchClick;
|