Files
erp-site/statics/js/dist/addressManage.js
2026-04-19 01:39:41 +08:00

272 lines
7.6 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
$(function() {
api = frameElement.api;
var a = this,
b = api.data.oper,
c = api.data.rowData || {},
d = api.data.callback,
e = api.data.hasDefault,
f = !1;
_page = {
$shortName: $("#shortName"),
$postalcode: $("#postalcode"),
$province: $("#province"),
$city: $("#city"),
$area: $("#area"),
$address: $("#address"),
$linkman: $("#linkman"),
$phone: $("#phone"),
$mobile: $("#mobile"),
$isDefault: $("#isDefault"),
init: function() {
mod_AreasCombo.init(_page.$province, _page.$city, _page.$area, function() {
_page.provinceCombo = mod_AreasCombo.provinceCombo, _page.cityCombo = mod_AreasCombo.cityCombo, _page.areaCombo = mod_AreasCombo.areaCombo;
var b = 1 == c.isDefault ? 0 : 1;
f = c.isDefault ? !0 : !1;
var d = e ? f : !0;
_page.isDefaultCombo = _page.$isDefault.combo({
data: [{
id: 1,
name: "是"
}, {
id: 0,
name: "否"
}],
value: "id",
text: "name",
width: 197,
defaultSelected: b || void 0,
editable: !1,
disabled: !d
}).getCombo(), _page.$shortName.val(c.shortName), _page.$postalcode.val(c.postalcode), _page.provinceCombo.selectByText(c.province), _page.cityCombo.selectByText(c.city), _page.areaCombo.selectByText(c.area || c.county), _page.$address.val(c.address), _page.$linkman.val(c.linkman), _page.$phone.val(c.phone), _page.$mobile.val(c.mobile), $("#province").find("input").attr("name", "provinceInput"), $("#city").find("input").attr("name", "cityInput"), $("#area").find("input").attr("name", "areaInput"), a.initButton(), a.initValidator(), _page.$shortName.focus().select()
})
}
}, _event = {}, a.initButton = function() {
var d = "add" == b ? ["保存", "关闭"] : ["确定", "取消"];
api.button({
id: "confirm",
name: d[0],
focus: !0,
callback: function() {
return a.postData(b, c.id), !1
}
}, {
id: "cancel",
name: d[1]
})
}, a.initValidator = function() {
$.validator.addMethod("mobile", function(a) {
return a ? /0?(13|14|15|18)[0-9]{9}/.test(a) : !0
}), $.validator.addMethod("phone", function(a) {
return a ? /[0-9-()]{7,18}/.test(a) : !0
}), $.validator.addMethod("postalcode", function(a) {
return a ? /\d{6}/.test(a) : !0
}), $.validator.addMethod("require_from_group", function(a, b, c) {
var d = this,
e = c[1],
f = $(e, b.form).filter(function() {
return d.elementValue(this)
}).length >= c[0];
if (!$(b).data("being_validated")) {
var g = $(e, b.form);
g.data("being_validated", !0), g.valid(), g.data("being_validated", !1)
}
return f
}, jQuery.format("请输入电话或者手机号码")), $("#manage-form").validate({
errorPlacement: function(a, b) {
a.appendTo(b.parent());
var c = "10px",
d = "35px";
a.parent().hasClass("ui-combo-wrap") && (c = "6px", d = "15px"), a.css({
display: "block",
position: "absolute",
top: c,
right: d
})
},
rules: {
shortName: {},
address: {
required: !0
},
linkman: {
required: !0
},
mobile: {
require_from_group: [1, ".phone-group"]
},
phone: {
require_from_group: [1, ".phone-group"]
},
postalcode: {
required: !0
},
provinceInput: {
required: !1
},
cityInput: {
required: !1
},
areaInput: {
required: !1
}
},
messages: {
shortName: {
required: "名称不能为空"
},
mobile: {
mobile: "手机格式不正确"
},
phone: {
phone: "电话格式不正确"
},
postalcode: {
postalcode: "邮编格式不正确",
required: "邮编不能为空"
},
address: {
required: "详细地址不能为空"
},
linkman: {
required: "联系人不能为空"
},
provinceInput: {
required: "省份不能为空"
},
cityInput: {
required: "市不能为空"
},
areaInput: {
required: "区不能为空"
}
},
errorClass: "valid-error"
})
}, a.postData = function(a, b) {
if (!$("#manage-form").validate().form()) return void $("#manage-form").find("input.valid-error").eq(0).focus();
var e = $.trim(_page.$shortName.val()),
f = $.trim(_page.$postalcode.val()),
g = _page.provinceCombo.getText(),
h = _page.cityCombo.getText(),
i = _page.areaCombo.getText(),
j = $.trim(_page.$address.val()),
k = $.trim(_page.$linkman.val()),
l = $.trim(_page.$phone.val()),
m = $.trim(_page.$mobile.val()),
n = _page.isDefaultCombo && _page.isDefaultCombo.getValue();
params = c.id ? {
id: b,
shortName: e,
postalcode: f,
province: g,
city: h,
area: i,
address: j,
linkman: k,
phone: l,
mobile: m,
isDefault: n
} : {
shortName: e,
postalcode: f,
province: g,
city: h,
area: i,
address: j,
linkman: k,
phone: l,
mobile: m,
isDefault: n
}, d(params, api)
}, _page.init(), window.resetForm = function() {
$("#manage-form").validate().resetForm(), _page.$shortName.val(""), _page.$postalcode.val(""), _page.provinceCombo.selectByText(""), _page.cityCombo.selectByText(""), _page.areaCombo.selectByText(""), _page.$address.val(""), _page.$linkman.val(""), _page.$phone.val(""), _page.$mobile.val(""), _page.isDefaultCombo.selectByText("否"), e && "add" == b && _page.isDefaultCombo.disable()
}
});
var mod_AreasCombo = function(a) {
function b(b, c) {
return b.combo({
data: c,
text: "name",
value: "id",
width: 195,
listHeight: 100,
defaultSelected: -1,
cache: !1,
editable: !0,
callback: {
onFocus: null,
onBlur: null,
beforeChange: null,
onChange: function() {
switch (this) {
case a.provinceCombo:
a.cityCombo.loadData(d(a.provinceCombo.getValue()), -1, !1), a.areaCombo.loadData([], -1, !1);
break;
case a.cityCombo:
a.areaCombo.loadData(e(a.cityCombo.getValue()), -1, !1);
break;
case a.areaCombo:
}
},
onExpand: null,
onCollapse: null
}
}).getCombo()
}
function c() {
var a = [];
for (i = 0, len = l.length; i < len; i++) 2 === l[i].type && 1 === l[i].parent_id && a.push({
name: l[i].name,
id: l[i].id
});
return a
}
function d(a) {
var b = [];
for (i = 0, len = m.length; i < len; i++) m[i].parent_id === a && b.push({
name: m[i].name,
id: m[i].id
});
return b
}
function e(a) {
var b = [];
if (n[a]) b = n[a].areaData;
else {
for (i = 0, len = j.length; i < len; i++) 4 === j[i].type && j[i].parent_id === a && b.push({
name: j[i].name,
id: j[i].id
});
n[a] = {
areaData: b
}
}
return b
}
var f, g, h, j = [],
k = !1,
l = [],
m = [],
n = {};
return a.init = function(d, e, n, o) {
return f = d, g = e, h = n, d && e && n ? (Public.ajaxPost("../../statics/js/common/areasData.php", {}, function(d) {
if (d) {
for (k = !0, j = d.areas_get_response.areas.area, i = 0, len = j.length; i < len; i++) 2 === j[i].type && 1 === j[i].parent_id && l.push({
name: j[i].name,
id: j[i].id,
type: 2,
parent_id: 1
}), 3 === j[i].type && m.push({
name: j[i].name,
id: j[i].id,
type: j[i].type,
parent_id: j[i].parent_id
});
a.provinceCombo = b(f, c()), a.cityCombo = b(g, []), a.areaCombo = b(h, []), o()
} else parent.Public.tips({
type: 1,
content: "初始化省市区失败!"
})
}), a) : void 0
}, a
}(mod_AreasCombo || {});