265 lines
7.2 KiB
JavaScript
Executable File
265 lines
7.2 KiB
JavaScript
Executable File
function callback() {
|
|
{
|
|
var a = frameElement.api;
|
|
a.data.oper, a.data.callback
|
|
}
|
|
null !== curRow && null !== curCol && ($("#accountGrid").jqGrid("saveCell", curRow, curCol), curRow = null, curCol = null);
|
|
var b = {};
|
|
return b.accounts = THISPAGE._getAccountsData(), b.accounts ? 0 === b.accounts.length ? (parent.parent.Public.tips({
|
|
type: 1,
|
|
content: "结算账户信息不能为空!"
|
|
}), $("#accountGrid").jqGrid("editCell", 1, 2, !0), !1) : (b.payment = $("#accountGrid").jqGrid("footerData", "get").payment.replace(/,/g, ""), b) : !1
|
|
}
|
|
var SYSTEM = parent.parent.SYSTEM,
|
|
curRow, curCol, qtyPlaces = Number(SYSTEM.qtyPlaces) || 4,
|
|
pricePlaces = Number(SYSTEM.pricePlaces) || 4,
|
|
amountPlaces = Number(SYSTEM.amountPlaces) || 2,
|
|
api = frameElement.api,
|
|
oper = api.data.oper,
|
|
accountInfo = api.data.accountInfo ? [].concat(api.data.accountInfo) : api.data.accountInfo;
|
|
if (accountInfo) {
|
|
var gap = 4 - accountInfo.length;
|
|
if (gap > 0) for (var i = 0; gap > i; i++) accountInfo.push({});
|
|
var originalData = {
|
|
accounts: accountInfo
|
|
}
|
|
} else var originalData = {
|
|
accounts: [{
|
|
id: "1"
|
|
}, {
|
|
id: "2"
|
|
}, {
|
|
id: "3"
|
|
}, {
|
|
id: "4"
|
|
}]
|
|
};
|
|
var THISPAGE = {
|
|
init: function(a) {
|
|
this.loadGrid(a), this.initCombo(), this.addEvent()
|
|
},
|
|
initDom: function() {},
|
|
loadGrid: function(a) {
|
|
function b() {
|
|
var a = $(".accountAuto")[0];
|
|
return a
|
|
}
|
|
function c(a, b, c) {
|
|
if ("get" === b) {
|
|
if ("" !== $(".accountAuto").getCombo().getValue()) return $(a).val();
|
|
var d = $(a).parents("tr");
|
|
return d.removeData("accountInfo"), ""
|
|
}
|
|
"set" === b && $("input", a).val(c)
|
|
}
|
|
function d() {
|
|
$("#initCombo").append($(".accountAuto").val(""))
|
|
}
|
|
function e() {
|
|
var a = $(".paymentAuto")[0];
|
|
return a
|
|
}
|
|
function f(a, b, c) {
|
|
if ("get" === b) {
|
|
if ("" !== $(".paymentAuto").getCombo().getValue()) return $(a).val();
|
|
var d = $(a).parents("tr");
|
|
return d.removeData("paymentInfo"), ""
|
|
}
|
|
"set" === b && $("input", a).val(c)
|
|
}
|
|
function g() {
|
|
$("#initCombo").append($(".paymentAuto").val(""))
|
|
}
|
|
var h = this;
|
|
$("#accountGrid").jqGrid({
|
|
data: a.accounts,
|
|
datatype: "clientSide",
|
|
width: 628,
|
|
height: "100%",
|
|
rownumbers: !0,
|
|
gridview: !0,
|
|
onselectrow: !1,
|
|
colModel: [{
|
|
name: "operating",
|
|
label: " ",
|
|
width: 40,
|
|
fixed: !0,
|
|
formatter: Public.billsOper,
|
|
align: "center"
|
|
}, {
|
|
name: "account",
|
|
label: "结算账户",
|
|
width: 200,
|
|
classes: "ui-ellipsis",
|
|
editable: !0,
|
|
edittype: "custom",
|
|
editoptions: {
|
|
custom_element: b,
|
|
custom_value: c,
|
|
handle: d
|
|
}
|
|
}, {
|
|
name: "payment",
|
|
label: "金额",
|
|
width: 100,
|
|
align: "right",
|
|
formatter: "currency",
|
|
formatoptions: {
|
|
showZero: !0,
|
|
decimalPlaces: amountPlaces
|
|
},
|
|
editable: !0
|
|
}, {
|
|
name: "way",
|
|
label: "结算方式",
|
|
width: 200,
|
|
editable: !0,
|
|
edittype: "custom",
|
|
editoptions: {
|
|
custom_element: e,
|
|
custom_value: f,
|
|
handle: g,
|
|
trigger: "ui-icon-triangle-1-s payment-trigger"
|
|
}
|
|
}, {
|
|
name: "settlement",
|
|
label: "结算号",
|
|
width: 100,
|
|
editable: !0
|
|
}],
|
|
cmTemplate: {
|
|
sortable: !1,
|
|
title: !1
|
|
},
|
|
idPrefix: "ac",
|
|
shrinkToFit: !0,
|
|
forceFit: !0,
|
|
cellEdit: !0,
|
|
cellsubmit: "clientArray",
|
|
localReader: {
|
|
root: "rows",
|
|
records: "records",
|
|
repeatitems: !1,
|
|
id: "id"
|
|
},
|
|
jsonReader: {
|
|
root: "data.account",
|
|
records: "records",
|
|
repeatitems: !1,
|
|
id: "id"
|
|
},
|
|
loadComplete: function(a) {
|
|
if (accountInfo) for (var b = a.rows, c = 0, d = b.length; d > c; c++) {
|
|
var e = c + 1,
|
|
f = b[c];
|
|
if ($.isEmptyObject(b[c])) break;
|
|
$("#ac" + e).data("accountInfo", {
|
|
id: f.accId
|
|
}).data("paymentInfo", {
|
|
id: f.wayId
|
|
})
|
|
}
|
|
},
|
|
gridComplete: function() {
|
|
h.paymentTotal()
|
|
},
|
|
afterEditCell: function(a, b, c, d) {
|
|
"account" === b && ($("#" + d + "_account", "#accountGrid").val(c), h.accountCombo.selectByText(c)), "way" === b && $("#" + d + "_way", "#accountGrid").val(c)
|
|
},
|
|
afterSaveCell: function(a, b) {
|
|
"payment" == b && h.paymentTotal()
|
|
},
|
|
loadonce: !0,
|
|
footerrow: !0,
|
|
userData: {
|
|
account: "合计:"
|
|
},
|
|
userDataOnFooter: !0
|
|
})
|
|
},
|
|
reloadData: function(a) {
|
|
$("#grid").jqGrid("setGridParam", {
|
|
url: "../../basedata/inventory?action=listForBill",
|
|
datatype: "json",
|
|
postData: a
|
|
}).trigger("reloadGrid")
|
|
},
|
|
paymentTotal: function() {
|
|
for (var a = $("#accountGrid"), b = a.jqGrid("getDataIDs"), c = 0, d = 0, e = b.length; e > d; d++) {
|
|
var f = b[d],
|
|
g = a.jqGrid("getRowData", f);
|
|
g.payment && (c += parseFloat(g.payment))
|
|
}
|
|
a.jqGrid("footerData", "set", {
|
|
payment: c
|
|
})
|
|
},
|
|
initCombo: function() {
|
|
this.accountCombo = Business.accountCombo($(".accountAuto"), {
|
|
editable: !0,
|
|
trigger: !1,
|
|
callback: {
|
|
onChange: function(a) {
|
|
var b = this.input.parents("tr");
|
|
a && b.data("accountInfo", a)
|
|
}
|
|
}
|
|
}), Business.paymentCombo($(".paymentAuto"), {
|
|
callback: {
|
|
onChange: function(a) {
|
|
var b = this.input.parents("tr");
|
|
a && b.data("paymentInfo", a)
|
|
}
|
|
}
|
|
})
|
|
},
|
|
addEvent: function() {
|
|
var a = this;
|
|
a.newId = 5, $(".grid-wrap").on("click", ".account-trigger", function() {
|
|
setTimeout(function() {
|
|
a.accountCombo._onTriggerClick()
|
|
}, 10)
|
|
}), $(".grid-wrap").on("click", ".payment-trigger", function() {
|
|
setTimeout(function() {
|
|
$(".paymentAuto").trigger("click")
|
|
}, 10)
|
|
}), $(".grid-wrap").on("click", ".ui-icon-plus", function() {
|
|
var b = "ac" + $(this).parent().data("id"),
|
|
c = ($("#accountGrid tbody tr").length, {
|
|
id: a.newId
|
|
}),
|
|
d = $("#accountGrid").jqGrid("addRowData", a.newId, c, "after", b);
|
|
d && ($(this).parents("td").removeAttr("class"), $(this).parents("tr").removeClass("selected-row ui-state-hover"), $("#accountGrid").jqGrid("resetSelection"), a.newId++)
|
|
}), $(".grid-wrap").on("click", ".ui-icon-trash", function() {
|
|
if (2 === $("#accountGrid tbody tr").length) return parent.Public.tips({
|
|
type: 2,
|
|
content: "至少保留一条分录!"
|
|
}), !1;
|
|
var b = "ac" + $(this).parent().data("id"),
|
|
c = $("#accountGrid").jqGrid("delRowData", b);
|
|
c && a.calTotal()
|
|
}), $(document).bind("click.cancel", function(a) {
|
|
null !== curRow && null !== curCol && (!$(a.target).closest("#accountGrid").length > 0 && $("#accountGrid").jqGrid("saveCell", curRow, curCol), curRow = null, curCol = null)
|
|
})
|
|
},
|
|
_getAccountsData: function() {
|
|
for (var a = [], b = $("#accountGrid").jqGrid("getDataIDs"), c = 0, d = b.length; d > c; c++) {
|
|
var e, f = b[c],
|
|
g = $("#accountGrid").jqGrid("getRowData", f);
|
|
if ("" !== g.account) {
|
|
var h = $("#" + f).data("accountInfo"),
|
|
i = $("#" + f).data("paymentInfo") || {};
|
|
e = {
|
|
accId: h.id,
|
|
account: g.account,
|
|
payment: g.payment,
|
|
wayId: i.id || 0,
|
|
way: g.way,
|
|
settlement: g.settlement
|
|
}, a.push(e)
|
|
}
|
|
}
|
|
return a
|
|
}
|
|
};
|
|
THISPAGE.init(originalData); |