354 lines
11 KiB
JavaScript
Executable File
354 lines
11 KiB
JavaScript
Executable File
function initDom() {
|
|
function a(a, b, c) {
|
|
conditions.typeNumber = a, conditions.name = b, c || $("#grid").setGridParam({
|
|
postData: conditions
|
|
}).trigger("reloadGrid"), parent.$("li.l-selected a").eq(0).text(conditions.name + "类别")
|
|
}
|
|
var b, c = $(".ui-tab").on("click", "li", function() {
|
|
var b = $(this),
|
|
c = b.data("id"),
|
|
d = b.html(),
|
|
e = conditions.typeNumber,
|
|
f = conditions.name;
|
|
return conditions.typeNumber = c, conditions.name = d, verifyRight(rightsAction.query) ? ($(".cur").removeClass("cur"), b.addClass("cur"), $("#custom-assisting").getCombo().selectByIndex(0, !1), void a(c, d)) : (conditions.typeNumber = e, void(conditions.name = f))
|
|
}),
|
|
d = [],
|
|
e = {
|
|
customertype: "客户",
|
|
supplytype: "供应商",
|
|
trade: "商品",
|
|
paccttype: "支出",
|
|
raccttype: "收入"
|
|
};
|
|
for (var f in e) d.push('<li data-id="' + f + '">' + e[f] + "</li>");
|
|
c.append(d.join(""));
|
|
var g = $("#assisting-category-select li[data-id=" + typeNumber + "]");
|
|
1 == g.length ? (g.addClass("cur"), b = 0) : (b = ["number", typeNumber], $("#custom-assisting").parent().addClass("cur")), a(typeNumber, e[typeNumber], !0), $("#custom-assisting").combo({
|
|
data: "../basedata/assist/getAssistType?action=getAssistType",
|
|
text: "name",
|
|
value: "number",
|
|
width: 170,
|
|
ajaxOptions: {
|
|
formatData: function(a) {
|
|
var a = a.data.items;
|
|
a.unshift({
|
|
number: "",
|
|
name: "选择其他类别"
|
|
});
|
|
for (var b = 0, c = a.length; c > b; b++) a[b].name = a[b].name.replace("类别", ""), e[a[b].number] && (a.splice(b, 1), b--, c--);
|
|
return a.length > 1 && $("#custom-assisting").parent().show(), a
|
|
}
|
|
},
|
|
defaultSelected: b,
|
|
defaultFlag: !1,
|
|
callback: {
|
|
onChange: function(b) {
|
|
if (b.number) {
|
|
var c = b.number,
|
|
d = b.name;
|
|
$("#assisting-category-select li").removeClass("cur"), $("#custom-assisting").parent().addClass("cur"), a(c, d)
|
|
} else $("#custom-assisting").getCombo().selectByValue(conditions.typeNumber, !1)
|
|
},
|
|
beforeChange: function(a) {
|
|
var b = a.number,
|
|
c = a.name;
|
|
return _oType = conditions.typeNumber, _oName = conditions.name, conditions.typeNumber = b, conditions.name = c, verifyRight(rightsAction.query) ? !0 : (conditions.typeNumber = _oType, conditions.name = _oName, !1)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
function initEvent() {
|
|
$("#btn-add").click(function(a) {
|
|
a.preventDefault(), verifyRight(rightsAction.add) && handle.operate("add")
|
|
}), $("#grid").on("click", ".operating .ui-icon-pencil", function(a) {
|
|
if (a.preventDefault(), verifyRight(rightsAction.update)) {
|
|
var b = $(this).parent().data("id");
|
|
handle.operate("edit", b)
|
|
}
|
|
}), $("#grid").on("click", ".operating .ui-icon-trash", function(a) {
|
|
if (a.preventDefault(), verifyRight(rightsAction.del)) {
|
|
var b = $(this).parent().data("id");
|
|
handle.del(b)
|
|
}
|
|
}), $("#btn-refresh").click(function(a) {
|
|
a.preventDefault(), $("#grid").trigger("reloadGrid")
|
|
}), $("#search").click(function(a) {
|
|
a.preventDefault();
|
|
var b = $.trim($("#matchCon").val());
|
|
conditions.skey = "输入类别名称查询" == b ? "" : b, $("#grid").setGridParam({
|
|
postData: conditions
|
|
}).trigger("reloadGrid")
|
|
}), $("#matchCon").placeholder(), $(window).resize(function() {
|
|
Public.resizeGrid()
|
|
})
|
|
}
|
|
function initGrid() {
|
|
var a = [{
|
|
name: "operate",
|
|
label: "操作",
|
|
width: 60,
|
|
fixed: !0,
|
|
align: "center",
|
|
formatter: Public.operFmatter
|
|
}, {
|
|
name: "name",
|
|
label: "类别",
|
|
width: 200,
|
|
formatter: function(a, b, c) {
|
|
for (var d = parseInt(c.level) - 1, e = "", f = 0; d > f; f++) e += " ";
|
|
return e + a
|
|
}
|
|
}, {
|
|
name: "id",
|
|
label: "id",
|
|
hidden: !0
|
|
}, {
|
|
name: "level",
|
|
label: "level",
|
|
hidden: !0
|
|
}, {
|
|
name: "parentId",
|
|
label: "parentId",
|
|
hidden: !0
|
|
}, {
|
|
name: "parentName",
|
|
label: "parentName",
|
|
hidden: !0
|
|
}, {
|
|
name: "detail",
|
|
label: "是否叶",
|
|
hidden: !0
|
|
}];
|
|
$("#grid").jqGrid({
|
|
url: url,
|
|
postData: conditions,
|
|
datatype: "json",
|
|
height: Public.setGrid().h,
|
|
altRows: !0,
|
|
gridview: !0,
|
|
colModel: a,
|
|
autowidth: !0,
|
|
viewrecords: !0,
|
|
cmTemplate: {
|
|
sortable: !1,
|
|
title: !1
|
|
},
|
|
page: 1,
|
|
pager: "#page",
|
|
rowNum: 2e3,
|
|
shrinkToFit: !1,
|
|
scroll: 1,
|
|
jsonReader: {
|
|
root: "data.items",
|
|
records: "data.totalsize",
|
|
repeatitems: !1,
|
|
id: "id"
|
|
},
|
|
loadComplete: function(a) {
|
|
if (a && 200 == a.status) {
|
|
var b = {};
|
|
a = a.data;
|
|
for (var c = 0; c < a.items.length; c++) {
|
|
var d = a.items[c];
|
|
b[d.id] = d
|
|
}
|
|
showParentCategory = "trade" === conditions.typeNumber ? !0 : !1;
|
|
for (var c = 0; c < a.items.length; c++) {
|
|
var d = a.items[c],
|
|
e = b[d.parentId] || {};
|
|
e.name && (showParentCategory = !0, b[d.id].parentName = e.name)
|
|
}
|
|
parent.SYSTEM.categoryInfo = parent.SYSTEM.categoryInfo || {}, parent.SYSTEM.categoryInfo[conditions.typeNumber] = a.items, $("#grid").data("gridData", b)
|
|
} else {
|
|
var f = 250 == a.status ? "没有" + conditions.name + "类别数据!" : "获取" + conditions.name + "类别数据失败!" + a.msg;
|
|
parent.Public.tips({
|
|
type: 2,
|
|
content: f
|
|
})
|
|
}
|
|
},
|
|
loadError: function() {
|
|
parent.Public.tips({
|
|
type: 1,
|
|
content: "操作失败了哦,请检查您的网络链接!"
|
|
})
|
|
}
|
|
})
|
|
}
|
|
function initValidator() {
|
|
$("#manage-form").validate({
|
|
rules: {
|
|
category: {
|
|
required: !0
|
|
}
|
|
},
|
|
messages: {
|
|
category: {
|
|
required: "类别不能为空"
|
|
}
|
|
},
|
|
errorClass: "valid-error"
|
|
})
|
|
}
|
|
function postData(a) {
|
|
if (!$("#manage-form").validate().form()) return void $("#manage-form").find("input.valid-error").eq(0).focus();
|
|
var b = $.trim($("#category").val()),
|
|
c = $.trim($("#ParentCategory").val()),
|
|
d = a ? "update" : "add",
|
|
e = c ? $("#ParentCategory").data("PID") : "";
|
|
if (e === a) return void parent.parent.Public.tips({
|
|
type: 2,
|
|
content: "当前分类和上级分类不能相同!"
|
|
});
|
|
var f = {
|
|
parentId: e,
|
|
id: a,
|
|
name: b
|
|
},
|
|
g = "add" == d ? "新增" + conditions.name + "类别" : "修改" + conditions.name + "类别";
|
|
f.typeNumber = conditions.typeNumber, Public.ajaxPost("../basedata/assist/" + d, f, function(a) {
|
|
200 == a.status ? (parent.parent.Public.tips({
|
|
content: g + "成功!"
|
|
}), handle.callback(a.data, d)) : parent.parent.Public.tips({
|
|
type: 1,
|
|
content: g + "失败!" + a.msg
|
|
})
|
|
})
|
|
}
|
|
function resetForm() {
|
|
$("#manage-form").validate().resetForm(), $("#ParentCategory").val(""), $("#category").val("").focus().select()
|
|
}
|
|
function verifyRight(a) {
|
|
var b = rightsType[conditions.typeNumber];
|
|
if (!b) return !0;
|
|
switch (a) {
|
|
case rightsAction.query:
|
|
break;
|
|
case rightsAction.add:
|
|
break;
|
|
case rightsAction.del:
|
|
break;
|
|
case rightsAction.update:
|
|
break;
|
|
default:
|
|
return !1
|
|
}
|
|
return Business.verifyRight(b += a)
|
|
}
|
|
var typeNumber, showParentCategory, url = "../basedata/assist?action=list&isDelete=2",
|
|
urlParam = Public.urlParam();
|
|
urlParam.typeNumber && (typeNumber = urlParam.typeNumber);
|
|
var conditions = {
|
|
typeNumber: typeNumber,
|
|
skey: "",
|
|
name: ""
|
|
},
|
|
rightsType = {
|
|
customertype: "BUTYPE",
|
|
supplytype: "SUPPLYTYPE",
|
|
trade: "TRADETYPE",
|
|
raccttype: "RACCTTYPE",
|
|
paccttype: "PACCTTYPE"
|
|
},
|
|
rightsAction = {
|
|
query: "_QUERY",
|
|
add: "_ADD",
|
|
del: "_DELETE",
|
|
update: "_UPDATE"
|
|
},
|
|
handle = {
|
|
operate: function(a, b) {
|
|
if ("add" == a) {
|
|
var c = "新增" + conditions.name + "类别";
|
|
({
|
|
oper: a,
|
|
callback: this.callback
|
|
})
|
|
} else {
|
|
var c = "修改" + conditions.name + "类别";
|
|
({
|
|
oper: a,
|
|
rowData: $("#grid").data("gridData")[b],
|
|
callback: this.callback
|
|
})
|
|
}
|
|
var d = ['<form id="manage-form" action="">', '<ul class="mod-form-rows manage-wrap" id="manager">', '<li class="row-item" style="position:relative; display:none;">', '<div class="label-wrap"><label for="ParentCategory">上级分类:</label></div>', '<div class="ctn-wrap" style="position:relative;"><input type="text" value="" class="ui-input" name="ParentCategory" id="ParentCategory" readonly></div>', '<div class="dn hideFeild"></div>', "</li>", '<li class="row-item">', '<div class="label-wrap"><label for="category">类别:</label></div>', '<div class="ctn-wrap"><input type="text" value="" class="ui-input" name="category" id="category"></div>', "</li>", "</ul>", "</form>"],
|
|
e = 90;
|
|
showParentCategory && (e = 150), this.dialog = $.dialog({
|
|
title: c,
|
|
content: d.join(""),
|
|
width: 400,
|
|
height: e,
|
|
max: !1,
|
|
min: !1,
|
|
cache: !1,
|
|
lock: !0,
|
|
okVal: "确定",
|
|
ok: function() {
|
|
return postData(b), !1
|
|
},
|
|
cancelVal: "取消",
|
|
cancel: function() {
|
|
return !0
|
|
},
|
|
init: function() {
|
|
var c = $(".hideFeild"),
|
|
d = $("#ParentCategory"),
|
|
e = $("#category");
|
|
if (showParentCategory && (d.closest("li").show(), $("#ParentCategory").click(function() {
|
|
c.show().data("hasInit") || (c.show().data("hasInit", !0), Public.zTree.init(c, {
|
|
defaultClass: "ztreeDefault"
|
|
}, {
|
|
callback: {
|
|
beforeClick: function(a, b) {
|
|
d.val(b.name), d.data("PID", b.id), c.hide()
|
|
}
|
|
}
|
|
}))
|
|
}), $(".ui_dialog").click(function() {
|
|
c.hide()
|
|
}), $("#ParentCategory").closest(".row-item").click(function(a) {
|
|
var b = a || window.event;
|
|
b.stopPropagation ? b.stopPropagation() : window.event && (window.event.cancelBubble = !0)
|
|
}), document.onclick = function() {
|
|
c.hide()
|
|
}), "add" != a) {
|
|
var f = $("#grid").data("gridData")[b];
|
|
e.val(f.name), d.val(f.parentName), d.data("PID", f.parentId)
|
|
}
|
|
initValidator()
|
|
}
|
|
})
|
|
},
|
|
del: function(a) {
|
|
$.dialog.confirm("删除的" + conditions.name + "类别将不能恢复,请确认是否删除?", function() {
|
|
Public.ajaxPost("../basedata/assist/delete?action=delete", {
|
|
id: a,
|
|
typeNumber: conditions.typeNumber
|
|
}, function(b) {
|
|
if (b && 200 == b.status) {
|
|
parent.Public.tips({
|
|
content: "删除" + conditions.name + "类别成功!"
|
|
}), $("#grid").jqGrid("delRowData", a);
|
|
for (var c = parent.SYSTEM.categoryInfo[conditions.typeNumber].length, d = 0; c > d; d++) parent.SYSTEM.categoryInfo[conditions.typeNumber][d].id === a && (parent.SYSTEM.categoryInfo[conditions.typeNumber].splice(d, 1), d--, c--)
|
|
} else parent.Public.tips({
|
|
type: 1,
|
|
content: "删除" + conditions.name + "类别失败!" + b.msg
|
|
})
|
|
})
|
|
})
|
|
},
|
|
callback: function(a, b) {
|
|
var c = $("#grid").data("gridData");
|
|
c || (c = {}, $("#grid").data("gridData", c));
|
|
for (var d = parent.SYSTEM.categoryInfo[conditions.typeNumber].length, e = !0, f = 0; d > f; f++) parent.SYSTEM.categoryInfo[conditions.typeNumber][f].id === a.id && (parent.SYSTEM.categoryInfo[conditions.typeNumber][f] = a, e = !1);
|
|
e && parent.SYSTEM.categoryInfo[conditions.typeNumber].push(a), c[a.id] = a, a.parentId && (c[a.id].parentName = c[a.parentId].name), "add" != b ? ($("#grid").jqGrid("setRowData", a.id, a), this.dialog.close()) : ($("#grid").jqGrid("addRowData", a.id, a, "last"), this.dialog.close()), $("#grid").setGridParam({
|
|
postData: conditions
|
|
}).trigger("reloadGrid")
|
|
}
|
|
};
|
|
initDom(), initEvent(), initGrid();
|
|
|
|
|
|
|
|
|