diff --git a/BO/BO.csproj b/BO/BO.csproj index 5fcb020..4dbb2d4 100644 --- a/BO/BO.csproj +++ b/BO/BO.csproj @@ -670,6 +670,7 @@ + diff --git a/BO/Controllers/cmController.cs b/BO/Controllers/cmController.cs index 79e1d8a..6c828ad 100644 --- a/BO/Controllers/cmController.cs +++ b/BO/Controllers/cmController.cs @@ -253,6 +253,15 @@ namespace NP.BO.Controllers return View("cmregmenu", vm); } + public ActionResult cmregeduschedule(VMCM vm) + { + vm.CM = Dao.Get("cm.cms", new System.Collections.Hashtable() { { "cmno", vm.intval } }).First(); + vm.CMMenus = Dao.Get("cm.cmmenus", vm.CM.cmno); + vm.CMMenu = vm.CMMenus.First(); + vm.BoardMasters = Dao.Get("board.bms", new System.Collections.Hashtable() { { "bmposition", 1 }, { "isopen", 1 }, { "orderby", "a.cdt" } }); + return View("cmregeduschedule", vm); + } + public ActionResult books(NP.Model.VMCM vm) { diff --git a/BO/Views/cm/cmreg.cshtml b/BO/Views/cm/cmreg.cshtml index cb03202..55fe497 100644 --- a/BO/Views/cm/cmreg.cshtml +++ b/BO/Views/cm/cmreg.cshtml @@ -3,8 +3,12 @@ 기본정보 회차설정 - 평가설정 - 메뉴설정 + @if (Model.CM.ismaster == 0) + { + 교육일정 + } + 평가설정 + 메뉴설정 @@ -376,14 +380,24 @@ bglayer(); t = t || 0; setTimeout(function () { - if (idx == 0) { $("#dform").attr("action", "/cm/@Model.viewname").submit(); } + //기본정보 + if (idx == 0) { + $("#dform").attr("action", "/cm/@Model.viewname").submit(); + } + //회차설정 else if (idx == 1) { $("#dform").attr("action", "/cm/@(Model.viewname)inning").submit(); } + //교육일정 else if (idx == 2) { - $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); + $("#dform").attr("action", "/cm/@(Model.viewname)eduschedule").submit(); } + //평가설정 else if (idx == 3) { + $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); + } + //메뉴설정 + else if (idx == 4) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); } else { $("#content").find("section.vbox section.padder div.con-body div ul.pagination li.active").attr("class", ""); diff --git a/BO/Views/cm/cmregeduschedule.cshtml b/BO/Views/cm/cmregeduschedule.cshtml new file mode 100644 index 0000000..de5acee --- /dev/null +++ b/BO/Views/cm/cmregeduschedule.cshtml @@ -0,0 +1,407 @@ +@model NP.Model.VMCM + + + 기본정보 + 회차설정 + 교육일정 + 평가설정 + 메뉴설정 + + + + + + + + @(Model.viewidxname)분류 + + @Html.Partial("./Partial/Select", Model.CGs.Where(w => w.pcgno == null), new ViewDataDictionary { { "special", "reg" }, { "name", "pcgno" }, { "selected", Model.CM.pcgno }, { "df", ":-상위분류" }, { "class", "disp-init" } }) + @Html.Partial("./Partial/Select", Model.CGs.Where(w => w.pcgno == Model.CM.pcgno), new ViewDataDictionary { { "special", "reg" }, { "name", "CM.cgno" }, { "selected", Model.CM.cgno }, { "df", ":-과정분류" }, { "class", "disp-init" } }) + @if (Model.CM.ismaster == 0) + { + @Model.CM.pcgname + @Model.CM.cgname + @Model.CM.pcname + } + + + @if (Model.CM.ismaster == 0) + { + + 기수/강좌명/분반@(Model.viewidxname)명 + + @Model.CM.tmname + @Html.TextBoxFor(m => m.CM.cname, new { @class = "form-control disp-init ff", @style = "width: 50%", @maxlength = "100", @placeholder = Model.viewidxname + "명을 입력하세요." }) + + + + + + 키워드 + + @Html.TextBoxFor(m => m.CM.kname, new { @class = "form-control disp-init ff", @style = "width: 60%", @maxlength = "100" }) + * 강좌를 표현할 수 있는 단어를 입력해주세요. 홈페이지 홈화면 오프라인 강좌에 출력됩니다. + + + + + 신청기간 + @Html.Partial("./Partial/Date", Model.CM.rstime == null ? (DateTime?)null : Convert.ToDateTime(Model.CM.rstime), new ViewDataDictionary { { "name", "CM.rstime" } }) ~ @Html.Partial("./Partial/Date", Model.CM.retime == null ? (DateTime?)null : Convert.ToDateTime(Model.CM.retime), new ViewDataDictionary { { "name", "CM.retime" } }) + + + 학습기간 + @Html.Partial("./Partial/Date", Model.CM.sstime == null ? (DateTime?)null : Convert.ToDateTime(Model.CM.sstime), new ViewDataDictionary { { "name", "CM.sstime" } }) ~ @Html.Partial("./Partial/Date", Model.CM.setime == null ? (DateTime?)null : Convert.ToDateTime(Model.CM.setime), new ViewDataDictionary { { "name", "CM.setime" } }) + + + 성적처리기간 + @Html.Partial("./Partial/Date", Model.CM.gstime == null ? (DateTime?)null : Convert.ToDateTime(Model.CM.gstime), new ViewDataDictionary { { "name", "CM.gstime" } }) ~ @Html.Partial("./Partial/Date", Model.CM.getime == null ? (DateTime?)null : Convert.ToDateTime(Model.CM.getime), new ViewDataDictionary { { "name", "CM.getime" } }) + + } + else + { + + @(Model.viewidxname)명 + @Html.TextBoxFor(m => m.CM.cname, new { @class = "form-control disp-init ff", @style = "width: 50%", @maxlength = "100", @placeholder = Model.viewidxname + "명을 입력하세요." }) + + + + 키워드 + + @Html.TextBoxFor(m => m.CM.kname, new { @class = "form-control disp-init ff", @style = "width: 60%", @maxlength = "100" }) + * 과정을 표현할 수 있는 단어를 입력해주세요. 홈페이지 홈화면 오프라인 강좌에 출력됩니다. + + + + } + + 교육유형 + @Html.Partial("./Partial/Radio", Model.CM.cshape, new ViewDataDictionary() { { "valuetext", "0:온라인;1:오프라인;2:혼합(온라인+오프라인)" }, { "checked", Model.CM.cshape }, { "name", "CM.cshape" } }) + + + + 기술인분류 + + @Html.HiddenFor(m => m.CM.typeman) + @Html.Partial("./Partial/Checkbox", Model.ComCodes.Where(w => w.cgroup == "typeman"), new ViewDataDictionary { { "name", "typeman" }, {"autobind", "CM_typeman" }, { "checked", Model.CM.typeman }@*, { "fixwidth", "100px" }*@ }) + + + + 교육목적 + + @Html.HiddenFor(m => m.CM.typeedu) + @Html.Partial("./Partial/Checkbox", Model.ComCodes.Where(w => w.cgroup == "typeedu"), new ViewDataDictionary { { "name", "typeedu" }, {"autobind", "CM_typeedu" }, { "checked", Model.CM.typeedu }@*, { "fixwidth", "100px" }*@ }) + + + + 등급 + + @Html.HiddenFor(m => m.CM.typegrade) + @Html.Partial("./Partial/Checkbox", Model.ComCodes.Where(w => w.cgroup == "typegrade"), new ViewDataDictionary { { "name", "typegrade" }, {"autobind", "CM_typegrade" }, { "checked", Model.CM.typegrade }@*, { "fixwidth", "100px" }*@ }) + + + + 직무분야 + + @Html.HiddenFor(m => m.CM.typejob) + @Html.Partial("./Partial/Checkbox", Model.ComCodes.Where(w => w.cgroup == "typejob"), new ViewDataDictionary { { "name", "typejob" }, {"autobind", "CM_typejob" }, { "checked", Model.CM.typejob }@*, { "fixwidth", "100px" }*@ }) + + + + + + 수강료/정원 + + 정회원 : @Html.TextBoxFor(m => m.CM.infee, new { @class = "form-control disp-init int text-right", @style = "width: 150px;", @maxlength = "12" }) + 비회원 : @Html.TextBoxFor(m => m.CM.outfee, new { @class = "form-control disp-init int text-right", @style = "width: 150px;", @maxlength = "12" }) + 정원 : @Html.TextBoxFor(m => m.CM.quota, new { @class = "form-control disp-init int text-right", @style = "width: 150px;", @maxlength = "6" }) + + + + 담당자/교강사 + + *담당자/교강사 삭제시 강사료데이터도 삭제되며 학습회차의 담당강사도 삭제됩니다. + + + @foreach (var d in Model.Datas.Where(w => w.dtype == 1)) + { + [@(d.intval2 == 11 ? "강사" : "운영자")]@d.strvalX + } + + + + + 교재 + + + + @foreach (var d in Model.Datas.Where(w => w.dtype == 2)) + { + @d.strvalX + } + + + + + @(Model.viewidxname)소개 + @Html.TextAreaFor(m => m.CM.introhtml, new { @class = "form-control", @style = "resize: none; width: 90%; height: 80px; padding: 3px 5px;" }) + + + 학습대상 + @Html.TextAreaFor(m => m.CM.targethtml, new { @class = "form-control", @style = "resize: none; width: 90%; height: 80px; padding: 3px 5px;" }) + + + 학습목표 + @Html.TextAreaFor(m => m.CM.goalhtml, new { @class = "form-control", @style = "resize: none; width: 90%; height: 80px; padding: 3px 5px;" }) + + + 학습내용 + @Html.TextAreaFor(m => m.CM.contenthtml, new { @class = "form-control", @style = "resize: none; width: 90%; height: 80px; padding: 3px 5px;" }) + + + 학습장소 + + @*@Html.TextBoxFor(m => m.CM.studyplace, new { @class = "form-control disp-init", @style = "width: 300px;", @maxlength = "150", @placeholder = "" })*@ + @Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup == "studyplace"), new ViewDataDictionary() { { "checked", Model.CM.studyplace }, { "name", "CM.studyplace" } }) + ※ 유형이 온라인일 경우 출력되지 않음 + + + + 학습시간 + + @Html.TextBoxFor(m => m.CM.studytime, new { @class = "form-control disp-init float text-center", @style = "width: 100px;", @maxlength = "5", @placeholder = "" }) + 시간 + + + @if (Model.CM.ismaster == 0) + { + + 이수증발행여부 + @Html.Partial("./Partial/Radio", Model.CM.iscertificate, new ViewDataDictionary() { { "valuetext", "1:발행;0:미발행" }, { "checked", Model.CM.iscertificate }, { "name", "CM.iscertificate" } }) + + } + else + { + + + 이수증발행여부 + @Html.Partial("./Partial/Radio", Model.CM.iscertificate, new ViewDataDictionary() { { "valuetext", "1:발행;0:미발행" }, { "checked", Model.CM.iscertificate }, { "name", "CM.iscertificate" } }) + + + } + + 첨부파일 + + @Html.Partial("./Partial/File", Model.FileList.ToList(), new ViewDataDictionary { + { "name", "CM.fgnocm" },{"value", Model.CM.fgnocm },{ "fname", "fgnocm"}, + {"width", null },{"table", "cm" },{ "column", "fgnocm"},{"filecount", 100 }, + {"readmode", 0 },{"hidemode", 0 }, + { "isimage", 0 }, { "fileext", "" }}) + + + + 공개여부 + @Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "1:공개;0:비공개" }, { "checked", Model.CM.isuse }, { "name", "CM.isuse" } }) + + + + @Html.HiddenFor(m => m.intval) + @Html.HiddenFor(m => m.CM.cmno) + @Html.HiddenFor(m => m.CM.pcmno) + @Html.HiddenFor(m => m.CM.ismaster) + @Html.HiddenFor(m => m.CM.usernos) + @Html.HiddenFor(m => m.CM.bknos) + @Html.HiddenFor(m => m.CM.cmnospre) + @Html.HiddenFor(m => m.CM.cmnosnext) + @Html.HiddenFor(m => m.CM.ncsnos) + + + + + 저장 + @if (Model.CM.cmno > 0) + { + 삭제 + } + 목록 + + + @Html.Partial("./Partial/DForm", Model, new ViewDataDictionary { { "preform", 1 } }) + +@Html.Partial("./Partial/UserBox", "bindUser;강사/담당자 선택;999_1", new ViewDataDictionary { { "assigns", Model.Assigns }, { "userauths", Model.userauths } }) +@Html.Partial("./Partial/BookBox", "bindBook;교재선택 선택") +@Html.Partial("./Partial/CMBox", "bindCM;과정 선택;1") +@Html.Partial("./Partial/NCSBox", "bindNCS;NCS 세분류(직무) 선택;3") +@section styles{ + @Html.Partial("./Partial/Summernotestyle") +} +@section scriptsHeader{ + @Html.Partial("./Partial/ScriptDate") + @Html.Partial("./Partial/Summernote") + @Html.Partial("./Partial/FileScript") +} +@section scripts{ + +} diff --git a/BO/Views/cm/cmregest.cshtml b/BO/Views/cm/cmregest.cshtml index 25a214d..00f13c8 100644 --- a/BO/Views/cm/cmregest.cshtml +++ b/BO/Views/cm/cmregest.cshtml @@ -3,8 +3,12 @@ 기본정보 회차설정 + @if (Model.CM.ismaster == 0) + { + 교육일정 + } 평가설정 - 메뉴설정 + 메뉴설정 @@ -154,8 +158,9 @@ setTimeout(function () { if (idx == 0) { $("#dform").attr("action", "/cm/@Model.viewname").submit(); } else if (idx == 1) { $("#dform").attr("action", "/cm/@(Model.viewname)inning").submit(); } - else if (idx == 2) { $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); } - else if (idx == 3) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); } + else if (idx == 2) { $("#dform").attr("action", "/cm/@(Model.viewname)eduschedule").submit(); } + else if (idx == 3) { $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); } + else if (idx == 4) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); } }, t); } function save() { diff --git a/BO/Views/cm/cmreginning.cshtml b/BO/Views/cm/cmreginning.cshtml index 84513d7..c80e3e0 100644 --- a/BO/Views/cm/cmreginning.cshtml +++ b/BO/Views/cm/cmreginning.cshtml @@ -3,8 +3,12 @@ 기본정보 회차설정 - 평가설정 - 메뉴설정 + @if (Model.CM.ismaster == 0) + { + 교육일정 + } + 평가설정 + 메뉴설정 @@ -354,8 +358,9 @@ setTimeout(function () { if (idx == 0) { $("#dform").attr("action", "/cm/@Model.viewname").submit(); } else if (idx == 1) { $("#dform").attr("action", "/cm/@(Model.viewname)inning").submit(); } - else if (idx == 2) { $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); } - else if (idx == 3) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); } + else if (idx == 2) { $("#dform").attr("action", "/cm/@(Model.viewname)eduschedule").submit(); } + else if (idx == 3) { $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); } + else if (idx == 4) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); } }, t); } function regbatch() { diff --git a/BO/Views/cm/cmregmenu.cshtml b/BO/Views/cm/cmregmenu.cshtml index f056cfa..515530f 100644 --- a/BO/Views/cm/cmregmenu.cshtml +++ b/BO/Views/cm/cmregmenu.cshtml @@ -3,7 +3,11 @@ 기본정보 회차설정 - 평가설정 + @if (Model.CM.ismaster == 0) + { + 교육일정 + } + 평가설정 메뉴설정 @@ -76,8 +80,9 @@ setTimeout(function () { if (idx == 0) { $("#dform").attr("action", "/cm/@Model.viewname").submit(); } else if (idx == 1) { $("#dform").attr("action", "/cm/@(Model.viewname)inning").submit(); } - else if (idx == 2) { $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); } - else if (idx == 3) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); } + else if (idx == 2) { $("#dform").attr("action", "/cm/@(Model.viewname)eduschedule").submit(); } + else if (idx == 3) { $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); } + else if (idx == 4) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); } }, t); } function save() { diff --git a/Base/Controller/ACommon.cs b/Base/Controller/ACommon.cs index d633886..970f61f 100644 --- a/Base/Controller/ACommon.cs +++ b/Base/Controller/ACommon.cs @@ -1211,7 +1211,7 @@ namespace NP.Base.Controllers d.col16 = ""; } } - if (intval2 == 1 && d.col2 == "오프라인" && cshape.cshape == 2) { return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 학습방식을 확인해주세요. 혼합(온라인 + 오프라인)교육시 오프라인 회차는 등록 할 수 없습니다." }); } + if (d.col2 == "오프라인" && cshape.cshape == 2) { return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 학습방식을 확인해주세요. 혼합(온라인 + 오프라인)교육시 오프라인 회차는 등록 할 수 없습니다." }); } if (data.Where(w => w.col1 == cmseq).Count() > 1) { return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 회차가 중복됩니다." }); } if (GetInt(d.col1) < 1) { return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 회차를 확인해주세요." }); } if (d.col2 != "온라인" && d.col2 != "오프라인") { return JsonBack(new JsonRtn() { code = 1, msg = i + "번째 데이터의 학습방식을 확인해주세요." }); }