346 lines
10 KiB
JavaScript
346 lines
10 KiB
JavaScript
$(function () {
|
|
|
|
var __jq = {
|
|
PostData: typeof PostData !== 'undefined' ? PostData : {},
|
|
AfterInsertRow: typeof AfterInsertRow !== 'undefined' ? AfterInsertRow : void 0,
|
|
rowclick: typeof rowclick !== 'undefined' ? rowclick : void 0,
|
|
rowdblclick: typeof rowdblclick !== 'undefined' ? rowdblclick : void 0,
|
|
gridComplete: typeof gridComplete !== 'undefined' ? gridComplete : void 0,
|
|
onJqgridPaging: typeof onJqgridPaging !== 'undefined' ? onJqgridPaging : void 0
|
|
};
|
|
|
|
var grid = jQuery('#listGrid').jqGrid({
|
|
url: '/CalcPriceShowCfg/GetList',
|
|
datatype: 'json',
|
|
|
|
height: 'auto',
|
|
width: '800px',
|
|
autowidth: true,
|
|
shrinkToFit: false,
|
|
viewrecords: true,
|
|
jsonReader: { repeatitems: false },
|
|
cmTemplate: { align: 'center', width: 120 },
|
|
mtype: 'POST',
|
|
postData: __jq.PostData,
|
|
afterInsertRow: __jq.AfterInsertRow,
|
|
onSelectRow: __jq.rowclick,
|
|
ondblClickRow: __jq.rowdblclick,
|
|
colModel: colModelGrid,
|
|
pager: "",
|
|
pagerpos: 'left',
|
|
rowNum: 20,
|
|
rowList: [20, 30, 50, 200, 500, 10000],
|
|
loadComplete: __jq.gridComplete,
|
|
onPaging: __jq.onJqgridPaging,
|
|
footerrow: false
|
|
});
|
|
|
|
|
|
|
|
|
|
});
|
|
window.reloadData = reload;
|
|
function rowdblclick(id) {
|
|
var encryptId = $('#listGrid').getRowData(id).EncryptId;
|
|
startassetunitView(encryptId);
|
|
}
|
|
|
|
|
|
var colModelGrid = [{
|
|
name: 'Id', label: 'Id', index: 'Id', width: 1, hidden: true
|
|
},
|
|
{
|
|
name: 'IsEnable', label: 'IsEnable', index: 'IsEnable', width: 1, hidden: true
|
|
},
|
|
{
|
|
name: 'Name', label: '模板名称', index: 'Name', width: 200, align: "left", classes: "autobreak", formatter: showName
|
|
},
|
|
{
|
|
name: 'CalcQuota', label: '计算指标', index: 'CalcQuota', width: 425, align: "left", classes: "autobreak", formatter: showQuota,
|
|
},
|
|
{
|
|
name: '', label: '操作', index: '', width: 140, formatter: showToolName, sortable: false
|
|
}];
|
|
|
|
|
|
function showName(cellValue, options, rowObject) {
|
|
|
|
var html = "<span title=''>{0}</span>".template(rowObject.Name);
|
|
if (rowObject.IsEnable) {
|
|
html += "<span class='enable-tag' title=''>应用</span>";
|
|
}
|
|
return html;
|
|
}
|
|
|
|
function showQuota(cellValue, options, rowObject) {
|
|
var html = '<div class="quota-context">';
|
|
var quotas = "";
|
|
|
|
var calcQuota = [];
|
|
for (var i = 0; i < rowObject.CalcQuota.length; i++) {
|
|
if (rowObject.CalcQuota[i].IsShow) {
|
|
calcQuota.push(rowObject.CalcQuota[i].Name);
|
|
}
|
|
}
|
|
|
|
|
|
if (calcQuota != null && calcQuota.length > 0) {
|
|
for (var i = 0; i < calcQuota.length; i++) {
|
|
if (i == calcQuota.length - 1) {
|
|
quotas += "[" + calcQuota[i] + "]";
|
|
} else {
|
|
quotas += "[" + calcQuota[i] + "],";
|
|
}
|
|
}
|
|
if (calcQuota.length > 7) {
|
|
for (var i = 0; i < 7; i++) {
|
|
html += '<span class="quota-item" title="">' + calcQuota[i] + '</span>';
|
|
}
|
|
html += '<span class="quota-item" title="' + quotas + '">...</span>';
|
|
} else {
|
|
for (var i = 0; i < calcQuota.length; i++) {
|
|
html += '<span class="quota-item" title="">' + calcQuota[i] + '</span>';
|
|
}
|
|
}
|
|
}
|
|
html += '</div>';
|
|
return html;
|
|
}
|
|
|
|
|
|
function showToolName(cellValue, options, rowObject) {
|
|
|
|
//var html = "<input type=\"button\" class=\"wentiEdit\" title='编辑' onclick=\"OpenEditView('{0}')\" value=\"{1}\" /> <input type=\"button\" class=\"wentiEdit\" title='删除' onclick=\"DeleteTag('{0}',false)\" value=\"{2}\" />".template(rowObject.id, "编辑", "删除");
|
|
|
|
var html = "<a href='javascript:void(0)' class='link-btn' title='' onclick='SetIsEnable({0})'>应用</a><a href='javascript:void(0)' onclick='Edit({0})' title='' class='link-btn'>编辑</a><a href='javascript:void(0)' onclick='Delete({0})' title='' class='link-btn color-black'>删除</a>".template(rowObject.Id);
|
|
|
|
return html;
|
|
}
|
|
|
|
|
|
function Delete(id) {
|
|
var listGrid = $('#listGrid');
|
|
var deleteRowData = listGrid.getRowData(id);
|
|
if (!deleteRowData) {
|
|
main.message("未找到删除数据");
|
|
return;
|
|
}
|
|
if (deleteRowData.IsEnable === "true") {
|
|
main.message("当前模板已被应用,无法删除");
|
|
return;
|
|
}
|
|
main.confirm("是否删除该模板?", function () {
|
|
var ajaxopt = {
|
|
type: "Post",
|
|
url: "/CalcPriceShowCfg/Delete",
|
|
data: { Id: id },
|
|
dataType: "json",
|
|
success: function (data) {
|
|
if (data.success) {
|
|
main.message("删除成功");
|
|
reload();
|
|
}
|
|
else {
|
|
main.alert(data.msg);
|
|
}
|
|
},
|
|
error: function (msg) {
|
|
alert("error:" + msg);
|
|
}
|
|
};
|
|
main.ajax(ajaxopt);
|
|
});
|
|
}
|
|
|
|
|
|
function Edit(id) {
|
|
var listGrid = $('#listGrid');
|
|
var editRowData = listGrid.getRowData(id);
|
|
if (!editRowData) {
|
|
main.message("未找到编辑的数据");
|
|
return;
|
|
}
|
|
var ajaxopt = {
|
|
type: "Get",
|
|
url: "/CalcPriceShowCfg/GetById?id=" + id,
|
|
|
|
dataType: "json",
|
|
success: function (data) {
|
|
if (data.success) {
|
|
ResetEditPanel(data.obj);
|
|
}
|
|
else {
|
|
main.alert(data.msg);
|
|
}
|
|
},
|
|
error: function (msg) {
|
|
alert("error:" + msg);
|
|
}
|
|
}
|
|
main.ajax(ajaxopt);
|
|
}
|
|
|
|
|
|
|
|
function reload() {
|
|
//重新加载
|
|
SearchClick();
|
|
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
|
|
if (typeof (isSearchclick) != "undefined" && isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
listGrid.jqGrid('setGridParam', { page: 1 });
|
|
}
|
|
listGrid.trigger('reloadGrid');
|
|
}
|
|
function AddTemplate() {
|
|
var quotaOrder = [];
|
|
for (var i = 0; i < pageObj.DefaultQuota.CalcQuota.length; i++) {
|
|
quotaOrder.push(pageObj.DefaultQuota.CalcQuota[i].Name);
|
|
}
|
|
InitQuotaCheckList(quotaOrder);
|
|
ClearEditPanel();
|
|
$(".edit-panel").show();
|
|
}
|
|
|
|
|
|
function InitQuotaCheckList(quotaOrder) {
|
|
$(".jq33").html("");
|
|
var html = "";
|
|
for (var i = 0; i < quotaOrder.length; i++) {
|
|
html += '<div class="item check-item">';
|
|
html += '<div class="check-item-text">';
|
|
var quta = pageObj.AllCalcQuota.filter(x => x.Name == quotaOrder[i])[0];
|
|
if (quta.Tip && quta.Tip != '') {
|
|
html += '<span class="{0}")">{1}</span>'.template("hasimg", quta.Name);
|
|
html += '<img src="/Images/help.png" title="{0}">'.template(quta.Tip);
|
|
} else {
|
|
html += '<span class="{0}")">{1}</span>'.template("", quta.Name);
|
|
}
|
|
html += "</div>";
|
|
|
|
html += '<div class="check-item-checkbox">';
|
|
html += '<input type="checkbox" class="js-quta-check" data-name="{0}" />'.template(quta.Name);
|
|
html += "</div>";
|
|
html += "</div>";
|
|
}
|
|
$(".jq33").html(html);
|
|
$('.jq33').dad({
|
|
draggable: '.check-item-text'
|
|
});
|
|
}
|
|
|
|
|
|
function ClearEditPanel() {
|
|
$("#templateName").val("");
|
|
$("#hidId").val("0");
|
|
$("#templateIsEnable").prop("checked", false);
|
|
$(".js-quta-check").prop("checked", false);
|
|
}
|
|
|
|
function ResetEditPanel(model) {
|
|
$("#templateName").val(model.Name);
|
|
$("#hidId").val(model.Id);
|
|
if (model.IsEnable) {
|
|
$("#templateIsEnable").prop("checked", true);
|
|
} else {
|
|
$("#templateIsEnable").prop("checked", false);
|
|
}
|
|
|
|
var quotaOrder = [];
|
|
var calcQuotaNameChecked = [];
|
|
for (var i = 0; i < model.CalcQuota.length; i++) {
|
|
quotaOrder.push(model.CalcQuota[i].Name);
|
|
if (model.CalcQuota[i].IsShow) {
|
|
calcQuotaNameChecked.push(model.CalcQuota[i].Name);
|
|
}
|
|
}
|
|
// 编辑旧模板时,把模板未包含的新增指标(如 Vega(1bp))追加到勾选列表末尾,默认不勾选,保证与新增模板口径一致
|
|
var defaultQuota = pageObj && pageObj.DefaultQuota ? pageObj.DefaultQuota.CalcQuota : [];
|
|
for (var j = 0; j < defaultQuota.length; j++) {
|
|
if (!quotaOrder.includes(defaultQuota[j].Name)) {
|
|
quotaOrder.push(defaultQuota[j].Name);
|
|
}
|
|
}
|
|
InitQuotaCheckList(quotaOrder);
|
|
|
|
if (calcQuotaNameChecked != null && calcQuotaNameChecked.length > 0) {
|
|
$(".js-quta-check").each(function () {
|
|
if (calcQuotaNameChecked.includes($(this).data("name"))) {
|
|
$(this).prop("checked", true);
|
|
} else {
|
|
$(this).prop("checked", false);
|
|
}
|
|
});
|
|
} else {
|
|
$(".js-quta-check").prop("checked", false);
|
|
}
|
|
$(".edit-panel").show();
|
|
}
|
|
|
|
function CloseEditPanel() {
|
|
$(".edit-panel").hide();
|
|
ClearEditPanel();
|
|
}
|
|
|
|
function SaveTemplate() {
|
|
var obj = {
|
|
Id: $("#hidId").val(),
|
|
Name: $("#templateName").val(),
|
|
IsEnable: $("#templateIsEnable").prop("checked"),
|
|
CalcQuota: []
|
|
};
|
|
$(".js-quta-check").each(function () {
|
|
var quota = { Name: $(this).data("name"), IsShow: false };
|
|
if ($(this).prop("checked")) {
|
|
quota.IsShow = true;
|
|
}
|
|
obj.CalcQuota.push(quota);
|
|
});
|
|
var ajaxopt = {
|
|
type: "Post",
|
|
url: "/CalcPriceShowCfg/Save",
|
|
data: obj,
|
|
dataType: "json",
|
|
success: function (data) {
|
|
if (data.success) {
|
|
main.message("保存成功");
|
|
reload();
|
|
CloseEditPanel();
|
|
}
|
|
else {
|
|
main.alert(data.msg);
|
|
}
|
|
},
|
|
error: function (msg) {
|
|
alert("error:" + msg);
|
|
}
|
|
}
|
|
main.ajax(ajaxopt);
|
|
}
|
|
|
|
function SetIsEnable(id) {
|
|
var ajaxopt = {
|
|
type: "Post",
|
|
url: "/CalcPriceShowCfg/SetIsEnable",
|
|
data: { Id: id },
|
|
dataType: "json",
|
|
success: function (data) {
|
|
if (data.success) {
|
|
main.message("设置成功");
|
|
reload();
|
|
}
|
|
else {
|
|
main.alert(data.msg);
|
|
}
|
|
},
|
|
error: function (msg) {
|
|
alert("error:" + msg);
|
|
}
|
|
};
|
|
main.ajax(ajaxopt);
|
|
} |