Files
zszq-trs/YLErpWeb/wwwroot/Scripts/app/calcpriceshow/templeteset.js
T
2026-08-20 14:15:12 +08:00

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);
}