YNICTE/BO/Views/cm/cc.cshtml

289 lines
14 KiB
Plaintext
Raw Permalink Normal View History

2020-10-12 14:39:23 +09:00
@model NP.Model.VMCM
<div>
<ul class="pagination pagination-md" style="margin: 0;">
<li class=""><a href="#" onclick="gotab(1);" data-toggle="tab">학습콘텐츠</a></li>
<li class="active"><a href="#" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">문제</a></li>
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">설문지</a></li>
</ul>
</div>
<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;" />&nbsp;<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 disp-init" style="width: 400px;" 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 disp-init text-center" style="width: 100px;" 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">&nbsp;</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>
@section styles{
<style type="text/css">
div#list1 ul.focus {
border: 2px solid red;
}
#list tr td{padding: 3px 5px;}
</style>
}
@section scripts{
<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);
$("a.mainokbutton,a.mainokbutton2").hide();
setTimeout(function () {
hidelayermsg();
location.href = "/cm/cc";
}, 500);
}
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();
}
}
function gotab(idx, t) {
bglayer();
t = t || 0;
setTimeout(function () {
if (idx == 0) { location.href = "/cm/cc"; }
else if (idx == 1) { location.href = "/cm/cts"; }
else if (idx == 2) { location.href = "/cm/qs"; }
else if (idx == 3) { location.href = "/cm/rs"; }
}, t);
}
</script>
}