main
parent
2c6f8cc27a
commit
edd1555427
13
list.txt
13
list.txt
|
|
@ -1,2 +1,13 @@
|
|||
#src\main\resources\egovframework\egovProps\globals.properties
|
||||
src\main\webapp\WEB-INF\views\body\join\join.jsp
|
||||
src\main\webapp\WEB-INF\views\visitEducationApplication\inquiry\visitEducationApplicationInquiry.jsp
|
||||
src\main\webapp\com\css\common.v2.0.css
|
||||
src\main\webapp\com\img\visitEducationApplication\chevron.svg
|
||||
src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Light.woff
|
||||
src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Light.woff2
|
||||
#'입력중인프로젝트 현황'에서 '검수등록대기 목록'으로 이동 기능 추가
|
||||
src\main\webapp\WEB-INF\views\web\manage\list_reg.jsp
|
||||
src\main\java\geoinfo\regi\listReg\ListRegController.java
|
||||
src\main\java\geoinfo\regi\listReg\service\ListRegService.java
|
||||
src\main\java\geoinfo\regi\listReg\service\impl\ListRegServiceImpl.java
|
||||
src\main\java\geoinfo\regi\listReg\service\ListRegMapper.java
|
||||
src\main\resources\egovframework\sqlmap\mapper\regi\listReg.xml
|
||||
|
|
@ -279,28 +279,28 @@ public ModelAndView join_post(MultipartRequest multi, Map<String, Object> map,Ht
|
|||
}
|
||||
catch (IndexOutOfBoundsException ex) {
|
||||
log.debug("error", ex);
|
||||
mv.addObject("msg", "잘못된 접근입니다.");
|
||||
mv.addObject("msg", "잘못된 접근입니다. code: 1");
|
||||
mv.setViewName("redirect:topMenuSelect.do?url=join");
|
||||
}
|
||||
catch (NumberFormatException ex) {
|
||||
log.debug("error", ex);
|
||||
mv.addObject("msg", "잘못된 접근입니다.");
|
||||
mv.addObject("msg", "잘못된 접근입니다. code: 2");
|
||||
mv.setViewName("redirect:topMenuSelect.do?url=join");
|
||||
}
|
||||
catch (IOException ex) {
|
||||
log.debug("error", ex);
|
||||
mv.addObject("msg", "잘못된 접근입니다.");
|
||||
mv.addObject("msg", "잘못된 접근입니다. code: 3");
|
||||
mv.setViewName("redirect:topMenuSelect.do?url=join");
|
||||
}
|
||||
catch(Exception ex){
|
||||
log.info("JoinController 회원 가입 폼 전송 잘못된 접근");
|
||||
mv.addObject("msg", "잘못된 접근입니다.");
|
||||
mv.addObject("msg", "잘못된 접근입니다. code: 4");
|
||||
mv.setViewName("redirect:topMenuSelect.do?url=join");
|
||||
}
|
||||
|
||||
if(!nameTx1.equals(name)) {
|
||||
log.info("JoinController 회원 가입 폼 전송 이름 값 변조(잘못된 접근)");
|
||||
rda.addFlashAttribute("msg","잘못된 접근입니다.");
|
||||
rda.addFlashAttribute("msg","잘못된 접근입니다. code: 5");
|
||||
mv.setViewName("redirect:topMenuSelect.do?url=join");
|
||||
return mv;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2675,19 +2675,19 @@ public class LoginController {
|
|||
}
|
||||
|
||||
} catch(FileNotFoundException ex){
|
||||
rda.addFlashAttribute("msg", "잘못된 접근입니다.");
|
||||
rda.addFlashAttribute("msg", "잘못된 접근입니다. code: 1");
|
||||
mv.setViewName("redirect:/topMenuSelect.do?url=pwsearch");
|
||||
return mv;
|
||||
} catch(IndexOutOfBoundsException ex){
|
||||
rda.addFlashAttribute("msg", "잘못된 접근입니다.");
|
||||
rda.addFlashAttribute("msg", "휴대폰 인증이 필요합니다.");
|
||||
mv.setViewName("redirect:/topMenuSelect.do?url=pwsearch");
|
||||
return mv;
|
||||
} catch(NumberFormatException ex){
|
||||
rda.addFlashAttribute("msg", "잘못된 접근입니다.");
|
||||
rda.addFlashAttribute("msg", "잘못된 접근입니다. code: 3");
|
||||
mv.setViewName("redirect:/topMenuSelect.do?url=pwsearch");
|
||||
return mv;
|
||||
} catch(Exception ex){
|
||||
rda.addFlashAttribute("msg", "잘못된 접근입니다.");
|
||||
rda.addFlashAttribute("msg", "잘못된 접근입니다. code: 4");
|
||||
mv.setViewName("redirect:/topMenuSelect.do?url=pwsearch");
|
||||
return mv;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package geoinfo.regi.listReg;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
|
@ -8,15 +9,20 @@ import javax.servlet.http.HttpServletRequest;
|
|||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.codehaus.jackson.map.ObjectMapper;
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import geoinfo.regi.listReg.service.ListRegService;
|
||||
import geoinfo.regi.manageList.service.ManageListService;
|
||||
import geoinfo.regi.status.service.RegiPageService;
|
||||
import geoinfo.util.MyUtil;
|
||||
import ictway.comm.util.parseData;
|
||||
import ictway.comm.util.strUtil;
|
||||
import ictway.comm.web.WebUtil;
|
||||
|
|
@ -76,5 +82,112 @@ public class ListRegController {
|
|||
response.getWriter().print(json);
|
||||
};
|
||||
|
||||
/**
|
||||
* '입력중인프로젝트 현황'에서 '검수등록대기 목록'으로 이동 기능 추가
|
||||
* @param request
|
||||
* @param strJSON
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "list_reg/move-to-manage-wait.do", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public org.json.simple.JSONObject moveToManageWait (
|
||||
HttpServletRequest request,
|
||||
@RequestBody String strJSON,
|
||||
HttpServletResponse response) {
|
||||
|
||||
|
||||
org.json.simple.JSONObject jsonResponse = new org.json.simple.JSONObject();
|
||||
|
||||
System.out.println(
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " IN:" +
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
"strJSON" + strJSON + "\n" +
|
||||
"\n--------------------------------------------------------------\n"
|
||||
);
|
||||
|
||||
JSONParser jsonParser = new JSONParser();
|
||||
JSONArray jsonArr = null;
|
||||
boolean isFail = false;
|
||||
String failMsg = "";
|
||||
|
||||
|
||||
try {
|
||||
jsonArr = (JSONArray)jsonParser.parse(strJSON);
|
||||
for (Object obj : jsonArr) {
|
||||
org.json.simple.JSONObject jsonObject = (org.json.simple.JSONObject) obj;
|
||||
|
||||
// JSONObject를 HashMap으로 변환
|
||||
HashMap<String, Object> params = new HashMap<>();
|
||||
for (Object key : jsonObject.keySet()) {
|
||||
String keyStr = (String) key;
|
||||
Object value = jsonObject.get(keyStr);
|
||||
params.put(keyStr, value);
|
||||
}
|
||||
|
||||
try {
|
||||
HashMap<String, Object> hashMap = masterService.moveToManageWait(request, response, params);
|
||||
int nRetCode = 100;
|
||||
String lpszRetMsg = "No message.";
|
||||
|
||||
if( nRetCode == 100 ) {
|
||||
jsonResponse.put("resultCode", nRetCode);
|
||||
jsonResponse.put("result", "true");
|
||||
jsonResponse.put("message", "");
|
||||
} else {
|
||||
jsonResponse.put("resultCode", nRetCode);
|
||||
jsonResponse.put("result", "false");
|
||||
jsonResponse.put("message", lpszRetMsg);
|
||||
|
||||
isFail = true;
|
||||
failMsg = lpszRetMsg;
|
||||
break;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
String strTxt =
|
||||
"---------- BUG REPORTING START ----------" + "\n" +
|
||||
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||
"strJSON:[\n" + strJSON + "\n]\n" +
|
||||
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
|
||||
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
|
||||
"---------- BUG REPORTING END ----------" + "\n" +
|
||||
"";
|
||||
System.out.println(strTxt);
|
||||
int resultCode = -1;
|
||||
|
||||
if( e.getMessage().equals("로그인이 필요한 서비스 입니다.") ) {
|
||||
resultCode = 401;
|
||||
}
|
||||
jsonResponse.put("resultCode", resultCode);
|
||||
jsonResponse.put("result", "false");
|
||||
jsonResponse.put("message", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
} catch (org.json.simple.parser.ParseException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if( isFail ) {
|
||||
jsonResponse.put("resultCode", -2);
|
||||
jsonResponse.put("result", "false");
|
||||
jsonResponse.put("message", failMsg);
|
||||
}
|
||||
|
||||
System.out.println(
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " OUT:" +
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
"jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" +
|
||||
"\n--------------------------------------------------------------\n"
|
||||
);
|
||||
|
||||
return jsonResponse;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package geoinfo.regi.listReg.service;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
|
@ -11,5 +12,6 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
|
|||
public interface ListRegMapper {
|
||||
|
||||
public ArrayList<?> getRegList(HashMap<String,Object> params) throws Exception;
|
||||
public void callSpChangeStateTempProject(HashMap<String, Object> params) throws SQLException;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,14 @@ import java.util.ArrayList;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
|
||||
|
||||
public interface ListRegService {
|
||||
|
||||
public ArrayList<?> getRegList(HashMap<String,Object> params) throws Exception;
|
||||
public HashMap<String, Object> moveToManageWait(HttpServletRequest request, HttpServletResponse response, HashMap<String, Object> params) throws Exception;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,11 +2,15 @@ package geoinfo.regi.listReg.service.impl;
|
|||
|
||||
import geoinfo.regi.listReg.service.ListRegMapper;
|
||||
import geoinfo.regi.listReg.service.ListRegService;
|
||||
import geoinfo.util.MyUtil;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -21,4 +25,36 @@ public class ListRegServiceImpl implements ListRegService {
|
|||
return listRegMapper.getRegList(params);
|
||||
}
|
||||
|
||||
|
||||
private boolean isValidMoveToManageWait(HashMap<String, Object> params) throws Exception {
|
||||
|
||||
String projectCode = MyUtil.getStringFromObject( params.get("projectCode") );
|
||||
if( projectCode == null || projectCode.isEmpty()) {
|
||||
throw new Exception( "프로젝트코드가 존재하지 않습니다." );
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<String, Object> moveToManageWait(HttpServletRequest request, HttpServletResponse response, HashMap<String, Object> params) throws Exception {
|
||||
|
||||
if(request.getSession().getAttribute("USERNAME") == null){
|
||||
throw new Exception( "로그인이 필요한 서비스 입니다." );
|
||||
}
|
||||
|
||||
params.put("state", 1);
|
||||
String userId = (String)request.getSession().getAttribute("USERID");
|
||||
params.put("userId", userId);
|
||||
|
||||
isValidMoveToManageWait(params);
|
||||
|
||||
try {
|
||||
listRegMapper.callSpChangeStateTempProject(params);
|
||||
return params;
|
||||
} catch (SQLException e) {
|
||||
throw new Exception( e.getMessage() );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,4 +32,24 @@
|
|||
ORDER BY F.PROJECT_CODE DESC
|
||||
</select>
|
||||
|
||||
|
||||
<select id="callSpChangeStateTempProject" statementType="CALLABLE" parameterType="map">
|
||||
<!--
|
||||
함수 사용법 : EXEC SP_CHAGE_STATE_TEMP_PROJECT(프로젝트코드, 상태코드, 사용자ID);
|
||||
(상태코드 1:검수준비중, 2:검수중, 3:검수완료, 4:입력중, 5:수정요청, 6: 등록완료, 0:미등록)
|
||||
|
||||
예) EXEC SP_CHANGE_STATE_TEMP_PROJECT('X9988',1,'kict1234');
|
||||
|
||||
p_project_code IN VARCHAR2,
|
||||
p_state IN integer,
|
||||
p_userid IN VARCHAR2
|
||||
-->
|
||||
CALL SP_CHANGE_STATE_TEMP_PROJECT(
|
||||
#{projectCode, jdbcType=VARCHAR, mode=IN},
|
||||
#{state, jdbcType=INTEGER, mode=IN},
|
||||
#{userId, jdbcType=VARCHAR, mode=IN}
|
||||
)
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -212,6 +212,9 @@
|
|||
alert('재직증명서를 첨부해주시기 바랍니다.\n\n감사 합니다');
|
||||
}else if ( imageExt != ".png" && imageExt != ".jpg") {
|
||||
alert('재직증명서를 확장를 jpg 혹은 png로 첨부해주시기 바랍니다.\n\n감사 합니다');
|
||||
}else if(document.getElementById("hdnCertNum2").value == "" || document.getElementById("hdnCertification2").value == ""){
|
||||
alert("비밀번호 초기화 신청을 하시려면 휴대폰 인증을 하셔야 합니다.");
|
||||
return;
|
||||
}else{
|
||||
result = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -330,7 +330,7 @@
|
|||
<c:when test="${isLogin == true}">
|
||||
<c:set var="cls" value="${cls}" />
|
||||
<c:choose>
|
||||
<c:when test="${cls == 0}">
|
||||
<c:when test="${cls == 0-999}">
|
||||
<li>
|
||||
<img src="../com/img/common/bg/main_info_visual_20240906.png?v=20240906" alt="건설 시추정보 DB 사용자 방문교육 신청 안내" usemap="#study">
|
||||
<map name="study" id="study" />
|
||||
|
|
|
|||
|
|
@ -2,21 +2,307 @@
|
|||
<%@ page language="java" import="Kisinfo.Check.IPINClient" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
|
||||
<script type="text/javascript" >
|
||||
alert('방문교육 서비스 준비중입니다.');
|
||||
window.location.href="./";
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
const daysCells = document.querySelectorAll('.Day'); // 각 날짜 셀을 가져옴
|
||||
const monthElement = document.querySelector('.Month');
|
||||
const prevMonthBtn = document.getElementById('prevMonth');
|
||||
const nextMonthBtn = document.getElementById('nextMonth');
|
||||
|
||||
let currentYear = new Date().getFullYear();
|
||||
let currentMonth = new Date().getMonth(); // 0 = January, 11 = December
|
||||
|
||||
// 달력을 렌더링하는 함수
|
||||
function renderCalendar() {
|
||||
|
||||
|
||||
const monthNames = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
|
||||
const firstDayOfMonth = new Date(currentYear, currentMonth, 1).getDay(); // 해당 월의 첫 번째 날의 요일
|
||||
const lastDateOfMonth = new Date(currentYear, currentMonth + 1, 0).getDate(); // 해당 월의 마지막 날짜
|
||||
const today = new Date();
|
||||
|
||||
// 이전 달의 마지막 날짜 계산
|
||||
const lastDateOfPrevMonth = new Date(currentYear, currentMonth, 0).getDate(); // 지난달의 마지막 날짜
|
||||
|
||||
// 달의 헤더 업데이트
|
||||
monthElement.textContent = currentYear+'.'+monthNames[currentMonth];
|
||||
|
||||
// 모든 날짜 셀 초기화 (빈칸으로 채우기)
|
||||
daysCells.forEach(cell => {
|
||||
cell.textContent = ''; // 셀을 비운다
|
||||
cell.classList.remove('today', 'Su', 'Sa', 'inactive'); // 추가된 클래스를 초기화
|
||||
});
|
||||
|
||||
// 지난달 날짜를 첫 주에 채우기
|
||||
let dayCounter = 1;
|
||||
for (let i = firstDayOfMonth - 1; i >= 0; i--) {
|
||||
const cell = daysCells[i];
|
||||
cell.textContent = lastDateOfPrevMonth - (firstDayOfMonth - 1 - i); // 지난달의 마지막 며칠 표시
|
||||
cell.classList.add('inactive'); // 지난달 날짜에 비활성화 클래스 추가
|
||||
}
|
||||
|
||||
// 이번 달 날짜 채우기
|
||||
for (let i = firstDayOfMonth; i < firstDayOfMonth + lastDateOfMonth; i++) {
|
||||
const cell = daysCells[i];
|
||||
cell.textContent = dayCounter; // 날짜 숫자 추가
|
||||
|
||||
// 오늘 날짜 강조
|
||||
if (currentYear === today.getFullYear() && currentMonth === today.getMonth() && dayCounter === today.getDate()) {
|
||||
cell.classList.add('today');
|
||||
}
|
||||
|
||||
// 일요일은 빨간색, 토요일은 파란색
|
||||
if (i % 7 === 0) {
|
||||
cell.classList.add('Su'); // 일요일
|
||||
} else if (i % 7 === 6) {
|
||||
cell.classList.add('Sa'); // 토요일
|
||||
}
|
||||
|
||||
dayCounter++;
|
||||
}
|
||||
|
||||
// 다음 달 날짜를 마지막 주에 채우기
|
||||
let nextMonthCounter = 1;
|
||||
for (let i = firstDayOfMonth + lastDateOfMonth; i < daysCells.length; i++) {
|
||||
const cell = daysCells[i];
|
||||
cell.textContent = nextMonthCounter; // 다음 달의 첫 며칠 표시
|
||||
cell.classList.add('inactive'); // 다음 달 날짜에 비활성화 클래스 추가
|
||||
nextMonthCounter++;
|
||||
}
|
||||
}
|
||||
|
||||
// 이전 달로 이동
|
||||
prevMonthBtn.addEventListener('click', () => {
|
||||
currentMonth--;
|
||||
if (currentMonth < 0) {
|
||||
currentMonth = 11;
|
||||
currentYear--;
|
||||
}
|
||||
renderCalendar();
|
||||
});
|
||||
|
||||
// 다음 달로 이동
|
||||
nextMonthBtn.addEventListener('click', () => {
|
||||
currentMonth++;
|
||||
if (currentMonth > 11) {
|
||||
currentMonth = 0;
|
||||
currentYear++;
|
||||
}
|
||||
renderCalendar();
|
||||
});
|
||||
|
||||
// 초기 달력 렌더링
|
||||
renderCalendar();
|
||||
});
|
||||
|
||||
</script>
|
||||
<form name="jusangdoForm" method="post">
|
||||
<!-- 그리드 시작 -->
|
||||
<div class="contents-row visit-education-application">
|
||||
<div>
|
||||
<img src="/com/img/visitEducationApplication/visitEducationApplicationSample.svg?v=20240607_1153" alt="개발 예시 이지" vspace="0" hspace="0" border="0">
|
||||
<div class="page-content-wrapper">
|
||||
<div class="contentBg">
|
||||
<div class="CalendarOverlay">
|
||||
<div class="Calendar">
|
||||
<div class="Header">
|
||||
<div class="Month">
|
||||
2024.08
|
||||
</div>
|
||||
<!-- 관리자화면 버튼 -->
|
||||
<div>
|
||||
<button class="possible">전체신청가능</button>
|
||||
</div>
|
||||
<div>
|
||||
<button class="impossibility">전체신청완료</button>
|
||||
</div>
|
||||
|
||||
<div class="Frame9">
|
||||
<div class="Chevron">
|
||||
<div class="Frame10">
|
||||
<img src="/com/img/visitEducationApplication/chevron.svg" alt="Chevron-prev" class="page-prev" id="prevMonth">
|
||||
</div>
|
||||
</div>
|
||||
<div class="Chevron">
|
||||
<div class="Frame10">
|
||||
<img src="/com/img/visitEducationApplication/chevron.svg" alt="Chevron-next" class="page-next" id="nextMonth">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Days">
|
||||
<div class="Row">
|
||||
<div class="Cell">
|
||||
<div class="Week">일</div>
|
||||
</div>
|
||||
<div class="Cell">
|
||||
<div class="Week">월</div>
|
||||
</div>
|
||||
<div class="Cell">
|
||||
<div class="Week">화</div>
|
||||
</div>
|
||||
<div class="Cell">
|
||||
<div class="Week">수</div>
|
||||
</div>
|
||||
<div class="Cell">
|
||||
<div class="Week">목</div>
|
||||
</div>
|
||||
<div class="Cell">
|
||||
<div class="Week">금</div>
|
||||
</div>
|
||||
<div class="Cell">
|
||||
<div class="Week">토</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="Row">
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
</div>
|
||||
<div class="Row">
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
</div>
|
||||
<div class="Row">
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
</div>
|
||||
<div class="Row">
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
</div>
|
||||
<div class="Row">
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
<div class="Cell Day"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="application">
|
||||
<div class="label-input">
|
||||
<label for="Site">현장명</label>
|
||||
<div class="input">
|
||||
<input type="text" id="Site" class="InputBox" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div class="label-input small">
|
||||
<label for="Agency">기관명</label>
|
||||
<div class="input">
|
||||
<input type="text" id="Agency" name="agency" class="InputBox" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="label-input small">
|
||||
<label for="Name" class="text-align-right">신청자</label>
|
||||
<div class="input">
|
||||
<input type="text" id="Name" name="name" class="InputBox" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="label-input">
|
||||
<label for="Tel">전화번호</label>
|
||||
<div class="input">
|
||||
<input type="tel" id="Tel" name="tel" class="InputBox" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="label-input">
|
||||
<label for="Phone">핸드폰</label>
|
||||
<div class="input">
|
||||
<input type="tel" id="Phone" name="tel" class="InputBox" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="label-input">
|
||||
<label for="Email">이메일</label>
|
||||
<div class="input">
|
||||
<input type="email" id="Email" name="useremail" class="InputBox" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<div class="label-input small">
|
||||
<label for="Place">교육장소</label>
|
||||
<div class="input">
|
||||
<input type="text" id="Place" name="place" class="InputBox" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="label-input small">
|
||||
<label for="Persons" class="text-align-right">예상인원</label>
|
||||
<div class="input">
|
||||
<input type="number" id="Persons" name="quantity" min="20" max="100" value="20" class="InputBox" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p style="font-size: 11px; text-align: right; margin: 5px 0;" ;>참석인원이 20명 이상, 교육장소 및 전산장비가 확보되어야 신청할
|
||||
수 있습니다.</p>
|
||||
|
||||
<div class="label-input">
|
||||
<label for="Hope1">1차 희망일</label>
|
||||
<div class="input date-time-wrapper">
|
||||
<input type="date" class="date">
|
||||
<select class="am-pm">
|
||||
<option selected="selected" disabled="disabled">선택</option>
|
||||
<option>오전</option>
|
||||
<option>오후</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="label-input">
|
||||
<label for="Hope1">2차 희망일</label>
|
||||
<div class="input date-time-wrapper">
|
||||
<input type="date" class="date">
|
||||
<select class="am-pm">
|
||||
<option selected="selected" disabled="disabled">선택</option>
|
||||
<option>오전</option>
|
||||
<option>오후</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="label-input">
|
||||
<label for="Hope1">3차 희망일</label>
|
||||
<div class="input date-time-wrapper">
|
||||
<input type="date" class="date">
|
||||
<select class="am-pm">
|
||||
<option selected="selected" disabled="disabled">선택</option>
|
||||
<option>오전</option>
|
||||
<option>오후</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<table id="table-main" class="table table-bordered" summary="주상도 만들기">
|
||||
<caption>제목, 내용, 첨부파일</caption>
|
||||
<colgroup>
|
||||
<col style="width:200px;">
|
||||
<col style="width:100px;">
|
||||
<col style="width:auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
|
|
@ -26,46 +312,9 @@ window.location.href="./";
|
|||
<input id="name" name="name" type="text" class="input" size="50" maxlength="40">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="th-head">기타사항(신청경로)</td>
|
||||
<td class="t-left" colspan="5">
|
||||
<textarea id="data" name="data" class="input" rows="5"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="th-head">1차 희망일 <span class="textR">*</span></td>
|
||||
<td class="t-left date">
|
||||
<input type="date" class="input" size="50" maxlength="40">
|
||||
<select>
|
||||
<option selected="" disabled="">선택</option>
|
||||
<option>오전</option>
|
||||
<option>오후</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="th-head">2차 희망일</td>
|
||||
<td class="t-left date">
|
||||
<input type="date" class="input" size="50" maxlength="40">
|
||||
<select>
|
||||
<option selected="" disabled="">선택</option>
|
||||
<option>오전</option>
|
||||
<option>오후</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="th-head">3차 희망일</td>
|
||||
<td class="t-left date">
|
||||
<input type="date" class="input" size="50" maxlength="40">
|
||||
<select>
|
||||
<option selected="" disabled="">선택</option>
|
||||
<option>오전</option>
|
||||
<option>오후</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 그리드 끝 -->
|
||||
|
||||
<!-- 버튼그룹 시작 -->
|
||||
<div class="table-bottom-control">
|
||||
<div class="form-inline f-right">
|
||||
|
|
@ -76,4 +325,7 @@ window.location.href="./";
|
|||
</div>
|
||||
</div>
|
||||
<!-- 버튼그룹 끝 -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,14 @@
|
|||
|
||||
<!--function 정의 -->
|
||||
<script type="text/javascript">
|
||||
let xhr;
|
||||
if(window.XMLHttpRequest) {
|
||||
xhr = new XMLHttpRequest();
|
||||
} else {
|
||||
// IE5, IE6 일때
|
||||
xhr = new ActiveXObject("Microsoft.XMLHTTP");
|
||||
}
|
||||
|
||||
var gridData = new Array(); //데이터 배열객체
|
||||
var dataList;
|
||||
|
||||
|
|
@ -109,6 +117,48 @@ function unixTimestampToFormattedDateTime(unixTimestamp) {
|
|||
return year+"-" + month +"-" + day + "" + '(' + dayOfWeek + ') ' + " " + pad(date.getHours(),2) + ":" + minutes;
|
||||
}
|
||||
|
||||
function move( projectCode, projectName) {
|
||||
if( confirm("['" + projectName + "']" + " 프로젝트를\n'검수등록대기 목록'으로 옮기시겠습니까?") ) {
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
//Payload 설정
|
||||
var dataIndexValue;
|
||||
|
||||
var jsonData = new Array();
|
||||
for (var i = 0; i < 1 ; i++) { // 여러 개를 한 번에 입력받는다면 입력받는 레코드만큼 loop를 순환하도록 수정되어야 한다.
|
||||
var jsonItem = {};
|
||||
|
||||
if (projectCode) {
|
||||
jsonItem.projectCode = projectCode;
|
||||
}
|
||||
jsonData.push(jsonItem);
|
||||
}
|
||||
|
||||
|
||||
xhr.open('POST', 'list_reg/move-to-manage-wait.do', true);
|
||||
xhr.setRequestHeader('Content-type', 'application/json');
|
||||
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
// 요청 성공 시 처리
|
||||
const obj = JSON.parse(xhr.responseText);
|
||||
if( obj.resultCode === 401 ) {
|
||||
window.location.href="./";
|
||||
}
|
||||
if( obj.resultCode === 100 ) {
|
||||
location.reload(true);
|
||||
}
|
||||
} else if (xhr.readyState === 4) {
|
||||
// 요청 실패 시 처리
|
||||
console.error('요청 실패:', xhr.status);
|
||||
}
|
||||
};
|
||||
|
||||
xhr.send(JSON.stringify(jsonData));
|
||||
}
|
||||
|
||||
function kendoGrid(dataList) {
|
||||
var kictDataSource = new kendo.data.DataSource ({
|
||||
data: dataList,
|
||||
|
|
@ -149,6 +199,14 @@ function kendoGrid(dataList) {
|
|||
return url;
|
||||
}
|
||||
},
|
||||
{ field: "move", width: 160, title: "등록대기 이동",
|
||||
template: function(data){
|
||||
var param = "\""+data.projectCode+"\", \""+data.projectName+"\"";
|
||||
var url = "<button type='button' class='k-button k-button-modifycall move-button' onclick='move("+ param +");'>등록대기 이동</button>";
|
||||
return url;
|
||||
},
|
||||
attributes: { style:"text-align: center" },
|
||||
},
|
||||
],
|
||||
sortable: true,
|
||||
scrollable: true,
|
||||
|
|
|
|||
|
|
@ -3937,17 +3937,244 @@ ul.faq-q > li textarea {
|
|||
/* ====================================== */
|
||||
/* ====================================== */
|
||||
/* ====================================== */
|
||||
.visit-education-application {
|
||||
color: black;
|
||||
font-size: 12px;
|
||||
font-family: Inter;
|
||||
font-weight: 500;
|
||||
word-wrap: break-word;
|
||||
/* 기본 레이아웃 설정 */
|
||||
/* 캘린더 CSS */
|
||||
/* 우측 입력항목 css */
|
||||
}
|
||||
.visit-education-application * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.visit-education-application .possible {
|
||||
width: 100px;
|
||||
height: 32px;
|
||||
padding: 5px;
|
||||
background: #E9F0F5;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
.visit-education-application .impossibility {
|
||||
width: 100px;
|
||||
height: 32px;
|
||||
padding: 5px;
|
||||
background: #EAEAEA;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
.visit-education-application .page-content-wrapper {
|
||||
width: 1280px;
|
||||
max-width: 1280px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.visit-education-application .contentBg {
|
||||
background-color: #e9eff4;
|
||||
width: 1020px;
|
||||
padding: 30px;
|
||||
}
|
||||
.visit-education-application .CalendarOverlay {
|
||||
display: inline-flex;
|
||||
}
|
||||
.visit-education-application .Calendar {
|
||||
padding: 30px;
|
||||
background: white;
|
||||
border-radius: 16px;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
display: flex;
|
||||
}
|
||||
.visit-education-application .Header {
|
||||
align-self: stretch;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
display: inline-flex;
|
||||
}
|
||||
.visit-education-application .Month {
|
||||
color: black;
|
||||
font-size: 24px;
|
||||
font-family: Inter;
|
||||
font-weight: 900;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.visit-education-application .Frame9 {
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
display: flex;
|
||||
}
|
||||
.visit-education-application .Chevron {
|
||||
padding: 8px;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 10px;
|
||||
display: flex;
|
||||
}
|
||||
.visit-education-application .page-prev {
|
||||
margin-top: 3px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.visit-education-application .page-next {
|
||||
margin-top: 3px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
.visit-education-application .Days {
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
}
|
||||
.visit-education-application .Row {
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
}
|
||||
.visit-education-application .Cell {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
}
|
||||
.visit-education-application .Cell:hover {
|
||||
background-color: #e9eff4;
|
||||
}
|
||||
.visit-education-application .Day {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
padding: 10px;
|
||||
border: 1px solid #D5D4DF;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
}
|
||||
.visit-education-application .Week {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
text-align: center;
|
||||
color: black;
|
||||
font-size: 14px;
|
||||
font-family: Inter;
|
||||
font-weight: 600;
|
||||
word-wrap: break-word;
|
||||
border: 1px solid #fff;
|
||||
}
|
||||
.visit-education-application .Day {
|
||||
border: 1px #D5D4DF solid;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
.visit-education-application .inactive {
|
||||
width: 64px;
|
||||
height: 64 px;
|
||||
text-align: center;
|
||||
color: #A8A8A8;
|
||||
font-size: 14px;
|
||||
font-family: Inter;
|
||||
font-weight: 400;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.visit-education-application .Weekdays {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
text-align: center;
|
||||
color: black;
|
||||
font-size: 14px;
|
||||
font-family: Inter;
|
||||
font-weight: 400;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.visit-education-application .Su {
|
||||
color: #FF6666;
|
||||
}
|
||||
.visit-education-application .Sa {
|
||||
color: #3378C1;
|
||||
}
|
||||
.visit-education-application .today {
|
||||
background-color: #45539d;
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
pointer-events: none;
|
||||
}
|
||||
.visit-education-application .application {
|
||||
width: 430px;
|
||||
margin-top: 15px;
|
||||
float: right;
|
||||
}
|
||||
.visit-education-application .application .flex {
|
||||
display: flex;
|
||||
}
|
||||
.visit-education-application .application .label-input {
|
||||
display: flex;
|
||||
}
|
||||
.visit-education-application .application .label-input.small {
|
||||
width: 215px;
|
||||
}
|
||||
.visit-education-application .application .label-input.small > label {
|
||||
width: 35%;
|
||||
}
|
||||
.visit-education-application .application .label-input.small > .input {
|
||||
width: 65%;
|
||||
}
|
||||
.visit-education-application .application .label-input > label {
|
||||
width: 17.4%;
|
||||
text-align: left;
|
||||
padding-left: 5px;
|
||||
padding-top: 4px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.visit-education-application .application .label-input > label.text-align-right {
|
||||
text-align: right;
|
||||
padding-right: 8px;
|
||||
}
|
||||
.visit-education-application .application .label-input > .input {
|
||||
width: 82.6%;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.visit-education-application .application .label-input > .input input {
|
||||
margin: 0px;
|
||||
}
|
||||
.visit-education-application .application .label-input > .input input.InputBox {
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
background: white;
|
||||
border-radius: 6px;
|
||||
border: 1px solid rgba(66, 80, 102, 0.4);
|
||||
}
|
||||
.visit-education-application .application .label-input > .input.date-time-wrapper {
|
||||
display: flex;
|
||||
}
|
||||
.visit-education-application .application .label-input > .input.date-time-wrapper .date {
|
||||
width: 50%;
|
||||
}
|
||||
.visit-education-application .application .label-input > .input.date-time-wrapper .am-pm {
|
||||
width: 50%;
|
||||
}
|
||||
.visit-education-application #table-main tbody tr td.th-head {
|
||||
width: 83px;
|
||||
table-layout: fixed;
|
||||
word-break: break-all;
|
||||
height: auto;
|
||||
}
|
||||
.visit-education-application #table-main tbody tr td.date {
|
||||
display: flex;
|
||||
}
|
||||
.visit-education-application #table-main tbody tr td.date input {
|
||||
width: 62%;
|
||||
.visit-education-application .table-bottom-control {
|
||||
width: 1020px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
/* ====================================== */
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -3629,6 +3629,244 @@ ul.faq-q > li textarea {
|
|||
// 방문교육 신청 시작
|
||||
/* ====================================== */
|
||||
.visit-education-application {
|
||||
|
||||
color: black;
|
||||
font-size: 12px;
|
||||
font-family: Inter;
|
||||
font-weight: 500;
|
||||
word-wrap: break-word;
|
||||
|
||||
|
||||
*{
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.possible{
|
||||
width: 100px;
|
||||
height: 32px;
|
||||
padding: 5px;
|
||||
background: #E9F0F5;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
.impossibility{
|
||||
width: 100px;
|
||||
height: 32px;
|
||||
padding: 5px;
|
||||
background: #EAEAEA;
|
||||
border-radius: 6px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/* 기본 레이아웃 설정 */
|
||||
.page-content-wrapper{
|
||||
width: 1280px;
|
||||
max-width: 1280px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.contentBg{
|
||||
background-color: #e9eff4;
|
||||
width: 1020px;
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
/* 캘린더 CSS */
|
||||
.CalendarOverlay{
|
||||
display: inline-flex;
|
||||
}
|
||||
.Calendar{
|
||||
padding: 30px;
|
||||
background: white;
|
||||
border-radius: 16px;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
display: flex;
|
||||
}
|
||||
.Header{
|
||||
align-self: stretch;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
display: inline-flex;
|
||||
}
|
||||
.Month{
|
||||
color:black;
|
||||
font-size: 24px;
|
||||
font-family: Inter;
|
||||
font-weight: 900;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.Frame9{
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
display: flex;
|
||||
}
|
||||
.Chevron{
|
||||
padding: 8px;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
gap: 10px;
|
||||
display: flex;
|
||||
}
|
||||
.page-prev{
|
||||
margin-top: 3px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.page-next{
|
||||
margin-top: 3px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
.Days{
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
}
|
||||
.Row{
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
}
|
||||
.Cell{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
}
|
||||
.Cell:hover{
|
||||
background-color: #e9eff4;
|
||||
}
|
||||
|
||||
.Day{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
padding: 10px;
|
||||
border: 1px solid #D5D4DF;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
}
|
||||
.Week{
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
text-align: center;
|
||||
color: black;
|
||||
font-size: 14px;
|
||||
font-family: Inter;
|
||||
font-weight: 600;
|
||||
word-wrap: break-word;
|
||||
border:1px solid #fff;
|
||||
}
|
||||
.Day{
|
||||
border: 1px #D5D4DF solid;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
.inactive{
|
||||
width: 64px;
|
||||
height: 64 px;
|
||||
text-align: center;
|
||||
color: #A8A8A8;
|
||||
font-size: 14px;
|
||||
font-family: Inter;
|
||||
font-weight: 400;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.Weekdays{
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
text-align: center;
|
||||
color: black;
|
||||
font-size: 14px;
|
||||
font-family: Inter;
|
||||
font-weight: 400;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.Su{
|
||||
color: #FF6666;
|
||||
}
|
||||
.Sa{
|
||||
color: #3378C1;
|
||||
}
|
||||
.today {
|
||||
background-color: #45539d;
|
||||
font-weight: bold;
|
||||
color:#fff;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 우측 입력항목 css */
|
||||
.application {
|
||||
width: 430px;
|
||||
margin-top: 15px;
|
||||
float: right;
|
||||
.flex {
|
||||
display: flex;
|
||||
}
|
||||
.label-input {
|
||||
&.small {
|
||||
width: 215px;
|
||||
&>label {
|
||||
width: 35%;
|
||||
}
|
||||
&>.input {
|
||||
width: 65%;
|
||||
}
|
||||
}
|
||||
display: flex;
|
||||
&>label {
|
||||
|
||||
width: 17.4%;
|
||||
text-align: left;
|
||||
padding-left: 5px;
|
||||
padding-top: 4px;
|
||||
font-size: 14px;
|
||||
&.text-align-right {
|
||||
text-align: right;
|
||||
padding-right: 8px;
|
||||
}
|
||||
}
|
||||
&>.input {
|
||||
width: 82.6%;
|
||||
margin-bottom: 12px;
|
||||
input {
|
||||
&.InputBox{
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
background: white;
|
||||
border-radius: 6px;
|
||||
border: 1px solid rgba(66, 80, 102, 0.40)
|
||||
}
|
||||
margin: 0px;
|
||||
}
|
||||
&.date-time-wrapper {
|
||||
display: flex;
|
||||
.date {
|
||||
width: 50%;
|
||||
}
|
||||
.am-pm {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#table-main {
|
||||
tbody {
|
||||
tr {
|
||||
|
|
@ -3639,15 +3877,13 @@ ul.faq-q > li textarea {
|
|||
word-break : break-all;
|
||||
height : auto;
|
||||
}
|
||||
&.date {
|
||||
display: flex;
|
||||
input {
|
||||
width: 62%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.table-bottom-control {
|
||||
width: 1020px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
}
|
||||
/* ====================================== */
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,3 @@
|
|||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.29289 8.8929C5.68342 8.50238 6.31658 8.50238 6.70711 8.8929L12 14.1858L17.2929 8.8929C17.6834 8.50238 18.3166 8.50238 18.7071 8.8929C19.0976 9.28342 19.0976 9.91659 18.7071 10.3071L12.7071 16.3071C12.3166 16.6976 11.6834 16.6976 11.2929 16.3071L5.29289 10.3071C4.90237 9.91659 4.90237 9.28342 5.29289 8.8929Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 480 B |
Loading…
Reference in New Issue