265 lines
12 KiB
Plaintext
265 lines
12 KiB
Plaintext
|
|
@model NP.Model.VMMM
|
||
|
|
<br />
|
||
|
|
<div class="row">
|
||
|
|
<div class="col-md-12 col-lg-5">
|
||
|
|
<section class="panel panel-default">
|
||
|
|
<header class="panel-heading font-bold">상위코드<br /><span style="color: red;">#상위코드를 클릭하면 하위코드목록이 표시됩니다.</span></header>
|
||
|
|
<div class="panel-body" id="treebox" style="overflow-y: auto; max-height: 250px;">
|
||
|
|
<ul class="box left cap header">
|
||
|
|
<li style="width: 20%;">No</li>
|
||
|
|
<li style="width: 30%;">상위코드</li>
|
||
|
|
<li style="width: 45%;">상위코드명</li>
|
||
|
|
</ul>
|
||
|
|
<div class="autobox" id="list1">
|
||
|
|
@foreach (var a in Model.ComGroups.Where(w => w.cgroupname != "dontdelete").ToList())
|
||
|
|
{
|
||
|
|
<ul class="box left cap">
|
||
|
|
<li style="width: 20%;">@a.rno</li>
|
||
|
|
<li style="width: 30%;" data-id="@a.cgroup" class="link cgroup"><a class="cgroupcode-@(a.cgroup)" href="#" onclick="javascript:rd('@(a.cgroup)', this);">@a.cgroup</a></li>
|
||
|
|
<li style="width: 45%;" class="cgroupname"><input type="text" data-org="@a.cgroupname" value="@a.cgroupname" style="width: 50%; text-align: center;height: 25px; line-height: 25px; border: 1px solid #ccc; margin-top: 3px;" /> <a href="#" class="btn btn-info btn-xs" onclick="savegroupname(this);" style="margin-top: -4px;">수정</a></li>
|
||
|
|
</ul>
|
||
|
|
}
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</section>
|
||
|
|
</div>
|
||
|
|
<div class="col-md-12 col-lg-7">
|
||
|
|
<section class="panel panel-default">
|
||
|
|
<header class="panel-heading font-bold">하위코드 추가</header>
|
||
|
|
<header class="panel-heading font-bold">선택된 상위코드 : <span id="selectcgroup" style="color: red;">없음</span> - <span id="selectcgroupname"></span></header>
|
||
|
|
<div class="panel-body">
|
||
|
|
<div class="form-group">
|
||
|
|
<label class="col-sm-5 col-md-3 col-lg-2 control-label">하위코드명</label>
|
||
|
|
<div class="col-sm-7 col-md-9 col-lg-10"><input type="text" class="form-control" id="regcname" /></div>
|
||
|
|
</div><div class="line line-dashed line-lg pull-in"></div>
|
||
|
|
<div class="form-group">
|
||
|
|
<label class="col-sm-5 col-md-3 col-lg-2 control-label">순서</label>
|
||
|
|
<div class="col-sm-7 col-md-9 col-lg-10"><input type="text" class="form-control int" id="regcorder" /></div>
|
||
|
|
</div><div class="line line-dashed line-lg pull-in"></div>
|
||
|
|
<div class="form-group">
|
||
|
|
<label class="col-sm-5 col-md-3 col-lg-2 control-label">상태</label>
|
||
|
|
<div class="col-sm-7 col-md-9 col-lg-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:사용;0:미사용" }, { "checked", 1 }, { "name", "regisuse" } })</div>
|
||
|
|
</div><div class="line line-dashed line-lg pull-in"></div>
|
||
|
|
<div class="form-group">
|
||
|
|
<label class="col-sm-5 col-md-3 col-lg-2 control-label"> </label>
|
||
|
|
<div class="col-sm-7 col-md-9 col-lg-10"><a href="#" class="btn btn-primary" onclick="savenewcode();">추가</a></div>
|
||
|
|
</div><div class="line line-dashed line-lg pull-in"></div>
|
||
|
|
</div>
|
||
|
|
</section>
|
||
|
|
<section class="panel panel-default" id="menuinfobox">
|
||
|
|
<header class="panel-heading font-bold">
|
||
|
|
하위코드 목록<br />
|
||
|
|
<span style="color: red;">#텍스트를 변경하고 텍스트를 벗어나거나 버튼을 클릭하면 바로 적용됩니다.</span>
|
||
|
|
</header>
|
||
|
|
<div class="panel-body">
|
||
|
|
<div class="autobox" style="max-height: 600px; overflow: auto;">
|
||
|
|
<table class="box clearbox list" style="border: 0 none;">
|
||
|
|
<colgroup>
|
||
|
|
<col />
|
||
|
|
<col />
|
||
|
|
<col style="width: 50px;" />
|
||
|
|
<col />
|
||
|
|
<col />
|
||
|
|
</colgroup>
|
||
|
|
<tr class="cap" style="border-bottom: 1px solid #7CA5DD; height: 50px;">
|
||
|
|
<th>코드</th>
|
||
|
|
<th>코드명</th>
|
||
|
|
<th>순서</th>
|
||
|
|
<th>사용함</th>
|
||
|
|
<th>등록일/수정일</th>
|
||
|
|
</tr>
|
||
|
|
<tbody id="list"></tbody>
|
||
|
|
</table>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</section>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<style type="text/css">
|
||
|
|
div#list1 ul.focus {
|
||
|
|
border: 2px solid red;
|
||
|
|
}
|
||
|
|
</style>
|
||
|
|
|
||
|
|
<script>
|
||
|
|
var _ncgroup = "ComCode_CGroup";
|
||
|
|
var _ncgroupname = "ComCode_CGroupName";
|
||
|
|
var _nccode = "ComCode_CCode";
|
||
|
|
var _ncname = "ComCode_CName";
|
||
|
|
var _npcode = "ComCode_PCode";
|
||
|
|
var _npname = "ComCode_PCodeName";
|
||
|
|
var _nisuse = "ComCode_IsUse";
|
||
|
|
var _ncorder = "ComCode_COrder";
|
||
|
|
var _nrefcode = "ComCode_RefCode";
|
||
|
|
var _ncremark = "ComCode_CRemark";
|
||
|
|
|
||
|
|
function save() {
|
||
|
|
if (check(_ncgroup)) {
|
||
|
|
msg("상위코드를 입력하세요.");
|
||
|
|
}
|
||
|
|
else if (check(_ncgroupname)) {
|
||
|
|
msg("상위코드명을 입력하세요.");
|
||
|
|
}
|
||
|
|
else if (check(_ncname)) {
|
||
|
|
msg("코드명을 입력하세요.");
|
||
|
|
}
|
||
|
|
else if (confirm(intval(_nccode) === 0 ? "저장하시겠습니까?" : "수정하시겠습니까?")) {
|
||
|
|
cap("/ZAXCommon/SaveComCode", "mform", "cbsave", null, true);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
$(document).ready(function () {
|
||
|
|
$("#list").on("change", ".ccodecname", function () {
|
||
|
|
capp("/acommon/saveccode", { cc: $(this).closest("tr").attr("data-ccode"), cn: $(this).val() }, "cbchangeccode");
|
||
|
|
});
|
||
|
|
$("#list").on("change", ".ccodecorder", function () {
|
||
|
|
capp("/acommon/saveccode", { cc: $(this).closest("tr").attr("data-ccode"), co: $(this).val() }, "cbchangeccode");
|
||
|
|
});
|
||
|
|
$("#list").on("change", ".ccodeisuse", function () {
|
||
|
|
capp("/acommon/saveccode", { cc: $(this).closest("tr").attr("data-ccode"), iu: $(this).prop("checked")?1:0 }, "cbchangeccode");
|
||
|
|
});
|
||
|
|
$(".btn.findpcode").on("click", function () {
|
||
|
|
findCode("COMCODE:CGroup:" + $("#pcodegroup").val() + ":bindpcode:종속코드검색");
|
||
|
|
});
|
||
|
|
$(".btn.clearpcode").on("click", function () {
|
||
|
|
setv(_ncgroup, "");
|
||
|
|
setv(_ncgroupname, "");
|
||
|
|
});
|
||
|
|
var sd = '@(ViewBag.SaveData)';
|
||
|
|
if (sd != '') {
|
||
|
|
$("#list1 ul li[data-id='" + sd + "']").find("a").click();
|
||
|
|
}
|
||
|
|
focus(_ncgroup);
|
||
|
|
});
|
||
|
|
function cbsave() {
|
||
|
|
if (capOK) {
|
||
|
|
$("#SaveData").val(val(_ncgroup));
|
||
|
|
timesubmit();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
var _gli;
|
||
|
|
function rd(_no, a) {
|
||
|
|
if (_no == "Industry") {
|
||
|
|
msg("Industry는 통계에서 사용하는 공통코드입니다. 개발자에게 문의해주세요.");
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
_cgroup = $(a).text();
|
||
|
|
$("#selectcgroup").text($(a).text());
|
||
|
|
$("#selectcgroupname").text($(a).closest("ul").find("li.cgroupname input").val());
|
||
|
|
$("#regcname").val("");
|
||
|
|
$("input[name='regisuse'][value=1]").prop("checked", true);
|
||
|
|
|
||
|
|
_gli = a;
|
||
|
|
clearall();
|
||
|
|
focus(_ncgroup);
|
||
|
|
$(a).parents("div").find("ul li").removeClass("focus");
|
||
|
|
$(a).parents("div").find("ul").removeClass("focus");
|
||
|
|
$(a).closest("ul").addClass("focus");
|
||
|
|
$("#list").html("");
|
||
|
|
capp("/acommon/GetComCode", { gcode: _no }, "cbget", null, true);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function cbget() {
|
||
|
|
var html = "";
|
||
|
|
var maxcorder = 0;
|
||
|
|
$.each($(capResult.obj), function (i, r) {
|
||
|
|
html += "<tr data-ccode=\"" + r.ccode + "\"><td>"+r.ccode+"</td>" +
|
||
|
|
"<td><input class=\"form-control ccodecname\" type=\"text\" value=\"" + r.cname + "\" /></td>" +
|
||
|
|
"<td><input class=\"form-control ccodecorder int text-center\" type=\"text\" value=\"" + r.corder + "\" /></td>" +
|
||
|
|
"<td><input class=\"ccodeisuse\" type=\"checkbox\" "+ (r.isuse == 1 ? "checked":"")+" /> 사용함</td>" +
|
||
|
|
"<td>"+r.cdtymd+" / "+r.udtymd+"</td></tr> ";
|
||
|
|
maxcorder = r.corder;
|
||
|
|
});
|
||
|
|
$("#regcorder").val(maxcorder+1);
|
||
|
|
$("#list").html(html);
|
||
|
|
$("#menuinfobox2").hide();
|
||
|
|
}
|
||
|
|
function bind(ccode) {
|
||
|
|
capp("/ZAXCommon/ZAXGetComCode", { ccode: ccode }, "cbbind", null, true);
|
||
|
|
}
|
||
|
|
function cbbind() {
|
||
|
|
setv(_ncgroup, capResult.obj.cgroup);
|
||
|
|
setv(_ncgroupname, capResult.obj.cgroupname);
|
||
|
|
setv(_nccode, capResult.obj.ccode);
|
||
|
|
setv(_ncname, capResult.obj.cname);
|
||
|
|
setv(_npcode, capResult.obj.pcode);
|
||
|
|
setv(_npname, capResult.obj.pcodename);
|
||
|
|
setv(_nisuse, capResult.obj.isuse);
|
||
|
|
$("#IsUse" + val(_nisuse)).prop("checked", true);
|
||
|
|
setv(_ncorder, capResult.obj.corder);
|
||
|
|
setv(_nrefcode, capResult.obj.refcode);
|
||
|
|
setv(_ncremark, capResult.obj.cremark);
|
||
|
|
$("#btndeletecode").hide();
|
||
|
|
if (capResult.obj.issystem != 1) {
|
||
|
|
$("#btndeletecode").show();
|
||
|
|
}
|
||
|
|
$("#menuinfobox2").show();
|
||
|
|
$("#btnsave").text("수정");
|
||
|
|
}
|
||
|
|
function bindpcode(ccode, cname, a) {
|
||
|
|
setv(_npcode, ccode);
|
||
|
|
setv(_npname, cname);
|
||
|
|
hideFindCode();
|
||
|
|
}
|
||
|
|
function deletecode() {
|
||
|
|
capp("/ZAXCommon/DeleteComCode", { ccode: val("ComCode_CCode") }, "cbdelete");
|
||
|
|
}
|
||
|
|
function cbdelete() {
|
||
|
|
if (capResult.code == 1000) {
|
||
|
|
msg("삭제되었습니다.");
|
||
|
|
setTimeout(function () {
|
||
|
|
$("#mform").submit();
|
||
|
|
}, 500);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
msg("이미 문제은행에 등록된 코드는 삭제할 수 없습니다.");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function savegroupname(a) {
|
||
|
|
if (confirm("상위코드명을 수정하시겠습니까?")) {
|
||
|
|
capp("/aCommon/UpdateCgroup", { CGroup: $(a).closest("ul").find("li.cgroup").text(), CGroupName: $.trim($(a).closest("li").find("input").val()) }, "cbsavegroupname");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
var _cgroup;
|
||
|
|
function cbsavegroupname() {
|
||
|
|
if (capResult.code == 1000) {
|
||
|
|
msgok(2);
|
||
|
|
timesubmitauto("tabmainform");
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
msgadmin();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function savenewcode() {
|
||
|
|
if ($("#selectcgroup").text() == "없음") { msg("상위코드를 선택 후 추가해주세요.");}
|
||
|
|
else if (check("regcname", null, "하위코드명을 입력해주세요.")) { }
|
||
|
|
else if (confirm("신규코드를 추가하시겠습니다.")) {
|
||
|
|
capp("/acommon/savenewccode", { cg: _cgroup, cn: val("regcname"), co: getint(val("regcorder")), iu: getrv("regisuse") }, "cbsavenewcode");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function cbsavenewcode() {
|
||
|
|
if (capResult.code == 1000) {
|
||
|
|
msg("추가되었습니다.");
|
||
|
|
setTimeout(function () {
|
||
|
|
$("a.cgroupcode-" + _cgroup).click();
|
||
|
|
hidelayermsg();
|
||
|
|
}, 500);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
msgadmin();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
function cbchangeccode() {
|
||
|
|
if (capResult.code == 1000) {
|
||
|
|
msg("수정되었습니다.");
|
||
|
|
setTimeout(function () {
|
||
|
|
$("a.cgroupcode-" + _cgroup).click();
|
||
|
|
hidelayermsg();
|
||
|
|
}, 500);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
msgadmin();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
</script>
|