Files
zszq-trs/YLErpWeb/wwwroot/Scripts/app/eod/eodPriceList.js
T
hjhan 8cade8ae53 fix: 修复日终价格新增后查不出(picker过滤LaunchState、新记录日期默认今天、列表新增改三选一)
- EodPriceController.BuildUnderlyingOptions 增加 LaunchState=="1" 过滤,与列表查询对齐,避免新增非激活标的被 inner join 永久过滤

- 三个编辑页新建分支将 valuation_date/ValueDate 默认设为今天,落在列表默认查询窗口内

- eodStockPriceEdit 补全 StockPicker 下拉(此前股票无picker,UnderlyingCode为空hidden导致查不出),删除上传无用的状态字段

- eodPriceList.js openEodPriceAdd 改为三选一(债券/期货/股票)打开各自编辑页空enid,替代已废弃的 EodPriceAdd 搜索页
2026-07-13 12:34:39 +08:00

182 lines
6.8 KiB
JavaScript

$(function () {
$("#DateToValueDate").val(curdate)
$("#DateFromValueDate").val(curdate)
var PostData = { ValueDate: curdate, ValueDateEnd: curdate, ValueDateStart: curdate };
$(".datepicker").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true });
var grid = jQuery('#listGrid').jqGrid({
url: '/eodPrice/eodPriceQuery',
datatype: 'json',
height: 'auto',
width: '100%',
autowidth: false,
shrinkToFit: false,
viewrecords: true,
jsonReader: { repeatitems: false },
cmTemplate: { align: 'center', width: 120 },
mtype: 'POST',
postData: PostData,
colModel: colModelGrid,
pager: jQuery('#pagerGrid'),
pagerpos: 'left',
rowNum: 20,
rowList: [20, 30, 50, 200, 10000],
footerrow: false
});
function keyEnter(event) {
try {
var e = event ? event : (window.event ? window.event : null);
(e.keyCode == 13) && SearchClick(true);
} catch (e) { }
}
document.onkeydown = keyEnter;
});
var colModelGrid = [{
name: '', label: '操作', index: '', width: 120, formatter: showToolName
}, {
name: 'ValueDate', label: '估值日期', index: 'ValueDate', width: 120, formatter: 'date'
}, {
name: 'MarketName', label: '市场', index: 'MarketName', width: 200
}, {
name: 'LaunchState', label: '启用', index: 'LaunchState', width: 80, formatter: formatLaunchState
}, {
name: 'UnderlyingCode', label: '合约代码', index: 'UnderlyingCode', width: 150
}, {
name: 'UnderlyingName', label: '合约名', index: 'UnderlyingName', width: 200
}, {
name: 'UnderlyingInstrumentTypeCn', label: '标的种类', index: 'UnderlyingInstrumentTypeCn', width: 130,sortable: false
}, {
name: 'ClosePrice', label: '收盘价/全价', index: 'ClosePrice', width: 100
}, {
name: 'SettlePrice', label: '结算价/净价', index: 'SettlePrice', width: 100
},
{
name: 'ReferencePrice', label: '参考价/收益率', index: 'ReferencePrice', width: 100
},
{
name: 'UpdateTime', label: '更新时间', index: 'UpdateTime', width: 160, formatter: 'datetime'
},
{
name: 'SourceTime', label: '时间戳', index: 'SourceTime', width: 160, formatter: 'datetime'
}, {
name: 'DataSource', label: '数据来源', index: 'DataSource', sortable: false, width: 120
}];
function showToolName(cellValue, options, rowObject) {
return "<input type=\"button\" class=\"wentiEdit\" title='查看标的日终价格' onclick=\"starteod_commodity_future_priceView('{0}','{1}')\" value=\"{2}\" />".template(rowObject.EncryptId, rowObject.UnderlyingInstrumentType, "查看");
}
function formatLaunchState(cellValue, options, rowObject) {
var html = "<img src='{0}'>";
html = rowObject.LaunchState == "1" ? html.template("/Images/yes.gif") : html.template("/Images/no.gif");
return html;
}
function startAddeod_commodity_future_price() {
var addurl = "/eodPrice/eodPriceEdit/0";
main.open("新增日终商品期货价格", addurl);
}
function starteod_commodity_future_priceView(id, underlyingInstrumentType) {
var srcurl = "/eodPrice/eodPriceView/?enid=" + id + "&UnderlyingInstrumentType=" + underlyingInstrumentType;
main.open("查看标的日终价格", srcurl, { area: ['800px', '600px'] });
}
function SearchClick(isSearchclick) {
var listGrid = $('#listGrid');
listGrid.appendPostData({ UnderlyingCode: $("#UnderlyingCode").val() });
listGrid.appendPostData({ MarketName: $("#MarketName").val() });
listGrid.appendPostData({ ValueDateStart: $("#DateFromValueDate").val() });
listGrid.appendPostData({ ValueDateEnd: $("#DateToValueDate").val() });
listGrid.appendPostData({ LaunchState: $("#LaunchState").val() });
listGrid.appendPostData({ DataSource: $("#DataSource").val() });
if (isSearchclick) {
//点击搜索时默认第一页
listGrid.jqGrid('setGridParam', { page: 1 });
}
listGrid.trigger('reloadGrid');
}
function openEodPriceAdd() {
var html = '<div style="padding:20px;">'
+ '<p style="margin-bottom:12px;">请选择要新增的日终价格类型:</p>'
+ '<button class="btn btn-primary" style="margin:4px;" onclick="chooseEodAdd(\'bond\')">债券</button>'
+ '<button class="btn btn-primary" style="margin:4px;" onclick="chooseEodAdd(\'CommodityFutures\')">商品期货</button>'
+ '<button class="btn btn-primary" style="margin:4px;" onclick="chooseEodAdd(\'Stock\')">股票</button>'
+ '</div>';
layer.open({ type: 1, title: '新增日终价格', content: html, area: ['300px', '170px'] });
}
function chooseEodAdd(type) {
var map = { bond: '/eodPrice/EodBondPriceEdit', CommodityFutures: '/eodPrice/EodFuturePriceEdit', Stock: '/eodPrice/EodStockPriceEdit' };
layer.closeAll();
main.open("新增日终价格", map[type], { area: ['820px', '620px'] });
}
function uploadSettlementBill() {
layer.open({
type: 1,
title: '导入结算价格',
content: $('#uploadTpl').html(),
area: ["450px", "200px"]
});
}
function importDatas() {
if (!checkSubmitData()) return;
var formData = new FormData($('#formImport')[0]);
main.post('/eodPrice/UploadSettlementBill', formData, {
cache: false,
contentType: false,
processData: false
}).done(function (data) {
SearchClick();
layer.closeAll();
if (data.obj) {
data.obj = data.obj.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&").replace(/&quot;/g, '"').replace(/&apos;/g, "'");
layer.open({
type: 1,
area: ['420px', '240px'], //宽高
content: data.obj,
});
}
});
}
function checkSubmitData() {
//非CSV文件不允许用户导入
var fileName = $('#openFile').val();
if (fileName == "") {
main.message("请选择文件!");
return false;
}
var axx = "csv";
var arr = "xlsx";
var index = fileName.lastIndexOf(".");
var ext = fileName.substr(index + 1);
if (ext == arr) {
return true;
}
else if (ext == axx) {
return true;
}
else {
main.message("请导入xlsx格式文件!");
}
return true;
}
function reloadData() {
SearchClick(false);
}
function downloadExcel() {
var dateTemp = new Date().Format("yyyyMMdd");
var fileName = "日终价格" + dateTemp;
var formatters = _.map([, '市场', '合约代码', '合约名', '标的种类', '收盘价', '结算价', '数据来源']
, x => new Object({ colName: x, formatter: "text" }));
formatters.push(_.map(['估值日期','更新时间', '时间戳']
, x => new Object({ colName: x, formatter: "datetime"})));
main.toExcel("listGrid", fileName, "xls", null,"操作,启用,参考价", formatters)
}