2025-09-25 17:49 설문 및 예방교육 관리자 화면 수정
This commit is contained in:
parent
a000e14e35
commit
0fdd3859f5
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
|
||||||
|
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
|
||||||
|
|
||||||
|
<sqlMapConfig>
|
||||||
|
<sqlMap resource="egovframework/sqlmap/let/uss/olp/qim/EgovQustnrItemManage_SQL_Postgresql.xml"/>
|
||||||
|
</sqlMapConfig>
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
|
||||||
|
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
|
||||||
|
|
||||||
|
<sqlMapConfig>
|
||||||
|
<sqlMap resource="egovframework/sqlmap/let/uss/olp/qqm/EgovQustnrQestnManage_SQL_Postgresql.xml"/>
|
||||||
|
</sqlMapConfig>
|
||||||
@ -0,0 +1,212 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
|
||||||
|
|
||||||
|
<sqlMap namespace="QustnrItemManage">
|
||||||
|
|
||||||
|
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
|
||||||
|
<typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
|
||||||
|
<typeAlias alias="QustnrItemManageVO" type="kcc.let.uss.olp.qim.service.QustnrItemManageVO"/>
|
||||||
|
<!-- 설문정보::설문템플릿정보 -->
|
||||||
|
<select id="QustnrItemManage.selectQustnrTmplatManage" parameterClass="QustnrItemManageVO" resultClass="egovMap">
|
||||||
|
SELECT
|
||||||
|
QUSTNR_TMPLAT_ID qestnrTmplatId,
|
||||||
|
QUSTNR_TMPLAT_TY qestnrTmplatTy
|
||||||
|
FROM LETTNQUSTNRTMPLAT
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 설문조사(설문결과) 삭제 -->
|
||||||
|
<delete id="QustnrItemManage.deleteQustnrRespondInfo">
|
||||||
|
DELETE FROM LETTNQUSTNRRSPNSRESULT WHERE QUSTNR_IEM_ID = #qustnrIemId#
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<!-- 설문정보::삭제 -->
|
||||||
|
<delete id="QustnrItemManage.deleteQustnrItemManage">
|
||||||
|
<![CDATA[
|
||||||
|
DELETE FROM LETTNQUSTNRIEM
|
||||||
|
WHERE QUSTNR_IEM_ID = #qustnrIemId#
|
||||||
|
]]>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<!-- 설문정보::수정 -->
|
||||||
|
<update id="QustnrItemManage.updateQustnrItemManage">
|
||||||
|
UPDATE LETTNQUSTNRIEM
|
||||||
|
SET
|
||||||
|
IEM_SN=#iemSn#,
|
||||||
|
IEM_CN=#iemCn#,
|
||||||
|
ETC_ANSWER_AT=#etcAnswerAt#,
|
||||||
|
LAST_UPDT_PNTTM = NOW(),
|
||||||
|
LAST_UPDUSR_ID = #lastUpdusrId#
|
||||||
|
WHERE QUSTNR_IEM_ID = #qustnrIemId#
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 설문정보::상세보기 -->
|
||||||
|
<select id="QustnrItemManage.selectQustnrItemManageDetail" parameterClass="QustnrItemManageVO" resultClass="egovMap">
|
||||||
|
SELECT
|
||||||
|
A.QUSTNR_QESITM_ID qestnrQesitmId,
|
||||||
|
(SELECT QESTN_CN FROM LETTNQUSTNRQESITM WHERE QUSTNR_QESITM_ID = A.QUSTNR_QESITM_ID) QESTNR_QESITM_CN,
|
||||||
|
A.QESTNR_ID,
|
||||||
|
(SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE QESTNR_ID = A.QESTNR_ID) QESTNR_CN,
|
||||||
|
A.IEM_SN,
|
||||||
|
A.QUSTNR_IEM_ID,
|
||||||
|
A.IEM_CN,
|
||||||
|
A.ETC_ANSWER_AT,
|
||||||
|
A.QUSTNR_TMPLAT_ID qestnrTmplatId,
|
||||||
|
A.FRST_REGIST_PNTTM frstRegisterPnttm,
|
||||||
|
A.FRST_REGISTER_ID,
|
||||||
|
A.LAST_UPDT_PNTTM,
|
||||||
|
A.LAST_UPDUSR_ID
|
||||||
|
FROM LETTNQUSTNRIEM A
|
||||||
|
WHERE 1=1
|
||||||
|
AND A.QUSTNR_IEM_ID = #qustnrIemId#
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 설문정보::목록조회_게시물정보 -->
|
||||||
|
<select id="QustnrItemManage.selectQustnrItemManage" parameterClass="comDefaultVO" resultClass="egovMap">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT
|
||||||
|
A.QUSTNR_QESITM_ID qestnrQesitmId,
|
||||||
|
A.QESTNR_ID,
|
||||||
|
A.IEM_SN,
|
||||||
|
A.QUSTNR_IEM_ID,
|
||||||
|
A.IEM_CN,
|
||||||
|
A.ETC_ANSWER_AT,
|
||||||
|
A.QUSTNR_TMPLAT_ID qestnrTmplatId,
|
||||||
|
A.FRST_REGIST_PNTTM frstRegisterPnttm,
|
||||||
|
A.FRST_REGISTER_ID,
|
||||||
|
(SELECT USER_NM FROM COMVNUSERMASTER WHERE ESNTL_ID = A.FRST_REGISTER_ID ORDER BY USER_NM DESC LIMIT 1) FRST_REGISTER_NM,
|
||||||
|
A.LAST_UPDT_PNTTM,
|
||||||
|
A.LAST_UPDUSR_ID,
|
||||||
|
(SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE QESTNR_ID = A.QESTNR_ID LIMIT 1) QUSTNR_SJ,
|
||||||
|
(SELECT QESTN_CN FROM LETTNQUSTNRQESITM WHERE QUSTNR_QESITM_ID = A.QUSTNR_QESITM_ID LIMIT 1) QESTN_CN
|
||||||
|
FROM LETTNQUSTNRIEM A
|
||||||
|
WHERE 1=1
|
||||||
|
]]>
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
<isNotEqual property="searchKeyword" compareValue="">
|
||||||
|
<isNotEqual property="searchCondition" compareValue="FRST_REGISTER_ID">
|
||||||
|
<isEqual property="searchCondition" compareValue="IEM_CN">
|
||||||
|
AND IEM_CN LIKE CONCAT(CONCAT('%', #searchKeyword#), '%')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="FRST_REGISTER_ID">
|
||||||
|
AND FRST_REGISTER_ID IN (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') )
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="QUSTNR_QESITM_ID">
|
||||||
|
AND QUSTNR_QESITM_ID = #searchKeyword#
|
||||||
|
</isEqual>
|
||||||
|
</isNotEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<![CDATA[
|
||||||
|
ORDER BY A.FRST_REGIST_PNTTM DESC
|
||||||
|
/*
|
||||||
|
LIMIT recordCountPerPage OFFSET firstIndex
|
||||||
|
*/
|
||||||
|
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||||
|
]]>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 설문정보::목록조회_게시물 총갯수 -->
|
||||||
|
<select id="QustnrItemManage.selectQustnrItemManageCnt" parameterClass="comDefaultVO" resultClass="int">
|
||||||
|
SELECT
|
||||||
|
COUNT(*) totcnt
|
||||||
|
FROM LETTNQUSTNRIEM
|
||||||
|
WHERE 1=1
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
<isNotEqual property="searchKeyword" compareValue="">
|
||||||
|
<isNotEqual property="searchCondition" compareValue="FRST_REGISTER_ID">
|
||||||
|
<isEqual property="searchCondition" compareValue="IEM_CN">
|
||||||
|
AND IEM_CN LIKE CONCAT(CONCAT('%', #searchKeyword#), '%')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="FRST_REGISTER_ID">
|
||||||
|
AND FRST_REGISTER_ID IN (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_NM LIKE CONCAT(CONCAT('%', #searchKeyword#), '%') )
|
||||||
|
</isEqual>
|
||||||
|
</isNotEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 설문정보::입력 -->
|
||||||
|
<insert id="QustnrItemManage.insertQustnrItemManage">
|
||||||
|
/* QustnrItemManage.insertQustnrItemManage */
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
|
INSERT INTO LETTNQUSTNRIEM (
|
||||||
|
QUSTNR_QESITM_ID,
|
||||||
|
QESTNR_ID,
|
||||||
|
IEM_SN,
|
||||||
|
QUSTNR_IEM_ID,
|
||||||
|
IEM_CN,
|
||||||
|
ETC_ANSWER_AT,
|
||||||
|
QUSTNR_TMPLAT_ID,
|
||||||
|
FRST_REGIST_PNTTM,
|
||||||
|
FRST_REGISTER_ID,
|
||||||
|
LAST_UPDT_PNTTM,
|
||||||
|
LAST_UPDUSR_ID
|
||||||
|
)VALUES(
|
||||||
|
#qestnrQesitmId#,
|
||||||
|
#qestnrId#,
|
||||||
|
#iemSn#,
|
||||||
|
#qustnrIemId#,
|
||||||
|
#iemCn#,
|
||||||
|
#etcAnswerAt#,
|
||||||
|
#qestnrTmplatId#,
|
||||||
|
NOW(),
|
||||||
|
#frstRegisterId#,
|
||||||
|
NOW(),
|
||||||
|
#lastUpdusrId#
|
||||||
|
)
|
||||||
|
|
||||||
|
]]>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 설문정보::입력 -->
|
||||||
|
<insert id="QustnrItemManage.insertItnQustnrItemManage">
|
||||||
|
/* QustnrItemManage.insertItnQustnrItemManage */
|
||||||
|
<![CDATA[
|
||||||
|
INSERT INTO LETTNQUSTNRIEM (
|
||||||
|
QUSTNR_QESITM_ID,
|
||||||
|
QESTNR_ID,
|
||||||
|
IEM_SN,
|
||||||
|
QUSTNR_IEM_ID,
|
||||||
|
IEM_CN,
|
||||||
|
ETC_ANSWER_AT,
|
||||||
|
QUSTNR_TMPLAT_ID,
|
||||||
|
FRST_REGIST_PNTTM,
|
||||||
|
FRST_REGISTER_ID,
|
||||||
|
LAST_UPDT_PNTTM,
|
||||||
|
LAST_UPDUSR_ID
|
||||||
|
)VALUES(
|
||||||
|
#qestnrQesitmId#,
|
||||||
|
#qestnrId#,
|
||||||
|
#iemSn#,
|
||||||
|
#qustnrIemId#,
|
||||||
|
#iemCn#,
|
||||||
|
#etcAnswerAt#,
|
||||||
|
#qestnrTmplatId#,
|
||||||
|
NOW(),
|
||||||
|
#frstRegisterId#,
|
||||||
|
NOW(),
|
||||||
|
#lastUpdusrId#
|
||||||
|
)
|
||||||
|
]]>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<!-- 설문정보::삭제 -->
|
||||||
|
<delete id="QustnrItemManage.deleteAllQustnrItemManage">
|
||||||
|
<![CDATA[
|
||||||
|
DELETE FROM LETTNQUSTNRIEM
|
||||||
|
WHERE QUSTNR_QESITM_ID = #qestnrQesitmId#
|
||||||
|
]]>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<!-- 설문조사(설문결과) 삭제 -->
|
||||||
|
<delete id="QustnrItemManage.deleteAllQustnrRespondInfo">
|
||||||
|
DELETE FROM LETTNQUSTNRRSPNSRESULT WHERE QESTNR_ID = #qestnrId#
|
||||||
|
</delete>
|
||||||
|
</sqlMap>
|
||||||
@ -34,14 +34,15 @@
|
|||||||
<!-- 설문정보::목록조회_게시물정보 -->
|
<!-- 설문정보::목록조회_게시물정보 -->
|
||||||
<select id="QustnrManage.selectQustnrManageDetailModel" resultMap="QustnrManage">
|
<select id="QustnrManage.selectQustnrManageDetailModel" resultMap="QustnrManage">
|
||||||
/* QustnrManage.selectQustnrManageDetailModel */
|
/* QustnrManage.selectQustnrManageDetailModel */
|
||||||
|
/* WHEN TO_DATE(A.QUSTNR_ENDDE,'YYYYMMDD') TO_CHAR(NOW(), 'YYYYMMDD') THEN '2' */
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT
|
SELECT
|
||||||
A.QESTNR_ID,
|
A.QESTNR_ID,
|
||||||
A.QUSTNR_SJ,
|
A.QUSTNR_SJ,
|
||||||
A.QUSTNR_PURPS,
|
A.QUSTNR_PURPS,
|
||||||
A.QUSTNR_WRITNG_GUIDANCE_CN,
|
A.QUSTNR_WRITNG_GUIDANCE_CN,
|
||||||
TO_DATE(A.QUSTNR_BGNDE,'YYYY-MM-DD') QUSTNR_BGNDE,
|
TO_DATE(A.QUSTNR_BGNDE,'YYYYMMDD') QUSTNR_BGNDE,
|
||||||
TO_DATE(A.QUSTNR_ENDDE,'YYYY-MM-DD') QUSTNR_ENDDE,
|
TO_DATE(A.QUSTNR_ENDDE,'YYYYMMDD') QUSTNR_ENDDE,
|
||||||
A.QUSTNR_TRGET,
|
A.QUSTNR_TRGET,
|
||||||
A.QUSTNR_TMPLAT_ID,
|
A.QUSTNR_TMPLAT_ID,
|
||||||
(SELECT QUSTNR_TMPLAT_TY FROM LETTNQUSTNRTMPLAT WHERE QUSTNR_TMPLAT_ID = A.QUSTNR_TMPLAT_ID) QUSTNR_TMPLAT_TY,
|
(SELECT QUSTNR_TMPLAT_TY FROM LETTNQUSTNRTMPLAT WHERE QUSTNR_TMPLAT_ID = A.QUSTNR_TMPLAT_ID) QUSTNR_TMPLAT_TY,
|
||||||
@ -56,7 +57,7 @@
|
|||||||
CASE
|
CASE
|
||||||
WHEN A.STTUS = '1' THEN
|
WHEN A.STTUS = '1' THEN
|
||||||
CASE
|
CASE
|
||||||
WHEN TO_DATE(A.QUSTNR_ENDDE,'YYYYMMDD') < TO_CHAR(SYSDATE, 'YYYYMMDD') THEN '2'
|
WHEN TO_DATE(A.QUSTNR_ENDDE,'YYYYMMDD') < NOW() THEN '2'
|
||||||
ELSE '1'
|
ELSE '1'
|
||||||
END
|
END
|
||||||
ELSE A.STTUS
|
ELSE A.STTUS
|
||||||
@ -191,6 +192,7 @@
|
|||||||
|
|
||||||
<!-- 설문정보::삭제 -->
|
<!-- 설문정보::삭제 -->
|
||||||
<delete id="QustnrManage.deleteQustnrManage">
|
<delete id="QustnrManage.deleteQustnrManage">
|
||||||
|
/* QustnrManage.deleteQustnrManage */
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
DELETE FROM LETTNQESTNRINFO
|
DELETE FROM LETTNQESTNRINFO
|
||||||
WHERE QESTNR_ID = #qestnrId#
|
WHERE QESTNR_ID = #qestnrId#
|
||||||
@ -199,6 +201,7 @@
|
|||||||
|
|
||||||
<!-- 설문정보::수정 -->
|
<!-- 설문정보::수정 -->
|
||||||
<update id="QustnrManage.updateQustnrManage">
|
<update id="QustnrManage.updateQustnrManage">
|
||||||
|
/* QustnrManage.updateQustnrManage */
|
||||||
UPDATE LETTNQESTNRINFO
|
UPDATE LETTNQESTNRINFO
|
||||||
SET
|
SET
|
||||||
QUSTNR_SJ=#qestnrSj#,
|
QUSTNR_SJ=#qestnrSj#,
|
||||||
@ -209,7 +212,7 @@
|
|||||||
QUSTNR_TRGET=#qestnrTrget#,
|
QUSTNR_TRGET=#qestnrTrget#,
|
||||||
QUSTNR_VIEW_TRGET=#qestnrViewTrget#,
|
QUSTNR_VIEW_TRGET=#qestnrViewTrget#,
|
||||||
QUSTNR_ENDDE=REPLACE(#qestnrEndDe#,'-',''),
|
QUSTNR_ENDDE=REPLACE(#qestnrEndDe#,'-',''),
|
||||||
LAST_UPDT_PNTTM = SYSDATE,
|
LAST_UPDT_PNTTM = NOW(),
|
||||||
SITE_ID = #siteId#,
|
SITE_ID = #siteId#,
|
||||||
LAST_UPDUSR_ID = #lastUpdusrId#,
|
LAST_UPDUSR_ID = #lastUpdusrId#,
|
||||||
STTUS = #sttus#,
|
STTUS = #sttus#,
|
||||||
@ -227,8 +230,8 @@
|
|||||||
A.QUSTNR_SJ qestnrSj,
|
A.QUSTNR_SJ qestnrSj,
|
||||||
A.QUSTNR_PURPS qestnrPurps,
|
A.QUSTNR_PURPS qestnrPurps,
|
||||||
A.QUSTNR_WRITNG_GUIDANCE_CN qestnrWritngGuidanceCn,
|
A.QUSTNR_WRITNG_GUIDANCE_CN qestnrWritngGuidanceCn,
|
||||||
TO_DATE(A.QUSTNR_BGNDE,'YYYY-MM-DD') QESTNR_BEGIN_DE,
|
TO_DATE(A.QUSTNR_BGNDE,'YYYYMMDD') QESTNR_BEGIN_DE,
|
||||||
TO_DATE(A.QUSTNR_ENDDE,'YYYY-MM-DD') QESTNR_END_DE,
|
TO_DATE(A.QUSTNR_ENDDE,'YYYYMMDD') QESTNR_END_DE,
|
||||||
TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD HH24') frstRegisterPnttm,
|
TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD HH24') frstRegisterPnttm,
|
||||||
A.FRST_REGISTER_ID,
|
A.FRST_REGISTER_ID,
|
||||||
TO_CHAR(A.LAST_UPDT_PNTTM,'YYYY-MM-DD HH24') LAST_UPDT_PNTTM,
|
TO_CHAR(A.LAST_UPDT_PNTTM,'YYYY-MM-DD HH24') LAST_UPDT_PNTTM,
|
||||||
@ -240,7 +243,7 @@
|
|||||||
( SELECT COUNT(*) FROM LETTNQUSTNRQESITM WHERE QESTNR_ID = A.QESTNR_ID ) qustnrQesitmCnt ,
|
( SELECT COUNT(*) FROM LETTNQUSTNRQESITM WHERE QESTNR_ID = A.QESTNR_ID ) qustnrQesitmCnt ,
|
||||||
( SELECT COUNT(*) FROM LETTNQUSTNRRESPONDINFO WHERE QESTNR_ID = A.QESTNR_ID ) rrspnsResultCnt,
|
( SELECT COUNT(*) FROM LETTNQUSTNRRESPONDINFO WHERE QESTNR_ID = A.QESTNR_ID ) rrspnsResultCnt,
|
||||||
CASE
|
CASE
|
||||||
WHEN A.QUSTNR_ENDDE < TO_CHAR(SYSDATE, 'YYYY.MM.DD') THEN '2' /* 종료 */
|
WHEN A.QUSTNR_ENDDE < TO_CHAR(NOW(), 'YYYY.MM.DD') THEN '2' /* 종료 */
|
||||||
ELSE A.STTUS
|
ELSE A.STTUS
|
||||||
END AS STTUS,
|
END AS STTUS,
|
||||||
(SELECT QUSTNR_TMPLAT_PATH_NM FROM LETTNQUSTNRTMPLAT WHERE QUSTNR_TMPLAT_ID = A.QUSTNR_TMPLAT_ID ) TEMPLATE_URL
|
(SELECT QUSTNR_TMPLAT_PATH_NM FROM LETTNQUSTNRTMPLAT WHERE QUSTNR_TMPLAT_ID = A.QUSTNR_TMPLAT_ID ) TEMPLATE_URL
|
||||||
@ -252,6 +255,7 @@
|
|||||||
|
|
||||||
<!-- 설문정보::입력 -->
|
<!-- 설문정보::입력 -->
|
||||||
<insert id="QustnrManage.insertQustnrManage">
|
<insert id="QustnrManage.insertQustnrManage">
|
||||||
|
/* QustnrManage.insertQustnrManage */
|
||||||
INSERT INTO LETTNQESTNRINFO (
|
INSERT INTO LETTNQESTNRINFO (
|
||||||
QESTNR_ID,
|
QESTNR_ID,
|
||||||
QUSTNR_SJ,
|
QUSTNR_SJ,
|
||||||
@ -279,9 +283,9 @@
|
|||||||
#qestnrViewTrget#,
|
#qestnrViewTrget#,
|
||||||
#qestnrTmplatId#,
|
#qestnrTmplatId#,
|
||||||
#siteId#,
|
#siteId#,
|
||||||
SYSDATE,
|
NOW(),
|
||||||
#frstRegisterId#,
|
#frstRegisterId#,
|
||||||
SYSDATE,
|
NOW(),
|
||||||
#lastUpdusrId#,
|
#lastUpdusrId#,
|
||||||
#atchFileId#
|
#atchFileId#
|
||||||
)
|
)
|
||||||
|
|||||||
@ -0,0 +1,204 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
|
||||||
|
|
||||||
|
<sqlMap namespace="QustnrQestnManage">
|
||||||
|
|
||||||
|
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
|
||||||
|
<typeAlias alias="comDefaultVO" type="kcc.com.cmm.ComDefaultVO"/>
|
||||||
|
<typeAlias alias="QustnrQestnManageVO" type="kcc.let.uss.olp.qqm.service.QustnrQestnManageVO"/>
|
||||||
|
<!-- 설문문항:: 객관식 통계 -->
|
||||||
|
<select id="QustnrQestnManage.selectQustnrManageStatistics" parameterClass="java.util.Map" resultClass="egovMap">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT
|
||||||
|
( SELECT IEM_CN FROM LETTNQUSTNRIEM
|
||||||
|
WHERE 1=1
|
||||||
|
AND QUSTNR_IEM_ID = A.QUSTNR_IEM_ID ) IEM_CN,
|
||||||
|
COUNT(A.QUSTNR_IEM_ID) QUSTNR_IEM_ID_CNT,
|
||||||
|
ROUND((100/(SELECT COUNT(*) CNT
|
||||||
|
FROM LETTNQUSTNRRSPNSRESULT
|
||||||
|
WHERE QUSTNR_QESITM_ID = #qestnrQesitmId#)) * COUNT(A.QUSTNR_IEM_ID)) QUSTNR_PERCENT
|
||||||
|
FROM LETTNQUSTNRRSPNSRESULT A
|
||||||
|
WHERE 1=1
|
||||||
|
AND A.QUSTNR_QESITM_ID = #qestnrQesitmId#
|
||||||
|
GROUP BY A.QUSTNR_IEM_ID
|
||||||
|
]]>
|
||||||
|
</select>
|
||||||
|
<!-- 설문문항:: 응답자답변내용 결과/기타답변내용 결과 통계 -->
|
||||||
|
<select id="QustnrQestnManage.selectQustnrManageStatistics2" parameterClass="java.util.Map" resultClass="egovMap">
|
||||||
|
<![CDATA[
|
||||||
|
SELECT
|
||||||
|
RESPOND_ANSWER_CN,
|
||||||
|
ETC_ANSWER_CN
|
||||||
|
FROM LETTNQUSTNRRSPNSRESULT A
|
||||||
|
WHERE 1=1
|
||||||
|
AND A.QUSTNR_QESITM_ID = #qestnrQesitmId#
|
||||||
|
]]>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 설문문항:: 설문지 제목 검색 -->
|
||||||
|
<select id="QustnrQestnManage.selectQustnrManageQestnrSj" parameterClass="java.util.Map" resultClass="egovMap">
|
||||||
|
SELECT QUSTNR_SJ
|
||||||
|
FROM LETTNQESTNRINFO
|
||||||
|
WHERE QESTNR_ID = #qestnrId#
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 설문조사(설문결과) 삭제 -->
|
||||||
|
<delete id="QustnrQestnManage.deleteQustnrRespondInfo">
|
||||||
|
DELETE FROM LETTNQUSTNRRSPNSRESULT
|
||||||
|
WHERE QUSTNR_QESITM_ID = #qestnrQesitmId#
|
||||||
|
</delete>
|
||||||
|
<!-- 설문항목 삭제 -->
|
||||||
|
<delete id="QustnrQestnManage.deleteQustnrItemManage">
|
||||||
|
DELETE FROM LETTNQUSTNRIEM
|
||||||
|
WHERE QUSTNR_QESITM_ID = #qestnrQesitmId#
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<!-- 설문문항::삭제 -->
|
||||||
|
<delete id="QustnrQestnManage.deleteQustnrQestnManage">
|
||||||
|
<![CDATA[
|
||||||
|
DELETE FROM LETTNQUSTNRQESITM
|
||||||
|
WHERE QUSTNR_QESITM_ID = #qestnrQesitmId#
|
||||||
|
]]>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<!-- 설문문항::수정 -->
|
||||||
|
<update id="QustnrQestnManage.updateQustnrQestnManage">
|
||||||
|
UPDATE LETTNQUSTNRQESITM
|
||||||
|
SET
|
||||||
|
QESTN_SN=#qestnSn#,
|
||||||
|
QESTN_TY_CODE=#qestnTyCode#,
|
||||||
|
QESTN_CN=#qestnCn#,
|
||||||
|
MXMM_CHOISE_CO=#mxmmChoiseCo#,
|
||||||
|
LAST_UPDT_PNTTM = NOW(),
|
||||||
|
LAST_UPDUSR_ID = #lastUpdusrId#
|
||||||
|
WHERE QUSTNR_QESITM_ID = #qestnrQesitmId#
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 설문문항::상세보기 -->
|
||||||
|
<select id="QustnrQestnManage.selectQustnrQestnManageDetail" parameterClass="QustnrQestnManageVO" resultClass="egovMap">
|
||||||
|
/* QustnrQestnManage.selectQustnrQestnManageDetail */
|
||||||
|
SELECT
|
||||||
|
A.QUSTNR_QESITM_ID qestnrQesitmId,
|
||||||
|
A.QESTNR_ID,
|
||||||
|
(SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE QESTNR_ID=A.QESTNR_ID) QESTNR_SJ,
|
||||||
|
A.QESTN_SN "qestnSn",
|
||||||
|
A.QESTN_TY_CODE "qestnTyCode",
|
||||||
|
A.QESTN_CN "qestnCn",
|
||||||
|
A.MXMM_CHOISE_CO "mxmmChoiseCo",
|
||||||
|
A.QUSTNR_TMPLAT_ID "qestnrTmplatId",
|
||||||
|
TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD HH24:MI:SS') FRST_REGIST_PNTTM,
|
||||||
|
A.FRST_REGISTER_ID,
|
||||||
|
TO_CHAR(A.LAST_UPDT_PNTTM,'YYYY-MM-DD HH24:MI:SS') LAST_UPDT_PNTTM,
|
||||||
|
A.LAST_UPDUSR_ID
|
||||||
|
FROM LETTNQUSTNRQESITM A
|
||||||
|
WHERE 1=1
|
||||||
|
AND QUSTNR_QESITM_ID = #qestnrQesitmId#
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 설문문항::목록조회_게시물정보 -->
|
||||||
|
<select id="QustnrQestnManage.selectQustnrQestnManage" parameterClass="comDefaultVO" resultClass="egovMap">
|
||||||
|
/* QustnrQestnManage.selectQustnrQestnManage */
|
||||||
|
<![CDATA[
|
||||||
|
SELECT
|
||||||
|
A.QUSTNR_QESITM_ID "qestnrQesitmId",
|
||||||
|
A.QESTNR_ID,
|
||||||
|
(SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE QESTNR_ID=A.QESTNR_ID) "QESTNR_SJ",
|
||||||
|
A.QESTN_SN,
|
||||||
|
A.QESTN_TY_CODE,
|
||||||
|
A.QESTN_CN,
|
||||||
|
A.MXMM_CHOISE_CO,
|
||||||
|
A.QUSTNR_TMPLAT_ID "qestnrTmplatId",
|
||||||
|
TO_CHAR(A.FRST_REGIST_PNTTM,'YYYY-MM-DD') FRST_REGIST_PNTTM,
|
||||||
|
A.FRST_REGISTER_ID,
|
||||||
|
(SELECT USER_NM FROM COMVNUSERMASTER WHERE ESNTL_ID = A.FRST_REGISTER_ID ORDER BY USER_NM DESC LIMIT 1) FRST_REGISTER_NM,
|
||||||
|
TO_CHAR(A.LAST_UPDT_PNTTM,'YYYY-MM-DD') LAST_UPDT_PNTTM,
|
||||||
|
A.LAST_UPDUSR_ID,
|
||||||
|
( SELECT COUNT(*) FROM LETTNQUSTNRIEM WHERE QUSTNR_QESITM_ID = A.QUSTNR_QESITM_ID ) QUSTNRIEM_CNT
|
||||||
|
FROM LETTNQUSTNRQESITM A
|
||||||
|
WHERE 1=1
|
||||||
|
]]>
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
<isNotEqual property="searchKeyword" compareValue="">
|
||||||
|
<isNotEqual property="searchCondition" compareValue="">
|
||||||
|
<isEqual property="searchCondition" compareValue="QESTN_CN">
|
||||||
|
AND QESTN_CN LIKE CONCAT(CONCAT('%', #searchKeyword#), '%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="MXMM_CHOISE_CO">
|
||||||
|
AND MXMM_CHOISE_CO LIKE CONCAT(CONCAT('%', #searchKeyword#), '%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="QESTNR_ID">
|
||||||
|
AND QESTNR_ID = #searchKeyword#
|
||||||
|
</isEqual>
|
||||||
|
</isNotEqual>
|
||||||
|
</isNotEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<![CDATA[
|
||||||
|
ORDER BY A.QESTN_SN ASC
|
||||||
|
|
||||||
|
/*
|
||||||
|
LIMIT recordCountPerPage OFFSET firstIndex
|
||||||
|
*/
|
||||||
|
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||||
|
|
||||||
|
]]>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 설문문항::목록조회_게시물 총갯수 -->
|
||||||
|
<select id="QustnrQestnManage.selectQustnrQestnManageCnt" parameterClass="comDefaultVO" resultClass="int">
|
||||||
|
SELECT
|
||||||
|
COUNT(*) totcnt
|
||||||
|
FROM LETTNQUSTNRQESITM
|
||||||
|
WHERE 1=1
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
<isNotEqual property="searchKeyword" compareValue="">
|
||||||
|
<isNotEqual property="searchCondition" compareValue="">
|
||||||
|
<isEqual property="searchCondition" compareValue="QESTN_CN">
|
||||||
|
AND QESTN_CN LIKE CONCAT(CONCAT('%', #searchKeyword#), '%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="MXMM_CHOISE_CO">
|
||||||
|
AND MXMM_CHOISE_CO LIKE CONCAT(CONCAT('%', #searchKeyword#), '%')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEqual>
|
||||||
|
</isNotEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 설문문항::입력 -->
|
||||||
|
<insert id="QustnrQestnManage.insertQustnrQestnManage">
|
||||||
|
/* QustnrQestnManage.insertQustnrQestnManage */
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
|
INSERT INTO LETTNQUSTNRQESITM (
|
||||||
|
QUSTNR_QESITM_ID,
|
||||||
|
QESTNR_ID,
|
||||||
|
QESTN_SN,
|
||||||
|
QESTN_TY_CODE,
|
||||||
|
QESTN_CN,
|
||||||
|
MXMM_CHOISE_CO,
|
||||||
|
QUSTNR_TMPLAT_ID,
|
||||||
|
FRST_REGIST_PNTTM,
|
||||||
|
FRST_REGISTER_ID,
|
||||||
|
LAST_UPDT_PNTTM,
|
||||||
|
LAST_UPDUSR_ID
|
||||||
|
)VALUES(
|
||||||
|
#qestnrQesitmId#,
|
||||||
|
#qestnrId#,
|
||||||
|
#qestnSn#,
|
||||||
|
#qestnTyCode#,
|
||||||
|
#qestnCn#,
|
||||||
|
#mxmmChoiseCo#,
|
||||||
|
#qestnrTmplatId#,
|
||||||
|
NOW(),
|
||||||
|
#frstRegisterId#,
|
||||||
|
NOW(),
|
||||||
|
#lastUpdusrId#
|
||||||
|
)
|
||||||
|
|
||||||
|
]]>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
|
||||||
|
</sqlMap>
|
||||||
@ -36,6 +36,7 @@
|
|||||||
|
|
||||||
<!-- 응답자정보(설문조사)::상세보기 -->
|
<!-- 응답자정보(설문조사)::상세보기 -->
|
||||||
<select id="QustnrRespondManage.selectQustnrRespondManageDetail" parameterClass="QustnrRespondManageVO" resultClass="egovMap">
|
<select id="QustnrRespondManage.selectQustnrRespondManageDetail" parameterClass="QustnrRespondManageVO" resultClass="egovMap">
|
||||||
|
/* QustnrRespondManage.selectQustnrRespondManageDetail */
|
||||||
SELECT
|
SELECT
|
||||||
( SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE 1=1 AND QESTNR_ID = A.QESTNR_ID ) QESTNR_SJ
|
( SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE 1=1 AND QESTNR_ID = A.QESTNR_ID ) QESTNR_SJ
|
||||||
, A.QESTNR_ID
|
, A.QESTNR_ID
|
||||||
@ -52,6 +53,7 @@
|
|||||||
|
|
||||||
<!-- 응답자정보(설문조사)::목록조회_게시물정보 -->
|
<!-- 응답자정보(설문조사)::목록조회_게시물정보 -->
|
||||||
<select id="QustnrRespondManage.selectQustnrRespondManage" parameterClass="comDefaultVO" resultClass="egovMap">
|
<select id="QustnrRespondManage.selectQustnrRespondManage" parameterClass="comDefaultVO" resultClass="egovMap">
|
||||||
|
/* QustnrRespondManage.selectQustnrRespondManage */
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT
|
SELECT
|
||||||
( SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE 1=1 AND QESTNR_ID = A.QESTNR_ID ) QESTNR_SJ
|
( SELECT QUSTNR_SJ FROM LETTNQESTNRINFO WHERE 1=1 AND QESTNR_ID = A.QESTNR_ID ) QESTNR_SJ
|
||||||
|
|||||||
@ -42,6 +42,7 @@
|
|||||||
<pattern>*/oprtn/fndthEnhanceTrn/popup/**</pattern>
|
<pattern>*/oprtn/fndthEnhanceTrn/popup/**</pattern>
|
||||||
<pattern>*/oprtn/cndtnSspnIdtmt/popup/**</pattern>
|
<pattern>*/oprtn/cndtnSspnIdtmt/popup/**</pattern>
|
||||||
<pattern>*/oprtn/cmdTrgt/popup/*</pattern> <!-- 시정명령 화면 -->
|
<pattern>*/oprtn/cmdTrgt/popup/*</pattern> <!-- 시정명령 화면 -->
|
||||||
|
<pattern>*/oprtn/prevent/popup/*</pattern> <!-- 예방교육 화면 -->
|
||||||
<pattern>*/oprtn/instr/tngrVisitEdu/popup/**</pattern>
|
<pattern>*/oprtn/instr/tngrVisitEdu/popup/**</pattern>
|
||||||
<pattern>*/oprtn/cmm/scholPopListBower.jsp</pattern> <!-- 청소년찾아가는저작권 교육 > 교육신청관리 > 교육신청 등록 > 학교검색 팝업 -->
|
<pattern>*/oprtn/cmm/scholPopListBower.jsp</pattern> <!-- 청소년찾아가는저작권 교육 > 교육신청관리 > 교육신청 등록 > 학교검색 팝업 -->
|
||||||
<pattern>*/oprtn/cmm/SchduleManagerPopDetail.jsp</pattern> <!-- 청소년찾아가는저작권 교육 > 교육일정관리 > 교육내용 팝업 -->
|
<pattern>*/oprtn/cmm/SchduleManagerPopDetail.jsp</pattern> <!-- 청소년찾아가는저작권 교육 > 교육일정관리 > 교육내용 팝업 -->
|
||||||
|
|||||||
@ -51,7 +51,7 @@
|
|||||||
|
|
||||||
function fncGoList(){
|
function fncGoList(){
|
||||||
var listForm = document.listForm ;
|
var listForm = document.listForm ;
|
||||||
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduPrcsAplctPrdMngList.do'/>";
|
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduPrcsAplctCfnMngList.do'/>";
|
||||||
listForm.submit();
|
listForm.submit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,801 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=utf-8"
|
||||||
|
pageEncoding="utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%pageContext.setAttribute("crlf", "\r\n"); %>
|
||||||
|
<%pageContext.setAttribute("crlt", "<"); %>
|
||||||
|
<%pageContext.setAttribute("crgt", ">"); %>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : cndtnEduPrcsAplctPrdMngDetail.jsp
|
||||||
|
* @Description : 기반강화연수 기간 상세화면
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.16 조용준 최초 생성
|
||||||
|
* @author 조용주
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript" src="<c:url value='/js/web/popup.js'/>" ></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
// 상태값 확인
|
||||||
|
ddlnCdSttsChk();
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
function ddlnCdSttsChk(){
|
||||||
|
var $ddlnCdStts = $("#ddlnCdStts");
|
||||||
|
|
||||||
|
// 텍스트가 비어있는지 확인
|
||||||
|
if ($ddlnCdStts.text().trim() === "") {
|
||||||
|
var dateText = $ddlnCdStts.closest('table').find("td:eq(2)").text().trim();
|
||||||
|
|
||||||
|
var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-'));
|
||||||
|
var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-'));
|
||||||
|
var currentDate = new Date();
|
||||||
|
|
||||||
|
// 시간, 분, 초 초기화
|
||||||
|
strtPnttm.setHours(0, 0, 0, 0);
|
||||||
|
endPnttm.setHours(0, 0, 0, 0);
|
||||||
|
currentDate.setHours(0, 0, 0, 0);
|
||||||
|
|
||||||
|
if (currentDate < strtPnttm) {
|
||||||
|
$ddlnCdStts.text("접수전");
|
||||||
|
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
|
||||||
|
$ddlnCdStts.text("접수중");
|
||||||
|
} else if (currentDate > endPnttm) {
|
||||||
|
$ddlnCdStts.text("접수종료");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.prcsAplctPrdOrd.value="";
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoDetail(){
|
||||||
|
var form = document.detailForm ;
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngDetail.do'/>";
|
||||||
|
form.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncMdfy(){
|
||||||
|
var detailForm = document.detailForm ;
|
||||||
|
detailForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngMdfy.do'/>";
|
||||||
|
detailForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
//삭제 - useYn-D 처리
|
||||||
|
function fncDel(){
|
||||||
|
var data = new FormData(document.getElementById("modyfiForm"));
|
||||||
|
if(confirm("삭제하시겠습니까?\n데이터 복구가 안됩니다.")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngDelAjax.do'/>";
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("삭제되었습니다.");
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_delInstr(data){
|
||||||
|
document.instrForm.userId.value = data ;
|
||||||
|
|
||||||
|
var data = new FormData(document.getElementById("instrForm"));
|
||||||
|
if(confirm("삭제하시겠습니까?")){
|
||||||
|
// var url = "<c:url value='/kccadr/oprtn/prevent/instrDelAjax.do'/>";
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/instrDelAjax.do'/>";
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("삭제되었습니다.");
|
||||||
|
// 새로고침
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
event.stopImmediatePropagation();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function chkAll(obj) {
|
||||||
|
// 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정
|
||||||
|
$("input[name='chk']").prop('checked', $(obj).prop('checked'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 사용자 승인 반려 처리 : 체크박스X
|
||||||
|
function updateEduAplctOrd(p_aprvlCd, p_eduAplctOrd, p_prcsAplctPrdOrd){
|
||||||
|
|
||||||
|
// 기존에 있던 updateEduAplctOrdList function 사용하기 위한 function
|
||||||
|
|
||||||
|
var selectedEduAplctOrd = [];
|
||||||
|
selectedEduAplctOrd.push(p_eduAplctOrd);
|
||||||
|
|
||||||
|
var dataToSend = {
|
||||||
|
"eduAplctOrdList": selectedEduAplctOrd,
|
||||||
|
"aprvlCd": p_aprvlCd,
|
||||||
|
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
|
||||||
|
"lctrDivCd" : $("#lctrDivCd").val()
|
||||||
|
};
|
||||||
|
commAjax(dataToSend);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 사용자 승인 반려 처리 : 체크박스O
|
||||||
|
function updateEduAplctOrdList(p_aprvlCd, p_prcsAplctPrdOrd) {
|
||||||
|
if (p_aprvlCd=='30'){
|
||||||
|
if(!confirm("접수취소(반려)처리 합니까?\n\n교육희망시 사용자가 재신청을 진행해야 합니다.")){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var selectedEduAplctOrd = [];
|
||||||
|
|
||||||
|
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
|
||||||
|
$("input[name='chk']:checked").each(function() {
|
||||||
|
var eduAplctOrdValue = $(this).val();
|
||||||
|
selectedEduAplctOrd.push(eduAplctOrdValue);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
|
||||||
|
if (selectedEduAplctOrd.length === 0) {
|
||||||
|
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var dataToSend = {
|
||||||
|
"eduAplctOrdList": selectedEduAplctOrd,
|
||||||
|
"aprvlCd": p_aprvlCd,
|
||||||
|
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
|
||||||
|
"lctrDivCd" : $("#lctrDivCd").val()
|
||||||
|
};
|
||||||
|
|
||||||
|
commAjax(dataToSend);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function commAjax(dataToSend){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/prevent/updateEduAplctAprvlCdAjax.do'/>";
|
||||||
|
|
||||||
|
|
||||||
|
// AJAX 호출을 통해 서버에 데이터 전송
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
|
||||||
|
// contentType : 'application/json',
|
||||||
|
dataType:'json',
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("변경 처리 되었습니다.");
|
||||||
|
window.location.reload();
|
||||||
|
}else{
|
||||||
|
alert("변경 중 오류가 발생하였습니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function(jqXHR, textStatus, errorThrown) {
|
||||||
|
console.error("AJAX Error:", textStatus, errorThrown);
|
||||||
|
console.error("Response:", jqXHR.responseText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fncDdlnCdSave(data){
|
||||||
|
$('#modyDdlnCd').val(data);
|
||||||
|
|
||||||
|
var data = new FormData(document.getElementById("modyfiForm"));
|
||||||
|
if(confirm("상태를 변경하시겠습니까?")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/prevent/updateDdlnCdAjax.do'/>";
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("변경되었습니다.");
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 강사 배치
|
||||||
|
function fncInstrAsgnmInfo(prcsAplctPrdOrd) {
|
||||||
|
var form = document.popForm;
|
||||||
|
|
||||||
|
form.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
|
||||||
|
|
||||||
|
// form.action = "<c:url value='/kccadr/oprtn/prevent/popup/fndthInstrAsgnmPopup.do'/>";
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/prevent/popup/cndtnInstrAsgnmPopup.do'/>";
|
||||||
|
|
||||||
|
window.open("#", "_securityPop", "scrollbars = no, top=100px, left=100px, height=750px, width=950px");
|
||||||
|
form.target = "_securityPop";
|
||||||
|
form.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fn_goDetailPop(p_eduAplctOrd, p_mberId, p_cmdTrgtInfoOrd) {
|
||||||
|
|
||||||
|
var form = document.detailPopForm;
|
||||||
|
|
||||||
|
form.eduAplctOrd.value = p_eduAplctOrd;
|
||||||
|
form.userId.value = p_mberId;
|
||||||
|
form.cmdTrgtInfoOrd.value = p_cmdTrgtInfoOrd;
|
||||||
|
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/prevent/popup/detailPopup.do'/>";
|
||||||
|
openPopupAndSubmitForm('detailPopForm', 'detailPopForm', 1000, 720);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnCnclPopup(eduAplctOrd, prcsAplctPrdOrd) {
|
||||||
|
|
||||||
|
var form = document.cnclPopupForm;
|
||||||
|
|
||||||
|
form.eduAplctOrd.value = eduAplctOrd;
|
||||||
|
form.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/prevent/popup/cnclPopup.do'/>";
|
||||||
|
openPopupAndSubmitForm('cnclPopupForm', 'cnclPopupForm', 700, 380);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 엑셀다운로드
|
||||||
|
function excelDownLoad() {
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/prevent/eduAplctExcelDownLoad.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 사용자 승인 반려 처리 : 체크박스X
|
||||||
|
function fncCancelUserList(
|
||||||
|
p_prcsAplctPrdOrd
|
||||||
|
, p_reqNo
|
||||||
|
){
|
||||||
|
|
||||||
|
// 기존에 있던 updateEduAplctOrdList function 사용하기 위한 function
|
||||||
|
|
||||||
|
var selectedEduAplctOrd = [];
|
||||||
|
|
||||||
|
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
|
||||||
|
$("input[name='chk']:checked").each(function() {
|
||||||
|
var eduAplctOrdValue = $(this).val();
|
||||||
|
selectedEduAplctOrd.push(eduAplctOrdValue);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
|
||||||
|
if (selectedEduAplctOrd.length === 0) {
|
||||||
|
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var dataToSend = {
|
||||||
|
"eduAplctOrdList": selectedEduAplctOrd,
|
||||||
|
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
|
||||||
|
"reqNo" : p_reqNo
|
||||||
|
};
|
||||||
|
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/prevent/eduAplctStatusChange4UserListAjax.do'/>";
|
||||||
|
|
||||||
|
commAjax_url(dataToSend, url);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncCancelUser(
|
||||||
|
p_eduAplctOrd
|
||||||
|
, p_prcsAplctPrdOrd
|
||||||
|
, p_reqNo
|
||||||
|
){
|
||||||
|
|
||||||
|
var dataToSend = {
|
||||||
|
"eduAplctOrd" : p_eduAplctOrd
|
||||||
|
, "prcsAplctPrdOrd" : p_prcsAplctPrdOrd
|
||||||
|
, "reqNo" : p_reqNo
|
||||||
|
};
|
||||||
|
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/prevent/eduAplctStatusChange4UserAjax.do'/>";
|
||||||
|
|
||||||
|
commAjax_url(dataToSend, url);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function commAjax_url(dataToSend, p_url){
|
||||||
|
//var url = "<c:url value='/kccadr/oprtn/prevent/updateEduAplctAprvlCdAjax.do'/>";
|
||||||
|
var url = p_url;
|
||||||
|
|
||||||
|
|
||||||
|
// AJAX 호출을 통해 서버에 데이터 전송
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
|
||||||
|
// contentType : 'application/json',
|
||||||
|
dataType:'json',
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("변경 처리 되었습니다.");
|
||||||
|
window.location.reload();
|
||||||
|
}else{
|
||||||
|
alert("변경 중 오류가 발생하였습니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function(jqXHR, textStatus, errorThrown) {
|
||||||
|
console.error("AJAX Error:", textStatus, errorThrown);
|
||||||
|
console.error("Response:", jqXHR.responseText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<form id="detailPopForm" name="detailPopForm" method="post">
|
||||||
|
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" />
|
||||||
|
<input type="hidden" id="userId" name="userId" />
|
||||||
|
<input type="hidden" id="cmdTrgtInfoOrd" name="cmdTrgtInfoOrd" />
|
||||||
|
</form>
|
||||||
|
<form id="cnclPopupForm" name="cnclPopupForm" method="post">
|
||||||
|
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" />
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" />
|
||||||
|
</form>
|
||||||
|
<form id="modyfiForm" name="modyfiForm">
|
||||||
|
<input type="hidden" id="modyDdlnCd" name="ddlnCd" />
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
|
||||||
|
</form>
|
||||||
|
<form id="instrForm" name="instrForm" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
|
||||||
|
<input type="hidden" name="userId" id="userId"/>
|
||||||
|
</form>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
|
||||||
|
</form:form>
|
||||||
|
<form id="popForm" name="popForm" method="post">
|
||||||
|
<input type="hidden" name="pageIndex" value="1"/>
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" value="" />
|
||||||
|
<input type="hidden" name="pageUnit" value="5" />
|
||||||
|
|
||||||
|
</form>
|
||||||
|
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
|
||||||
|
<input type="hidden" name="lctrDivCd" id="lctrDivCd" value="60"/>
|
||||||
|
<!-- cont -->
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
|
||||||
|
<c:import url="/cmm/navi/adminContNav.do">
|
||||||
|
<c:param name="url" value="/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do"/>
|
||||||
|
<c:param name="name1" value="과정신청기간관리"/>
|
||||||
|
<c:param name="name2" value="과정 신청기간 상세"/>
|
||||||
|
<c:param name="name3" value=""/>
|
||||||
|
</c:import>
|
||||||
|
|
||||||
|
<!-- cont_tit
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>과정 신청기간 상세</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>조건부기소유예관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">과정신청기간관리 신청기간 상세</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_상세 -->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육과정관리</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육부분</th>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.prcsNm}"/>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정명</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.title}"/>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">신청기간</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<c:if test="${info.prcsDiv eq 10}">
|
||||||
|
<th scope="row">교육장소</th>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${info.prcsDiv eq 20}">
|
||||||
|
<th scope="row">관련URL</th>
|
||||||
|
</c:if>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<c:out value="${info.eduPlace}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육기간</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${info.eduStrtPnttm}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상세교육과정</th>
|
||||||
|
<td>
|
||||||
|
<c:out value="${fn:replace(info.prcsCn , crlf , '<br/>')}" escapeXml="false" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">정원</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<c:out value="${info.nos}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상태</th>
|
||||||
|
<td id="ddlnCdStts">
|
||||||
|
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>공개여부(사용여부)</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
${empty info.useYn or info.useYn eq 'Y' ? '공개' : ''}
|
||||||
|
${info.useYn eq 'N' ? '비공개' : ''}
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>첨부파일</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||||
|
<c:param name="param_atchFileId" value="${info.atchFileId}" />
|
||||||
|
<c:param name="pdf_view" value="Y" />
|
||||||
|
</c:import>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<%-- <tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>공개여부(사용여부)</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<c:if test="${empty info.useYn or info.useYn eq 'Y'}">예</c:if>
|
||||||
|
<c:if test="${info.useYn eq 'N'}">아니오</c:if>
|
||||||
|
</td>
|
||||||
|
</tr> --%>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
<button type="button" class="btn_type02" onclick="fncDel(); return false;">삭제</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type02" onclick="fncMdfy(); return false;">수정</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
강사 배치 정보
|
||||||
|
강사 배치 정보
|
||||||
|
-->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>강사 배치 정보</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;"><!-- name -->
|
||||||
|
<col style="width: auto;"><!-- 제출일 -->
|
||||||
|
<col style="width: 210px;"><!-- 신청상태 -->
|
||||||
|
<col style="width: 410px;"><!-- 강의계획서 -->
|
||||||
|
<col style="width: 210px;"><!-- 신청상태 -->
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>강사명</th>
|
||||||
|
<th>연락처</th>
|
||||||
|
<th>확정여부</th>
|
||||||
|
<th>강의계획서</th>
|
||||||
|
<th>삭제</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${!empty instrAsgnmList }">
|
||||||
|
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.instrNm }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.phone }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
||||||
|
<c:param name="param_atchFileId" value="${list.lctrPlanAtchFileId}" />
|
||||||
|
</c:import>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_type01" onclick="fn_delInstr('<c:out value="${list.userId }" />')">삭제</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<tr>
|
||||||
|
<td colspan="5">강사 배치 정보가 없습니다.</td>
|
||||||
|
</tr>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type02" onclick="fncInstrAsgnmInfo('<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">강사배치</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
교육 신청자 list_상세
|
||||||
|
교육 신청자 list_상세
|
||||||
|
-->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육신청자</p> <!-- ${listPrcsAplct } -->
|
||||||
|
</div>
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top search-only">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_right">
|
||||||
|
<ve:select codeId="VE0003" name="searchSelStatus" id="searchSelStatus" css="class='sel_type1'"
|
||||||
|
selectedValue="${vEPrcsDetailVO.searchSelStatus}" defaultValue='' includes="10,20,30,60"
|
||||||
|
defaultText='전체'
|
||||||
|
/>
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
|
||||||
|
</div>
|
||||||
|
~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
|
||||||
|
</div>
|
||||||
|
<%-- <input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>"> --%>
|
||||||
|
<button type="button" class="btn_type08" onclick="fncGoDetail(); return false;">검색</button>
|
||||||
|
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 4%">
|
||||||
|
<col style="width: 4%">
|
||||||
|
<col style="width: 5%">
|
||||||
|
<col style="width: 14%">
|
||||||
|
<col style="width: 20%">
|
||||||
|
<col style="width: 17%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 90px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 180px;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
|
||||||
|
<th>순번</th>
|
||||||
|
<th>신청자</th>
|
||||||
|
<th>아이디</th>
|
||||||
|
<th>이메일</th>
|
||||||
|
<th>핸드폰</th>
|
||||||
|
<th>신청일</th>
|
||||||
|
<th>확정여부</th>
|
||||||
|
<th>교육상태</th>
|
||||||
|
<th>승인처리</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${!empty listPrcsAplct}">
|
||||||
|
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<!-- 반려인 경우는 처리안되도록 check box을 노출하지 않는다. -->
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.aprvlCd ne 30}">
|
||||||
|
<input name="chk" class="${list.asgnmAprvlCd}"
|
||||||
|
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.rowNo}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.trgtNm}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="#none" onclick="fn_goDetailPop('${list.eduAplctOrd}','${list.mberId}','${list.cmdTrgtInfoOrd}')"><c:out value="${list.mberId}"/></a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.email}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.phone}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:out value="${list.sbmtPnttm}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
|
||||||
|
<!-- 취소요청 내용이 있고 미이수, 이수인 상태 -->
|
||||||
|
<c:if test="${not empty list.cnclCn and (list.aplctStateCd eq 10 or list.aplctStateCd eq 20)}">
|
||||||
|
(취소-반려)
|
||||||
|
</c:if>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<!-- 반려인 경우는 처리안되도록 check box을 노출하지 않는다. -->
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.aprvlCd ne 30}">
|
||||||
|
<button type="button" class="btn_type04" onclick="updateEduAplctOrd('20', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">승인</button>
|
||||||
|
<button type="button" class="btn_type05" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '4')">반려</button>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</c:forEach>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<tr>
|
||||||
|
<td colspan="6">신청자가 없습니다.</td>
|
||||||
|
</tr>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
<button type="button" class="btn_type02" onclick="excelDownLoad(); return false;">엑셀다운로드</button>
|
||||||
|
<button type="button" class="btn_type04" onclick="fncDdlnCdSave(10); return false;">신청마감</button>
|
||||||
|
<button type="button" class="btn_type04" onclick="fncDdlnCdSave(20); return false;">교육확정</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type04" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngList.do" />'; return false;">강의목록</button>
|
||||||
|
<%-- <button type="button" class="btn_type04" onclick="updateEduAplctOrdList(30, '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">접수취소(반려)</button> --%>
|
||||||
|
<button type="button" class="btn_type04" onclick="fncCancelUserList('<c:out value="${info.prcsAplctPrdOrd }" />','4'); return false;">접수취소(반려)</button>
|
||||||
|
|
||||||
|
<button type="button" class="btn_type04" onclick="updateEduAplctOrdList(20, '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">교육승인</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,456 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=utf-8"
|
||||||
|
pageEncoding="utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : fndthEduPrcsAplctPrdMngMdfy.jsp
|
||||||
|
* @Description : 기반강화연수 기간 정보 수정
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.16 조용준 최초 생성
|
||||||
|
* @author 조용주
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript">
|
||||||
|
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
$('#prcsOrd').change(function(){
|
||||||
|
fnSelectDivAndCn($(this).val());
|
||||||
|
});
|
||||||
|
|
||||||
|
var prcsDiv = "<c:out value='${info.prcsDiv }' />";
|
||||||
|
prcsDivChk(prcsDiv)
|
||||||
|
|
||||||
|
$(".btn_type01").on('click', function(){
|
||||||
|
$("#file_temp").click();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
* prcsDivChk
|
||||||
|
* 10:대면 20:비대면
|
||||||
|
* 10:대면 20:비대면
|
||||||
|
* */
|
||||||
|
function prcsDivChk(prcsDiv){
|
||||||
|
console.log('prcsDiv : ', prcsDiv);
|
||||||
|
if(prcsDiv==10){
|
||||||
|
$('#tr_eduPlace #thId').text('교육장소');
|
||||||
|
}else{
|
||||||
|
$('#tr_eduPlace #thId').text('관련URL');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// div codeNm 가져오는 function
|
||||||
|
function fnSelectDivAndCn(prcsOrdVal){
|
||||||
|
|
||||||
|
var url = "${pageContext.request.contextPath}/kccadr/oprtn/prevent/cndtnEduPrcsAplctSelectDivAndCnAjax.do";
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data:{ "prcsOrd" : prcsOrdVal},
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
// 대면인지 비대면인지
|
||||||
|
var prcsDiv = returnData.prcsDivCd;
|
||||||
|
prcsDivChk(prcsDiv);
|
||||||
|
$('#prcsDiv').val(returnData.prcsDiv);
|
||||||
|
$('#prcsCn').val(returnData.prcsCn);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function addPro() {
|
||||||
|
var addQuest = $(".addPro_wrap");
|
||||||
|
var questLen = addQuest.children("div").length;
|
||||||
|
questLen = Number(questLen+1);
|
||||||
|
var trHtml="";
|
||||||
|
|
||||||
|
trHtml += '<div class="tbody_one">';
|
||||||
|
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
|
||||||
|
trHtml += '<div>';
|
||||||
|
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
|
||||||
|
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
|
||||||
|
trHtml += '</div>';
|
||||||
|
trHtml += '</div>';
|
||||||
|
|
||||||
|
addQuest.append(trHtml);
|
||||||
|
}
|
||||||
|
|
||||||
|
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
|
||||||
|
function delPro(item) {
|
||||||
|
var bodyThis = $(item).closest('.tbody_one');
|
||||||
|
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
|
||||||
|
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
|
||||||
|
var idx = bodyThis.index();
|
||||||
|
|
||||||
|
if(len == 1){
|
||||||
|
alert("세부과정은 최소1개가 존재해야합니다.");
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
bodyThis.remove();
|
||||||
|
|
||||||
|
for(var i=0;i<len;i++){
|
||||||
|
if(idx>i){
|
||||||
|
tb.eq(i).find('.span_num3').text(i+1);
|
||||||
|
}else{
|
||||||
|
tb.eq(i).find('.span_num3').text(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncAddUser(){
|
||||||
|
var obj = $(".memList:first").clone(true);
|
||||||
|
obj.children('input').val('')
|
||||||
|
/*
|
||||||
|
var len = $(".memList").length;
|
||||||
|
$.each(obj.find("input"), function(idx, objInput){
|
||||||
|
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
|
||||||
|
console.log(objInput.name);
|
||||||
|
if(objInput.name.indexOf("memGrade") < 0){
|
||||||
|
objInput.value = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
|
||||||
|
obj.find("tr:last > td").text("");
|
||||||
|
*/
|
||||||
|
$(".memList:last").after(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncDelUser(obj){
|
||||||
|
if($(".memList").length <= 1){
|
||||||
|
alert("담당자은 최소1개가 존재해야합니다.");
|
||||||
|
}else{
|
||||||
|
$(obj).closest("td").remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncSave(){
|
||||||
|
|
||||||
|
if ($('#prcsCn').val().length>1000){
|
||||||
|
alert("상세교육과정은 1000자 까지만 저장가능합니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var data = new FormData(document.getElementById("createForm"));
|
||||||
|
|
||||||
|
//첨부파일 등록 처리-step2
|
||||||
|
_fileForm2.forEach(function(obj, idx) {
|
||||||
|
if (obj) data.append("file"+idx, obj.fileObj);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
if(confirm("저장하시겠습니까?")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngMdfyAjax.do'/>";
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("저장되었습니다.");
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
</form:form>
|
||||||
|
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' default='1' />"/>
|
||||||
|
<!-- cont -->
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
|
||||||
|
<c:import url="/cmm/navi/adminContNav.do">
|
||||||
|
<c:param name="url" value="/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do"/>
|
||||||
|
<c:param name="name1" value="과정신청기간관리"/>
|
||||||
|
<c:param name="name2" value="과정신청기간수정"/>
|
||||||
|
<c:param name="name3" value=""/>
|
||||||
|
</c:import>
|
||||||
|
|
||||||
|
<!-- cont_tit
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>과정 신청기간 상세</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>조건부기소유예관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">과정신청기간관리 신청기간 수정</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_상세 -->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육과정관리</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육부분</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
|
||||||
|
<%-- <ve:select codeId="VEA001" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${info.prcsDiv}"/> --%>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정</th>
|
||||||
|
<td>
|
||||||
|
<%-- <ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/> --%>
|
||||||
|
|
||||||
|
<select name="prcsOrd" id="prcsOrd" class="sel_type1">
|
||||||
|
|
||||||
|
<c:forEach var="listPrcs" items="${listPrcs}" varStatus="status">
|
||||||
|
<option value='<c:out value="${listPrcs.prcsOrd}"/>'<c:if test="${listPrcs.prcsOrd eq info.prcsOrd}"> selected</c:if>><c:out value="${listPrcs.prcsOrd}"/>_<c:out value="${listPrcs.prcsNm}"/></option>
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정명</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<input type="text" name="title" id="title" value="${info.title}" style="width:500px;" maxLength="30">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육기간</th>
|
||||||
|
<td>
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="시작일 선택" id="eduStrtPnttm" name="eduStrtPnttm" value="${info.eduStrtPnttm}">
|
||||||
|
</div>
|
||||||
|
<%-- ~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="종료일 선택" id="eduDdlnPnttm" name="eduDdlnPnttm" value="${info.eduDdlnPnttm}">
|
||||||
|
</div> --%>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="tr_eduPlace">
|
||||||
|
<th scope="row" id="thId">교육장소</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<input type="text" name="eduPlace" id="eduPlace" value="${info.eduPlace}" style="width:800px;" maxlength="80">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">신청기간</th>
|
||||||
|
<td>
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="시작일 선택" id="strtPnttm" name="strtPnttm" value="${info.strtPnttm}">
|
||||||
|
</div>
|
||||||
|
~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="종료일 선택" id="endPnttm" name="endPnttm" value="${info.endPnttm}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상세교육과정</th>
|
||||||
|
<td>
|
||||||
|
<textarea name="prcsCn" id="prcsCn" class="memo" class="inputLight" style="height: 200px;"><c:out value="${info.prcsCn }" /></textarea>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row">정원</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<input type="text" name="nos" id="nos" value="${info.nos}" style="width:100px;" maxLength="6">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상태</th>
|
||||||
|
<td>
|
||||||
|
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>공개여부(사용여부)</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<input type="radio" name="useYn" id="useY" value="Y" ${empty info.useYn or info.useYn eq 'Y' ? 'checked' : info.useYn}>
|
||||||
|
<label for="useY">예</label>
|
||||||
|
<input type="radio" name="useYn" id="useN" value="N" ${info.useYn eq 'N' ? 'checked' : info.useYn}>
|
||||||
|
<label for="useN">아니오</label>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>첨부파일</p>
|
||||||
|
</th>
|
||||||
|
<td class="upload_area" colspan="3">
|
||||||
|
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
|
||||||
|
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||||
|
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
|
||||||
|
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><!-- <p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p> -->
|
||||||
|
<div class="file_wrap file_upload_box no_img_box">
|
||||||
|
<table class="tbType02">
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 60%;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 10%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<!-- <th>
|
||||||
|
<input type="checkbox" id="all_check"><label for="all_check"></label>
|
||||||
|
</th> -->
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
<th scope="col">삭제</th>
|
||||||
|
</thead>
|
||||||
|
<tbody class="tb_file_before">
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">
|
||||||
|
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="file_wrap fileAfter file_list_div">
|
||||||
|
<table class="tbType02">
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 60%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 20%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<!-- <th>
|
||||||
|
<input type="checkbox" id="all_check"><label for="all_check"></label>
|
||||||
|
</th> -->
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
<th scope="col">삭제</th>
|
||||||
|
</thead>
|
||||||
|
<tbody id="tbody_fiielist" class="tb_file_after">
|
||||||
|
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
||||||
|
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
|
||||||
|
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
||||||
|
<td class="td_filename">
|
||||||
|
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
|
||||||
|
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesort">
|
||||||
|
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesize">
|
||||||
|
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type02" onclick="fncSave(); return false;">수정</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,411 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=utf-8"
|
||||||
|
pageEncoding="utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : cndtnEduPrcsAplctPrdMngReg.jsp
|
||||||
|
* @Description : 기반강화연수 과정 신청기간 등록
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.16 조용준 최초 생성
|
||||||
|
* @author 조용주
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
$('#prcsOrd').change(function(){
|
||||||
|
fnSelectDivAndCn($(this).val());
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#nos').on('input', function() {
|
||||||
|
// 숫자만 허용
|
||||||
|
$(this).val($(this).val().replace(/[^0-9]/g, ''));
|
||||||
|
|
||||||
|
// 값이 0으로 시작하면 제거
|
||||||
|
if ($(this).val().charAt(0) == '0') {
|
||||||
|
$(this).val($(this).val().substring(1));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var prcsDiv = "<c:out value='${prcsDiv }' />";
|
||||||
|
prcsDivChk(prcsDiv);
|
||||||
|
|
||||||
|
|
||||||
|
$(".btn_type01").on('click', function(){
|
||||||
|
$("#file_temp").click();
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* prcsDivChk
|
||||||
|
* 10:대면 20:비대면
|
||||||
|
* 10:대면 20:비대면
|
||||||
|
* */
|
||||||
|
function prcsDivChk(prcsDiv){
|
||||||
|
if(prcsDiv==10){
|
||||||
|
$('#tr_eduPlace #thId').text('교육장소');
|
||||||
|
}else{
|
||||||
|
$('#tr_eduPlace #thId').text('관련URL');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncSave(){
|
||||||
|
|
||||||
|
if ($('#prcsCn').val().length>1000){
|
||||||
|
alert("상세교육과정은 1000자 까지만 저장가능합니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var data = new FormData(document.getElementById("createForm"));
|
||||||
|
|
||||||
|
//첨부파일 등록 처리-step2
|
||||||
|
_fileForm2.forEach(function(obj, idx) {
|
||||||
|
if (obj) data.append("file"+idx, obj.fileObj);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(confirm("저장하시겠습니까?")){
|
||||||
|
var url = "${pageContext.request.contextPath}/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngRegAjax.do";
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
enctype: 'multipart/form-data',
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("저장되었습니다.");
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// div codeNm 가져오는 function
|
||||||
|
function fnSelectDivAndCn(prcsOrdVal){
|
||||||
|
|
||||||
|
var url = "${pageContext.request.contextPath}/kccadr/oprtn/prevent/cndtnEduPrcsAplctSelectDivAndCnAjax.do";
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data:{ "prcsOrd" : prcsOrdVal},
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
// 대면인지 비대면인지
|
||||||
|
var prcsDiv = returnData.prcsDivCd;
|
||||||
|
prcsDivChk(prcsDiv);
|
||||||
|
$('#prcsDiv').val(returnData.prcsDiv);
|
||||||
|
$('#prcsCn').val(returnData.prcsCn);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 파일등록 */
|
||||||
|
var _fileIdx = 0;
|
||||||
|
var _fileForm2 = new Array();
|
||||||
|
function handleFileUpload(files,obj) //업로드 function
|
||||||
|
{
|
||||||
|
console.log('files', files);
|
||||||
|
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
|
||||||
|
for (var i = 0; i < files.length; i++){
|
||||||
|
if(files[i].size > limitsize){
|
||||||
|
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < files.length; i++)
|
||||||
|
{
|
||||||
|
var fd = new FormData();
|
||||||
|
fd.append('file', files[i]);
|
||||||
|
var tmpObj = new Object();
|
||||||
|
tmpObj.name = "file_" + _fileIdx;
|
||||||
|
tmpObj.fileObj = files[i];
|
||||||
|
|
||||||
|
_fileForm2.push(tmpObj);
|
||||||
|
sendFileToServer(fd, obj, files[i], _fileIdx);
|
||||||
|
_fileIdx++;
|
||||||
|
|
||||||
|
var totalfileSize = 0;
|
||||||
|
$('.totalfileCount').text($('.item_file_size').length) ;
|
||||||
|
$('.item_file_size').each(function(){
|
||||||
|
totalfileSize += $(this).val()*1 ;
|
||||||
|
});
|
||||||
|
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
</form:form>
|
||||||
|
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
|
||||||
|
<!-- cont -->
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>과정 신청기간 등록</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>조건부기소유예관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav"> 과정 신청기간 등록</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_상세 -->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>과정 신청기간 등록</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">대면구분</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="prcsDiv" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육과정</th>
|
||||||
|
<td>
|
||||||
|
<%-- <ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/> --%>
|
||||||
|
|
||||||
|
<select name="prcsOrd" id="prcsOrd" class="sel_type1">
|
||||||
|
<c:forEach var="listPrcs" items="${listPrcs}" varStatus="status">
|
||||||
|
<option value='<c:out value="${listPrcs.prcsOrd}"/>'><c:out value="${listPrcs.prcsOrd}"/>_<c:out value="${listPrcs.prcsNm}"/></option>
|
||||||
|
</c:forEach>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정명</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<input type="text" name="title" id="title" value="${vEEduAplctVO.title}" style="width:500px;" maxLength="30">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육기간</th>
|
||||||
|
<td>
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="교육일 선택" id="eduStrtPnttm" name="eduStrtPnttm" />
|
||||||
|
</div>
|
||||||
|
<%-- ~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="종료일 선택" id="endPnttm" name="endPnttm" value="${vEEduAplctVO.endPnttm}">
|
||||||
|
</div> --%>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="tr_eduPlace">
|
||||||
|
<th scope="row" id="thId">교육장소</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<input type="text" name="eduPlace" id="eduPlace" value="${vEEduAplctVO.eduPlace}" style="width:800px;" maxlength="80">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">신청기간</th>
|
||||||
|
<td>
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="시작일 선택" id="strtPnttm" name="strtPnttm" value="${vEEduAplctVO.eduStrtPnttm}">
|
||||||
|
</div>
|
||||||
|
~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="종료일 선택" id="endPnttm" name="endPnttm" value="${vEEduAplctVO.eduDdlnPnttm}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상세교육과정</th>
|
||||||
|
<td>
|
||||||
|
<textarea name="prcsCn" id="prcsCn" class="memo" class="inputLight" style="height: 200px;"><c:out value="${prcsCn }" /></textarea>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">정원</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<input type="text" name="nos" id="nos" value="${vEEduAplctVO.nos}" style="width:100px;" maxLength="6">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>상태</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<kc:select codeId="VEA004" name="ddlnCd" id="ddlnCd" defaultText="전체" defaultValue="" css="class='sel_type1'" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||||
|
<p>첨부파일</p>
|
||||||
|
</th>
|
||||||
|
<td class="upload_area" colspan="3">
|
||||||
|
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
|
||||||
|
<div class="file_top">
|
||||||
|
<div class="left_area">
|
||||||
|
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
|
||||||
|
<button type="button" id="filebutton" class="btn_type01 btn line blue md">파일 첨부하기</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="cf_text2" style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><!-- <p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="file_wrap file_upload_box no_img_box">
|
||||||
|
<table class="tbType02">
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 60%;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
<col style="width: 10%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<!-- <th>
|
||||||
|
<input type="checkbox" id="all_check"><label for="all_check"></label>
|
||||||
|
</th> -->
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
<th scope="col">삭제</th>
|
||||||
|
</thead>
|
||||||
|
<tbody class="tb_file_before">
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">
|
||||||
|
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="file_wrap fileAfter file_list_div">
|
||||||
|
<table class="tbType02">
|
||||||
|
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 60%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 20%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<!-- <th>
|
||||||
|
<input type="checkbox" id="all_check"><label for="all_check"></label>
|
||||||
|
</th> -->
|
||||||
|
<th scope="col">파일 명</th>
|
||||||
|
<th scope="col">종류</th>
|
||||||
|
<th scope="col">크기</th>
|
||||||
|
<th scope="col">삭제</th>
|
||||||
|
</thead>
|
||||||
|
<tbody id="tbody_fiielist" class="tb_file_after">
|
||||||
|
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
||||||
|
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
|
||||||
|
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
|
||||||
|
<td class="td_filename">
|
||||||
|
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
|
||||||
|
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesort">
|
||||||
|
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
|
||||||
|
</td>
|
||||||
|
<td class="td_filesize">
|
||||||
|
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type01" onclick="fncSave(); return false;">저장</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,193 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=utf-8"
|
||||||
|
pageEncoding="utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%pageContext.setAttribute("crlf", "\r\n"); %>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : fndthEduPrcsMngDetail.jsp
|
||||||
|
* @Description : 기반강화연수 상세화면
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.16 조용준 최초 생성
|
||||||
|
* @author 조용주
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
function fncMdfy(){
|
||||||
|
var detailForm = document.detailForm ;
|
||||||
|
detailForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngMdfy.do'/>";
|
||||||
|
detailForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
//삭제 - useYn-D 처리
|
||||||
|
function fncDel(){
|
||||||
|
var data = new FormData(document.getElementById("detailForm"));
|
||||||
|
if(confirm("삭제하시겠습니까?\n데이터 복구가 안됩니다.")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngDelAjax.do'/>";
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("삭제되었습니다.");
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
</form:form>
|
||||||
|
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
<input type="hidden" name="prcsOrd" value="<c:out value='${vEPrcsDetailVO.prcsOrd}' default='1' />"/>
|
||||||
|
<!-- cont -->
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
|
||||||
|
<c:import url="/cmm/navi/adminContNav.do">
|
||||||
|
<c:param name="url" value="/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do"/>
|
||||||
|
<c:param name="name1" value="과정관리"/>
|
||||||
|
<c:param name="name2" value="과정관리상세"/>
|
||||||
|
<c:param name="name3" value=""/>
|
||||||
|
</c:import>
|
||||||
|
|
||||||
|
<!-- cont_tit
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>교육 과정 등록</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>조건부기소유예관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">과정관리상세</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_상세 -->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육과정관리</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">교육부문</th>
|
||||||
|
<td colspan="3" style="position: relative;">
|
||||||
|
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
|
||||||
|
<div class="put_photo">
|
||||||
|
<div class="put_photo_in">
|
||||||
|
<div class="put_photo_box">
|
||||||
|
<c:if test="${empty info.imageAtchFileId}">
|
||||||
|
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${not empty info.imageAtchFileId}">
|
||||||
|
<img id="instrPhoto" class="id_pic" alt="사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.imageAtchFileId}"/>' />
|
||||||
|
</c:if>
|
||||||
|
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value="<c:out value='${info.imageAtchFileId}'/>"/>
|
||||||
|
</div>
|
||||||
|
<!-- <button type="button" class="btnType01" onclick="fncPhotoPopup(); return false;">사진등록</button> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정명</th>
|
||||||
|
<td>
|
||||||
|
<c:out value='${info.prcsNm}' />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정설명</th>
|
||||||
|
<td>
|
||||||
|
<%-- <c:out value='${info.prcsCn}' /> --%>
|
||||||
|
<c:out value="${fn:replace(info.prcsCn , crlf , '<br/>')}" escapeXml="false" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">사용여부</th>
|
||||||
|
<td>
|
||||||
|
<c:if test="${info.useYn eq 'Y'}">
|
||||||
|
사용
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${info.useYn ne 'Y'}">
|
||||||
|
미사용
|
||||||
|
</c:if>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
<button type="button" class="btn_type07" onclick="fncDel(); return false;">삭제</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type01" onclick="fncMdfy(); return false;">수정</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,267 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=utf-8"
|
||||||
|
pageEncoding="utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : fndthEduPrcsMngMdfy.jsp
|
||||||
|
* @Description : 기반강화연수 수정
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.16 조용준 최초 생성
|
||||||
|
* @author 조용주
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript">
|
||||||
|
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||||
|
function addPro() {
|
||||||
|
var addQuest = $(".addPro_wrap");
|
||||||
|
var questLen = addQuest.children("div").length;
|
||||||
|
questLen = Number(questLen+1);
|
||||||
|
var trHtml="";
|
||||||
|
|
||||||
|
trHtml += '<div class="tbody_one">';
|
||||||
|
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
|
||||||
|
trHtml += '<div>';
|
||||||
|
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
|
||||||
|
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
|
||||||
|
trHtml += '</div>';
|
||||||
|
trHtml += '</div>';
|
||||||
|
|
||||||
|
addQuest.append(trHtml);
|
||||||
|
}
|
||||||
|
|
||||||
|
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
|
||||||
|
function delPro(item) {
|
||||||
|
var bodyThis = $(item).closest('.tbody_one');
|
||||||
|
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
|
||||||
|
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
|
||||||
|
var idx = bodyThis.index();
|
||||||
|
|
||||||
|
if(len == 1){
|
||||||
|
alert("세부과정은 최소1개가 존재해야합니다.");
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
bodyThis.remove();
|
||||||
|
|
||||||
|
for(var i=0;i<len;i++){
|
||||||
|
if(idx>i){
|
||||||
|
tb.eq(i).find('.span_num3').text(i+1);
|
||||||
|
}else{
|
||||||
|
tb.eq(i).find('.span_num3').text(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncAddUser(){
|
||||||
|
var obj = $(".memList:first").clone(true);
|
||||||
|
obj.children('input').val('')
|
||||||
|
/*
|
||||||
|
var len = $(".memList").length;
|
||||||
|
$.each(obj.find("input"), function(idx, objInput){
|
||||||
|
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
|
||||||
|
console.log(objInput.name);
|
||||||
|
if(objInput.name.indexOf("memGrade") < 0){
|
||||||
|
objInput.value = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
|
||||||
|
obj.find("tr:last > td").text("");
|
||||||
|
*/
|
||||||
|
$(".memList:last").after(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncDelUser(obj){
|
||||||
|
if($(".memList").length <= 1){
|
||||||
|
alert("담당자은 최소1개가 존재해야합니다.");
|
||||||
|
}else{
|
||||||
|
$(obj).closest("td").remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncSave(){
|
||||||
|
|
||||||
|
var data = new FormData(document.getElementById("createForm"));
|
||||||
|
if(confirm("수정하시겠습니까?")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfyAjax.do'/>";
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("저장되었습니다.");
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncPhotoPopup() {
|
||||||
|
var pop = document.createForm;
|
||||||
|
commonPopWindowopenForm("${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/popup/fndthEduPhotoPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
</form:form>
|
||||||
|
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
<input type="hidden" name="prcsOrd" value="<c:out value='${vEPrcsDetailVO.prcsOrd}' default='1' />"/>
|
||||||
|
<!-- cont -->
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
|
||||||
|
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
|
||||||
|
<c:import url="/cmm/navi/adminContNav.do">
|
||||||
|
<c:param name="url" value="/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do"/>
|
||||||
|
<c:param name="name1" value="과정관리수정"/>
|
||||||
|
<c:param name="name2" value=""/>
|
||||||
|
<c:param name="name3" value=""/>
|
||||||
|
</c:import>
|
||||||
|
|
||||||
|
<!-- cont_tit
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>교육 과정 등록</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>조건부기소유예관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">과정관리수정</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_상세 -->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육과정관리</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">대면구분</th>
|
||||||
|
<td colspan="3" style="position: relative;">
|
||||||
|
<ve:select codeId="VEA001" name="prcsDiv" id="prcsDiv" css="class='sel_type1'"
|
||||||
|
selectedValue="${info.prcsDiv }" defaultValue=''
|
||||||
|
defaultText="선택"
|
||||||
|
/>
|
||||||
|
<!-- <input type="text" name="instrNm"/> -->
|
||||||
|
<div class="put_photo">
|
||||||
|
<div class="put_photo_in">
|
||||||
|
<div class="put_photo">
|
||||||
|
<div class="put_photo_in">
|
||||||
|
<div class="put_photo_box">
|
||||||
|
<c:if test="${empty info.imageAtchFileId}">
|
||||||
|
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${not empty info.imageAtchFileId}">
|
||||||
|
<img id="instrPhoto" class="id_pic" alt="사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.imageAtchFileId}"/>' />
|
||||||
|
</c:if>
|
||||||
|
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value="<c:out value='${info.imageAtchFileId}'/>"/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<button type="button" class="btn_type01" onclick="fncPhotoPopup(); return false;">사진등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<%-- <ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/> --%>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정명</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="prcsNm" value="${info.prcsNm }"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상세교육과정</th>
|
||||||
|
<td>
|
||||||
|
<textarea placeholder="과정설명을 입력해주세요." name="prcsCn" id="prcsCn" class="memo" onfocus="this.placeholder=''" onblur="this.placeholder='과정설명을 입력해주세요.'" class="inputLight" style="height: 200px;"><c:out value="${info.prcsCn }" /></textarea>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상태</th>
|
||||||
|
<td>
|
||||||
|
<select name="useYn" class="sel_type1">
|
||||||
|
<option value="Y" <c:if test="${info.useYn=='Y' }">selected="selected"</c:if>>사용</option>
|
||||||
|
<option value="N" <c:if test="${info.useYn=='N' }">selected="selected"</c:if>>미사용</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type02" onclick="fncSave(); return false;">수정</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,213 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : instrAsgnmPopup.jsp
|
||||||
|
* @Description : 강사배치 팝업
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.08.09 김봉호 최초 생성
|
||||||
|
* @author 안주영
|
||||||
|
* @since 2022.1.8
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
|
||||||
|
<%-- <script type="text/javascript" src="<c:url value='/js/ve/tmapJS.js'/>"></script> --%>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
</script>
|
||||||
|
<title>강사배치 팝업</title>
|
||||||
|
<script type="text/javaScript" language="javascript">
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
// ID를 alpreah_input로 가지는 곳에서 키를 누를 경우
|
||||||
|
$("#instrNm").keydown(function(key) {
|
||||||
|
if (key.keyCode == 13) {
|
||||||
|
linkPage(1);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function fncPopClose(){
|
||||||
|
self.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.pageIndex.value = pageNo ;
|
||||||
|
|
||||||
|
if($('#searchEduSlctAreaCd option:selected').text() != '전체'){
|
||||||
|
listForm.rsdne.value = $('#searchEduSlctAreaCd option:selected').text();
|
||||||
|
}
|
||||||
|
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/prevent/popup/cndtnInstrAsgnmPopup.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncInstrAsgnm(p_id) {
|
||||||
|
$("#userId").val(p_id);
|
||||||
|
|
||||||
|
var data1 = new FormData(document.getElementById("createForm"));
|
||||||
|
if(confirm("강사를 선택 하시겠습니까?")){
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url:"${pageContext.request.contextPath}/kccadr/oprtn/prevent/cndtnInstrAsgnmAjax.do",
|
||||||
|
data: data1,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == 'success'){
|
||||||
|
alert("저장 되었습니다.");
|
||||||
|
opener.location.reload();
|
||||||
|
fncPopClose();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="area_popup supm_popup">
|
||||||
|
<div class="cont_popup">
|
||||||
|
|
||||||
|
<form:form id="createForm" name="createForm" method="post" onsubmit="return false;">
|
||||||
|
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd"/>
|
||||||
|
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd"/>
|
||||||
|
<input type="hidden" name="userId" id="userId" />
|
||||||
|
<input type="hidden" name="asgnmAprvlCd" id="asgnmAprvlCd" value="30"/> <!-- VE0019 배정 승인 코드 30 확정 -->
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value="${vEPrcsDetailVO.prcsAplctPrdOrd}" />" />
|
||||||
|
</form:form>
|
||||||
|
|
||||||
|
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
|
||||||
|
|
||||||
|
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd"/>
|
||||||
|
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd"/>
|
||||||
|
<input type="hidden" name="userId" id="userId" />
|
||||||
|
<input type="hidden" name="asgnmAprvlCd" id="asgnmAprvlCd" value="30"/> <!-- VE0019 배정 승인 코드 30 확정 -->
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value="${vEPrcsDetailVO.prcsAplctPrdOrd}" />" />
|
||||||
|
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
||||||
|
<input type="hidden" name="pageUnit" value="5" />
|
||||||
|
<input type="hidden" name="rsdne" value="" />
|
||||||
|
|
||||||
|
<div class="area_popup">
|
||||||
|
<div class="cont_popup">
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>강사검색</p>
|
||||||
|
</div>
|
||||||
|
<%-- <ve:select codeId="VE0008" name="searchEduSlctAreaCd" id="searchEduSlctAreaCd" css="class='sel_type1'" --%>
|
||||||
|
<%-- selectedText="${vEEduAplctVO.rsdne}" defaultValue='' --%>
|
||||||
|
<%-- defaultText='전체' --%>
|
||||||
|
<%-- /> --%>
|
||||||
|
<div class="util_right">
|
||||||
|
<input type="text" id="searchKeyword" name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="${vEPrcsDetailVO.searchKeyword }">
|
||||||
|
<button type="button" class="btn_type08" onclick="linkPage(1); return false;">검색</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pop_tb_tit01">
|
||||||
|
<p>강사 목록</p>(*선호분야 일치여부, 적은 할당시수 순입니다.)
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pop_tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 11%;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
<%-- <col style="width: 10%"> --%>
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
<%-- <col style="width: 9%;"> --%>
|
||||||
|
<col style="width: 9%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">이름</th>
|
||||||
|
<th scope="col">거주<br>지역</th>
|
||||||
|
<!-- <th scope="col">이동<br>거리</th> -->
|
||||||
|
<th scope="col">선호분야</th>
|
||||||
|
<th scope="col">온라인</th>
|
||||||
|
<th scope="col">구분</th>
|
||||||
|
<!-- <th scope="col">Penalty 횟수</th> -->
|
||||||
|
<th scope="col">선택</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td><c:out value='${list.instrNm}'/></td>
|
||||||
|
<td><c:out value='${list.rsdne}'/></td>
|
||||||
|
<%-- <td><c:out value='${list.onewayDstnc}'/>Km</td> --%>
|
||||||
|
|
||||||
|
<td><ve:code codeId="VE0004" code="${list.prfrnFldCd}"/></td>
|
||||||
|
<td><c:out value='${list.onlnPsblYn}'/></td>
|
||||||
|
<td><ve:code codeId="VE0018" code="${list.divCd}"/></td>
|
||||||
|
<td>
|
||||||
|
<c:if test='${empty list.chrgNm}'>
|
||||||
|
<button class="btn_type06"
|
||||||
|
onclick="fncInstrAsgnm('<c:out value="${list.userId}" />'); return false;">선택</button>
|
||||||
|
</c:if>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list}">
|
||||||
|
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- page -->
|
||||||
|
<div class="page">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||||
|
</div>
|
||||||
|
<!-- //page -->
|
||||||
|
|
||||||
|
<div class="btn_wrap_pop btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
<button type="button" class="btn_type04" onclick="self.close();">닫기</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form:form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Reference in New Issue
Block a user