YNICTE/BO/Views/cc/bmr.cshtml

210 lines
13 KiB
Plaintext
Raw Normal View History

2020-10-12 14:39:23 +09:00
@model NP.Model.VMCC
<div class="row mgclear" id="regbox">
<form id="mform" method="post" enctype="multipart/form-data" class="form-horizontal">
<section class="panel panel-default">
<div class="panel-body">
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label req">게시판코드</label>
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.BM.bmcode, new { @class = "form-control disp-init text-center " + (Model.BM.bmno > 0 ? "readinput" : "ff"), @style = "width: 150px;", @maxlength = "10" })</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label req">위치</label>
<div class="col-sm-8 col-md-10">
@if (Model.BM.bmno < 1)
{
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "0:홈페이지;1:강의실" }, { "checked", Model.BM.bmposition }, { "name", "BM.bmposition" } })
}
else
{
@Html.HiddenFor(m => m.BM.bmposition)
@Model.BM.bmpositionname
}
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label req">게시판명</label>
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.BM.bmname, new { @class = "form-control " + (Model.BM.bmno < 1 ? "" : "ff"), @maxlength = "50" })</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">게시판설명</label>
<div class="col-sm-8 col-md-10">@Html.TextAreaFor(m => m.BM.bmdesc, new { @class = "form-control", @maxlength = "900" })</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">게시판유형</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "0:공지형(운영자/교수만 등록 가능, 교수자는 강의실 게시판에 한정);1:공개형(모든 사용자 등록 가능);2:1대1문의형(모든 사용자 등록 가능, UI달라짐)" }, { "checked", Model.BM.bmtype }, { "name", "BM.bmtype" }, { "isblock", 1 }, { "disabled" + (Model.BM.isdefault > 0 ? "" : "x"), 1 } })</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">출력방식</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "0:리스트형(일반 게시판 형태);1:FAQ형(제목을 클릭하면 내용이 바로 펼쳐짐)" }, { "checked", Model.BM.disptype }, { "name", "BM.disptype" }, { "isblock", 1 }, { "disabled" + (Model.BM.isdefault > 0 ? "" : "x"), 1 } })</div>
</div>
<div class="line line-dashed line-lg pull-in openbox" style="@(Model.BM.bmposition == 1 ? "display: none;":"")"></div><div class="form-group openbox" style="@(Model.BM.bmposition==1?"display: none;":"")">
<label class="col-sm-4 col-md-2 control-label">말머리사용</label>
<div class="col-sm-8 col-md-10">
@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:예;0:아니오" }, { "checked", Model.BM.isuseopening }, { "name", "BM.isuseopening" } })
<br />@Html.Hidden("savedata2", "")
<table style="width: 500px;@(Model.BM.bmposition==1 || Model.BM.isuseopening==0 ? "display: none;":"")" id="openingbox" class="regtable openingbox">
<colgroup><col style="width: 200px" /><col style="width: 100px;" /><col style="width: 80px;" /><col /></colgroup>
<thead>
<tr>
<th>말머리</th>
<th>순서</th>
<th>사용</th>
<th>관리</th>
</tr>
</thead>
<tbody>
@foreach (var o in Model.BMOs)
{
<tr data-no="@o.opno">
<td><input type="text" class="form-control opname" value="@o.opname" /></td>
<td><input type="text" class="form-control dsort text-right int" value="@o.dsort" /></td>
<td style="text-align: center;"><input type="checkbox" class="isuse" @(o.isuse == 1 ? "checked" : "") /></td>
<td style="text-align: center;"><a href="#" class="btn btn-xxs btn-danger delopen">[삭제]</a></td>
</tr>
}
@if (Model.BMOs.Count() < 1)
{
<tr data-no="0">
<td><input type="text" class="form-control opname" value="" /></td>
<td><input type="text" class="form-control dsort text-right int" value="1" /></td>
<td style="text-align: center;"><input type="checkbox" class="isuse" checked /></td>
<td style="text-align: center;"><a href="#" class="btn btn-xxs btn-danger delopen">[삭제]</a></td>
</tr>
}
</tbody>
</table>
<div class="openingbox" style="padding: 5px; text-align: right; width: 500px;@(Model.BM.bmposition==1 || Model.BM.isuseopening==0 ? "display: none;":"")">
<a href="#" class="btn btn-xxs btn-primary" onclick="add()">[추가]</a>
</div>
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">댓글여부</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:예;0:아니오" }, { "checked", Model.BM.isreply }, { "name", "BM.isreply" } })</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">공개여부</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:예;0:아니오" }, { "checked", Model.BM.isopen }, { "name", "BM.isopen" }, { "disabled" + (Model.BM.isdefault > 0 ? "" : "x"), 1 } })</div>
</div>
@if (Model.BM.asno != null)
{
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">사용고객사</label>
<div class="col-sm-8 col-md-10"><p class="form-control-static">@Model.BM.asname</p></div>
</div>
}
</div>
</section>
<div class="botfixempty">&nbsp;</div>
<div class="form-group botfix">
<a href="#" class="btn btn-primary" onclick="save();">저장</a>
<a href="#" class="btn btn-default" onclick="golist();">목록</a>
</div>
@Html.HiddenFor(m => m.intval)
@Html.HiddenFor(m => m.BM.bmno)
</form>
</div>
<form id="dform" method="post" action="/cc/bms">
@Html.Partial("./Partial/DForm", Model, new ViewDataDictionary { { "preform", 1 } })
</form>
@section styles{
}
@section scriptsHeader{
}
@section scripts{
<script>
function add() {
var m = 0;
$.each($("#openingbox tbody tr"), function (i, r) {
if (m < getint($(r).find("input.dsort").val())) {
m = getint($(r).find("input.dsort").val());
}
});
$("#openingbox tbody tr").last().clone().appendTo("#openingbox tbody");
$("#openingbox tbody tr").last().attr("data-no", 0);
$("#openingbox tbody tr").last().find("input.opname").val("");
$("#openingbox tbody tr").last().find("input.dsort").val(m+1);
$("#openingbox tbody tr").last().find("input.isuse").prop("checked", true);
}
$(document).ready(function () {
$("input[name='BM.bmposition']").on("change", function () {
$(".openingbox, .openbox").hide();
if ($(this).val() == "0") {
$("#BM_isuseopening0").prop("checked", true);
$(".openbox").show();
if (val("BM_isuseopening") == "1") {
$(".openingbox").show();
}
} else {
$("#BM_isuseopening0").prop("checked", false);
}
});
$("input[name='BM.isuseopening']").on("change", function () {
$(".openingbox").hide();
if ($(this).val() == "1") {
$(".openingbox").show();
}
});
$("body").on("click", ".delopen", function () {
if ($("#openingbox tbody tr").length < 2) {
msg("한 개 이상의 말머리가 필요합니다.");
}
else if (confirm("삭제 후 저장해야 반영됩니다.\n삭제 시 등록된 게시판글은 조회되지 않습니다.\n\n삭제하시겠습니까?")) {
$(this).closest("tr").remove();
}
});
});
function save() {
if (check("BM_bmcode", null, "게시판코드를 입력해주세요.")) { }
else if (check("BM_bmname", null, "게시판명을 입력해주세요.")) { }
else if ($("#BM_bmposition0").prop("checked") && $("#BM_isuseopening1").prop("checked") && $("#openingbox tbody tr").length < 1) {
msg("말머리를 추가해주세요.");
} else {
var isvalid = true;
var ischecked = false;
setv("savedata2", "");
if ($("#BM_isuseopening1").prop("checked")) {
var sd = "";
$.each($("#openingbox tbody tr"), function (i, r) {
if ($.trim($(r).find("input.opname").val().replace(/;/gi, '').replace(/:/gi, '')) == "") {
isvalid = false;
$(r).find("input.opname").focus();
msg("말머리를 입력해주세요.");
return false;
}
if (!ischecked && $(r).find("input.isuse").prop("checked")) {
ischecked = true;
}
sd += ";" + $(r).attr("data-no") + ":" + $(r).find("input.opname").val().replace(/;/gi, '').replace(/:/gi, '') + ":" + getint($(r).find("input.dsort").val()) + ":" + ($(r).find("input.isuse").prop("checked") ? 1 : 0);
});
if (isvalid && !ischecked) {
msg("사용할 말머리를 추가해주세요.");
isvalid = false;
} else {
setv("savedata2", sd.substr(1));
}
}
if (isvalid && confirm("저장하시겠습니까?")) {
cap("/acommon/boardmastersave", "mform", "cbsave");
}
}
}
function cbsave() {
if (capResult.code == 1000) {
if ('@(Model.BM.bmno)' == '0') {
setv("dform_intval", capResult.obj);
}
msgok(1, null, true);
$("#dform").attr("action", "/cc/bmr");
submit("dform", 500);
} else if (capResult.obj == -1) {
focus("BM_bmcode");
msg("이미 사용중인 게시판코드입니다.");
}
else { msgdev(); }
}
</script>
}