건설현장 관리 > 발주기관 계정 표시
parent
7ad7009ef2
commit
f00701dd51
|
|
@ -1,28 +1,17 @@
|
|||
package geoinfo.admins.constructionProjectManagement;
|
||||
|
||||
import java.net.URLEncoder;
|
||||
import java.security.SecureRandom;
|
||||
import java.sql.SQLException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.io.OutputStream;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
|
@ -30,20 +19,15 @@ 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 org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import egovframework.com.cmm.service.EgovProperties;
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import geoinfo.admins.board.RefrncRoomController;
|
||||
import geoinfo.admins.user.service.DrillingInquiryService;
|
||||
import geoinfo.admins.user.service.GeneralUserMngService;
|
||||
import geoinfo.admins.user.service.HomeTrainingService;
|
||||
import geoinfo.com.EgovExcel;
|
||||
import geoinfo.com.GeoinfoCommon;
|
||||
import geoinfo.comm.util.ScriptUtil;
|
||||
import geoinfo.comm.util.strUtil;
|
||||
import geoinfo.session.UserInfo;
|
||||
import geoinfo.util.MyUtil;
|
||||
import whois.whoisSMS;
|
||||
|
||||
|
||||
|
||||
|
|
@ -54,6 +38,10 @@ public class ConstructionProjectManagementController {
|
|||
|
||||
@Resource(name = "homeTrainingService")
|
||||
private HomeTrainingService homeTrainingService;
|
||||
|
||||
|
||||
@Resource(name = "drillingInquiryService")
|
||||
private DrillingInquiryService drillingInquiryService;
|
||||
|
||||
/**
|
||||
* 집합교육 화면
|
||||
|
|
@ -574,7 +562,7 @@ public class ConstructionProjectManagementController {
|
|||
if(searchEnddt == null || searchEnddt.length() != 8 || !searchEnddt.matches("[0-9]+")) {
|
||||
params.put("searchEnddt", "");
|
||||
}
|
||||
|
||||
params.put("cls", "2");
|
||||
/** pageing */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
|
||||
|
|
@ -604,7 +592,62 @@ public class ConstructionProjectManagementController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 건설현장 관리 > 발주기관 계정 화면
|
||||
* 건설현장 관리 > 발주기관 계정 상세조회 화면
|
||||
* @param params
|
||||
* @param model
|
||||
* @param response
|
||||
* @param request
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value = "admins/constructionProjectManagement/construction-user-detail.do")
|
||||
public String goConstructionUserDetail(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletResponse response, HttpServletRequest request) throws Exception {
|
||||
if (!UserInfo.isValidSession(request, response, "admin")) {
|
||||
return "";
|
||||
}
|
||||
model.addAttribute("params", params);
|
||||
return "admins/constructionProjectManagement/construction-user-detail";
|
||||
}
|
||||
|
||||
// 발주기관 프로젝트목록 가져오기
|
||||
@ResponseBody
|
||||
@RequestMapping(value = "/drilling-project-list", method = RequestMethod.GET, produces = "application/json; charset=UTF-8")
|
||||
public String getDrillingProjectList(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap<String,Object> params) throws Exception {
|
||||
if (!UserInfo.isValidSession(request, response, "admin")) {
|
||||
return "";
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
strUtil sUtil = new strUtil();
|
||||
|
||||
String projectName = sUtil.checkNull((String)params.get("projectName"));
|
||||
|
||||
JSONArray jsonListObject = new JSONArray();
|
||||
|
||||
if( projectName == ""){
|
||||
jsonObject.put("resultMessage", "OK");
|
||||
jsonObject.put("resultCode", 200);
|
||||
jsonObject.put("result", new JSONObject().put("list", jsonListObject));
|
||||
} else {
|
||||
JSONObject result = new JSONObject();
|
||||
result.put("list", drillingInquiryService.drillingInquiryAutocompleteList(request, params));
|
||||
|
||||
jsonObject.put("resultMessage", "OK");
|
||||
jsonObject.put("resultCode", 200);
|
||||
jsonObject.put("result", result);
|
||||
}
|
||||
|
||||
response.setContentType("application/json; charset=UTF-8"); // 응답 헤더 설정
|
||||
response.setCharacterEncoding("UTF-8"); // 응답 데이터 인코딩 설정 (중요)
|
||||
|
||||
try (OutputStream os = response.getOutputStream()) { // OutputStream 사용
|
||||
os.write(jsonObject.toString().getBytes("UTF-8")); // UTF-8 인코딩하여 출력
|
||||
}
|
||||
|
||||
return null; // @ResponseBody이므로 반환 값은 필요 없습니다.
|
||||
}
|
||||
|
||||
/**
|
||||
* 건설현장 관리 > 발주기관 로그인 내역 화면
|
||||
* @param params
|
||||
* @param model
|
||||
* @param response
|
||||
|
|
|
|||
|
|
@ -96,6 +96,7 @@ public class GeneralUserMngController {
|
|||
if(searchEnddt == null || searchEnddt.length() != 8 || !searchEnddt.matches("[0-9]+")) {
|
||||
params.put("searchEnddt", "");
|
||||
}
|
||||
params.put("cls", "0");
|
||||
|
||||
/** pageing */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
package geoinfo.admins.user.service;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
|
||||
@Mapper("drillingInputMapper")
|
||||
public interface DrillingInputMapper {
|
||||
|
||||
public void spGetMasterCompanyDistrict(HashMap<String, Object> spGetMasterCompanyDistrictParams) throws SQLException;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package geoinfo.admins.user.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
|
||||
public interface DrillingInputService {
|
||||
HashMap<String, Object> getOrganizationUserGlGmGsGfCodes(String userId) throws Exception;
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package geoinfo.admins.user.service;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
|
||||
@Mapper("drillingInquiryMapper")
|
||||
public interface DrillingInquiryMapper {
|
||||
|
||||
public List<EgovMap> drillingInquiryAutocompleteList(HashMap<String, Object> params) throws SQLException;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package geoinfo.admins.user.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
|
||||
|
||||
public interface DrillingInquiryService {
|
||||
List<EgovMap> drillingInquiryAutocompleteList(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
}
|
||||
|
|
@ -49,4 +49,6 @@ public interface GeneralUserMngMapper {
|
|||
public void updateUserPassInfo(HashMap<String, Object> params) throws Exception;
|
||||
|
||||
public List<?> selectUserLoginHistory(HashMap<String, Object> params) throws Exception;
|
||||
|
||||
String findProjectMasterCompanyNameByUserid(String userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
package geoinfo.admins.user.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import geoinfo.admins.user.service.DrillingInputMapper;
|
||||
import geoinfo.admins.user.service.DrillingInputService;
|
||||
import geoinfo.admins.user.service.DrillingInquiryService;
|
||||
import geoinfo.admins.user.service.GeneralUserMngMapper;
|
||||
import geoinfo.main.login.service.LoginMapper;
|
||||
|
||||
@Service("drillingInputService")
|
||||
public class DrillingInputServiceImpl implements DrillingInputService {
|
||||
|
||||
@Resource(name="drillingInputMapper")
|
||||
private DrillingInputMapper drillingInputMapper;
|
||||
|
||||
@Resource(name = "generalUserMngMapper")
|
||||
private GeneralUserMngMapper generalUserMngMapper;
|
||||
|
||||
@Autowired
|
||||
DrillingInquiryService drillingInquiryService;
|
||||
|
||||
/**
|
||||
* 발주기관 사용자의 Gl Gm Gs Gf Codes 구한다
|
||||
*/
|
||||
@Override
|
||||
public HashMap<String, Object> getOrganizationUserGlGmGsGfCodes(String userId) throws Exception {
|
||||
|
||||
String projectMasterCompanyName = generalUserMngMapper.findProjectMasterCompanyNameByUserid(userId);
|
||||
|
||||
if( projectMasterCompanyName == null ) {
|
||||
throw new Exception( "발주 기관 계정에 설정된 기관이 존재하지 않습니다" );
|
||||
}
|
||||
|
||||
HashMap<String, Object> spGetMasterCompanyDistrictParams = new HashMap<String, Object>();
|
||||
|
||||
//String[] words = projectMasterCompanyName.split(" ");
|
||||
//String lastWord = words[words.length - 1];
|
||||
//spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", lastWord);
|
||||
spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", projectMasterCompanyName);
|
||||
|
||||
|
||||
drillingInputMapper.spGetMasterCompanyDistrict(spGetMasterCompanyDistrictParams);
|
||||
|
||||
return spGetMasterCompanyDistrictParams;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
package geoinfo.admins.user.service.impl;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
import geoinfo.admins.user.service.DrillingInputMapper;
|
||||
import geoinfo.admins.user.service.DrillingInputService;
|
||||
import geoinfo.admins.user.service.DrillingInquiryMapper;
|
||||
import geoinfo.admins.user.service.DrillingInquiryService;
|
||||
import geoinfo.admins.user.service.GeneralUserMngMapper;
|
||||
import geoinfo.util.MyUtil;
|
||||
|
||||
@Service("drillingInquiryService")
|
||||
public class DrillingInquiryServiceImpl implements DrillingInquiryService {
|
||||
|
||||
@Resource(name="drillingInquiryMapper")
|
||||
private DrillingInquiryMapper drillingInquiryMapper;
|
||||
|
||||
@Resource(name="drillingInputMapper")
|
||||
private DrillingInputMapper drillingInputMapper;
|
||||
|
||||
@Resource(name = "generalUserMngMapper")
|
||||
private GeneralUserMngMapper userMapper;
|
||||
|
||||
@Autowired
|
||||
DrillingInputService drillingInputService;
|
||||
|
||||
@Override
|
||||
public List<EgovMap> drillingInquiryAutocompleteList(HttpServletRequest request, HashMap<String, Object> params) throws Exception {
|
||||
HashMap<String, Object> map = new HashMap<String, Object>();
|
||||
String userid = (String)params.get("userid");
|
||||
map.put("userId", userid);
|
||||
|
||||
EgovMap result = userMapper.selectInfo(map);
|
||||
|
||||
int cls = MyUtil.getIntegerFromObject(result.get("cls"));
|
||||
|
||||
if( cls == 2 ) {
|
||||
// 발주기관 계정으로 조회한 경우, 본인의 영역에 해당하는 프로젝트만 조회한다.
|
||||
String masterCompanyCode = MyUtil.getStringFromObject( result.get("masterCompanyCode") );
|
||||
|
||||
HashMap<String, Object> spGetMasterCompanyDistrictParams = drillingInputService.getOrganizationUserGlGmGsGfCodes(userid);
|
||||
|
||||
String glDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") );
|
||||
String gmDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") );
|
||||
String gsDistrict = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") );
|
||||
params.put("glDistrict", glDistrict);
|
||||
params.put("gmDistrict", gmDistrict);
|
||||
params.put("gsDistrict", gsDistrict);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
try {
|
||||
try {
|
||||
List<EgovMap> list = drillingInquiryMapper.drillingInquiryAutocompleteList(params);
|
||||
return list;
|
||||
} catch (SQLException e) {
|
||||
String strTxt =
|
||||
"---------- BUG REPORTING START ----------" + "\n" +
|
||||
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||
"params:[\n" + params.toString() + "\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);
|
||||
throw new Exception( "오류가 발생하였습니다." + "\n" + "SQLException" );
|
||||
}
|
||||
|
||||
|
||||
} catch (org.json.simple.parser.ParseException e) {
|
||||
// TODO Auto-generated catch block
|
||||
throw new Exception( e.getMessage() );
|
||||
}
|
||||
}
|
||||
|
||||
public HashMap<String, Object> getOrganizationUserGlGmGsGfCodes(String userId) throws Exception {
|
||||
|
||||
String projectMasterCompanyName = userMapper.findProjectMasterCompanyNameByUserid(userId);
|
||||
|
||||
if( projectMasterCompanyName == null ) {
|
||||
throw new Exception( "발주 기관 계정에 설정된 기관이 존재하지 않습니다" );
|
||||
}
|
||||
|
||||
HashMap<String, Object> spGetMasterCompanyDistrictParams = new HashMap<String, Object>();
|
||||
|
||||
//String[] words = projectMasterCompanyName.split(" ");
|
||||
//String lastWord = words[words.length - 1];
|
||||
//spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", lastWord);
|
||||
spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", projectMasterCompanyName);
|
||||
|
||||
|
||||
drillingInputMapper.spGetMasterCompanyDistrict(spGetMasterCompanyDistrictParams);
|
||||
|
||||
return spGetMasterCompanyDistrictParams;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -435,17 +435,27 @@ public final class MyUtil {
|
|||
|
||||
|
||||
public static Integer getIntegerFromObject(Object obj) {
|
||||
if (obj instanceof Integer ) {
|
||||
return (Integer) obj;
|
||||
} else if (obj instanceof String ) {
|
||||
return Integer.parseInt((String) obj);
|
||||
} else if (obj instanceof Long) {
|
||||
return ((Long) obj).intValue();
|
||||
} else if (obj instanceof Double) {
|
||||
return ((Long)Math.round((Double)obj)).intValue();
|
||||
}
|
||||
if (obj == null) {
|
||||
return null; // 또는 기본값으로 0을 반환할 수 있음: return 0;
|
||||
}
|
||||
|
||||
return null;
|
||||
if (obj instanceof Integer) {
|
||||
return (Integer) obj;
|
||||
} else if (obj instanceof String) {
|
||||
try {
|
||||
return Integer.parseInt((String) obj);
|
||||
} catch (NumberFormatException e) {
|
||||
// 숫자 포맷 오류 시 처리: 예를 들어 "abc" 같은 문자열이 들어오면
|
||||
return null; // 또는 적절한 기본값 (예: return 0;)
|
||||
}
|
||||
} else if (obj instanceof Long) {
|
||||
return ((Long) obj).intValue();
|
||||
} else if (obj instanceof Double) {
|
||||
return ((Long) Math.round((Double) obj)).intValue();
|
||||
} else if (obj instanceof BigDecimal) {
|
||||
return ((BigDecimal) obj).intValue(); // BigDecimal 처리
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Long getLongFromObject(Object obj) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="geoinfo.drilling.input.service.DrillingInputMapper">
|
||||
|
||||
<select id="spGetMasterCompanyDistrict" parameterType="map" statementType="CALLABLE" >
|
||||
{ CALL SP_GET_MASTER_COMPANY_DISTRICT(
|
||||
#{projectMasterCompanyName},
|
||||
#{v_gl, mode=OUT, jdbcType=VARCHAR},
|
||||
#{v_gm, mode=OUT, jdbcType=VARCHAR},
|
||||
#{v_gs, mode=OUT, jdbcType=VARCHAR},
|
||||
#{v_gf, mode=OUT, jdbcType=VARCHAR}
|
||||
) }
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="geoinfo.drilling.inquiry.service.DrillingInquiryMapper">
|
||||
|
||||
|
||||
<select id="drillingInquiryAutocompleteList" parameterType="map" resultType="egovMap">
|
||||
SELECT
|
||||
tgld.GL_DISTRICT,
|
||||
tgmd.GM_DISTRICT,
|
||||
tgsd.GS_DISTRICT,
|
||||
tcsi.CID,
|
||||
tcsi.CONST_NAME,
|
||||
tcsi.CONST_START_DATE
|
||||
FROM
|
||||
TEMP_CONSTRUCT_SITE_INFO tcsi
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
tbl_gl_district
|
||||
WHERE
|
||||
use_yn = 'Y'
|
||||
ORDER BY
|
||||
gl_code
|
||||
) tgld ON tcsi.MASTER_COMPANY_O_CODE = tgld.GL_CODE
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
tbl_gm_district
|
||||
WHERE
|
||||
use_yn = 'Y'
|
||||
ORDER BY
|
||||
gm_code
|
||||
) tgmd ON tcsi.MASTER_COMPANY_O_CODE = tgmd.GL_CODE AND tcsi.MASTER_COMPANY_TW_CODE = tgmd.GM_CODE
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
tbl_gs_district
|
||||
WHERE
|
||||
use_yn = 'Y'
|
||||
ORDER BY
|
||||
gs_code
|
||||
) tgsd ON
|
||||
tcsi.MASTER_COMPANY_O_CODE = tgsd.GL_CODE AND
|
||||
tcsi.MASTER_COMPANY_TW_CODE = tgsd.GM_CODE AND
|
||||
tcsi.MASTER_COMPANY_TH_CODE = tgsd.GS_CODE
|
||||
WHERE
|
||||
tcsi.PROJECT_CODE IS NULL AND
|
||||
tcsi.CONST_NAME LIKE '%' || #{projectName} || '%'
|
||||
<if test="glDistrict != null">
|
||||
<![CDATA[ AND tgld.GL_CODE = #{glDistrict} ]]>
|
||||
</if>
|
||||
<if test="gmDistrict != null">
|
||||
<![CDATA[ AND tgmd.GM_CODE = #{gmDistrict} ]]>
|
||||
</if>
|
||||
<if test="gsDistrict != null">
|
||||
<![CDATA[ AND tgsd.GS_CODE = #{gsDistrict} ]]>
|
||||
</if>
|
||||
ORDER BY tcsi.CRT_DT DESC
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
,TO_CHAR(LAST_VALUE(ROWNUM) OVER (ORDER BY ROWNUM ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)) AS TOTALROWS
|
||||
,A.CLS
|
||||
FROM WEB_MEMBER_IN A
|
||||
WHERE CLS='0'
|
||||
WHERE CLS = #{cls}
|
||||
]]>
|
||||
<choose>
|
||||
<when test='searchTitle == "7"'>
|
||||
|
|
@ -106,8 +106,9 @@
|
|||
(SELECT NAME
|
||||
FROM WEB_MEMBER_GROUP
|
||||
WHERE CODE = A.UPJONG_CODE) UPJONG,
|
||||
CLS,
|
||||
AGREEYN
|
||||
DECODE(PROJECT_MASTER_COMPANY_CODE,'','0',PROJECT_MASTER_COMPANY_CODE) MASTER_COMPANY_CODE,
|
||||
CLS,
|
||||
AGREEYN
|
||||
FROM WEB_MEMBER_IN A
|
||||
WHERE TRIM(USERID) = #{userId}
|
||||
]]>
|
||||
|
|
@ -454,4 +455,26 @@
|
|||
]]> -->
|
||||
</select>
|
||||
|
||||
<select id="findProjectMasterCompanyNameByUserid" parameterType="String" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
tmc.COM_NAME
|
||||
FROM
|
||||
WEB_MEMBER_IN wmi
|
||||
LEFT JOIN TBL_MASTER_COMPANY tmc ON
|
||||
TRIM(wmi.PROJECT_MASTER_COMPANY_CODE) = tmc.COM_CODE
|
||||
WHERE
|
||||
wmi.USERID=#{userid}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="spGetMasterCompanyDistrict" parameterType="map" statementType="CALLABLE" >
|
||||
{ CALL SP_GET_MASTER_COMPANY_DISTRICT(
|
||||
#{projectMasterCompanyName},
|
||||
#{v_gl, mode=OUT, jdbcType=VARCHAR},
|
||||
#{v_gm, mode=OUT, jdbcType=VARCHAR},
|
||||
#{v_gs, mode=OUT, jdbcType=VARCHAR},
|
||||
#{v_gf, mode=OUT, jdbcType=VARCHAR}
|
||||
) }
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,654 @@
|
|||
<%@ 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="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script src="${pageContext.request.contextPath}/js/jquery/jquery-1.10.2.min.js"></script>
|
||||
<script src="${pageContext.request.contextPath}/js/admins/common.js"></script>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||
<script>
|
||||
console.log("${params}")
|
||||
function backBtn() {
|
||||
window.history.back();
|
||||
// location.href = "${pageContext.request.contextPath}/admins/constructionProjectManagement/construction-user-mgmt-index.do";
|
||||
}
|
||||
|
||||
function onClickBtnSearch() {
|
||||
const pagingEle = document.getElementById('paging');
|
||||
const activeLinks = pagingEle.querySelectorAll('li.is-active a');
|
||||
|
||||
|
||||
const constTag = trim( document.getElementById('const-tag').value );
|
||||
const constName = trim( document.getElementById('const-name').value );
|
||||
const constStartDate = trim( document.getElementById('const-start-date').value );
|
||||
const constEndDate = trim( document.getElementById('const-end-date').value );
|
||||
|
||||
|
||||
const constStateCode = trim( document.getElementById('const-state-code').value );
|
||||
const constCompanyName = trim( document.getElementById('company-dept').value );
|
||||
const constCompanyAdmin = trim( document.getElementById('company-admin').value );
|
||||
const constCompanyTel = trim( document.getElementById('company-tel').value );
|
||||
|
||||
|
||||
const nCount = Number(pagingEle.getAttribute('data-ncount'));
|
||||
const nPage = Number(pagingEle.getAttribute('data-npage'));
|
||||
|
||||
xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', '/drilling/inquiry/list.do?' +
|
||||
'constTag='+ constTag +
|
||||
'&' +'constName='+ constName +
|
||||
'&' +'constStartDate='+ constStartDate +
|
||||
'&' +'constEndDate='+ constEndDate +
|
||||
'&' +'constStateCode='+ constStateCode +
|
||||
'&' +'constCompanyName='+ constCompanyName +
|
||||
'&' +'constCompanyAdmin='+ constCompanyAdmin +
|
||||
'&' +'constCompanyTel='+ constCompanyTel +
|
||||
'&' +'nPage='+ nPage +
|
||||
'&' +'nCount='+ nCount,
|
||||
true);
|
||||
xhr.setRequestHeader('Content-type', 'application/json');
|
||||
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
// 요청 성공 시 처리
|
||||
console.log('%o', xhr.responseText);
|
||||
const obj = JSON.parse(xhr.responseText);
|
||||
var dataListEle = document.getElementById('data-list');
|
||||
dataListEle.innerHTML = '';
|
||||
|
||||
var content = '';
|
||||
|
||||
for( idx in obj.datas ) {
|
||||
const constStartDate = obj.datas[idx].constStartDate == null ? '알 수 없음' : obj.datas[idx].constStartDate;
|
||||
const constEndDate = obj.datas[idx].constEndDate == null ? '알 수 없음' : obj.datas[idx].constEndDate;
|
||||
const masterCompanyDept = obj.datas[idx].masterCompanyDept == null ? '-' : obj.datas[idx].masterCompanyDept;
|
||||
const masterCompanyAdmin = obj.datas[idx].masterCompanyAdmin == null ? '-' : obj.datas[idx].masterCompanyAdmin;
|
||||
const masterCompanyTel = obj.datas[idx].masterCompanyTel == null ? '-' : obj.datas[idx].masterCompanyTel;
|
||||
const coinstCompanyDept = obj.datas[idx].coinstCompanyDept == null ? '-' : obj.datas[idx].coinstCompanyDept;
|
||||
const constCompanyAdmin = obj.datas[idx].constCompanyAdmin == null ? '-' : obj.datas[idx].constCompanyAdmin;
|
||||
const constCompanyTel = obj.datas[idx].constCompanyTel == null ? '-' : obj.datas[idx].constCompanyTel;
|
||||
|
||||
// content += '<tr onclick="location.href=\'modify.do?CID=' + obj.datas[idx].cid + '\';" data-cid="' + obj.datas[idx].cid + '">';
|
||||
content += '<tr onmousedown="handleMouseDown()" onmousemove="handleMouseMove()" onmouseup="handleRowClick(' + obj.datas[idx].cid + ')" data-cid="' + obj.datas[idx].cid + '">';
|
||||
content += '<td>' + (obj.count - idx - (nCount * (nPage - 1))) + '</td>';
|
||||
content += '<td style="text-align: left; text-indent: 10px;">' + obj.datas[idx].constName + '</td>';
|
||||
content += '<td>' + obj.datas[idx].projectStateCodeName + '</td>';
|
||||
content += '<td>' + constStartDate + ' ~ ' + constEndDate + '</td>';
|
||||
content += '<td>' + obj.datas[idx].constStateCodeName + '</td>';
|
||||
content += '<td>' + masterCompanyDept + '</td>';
|
||||
content += '<td>' + masterCompanyAdmin + '</td>';
|
||||
content += '<td>' + masterCompanyTel + '</td>';
|
||||
content += '<td>' + coinstCompanyDept + '</td>';
|
||||
content += '<td>' + constCompanyAdmin + '</td>';
|
||||
content += '<td>' + constCompanyTel + '</td>';
|
||||
content += '</tr>';
|
||||
}
|
||||
dataListEle.innerHTML = content;
|
||||
|
||||
document.getElementById('count').innerHTML = obj.count;
|
||||
|
||||
|
||||
|
||||
let firstIndicator = (Math.floor((nPage - 1) / nCount) * nCount) + 1; // 현재 페이지의 첫번째 페이지인디케이터 번호
|
||||
let lastIndicator = Math.ceil(nPage / nCount) * 10; // 현재 페이지의 마지막 페이지인디케이터 번호
|
||||
let totalIndicator = Math.ceil(obj.count / nCount); // 총 페이지인디케이터 번호
|
||||
let pagingEleHTML = "<ul>"
|
||||
if (!((firstIndicator - 1) < 1)) {
|
||||
pagingEleHTML = pagingEleHTML + '<li data-npage="' + (firstIndicator - 1) + '" class="page-button"><a href="javascript:void()"><img src="/com/img/common/icon/ico_chevron.svg" alt="Chevron-prev" class="page-prev"></a></li>';
|
||||
}
|
||||
|
||||
for( let i = firstIndicator; i<lastIndicator+1; i++ ) {
|
||||
if (i <= totalIndicator) {
|
||||
if( i === nPage ) {
|
||||
pagingEleHTML += `<li data-npage="` + i + `" class="page-button is-active"><a href="javascript:void()">` + i + `</a></li>`;
|
||||
} else {
|
||||
pagingEleHTML += `<li data-npage="` + i + `" class="page-button" ><a href="javascript:void()">` + i + `</a></li>`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (lastIndicator < totalIndicator) {
|
||||
pagingEleHTML += `<li data-npage="` + (lastIndicator+1) +`" class="page-button"><a href="javascript:void()"><img src="/com/img/common/icon/ico_chevron.svg" alt="Chevron-next" class="page-next"></a></li>`;
|
||||
}
|
||||
pagingEleHTML += "</ul>";
|
||||
pagingEle.innerHTML = pagingEleHTML;
|
||||
|
||||
|
||||
// 모든 .page-button 요소 가져오기
|
||||
const pageButtons = document.querySelectorAll('.page-button');
|
||||
|
||||
// 각 버튼에 클릭 이벤트 리스너 추가
|
||||
pageButtons.forEach(button => {
|
||||
button.addEventListener('click', () => {
|
||||
// 클릭된 버튼의 내용 (페이지 번호 등) 가져오기
|
||||
const pageNumber = button.getAttribute('data-npage');
|
||||
|
||||
// 페이지 이동 등 원하는 동작 수행
|
||||
console.log(`페이지 ` + pageNumber + `로 이동합니다.`);
|
||||
pagingEle.setAttribute('data-npage', pageNumber);
|
||||
onClickBtnSearch()
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
} else if (xhr.readyState === 4) {
|
||||
// 요청 실패 시 처리
|
||||
console.error('요청 실패:', xhr.status);
|
||||
}
|
||||
};
|
||||
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
function onClickBtnViewOnMap() {
|
||||
alert('위치가 지정된 시추공이 존재하지 않습니다.');
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
|
||||
document.getElementById('btn-search').addEventListener('click', function() {
|
||||
const pagingEle = document.getElementById('paging');
|
||||
pagingEle.setAttribute('data-npage', 1);
|
||||
// onClickBtnSearch();
|
||||
});
|
||||
|
||||
document.getElementById('btn-view-on-map').addEventListener('click', function() {
|
||||
onClickBtnViewOnMap();
|
||||
});
|
||||
|
||||
//발주기관 프로젝트목록 가져오기
|
||||
getConstructSiteList()
|
||||
|
||||
|
||||
// 초기 테이블 추가 트리거
|
||||
document.getElementById('btn-search').click();
|
||||
|
||||
|
||||
document.getElementById('const-name').addEventListener('keydown', function(event) {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault(); // 폼 제출 방지
|
||||
document.getElementById('btn-search').click();
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById('company-dept').addEventListener('keydown', function(event) {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault(); // 폼 제출 방지
|
||||
document.getElementById('btn-search').click();
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById('company-admin').addEventListener('keydown', function(event) {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault(); // 폼 제출 방지
|
||||
document.getElementById('btn-search').click();
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById('company-tel').addEventListener('keydown', function(event) {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault(); // 폼 제출 방지
|
||||
document.getElementById('btn-search').click();
|
||||
}
|
||||
});
|
||||
|
||||
var projectNameInput = document.getElementById('const-name');
|
||||
var suggestionListDiv = document.getElementById("suggestionList");
|
||||
|
||||
projectNameInput.onkeyup = function() {
|
||||
|
||||
var projectName = String(this.value).trim();
|
||||
|
||||
if (projectName.length > 0) {
|
||||
|
||||
$.ajax({
|
||||
type : "GET",
|
||||
data : {
|
||||
projectName : projectName,
|
||||
isProjectNameChecking : "true"
|
||||
},
|
||||
url : "/drilling-project-list.json",
|
||||
dataType : "json",
|
||||
success : function( json ) {
|
||||
suggestionListDiv.innerHTML = ""; // 이전 목록 비우기
|
||||
suggestionListDiv.style.display = "none";
|
||||
var list = json.result.list;
|
||||
var matchingProjects = [];
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
matchingProjects.push(list[i]);
|
||||
}
|
||||
if (matchingProjects.length > 0) {
|
||||
for (var i = 0; i < matchingProjects.length; i++) {
|
||||
var suggestionItem = document.createElement("div");
|
||||
|
||||
var organHierarchy = " " + matchingProjects[i].glDistrict !== null ? matchingProjects[i].glDistrict : "";
|
||||
if( matchingProjects[i].gmDistrict !== null ) {
|
||||
organHierarchy = organHierarchy + " > " + matchingProjects[i].gmDistrict;
|
||||
}
|
||||
if( matchingProjects[i].gsDistrict !== null ) {
|
||||
organHierarchy = organHierarchy + " > " + matchingProjects[i].gsDistrict;
|
||||
}
|
||||
|
||||
suggestionItem.setAttribute('data-const-name', matchingProjects[i].constName);
|
||||
suggestionItem.setAttribute('data-cid', matchingProjects[i].cid);
|
||||
|
||||
// 검색어를 굵게 표시
|
||||
var constName = matchingProjects[i].constName;
|
||||
var projectName = String(projectNameInput.value).trim();
|
||||
// 정규식으로 검색어를 찾고, 대소문자 구분 없이 처리
|
||||
var regex = new RegExp(projectName, "gi");
|
||||
var boldConstName = constName.replace(regex, '<b>' + projectName + '</b>');
|
||||
|
||||
suggestionItem.innerHTML =
|
||||
'<span>' + boldConstName + '</span><br />\n' +
|
||||
'<span class="organizational-structure" data->' +
|
||||
"발주처: " + organHierarchy
|
||||
'</span>';
|
||||
|
||||
suggestionItem.onclick = function() {
|
||||
projectNameInput.value = this.getAttribute('data-const-name');
|
||||
suggestionListDiv.style.display = "none";
|
||||
};
|
||||
|
||||
suggestionListDiv.appendChild(suggestionItem);
|
||||
}
|
||||
// suggestionListDiv 위치 설정
|
||||
var rect = projectNameInput.getBoundingClientRect();
|
||||
suggestionListDiv.style.position = 'absolute';
|
||||
//suggestionListDiv.style.left = rect.left + 'px';
|
||||
//suggestionListDiv.style.top = (rect.bottom + window.scrollY) + 'px';
|
||||
//suggestionListDiv.style.float = 'left';
|
||||
suggestionListDiv.style.width = rect.width + 'px';
|
||||
suggestionListDiv.style.display = "block";
|
||||
}
|
||||
|
||||
},
|
||||
error: function(xhr, option, error){
|
||||
alert(xhr.status); //오류코드
|
||||
alert(error); //오류내용
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
// 사용자가 추천 목록 외부를 클릭하면 목록 숨기기 (선택적)
|
||||
document.onclick = function(event) {
|
||||
if (event.target !== projectNameInput && event.target !== suggestionListDiv && !suggestionListDiv.contains(event.target)) {
|
||||
suggestionListDiv.style.display = "none";
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
});
|
||||
|
||||
function getConstructSiteList() {
|
||||
|
||||
var projectName = String(this.value).trim();
|
||||
|
||||
if (projectName.length > 0) {
|
||||
|
||||
$.ajax({
|
||||
type : "GET",
|
||||
data : {
|
||||
projectName : projectName,
|
||||
isProjectNameChecking : "true",
|
||||
userid: "${param.userid}"
|
||||
},
|
||||
url : "/drilling-project-list.json",
|
||||
dataType : "json",
|
||||
success : function( json ) {
|
||||
suggestionListDiv.innerHTML = ""; // 이전 목록 비우기
|
||||
suggestionListDiv.style.display = "none";
|
||||
var list = json.result.list;
|
||||
var matchingProjects = [];
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
matchingProjects.push(list[i]);
|
||||
}
|
||||
if (matchingProjects.length > 0) {
|
||||
for (var i = 0; i < matchingProjects.length; i++) {
|
||||
var suggestionItem = document.createElement("div");
|
||||
|
||||
var organHierarchy = " " + matchingProjects[i].glDistrict !== null ? matchingProjects[i].glDistrict : "";
|
||||
if( matchingProjects[i].gmDistrict !== null ) {
|
||||
organHierarchy = organHierarchy + " > " + matchingProjects[i].gmDistrict;
|
||||
}
|
||||
if( matchingProjects[i].gsDistrict !== null ) {
|
||||
organHierarchy = organHierarchy + " > " + matchingProjects[i].gsDistrict;
|
||||
}
|
||||
|
||||
suggestionItem.setAttribute('data-const-name', matchingProjects[i].constName);
|
||||
suggestionItem.setAttribute('data-cid', matchingProjects[i].cid);
|
||||
|
||||
// 검색어를 굵게 표시
|
||||
var constName = matchingProjects[i].constName;
|
||||
var projectName = String(projectNameInput.value).trim();
|
||||
// 정규식으로 검색어를 찾고, 대소문자 구분 없이 처리
|
||||
var regex = new RegExp(projectName, "gi");
|
||||
var boldConstName = constName.replace(regex, '<b>' + projectName + '</b>');
|
||||
|
||||
suggestionItem.innerHTML =
|
||||
'<span>' + boldConstName + '</span><br />\n' +
|
||||
'<span class="organizational-structure" data->' +
|
||||
"발주처: " + organHierarchy
|
||||
'</span>';
|
||||
|
||||
suggestionItem.onclick = function() {
|
||||
projectNameInput.value = this.getAttribute('data-const-name');
|
||||
suggestionListDiv.style.display = "none";
|
||||
};
|
||||
|
||||
suggestionListDiv.appendChild(suggestionItem);
|
||||
}
|
||||
// suggestionListDiv 위치 설정
|
||||
var rect = projectNameInput.getBoundingClientRect();
|
||||
suggestionListDiv.style.position = 'absolute';
|
||||
//suggestionListDiv.style.left = rect.left + 'px';
|
||||
//suggestionListDiv.style.top = (rect.bottom + window.scrollY) + 'px';
|
||||
//suggestionListDiv.style.float = 'left';
|
||||
suggestionListDiv.style.width = rect.width + 'px';
|
||||
suggestionListDiv.style.display = "block";
|
||||
}
|
||||
|
||||
},
|
||||
error: function(xhr, option, error){
|
||||
alert(xhr.status); //오류코드
|
||||
alert(error); //오류내용
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
/**
|
||||
* 발주기관 목록화면 tr 드래그 시 상세화면 이동 방지처리
|
||||
* 드래그 이벤트와 클릭이벤트를 구분하여 감지한다.
|
||||
*/
|
||||
function handleRowClick(CID) {
|
||||
if (!isDragging) {
|
||||
window.location.href = 'modify.do?CID=' + CID;
|
||||
}
|
||||
}
|
||||
function trim(str) {
|
||||
str = String(str);
|
||||
return str.replace(/^\s+|\s+$/g, '');
|
||||
}
|
||||
</script><style>
|
||||
@keyframes shake {
|
||||
0% { transform: translateX(0); }
|
||||
10% { transform: translateX(-5px); }
|
||||
20% { transform: translateX(5px); }
|
||||
30% { transform: translateX(-5px); }
|
||||
40% { transform: translateX(5px); }
|
||||
50% { transform: translateX(-5px); }
|
||||
60% { transform: translateX(5px); }
|
||||
70% { transform: translateX(-5px); }
|
||||
80% { transform: translateX(5px); }
|
||||
90% { transform: translateX(-5px); }
|
||||
100% { transform: translateX(0); }
|
||||
}
|
||||
|
||||
.shake-animation {
|
||||
animation: shake 0.6s;
|
||||
}
|
||||
|
||||
/* The snackbar - position it at the bottom and in the middle of the screen */
|
||||
#snackbar {
|
||||
visibility: hidden; /* Hidden by default. Visible on click */
|
||||
min-width: 250px; /* Set a default minimum width */
|
||||
margin-left: -125px; /* Divide value of min-width by 2 */
|
||||
background-color: #000000; /* Black background color */
|
||||
color: #ff0000; /* White text color */
|
||||
text-align: center; /* Centered text */
|
||||
border-radius: 2px; /* Rounded borders */
|
||||
padding: 16px; /* Padding */
|
||||
position: fixed; /* Sit on top of the screen */
|
||||
z-index: 1; /* Add a z-index if needed */
|
||||
left: 50%; /* Center the snackbar */
|
||||
bottom: 80px; /* 30px from the bottom */
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* Show the snackbar when clicking on a button (class added with JavaScript) */
|
||||
#snackbar.show {
|
||||
visibility: visible; /* Show the snackbar */
|
||||
/* Add animation: Take 0.5 seconds to fade in and out the snackbar.
|
||||
However, delay the fade out process for 2.5 seconds */
|
||||
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
|
||||
animation: fadein 0.5s, fadeout 0.5s 2.5s;
|
||||
}
|
||||
|
||||
/* Animations to fade the snackbar in and out */
|
||||
@-webkit-keyframes fadein {
|
||||
from {bottom: 0; opacity: 0;}
|
||||
to {bottom: 80px; opacity: 1;}
|
||||
}
|
||||
|
||||
@keyframes fadein {
|
||||
from {bottom: 0; opacity: 0;}
|
||||
to {bottom: 80px; opacity: 1;}
|
||||
}
|
||||
|
||||
@-webkit-keyframes fadeout {
|
||||
from {bottom: 80px; opacity: 1;}
|
||||
to {bottom: 0; opacity: 0;}
|
||||
}
|
||||
|
||||
@keyframes fadeout {
|
||||
from {bottom: 80px; opacity: 1;}
|
||||
to {bottom: 0; opacity: 0;}
|
||||
}
|
||||
|
||||
|
||||
#suggestionList {
|
||||
border: 1px solid #ccc;
|
||||
width: 300px; /* 입력창 너비에 맞춰 조절 */
|
||||
position_: absolute;
|
||||
background-color: white;
|
||||
display: none;
|
||||
left: 91px;
|
||||
top: 54px;
|
||||
z-index: 3;
|
||||
}
|
||||
#suggestionList div {
|
||||
padding: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
#suggestionList div:hover {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
#suggestionList div .organizational-structure {
|
||||
color: red;
|
||||
}
|
||||
|
||||
#const-state-code {
|
||||
width: 160px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="searchForm" name="searchForm" method="post">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${params.pageIndex}" />
|
||||
<input type="hidden" id="cls" name="cls" value="2" />
|
||||
<table id="Table_Main" width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td colspan=2><div style="background: #fff; border-radius: 12px; padding: 5px 10px;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.05);"><h3>> 건설현장 조회 ${ params.userid }</h3></div></td>
|
||||
</tr>
|
||||
<tr height=20 colspan=2><td class=btn_group><a href="javascript:void(0)" class="btn btn-sm btn-success" onclick="javascript:backBtn();">뒤로</a></td></tr>
|
||||
<tr height=20 colspan=2><td> </td></tr>
|
||||
<%-- <tr height=25>
|
||||
<!-- START : 엑셀 다운로드 ------------------------------------------------------------------------->
|
||||
<td>
|
||||
<img src="${pageContext.request.contextPath}/images/admins/excel.gif" style="cursor:hand" onClick="javascript:excelDownload()"></td>
|
||||
<!-- END : 엑셀 다운로드 ------------------------------------------------------------------------->
|
||||
<!-- START : 검색 ---------------------------------------------------------------------------------->
|
||||
<td align="right" class="search">
|
||||
<select id="searchTitle" name="searchTitle">
|
||||
<option value="0" selected>전체</option>
|
||||
<option value="2">아이디</option>
|
||||
<option value="1">이름</option>
|
||||
<option value="4">회사명</option>
|
||||
<option value="3">업종</option>
|
||||
<option value="6">사업자등록번호</option>
|
||||
<option value="5">이메일</option>
|
||||
<option value="7">가입기간</option>
|
||||
</select>
|
||||
<input type="text" class="search" id="searchValue" name="searchValue" value="${params.searchValue}" />
|
||||
<input type="image" src="${pageContext.request.contextPath}/images/admins/search.gif" align="absmiddle">
|
||||
</td>
|
||||
<!-- END : 검색 ---------------------------------------------------------------------------------->
|
||||
</tr>--%>
|
||||
<%-- <tr height=12><td colspan=2><img src="${pageContext.request.contextPath}/images/admins/spacer.gif" width="1" height="12"></td></tr>
|
||||
<tr>
|
||||
<td colspan=2>
|
||||
<tbody>
|
||||
<table id="Table_List" width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#D6D6D6">
|
||||
<!-- START : list head ----------------------------------------------------------------------------->
|
||||
<tr height=28 bgcolor="#FBF4E4" class="list_head" align="center">
|
||||
<td width="4%">번호</td>
|
||||
<td width="12%">아이디</td>
|
||||
<td width="8%">이름</td>
|
||||
<td width="13%">소속</td>
|
||||
<td width="13%">로그인일시</td>
|
||||
<td width="8%">로그인여부</td>
|
||||
</tr>
|
||||
<!-- END : list head ----------------------------------------------------------------------------->
|
||||
|
||||
<!-- REPEAT TABLE -->
|
||||
<c:forEach items="${resultList}" var="resultList" varStatus="status">
|
||||
<tr height=28 bgcolor="#FFFFFF" class="list_content" align="center">
|
||||
<td>${resultList.num}</td>
|
||||
<td>${resultList.userid}</td>
|
||||
<td>${resultList.userName}</td>
|
||||
<td>${resultList.companyName}</td>
|
||||
<td><fmt:formatDate value="${resultList.datetime}" pattern="yyyy-MM-dd HH:mm:ss" /></td>
|
||||
<td>${resultList.note}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<!-- END OF REPEAT TABLE -->
|
||||
</table>
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>--%>
|
||||
<tr height=42>
|
||||
<!-- START : 네비게이션 ---------------------------------------------------------------------------->
|
||||
<!-- <td align=center class="navi" colspan='2'> -->
|
||||
<!-- <table width=100% > -->
|
||||
<!-- <tr align="center"> -->
|
||||
<!-- <td> -->
|
||||
<!-- REPEAT LINK -->
|
||||
<%-- <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage"/> --%>
|
||||
<!-- END OF REPEAT LINK -->
|
||||
<!-- </td> -->
|
||||
<!-- </tr> -->
|
||||
<!-- </table> -->
|
||||
<!-- </td> -->
|
||||
<!-- END : 네비게이션 ---------------------------------------------------------------------------->
|
||||
</tr>
|
||||
</table><!-- 페이지 컨테이너 시작 -->
|
||||
<section class="drilling-page-container">
|
||||
<div class="page-content-wrapper drilling inquiry">
|
||||
<!-- 콘텐츠 시작 -->
|
||||
<div class="page-content">
|
||||
<div class="page-content-inner">
|
||||
<!-- 카테고리 끝 -->
|
||||
<!-- 내용 시작 -->
|
||||
<div class="content-wrapper">
|
||||
<div class="content1">
|
||||
<div class="page-top-search" style="display: none">
|
||||
<form class="form-inline">
|
||||
<label class="input-label-display">검색</label>
|
||||
<input type="hidden" id="const-tag" name="const-tag" value="C" >
|
||||
<input type="search" id="const-name" name="const-name" class="input" placeholder="프로젝트명" title="" value="">
|
||||
<div id="suggestionList"></div>
|
||||
<input type="date" id="const-start-date" name="const-start-date" >
|
||||
<span>~</span>
|
||||
<input type="date" id="const-end-date" name="const-end-date" >
|
||||
<input type="hidden" >
|
||||
<select id="const-state-code" name="const-state-code">
|
||||
<option value="" selected="selected">전체</option>
|
||||
<option value="1">미입력</option>
|
||||
<option value="2">입력 중</option>
|
||||
<option value="3">검수 준비 대기중</option>
|
||||
<option value="4">검수 중</option>
|
||||
<option value="6">수정 요청</option>
|
||||
<option value="7">등록 완료</option>
|
||||
</select>
|
||||
</form>
|
||||
<form class="form-inline-row">
|
||||
<input type="text" id="company-dept" name="company-dept" class="input input-1" placeholder="담당부서,건설사명" title="" value="">
|
||||
<input type="text" id="company-admin" name="company-admin" class="input input-2" placeholder="담당자" title="" value="">
|
||||
<input type="text" id="company-tel" name="company-tel" class="input input-3" placeholder="담당 연락처" title="" value="">
|
||||
<button type="button" id="btn-search" class="btn btn-search">
|
||||
<span>조회하기</span>
|
||||
</button>
|
||||
<button type="button" id="btn-view-on-map" class="btn btn-view-on-map">
|
||||
<span>지도보기</span>
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="table-info-group">Total: <span id="count">-</span>건</div>
|
||||
<div class="table-wrap">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 3%;">
|
||||
<col style="width: 27%;">
|
||||
<col style="width: 5%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 13%;">
|
||||
<col style="width: 5%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 5%;">
|
||||
<col style="width: 7%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th rowspan="2">연번</th>
|
||||
<th rowspan="2">사업명</th>
|
||||
<th rowspan="2">입력상태</th>
|
||||
<th colspan="2">사업내용</th>
|
||||
<th colspan="3">발주기관현황</th>
|
||||
<th colspan="3">건설사현황</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사업기간</th>
|
||||
<th>사업단계 <br>(설계 시공 준공 유지관리)</th>
|
||||
<th>담당부서</th>
|
||||
<th>담당자</th>
|
||||
<th>담당연락처</th>
|
||||
<th>건설사명</th>
|
||||
<th>담당자</th>
|
||||
<th>담당연락처</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="data-list">
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div id="paging" class="paging" data-npage="1" data-ncount="10">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 내용 끝 -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- 콘텐츠 끝 -->
|
||||
</div>
|
||||
</section>
|
||||
<!-- 페이지 컨테이너 끝 -->
|
||||
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -98,6 +98,7 @@ $(function(){
|
|||
<body>
|
||||
<form id="searchForm" name="searchForm" method="post">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${params.pageIndex}" />
|
||||
<input type="hidden" id="cls" name="cls" value="2" />
|
||||
<table id="Table_Main" width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td colspan=2><div style="background: #fff; border-radius: 12px; padding: 5px 10px;
|
||||
|
|
|
|||
|
|
@ -75,8 +75,25 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||
removeInputs();
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
//계정의 건설현장 조회 페이지로 이동한다.
|
||||
function moveConstructionUserDetail(id){
|
||||
const form = document.createElement('form');
|
||||
form.method = 'post';
|
||||
form.action = "/admins/constructionProjectManagement/construction-user-detail.do";
|
||||
|
||||
const input = document.createElement('input');
|
||||
input.type = 'hidden';
|
||||
input.name = 'userid';
|
||||
input.value = id;
|
||||
|
||||
form.appendChild(input);
|
||||
document.body.appendChild(form);
|
||||
form.submit();
|
||||
}
|
||||
|
||||
var context = "${pageContext.request.contextPath}";
|
||||
|
||||
function linkPage(index){
|
||||
|
|
@ -147,7 +164,7 @@ $(function(){
|
|||
<c:forEach items="${resultList}" var="resultList" varStatus="status">
|
||||
<tr height=28 bgcolor="#FFFFFF" class="list_content" align="center">
|
||||
<td>${resultList.num}</td>
|
||||
<td>${resultList.userid}</td>
|
||||
<td><a href="javascript:void(0)" onclick="javascript:moveConstructionUserDetail('${resultList.userid}')">${resultList.userid}</a></td>
|
||||
<td>${resultList.userName}</td>
|
||||
<td>${resultList.companyName}</td>
|
||||
<td>${resultList.upjong}</td>
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ $(function(){
|
|||
<body>
|
||||
<form id="searchForm" name="searchForm" method="post">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${params.pageIndex}" />
|
||||
<input type="hidden" id="cls" name="cls" value="0" />
|
||||
<table id="Table_Main" width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td colspan=2><img src="${pageContext.request.contextPath}/images/admins/user/1_toptit_01.gif"></td></tr>
|
||||
<tr height=20 ><td> </td></tr>
|
||||
|
|
|
|||
|
|
@ -77,6 +77,22 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||
});
|
||||
});
|
||||
|
||||
//계정의 건설현장 조회 페이지로 이동한다.
|
||||
function moveConstructionUserDetail(id){
|
||||
const form = document.createElement('form');
|
||||
form.method = 'post';
|
||||
form.action = "/admins/constructionProjectManagement/construction-user-detail.do";
|
||||
|
||||
const input = document.createElement('input');
|
||||
input.type = 'hidden';
|
||||
input.name = 'userid';
|
||||
input.value = id;
|
||||
|
||||
form.appendChild(input);
|
||||
document.body.appendChild(form);
|
||||
form.submit();
|
||||
}
|
||||
|
||||
var context = "${pageContext.request.contextPath}";
|
||||
|
||||
function linkPage(index){
|
||||
|
|
@ -147,7 +163,7 @@ $(function(){
|
|||
<c:forEach items="${resultList}" var="resultList" varStatus="status">
|
||||
<tr height=28 bgcolor="#FFFFFF" class="list_content" align="center">
|
||||
<td>${resultList.num}</td>
|
||||
<td>${resultList.userid}</td>
|
||||
<td><a href="javascript:void(0)" onclick="javascript:moveConstructionUserDetail('${resultList.userid}')">${resultList.userid}</a></td>
|
||||
<td>${resultList.userName}</td>
|
||||
<td>${resultList.companyName}</td>
|
||||
<td>${resultList.upjong}</td>
|
||||
|
|
|
|||
|
|
@ -717,4 +717,621 @@ a:hover {font-family: "굴림체"; font-size: 9pt; color: #FF8000; text-decora
|
|||
font-weight: 100;
|
||||
font-size: 17px;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* ====================================== */
|
||||
// 발주 기관 - 건설현장 등록 시작
|
||||
/* ====================================== */
|
||||
.drilling {
|
||||
.page-content-wrapper {
|
||||
background-color: #f9f9f9;
|
||||
position: relative;
|
||||
display: flex;
|
||||
min-height: 100vh;
|
||||
}
|
||||
.page-sidebar-wrapper {
|
||||
width: 280px;
|
||||
background-color: #eaecec;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
/* 트리메뉴 시작 */
|
||||
.page-sidebar {
|
||||
height: 1000px;
|
||||
overflow-y: auto;
|
||||
padding: 30px 15px;
|
||||
}
|
||||
.treeview-project-name {
|
||||
box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
|
||||
}
|
||||
.project-title {
|
||||
background-color: #2cbfc8;
|
||||
padding: 10px 2px;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
}
|
||||
.project-value {
|
||||
background-color: #fff;
|
||||
padding: 10px 18px;
|
||||
line-height: 24px;
|
||||
text-align: left;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.value-is-active {
|
||||
background-color: #000;
|
||||
color:#fff !important;
|
||||
}
|
||||
.project-value:hover a {
|
||||
color:#3378c1;
|
||||
}
|
||||
|
||||
/* 콘텐츠 시작 */
|
||||
|
||||
.page-content {
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
}
|
||||
.page-content-inner {
|
||||
padding: 30px;
|
||||
}
|
||||
.category-wrapper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
display: table;
|
||||
height: 50px;
|
||||
background-color: #fff;
|
||||
box-shadow: 4px 4px 10px rgba(0,0,0,0.2);
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.category-wrapper {
|
||||
.page-category {
|
||||
position: absolute;
|
||||
top: 13px;
|
||||
left: 26px;
|
||||
right: auto;
|
||||
padding-left: 30px;
|
||||
background: url(/com/img/common/icon/ico_category_home.png) no-repeat 0 3px;
|
||||
|
||||
.category-item {
|
||||
float: left;
|
||||
font-size: 16px;
|
||||
line-height: 24px;
|
||||
padding-left: 30px;
|
||||
background: url(/com/img/common/icon/ico_category_arrow.png) no-repeat 12px 50% ;
|
||||
|
||||
&:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn-help {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
color: #fff;
|
||||
height: 50px;
|
||||
border-radius: 0;
|
||||
width: auto;
|
||||
line-height: 39px;
|
||||
font-weight: bold;
|
||||
padding: 6px 16px 6px 54px;
|
||||
background: #19b3e5 url(/com/img/ground-info/icon/ico_category_btn_help.png) no-repeat 10px 11px;
|
||||
}
|
||||
}
|
||||
.page-title-1depth {
|
||||
font-size: 24px;
|
||||
line-height: 30px;
|
||||
font-weight: normal;
|
||||
text-align: left;
|
||||
color: #000;
|
||||
padding: 0 0 10px 24px;
|
||||
background: url(/com/img/ground-info/bu/bu_title_1depth.png) no-repeat 0 4px;
|
||||
}
|
||||
|
||||
|
||||
/* 내용 시작 ) */
|
||||
.content-wrapper {
|
||||
background-color: #fff;
|
||||
padding: 20px;
|
||||
box-shadow: 4px 4px 10px rgba(0,0,0,0.2);
|
||||
position: relative;
|
||||
|
||||
.bottom-buttons {
|
||||
.btn-plus,.btn-minus {
|
||||
width: 60px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.btn-plus::before {
|
||||
display: inline-block;
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: 20px;
|
||||
background: url(/com/img/common/icon/ico_btn_pm_plus.png) no-repeat 50% 50%;
|
||||
}
|
||||
|
||||
|
||||
.btn-minus::before {
|
||||
display: inline-block;
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: 20px;
|
||||
background: url(/com/img/common/icon/ico_btn_pm_minus.png) no-repeat 50% 50%;
|
||||
}
|
||||
|
||||
.btn-modify {
|
||||
width: 60px;
|
||||
position: relative;
|
||||
background-color: #00c48a;
|
||||
color:#fff;
|
||||
border:1px solid #00c48a;
|
||||
}
|
||||
.btn-delete {
|
||||
width: 90px;
|
||||
position: relative;
|
||||
background: url(../img/common/icon/ico_btn_delete.png) no-repeat 10px center;
|
||||
background-color: #ff214f;
|
||||
color:#fff;
|
||||
border:1px solid #ff214f;
|
||||
padding: 4px 14px 4px 46px;
|
||||
}
|
||||
|
||||
|
||||
.btn-save {
|
||||
padding: 4px 14px 4px 46px;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
height: 34px;
|
||||
font-weight: bold;
|
||||
box-sizing: border-box;
|
||||
background-color: #19b3e5;
|
||||
border:1px solid #19b3e5;
|
||||
color: #fff;
|
||||
|
||||
&::before {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 12px;
|
||||
content: "";
|
||||
background: url(/com/img/common/icon/ico_btn_save.png) no-repeat 50% 50%;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.content1 {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
display: table;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* 건설현장 조회 */
|
||||
.page-top-search {
|
||||
background-color: #efefef;
|
||||
border:1px solid #d5d5d5;
|
||||
border-radius: 5px;
|
||||
padding: 18px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.form-inline {
|
||||
margin-bottom:18px;
|
||||
vertical-align:bottom;
|
||||
}
|
||||
.form-inline-row {
|
||||
margin-left: 66px;
|
||||
position: relative;
|
||||
}
|
||||
.input-label-display {
|
||||
font-size: 16px;
|
||||
padding: 0 10px 0 20px;
|
||||
background: url(/com/img/common/bu/bu_title_4depth.png) no-repeat 0 50%;
|
||||
}
|
||||
.form-inline input,.form-inline-row input {
|
||||
height: 34px;
|
||||
box-sizing: border-box;
|
||||
border: #cccccc;
|
||||
margin: 0 8px;
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
|
||||
width: unset;
|
||||
max-width: unset;
|
||||
}
|
||||
.input::placeholder {
|
||||
text-indent: 10px;
|
||||
}
|
||||
.btn {
|
||||
width: 120px;
|
||||
height: 34px;
|
||||
color: #fff;
|
||||
border-radius: 5px;
|
||||
background-color: #19b3e5;
|
||||
border:1px solid #19b3e5;
|
||||
transition: all 0.3s linear;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
padding: 4px 14px 4px 40px;
|
||||
font-size: 14px;
|
||||
line-height: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.btn-search {
|
||||
margin-left: 6px;
|
||||
}
|
||||
.btn-search span {
|
||||
font-size: 14px;
|
||||
line-height: 28px;
|
||||
}
|
||||
.btn-search::before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: 8px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: url(/com/img/common/icon/ico_btn_search.png) no-repeat 50% 50%;
|
||||
}
|
||||
|
||||
.btn-view-on-map {
|
||||
width: 120px;
|
||||
height: 34px;
|
||||
color: #fff;
|
||||
border-radius: 5px;
|
||||
background-color: #00c48a;
|
||||
border:1px solid #00c48a;
|
||||
transition: all 0.3s linear;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
padding: 4px 14px 4px 40px;
|
||||
font-size: 14px;
|
||||
line-height: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.btn-view-on-map:before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: 8px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: url(/com/img/common/icon/ico_btn_big_map.png) no-repeat 50% 50%;
|
||||
}
|
||||
|
||||
|
||||
input[type="search"]{
|
||||
width: 380px;
|
||||
}
|
||||
.input-1 {
|
||||
width: 312px;
|
||||
}
|
||||
.input-2 {
|
||||
width: 70px;
|
||||
}
|
||||
.input-3 {
|
||||
width: 100px;
|
||||
}
|
||||
.table-info-group {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* 테이블 css */
|
||||
|
||||
.table-wrap {
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
width: 100%;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.table-wrap table {
|
||||
border-collapse: collapse;
|
||||
table-layout: fixed;
|
||||
min-width: 100%;
|
||||
}
|
||||
.table-wrap table th {
|
||||
background: #e5ebf0;
|
||||
text-align: center;
|
||||
color: #333;
|
||||
height: 50px;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
border-top: 2px solid #114672;
|
||||
border-bottom: 2px solid #ddd;
|
||||
border-left: 1px solid #ddd;
|
||||
border-right: 1px solid #ddd;
|
||||
}
|
||||
.table-wrap table tr:hover {
|
||||
color: #333;
|
||||
background-color: #dde8f5 !important;
|
||||
}
|
||||
.table-wrap table td {
|
||||
color: #666;
|
||||
font-size: 12px;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
padding: 10px 15px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.table-wrap table tr:nth-child(even){
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.paging {
|
||||
padding: 20px 0;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
|
||||
ul {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
li {
|
||||
position: relative;
|
||||
margin-left: 10px;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
border:1px solid #dadada;
|
||||
border-radius: 4px;
|
||||
min-width: 30px;
|
||||
height: 26px;
|
||||
padding: 0px 8px;
|
||||
font-size: 12px;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
a {
|
||||
cursor: pointer;
|
||||
color: #19b3e5;
|
||||
border:1px solid #19b3e5;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.is-active a {
|
||||
background: #19b3e5 ;
|
||||
color: #fff !important;
|
||||
}
|
||||
.page-prev {
|
||||
position: absolute;
|
||||
top:-1px;
|
||||
left: 2px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.page-next {
|
||||
position: absolute;
|
||||
top:-1px;
|
||||
left: 2px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
.paging ul li:first-child:hover .page-prev,
|
||||
.paging ul li:last-child:hover .page-next {
|
||||
filter: invert(45%) sepia(63%) saturate(1946%) hue-rotate(162deg)
|
||||
brightness(95%) contrast(101%);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* 건설현장 입력 */
|
||||
.page-top-check {
|
||||
background-color: #efefef;
|
||||
border:1px solid #d5d5d5;
|
||||
border-radius: 5px;
|
||||
padding: 18px;
|
||||
margin-bottom: 20px;
|
||||
height: auto;
|
||||
}
|
||||
.check-title {
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
margin-bottom: 10px;
|
||||
.last-team-name-span {
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
line-height: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
.check-category {
|
||||
overflow: hidden;
|
||||
li {
|
||||
float: left;
|
||||
margin-right: 8px;
|
||||
font-size: 14px;
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
&::after {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
&.has-arrow {
|
||||
&::after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
width: 24px;
|
||||
height: 16px;
|
||||
background:url(/com/img/common/icon/ico_category_arrow.png) no-repeat 14px 4px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.btn-left {
|
||||
position: relative;
|
||||
padding: 4px 14px;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
height: 34px;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.btn-green {
|
||||
padding: 4px 14px;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
height: 34px;
|
||||
background-color: #00c48a;
|
||||
color:#fff;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
border:1px solid #00c48a;
|
||||
float:right;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.btn-excel-download {
|
||||
padding: 4px 14px 4px 46px;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
height: 34px;
|
||||
font-weight: bold;
|
||||
box-sizing: border-box;
|
||||
background-color: #19b3e5;
|
||||
border:1px solid #19b3e5;
|
||||
color: #fff;
|
||||
margin-right: 10px;
|
||||
&::before {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 12px;
|
||||
content: "";
|
||||
background: url(/com/img/common/icon/ico_parallax_btn_06_dark.png) no-repeat 50% 50%;
|
||||
background-size: contain;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
}
|
||||
}
|
||||
.table-scrollable {
|
||||
border-top: 2px solid #114672;
|
||||
border-bottom: 1px solid #114672;
|
||||
margin-bottom: 20px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.table-bordered {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
border-spacing: 0;
|
||||
|
||||
tbody {
|
||||
tr {
|
||||
th {
|
||||
background-color: #ebebeb;
|
||||
padding: 10px;
|
||||
font-size: 14px;
|
||||
border:1px solid #d5d5d5;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
}
|
||||
td {
|
||||
border: 1px solid #ebebeb;
|
||||
padding: 6px 6px;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
font-size: 14px;
|
||||
white-space: normal;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.input-box {
|
||||
border: 1px solid #d1d1d1;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 0;
|
||||
text-indent: 10px;
|
||||
font-size: 14px;
|
||||
line-height: 14px;
|
||||
max-width: 100%;
|
||||
resize: none;
|
||||
margin: 0 ;
|
||||
}
|
||||
.input-box.error {
|
||||
border: 2px solid red;
|
||||
}
|
||||
.check-box {
|
||||
padding-left: 0px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.table-bordered tbody tr td .date,.selectbox {
|
||||
border: 1px solid #d1d1d1;
|
||||
height: 34px;
|
||||
box-sizing: border-box;
|
||||
margin-right: 8px;
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
|
||||
width: unset;
|
||||
max-width: unset;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.date-2 {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.selectbox {
|
||||
width: 100%;
|
||||
margin-right: 0;
|
||||
}
|
||||
.information1 {
|
||||
width: 300px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.information2 {
|
||||
width: 200px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.information3 {
|
||||
width: 430px;
|
||||
}
|
||||
|
||||
.unselected-constructor-label {
|
||||
.unselected-constructor-label-text {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
/* ====================================== */
|
||||
// 발주 기관 - 건설현장 등록 끝
|
||||
/* ====================================== */
|
||||
|
|
@ -884,4 +884,553 @@ a:hover {
|
|||
font-size: 17px;
|
||||
}
|
||||
|
||||
/* ====================================== */
|
||||
/* ====================================== */
|
||||
.drilling {
|
||||
/* 트리메뉴 시작 */
|
||||
/* 콘텐츠 시작 */
|
||||
/* 내용 시작 ) */
|
||||
/* 건설현장 조회 */
|
||||
/* 테이블 css */
|
||||
/* 건설현장 입력 */
|
||||
}
|
||||
.drilling .page-content-wrapper {
|
||||
background-color: #f9f9f9;
|
||||
position: relative;
|
||||
display: flex;
|
||||
min-height: 100vh;
|
||||
}
|
||||
.drilling .page-sidebar-wrapper {
|
||||
width: 280px;
|
||||
background-color: #eaecec;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.drilling .page-sidebar {
|
||||
height: 1000px;
|
||||
overflow-y: auto;
|
||||
padding: 30px 15px;
|
||||
}
|
||||
.drilling .treeview-project-name {
|
||||
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.drilling .project-title {
|
||||
background-color: #2cbfc8;
|
||||
padding: 10px 2px;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
}
|
||||
.drilling .project-value {
|
||||
background-color: #fff;
|
||||
padding: 10px 18px;
|
||||
line-height: 24px;
|
||||
text-align: left;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.drilling .value-is-active {
|
||||
background-color: #000;
|
||||
color: #fff !important;
|
||||
}
|
||||
.drilling .project-value:hover a {
|
||||
color: #3378c1;
|
||||
}
|
||||
.drilling .page-content {
|
||||
width: 100%;
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
}
|
||||
.drilling .page-content-inner {
|
||||
padding: 30px;
|
||||
}
|
||||
.drilling .category-wrapper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
display: table;
|
||||
height: 50px;
|
||||
background-color: #fff;
|
||||
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.drilling .category-wrapper .page-category {
|
||||
position: absolute;
|
||||
top: 13px;
|
||||
left: 26px;
|
||||
right: auto;
|
||||
padding-left: 30px;
|
||||
background: url(/com/img/common/icon/ico_category_home.png) no-repeat 0 3px;
|
||||
}
|
||||
.drilling .category-wrapper .page-category .category-item {
|
||||
float: left;
|
||||
font-size: 16px;
|
||||
line-height: 24px;
|
||||
padding-left: 30px;
|
||||
background: url(/com/img/common/icon/ico_category_arrow.png) no-repeat 12px 50%;
|
||||
}
|
||||
.drilling .category-wrapper .page-category .category-item:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
.drilling .category-wrapper .btn-help {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
color: #fff;
|
||||
height: 50px;
|
||||
border-radius: 0;
|
||||
width: auto;
|
||||
line-height: 39px;
|
||||
font-weight: bold;
|
||||
padding: 6px 16px 6px 54px;
|
||||
background: #19b3e5 url(/com/img/ground-info/icon/ico_category_btn_help.png) no-repeat 10px 11px;
|
||||
}
|
||||
.drilling .page-title-1depth {
|
||||
font-size: 24px;
|
||||
line-height: 30px;
|
||||
font-weight: normal;
|
||||
text-align: left;
|
||||
color: #000;
|
||||
padding: 0 0 10px 24px;
|
||||
background: url(/com/img/ground-info/bu/bu_title_1depth.png) no-repeat 0 4px;
|
||||
}
|
||||
.drilling .content-wrapper {
|
||||
background-color: #fff;
|
||||
padding: 20px;
|
||||
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.2);
|
||||
position: relative;
|
||||
}
|
||||
.drilling .content-wrapper .bottom-buttons .btn-plus, .drilling .content-wrapper .bottom-buttons .btn-minus {
|
||||
width: 60px;
|
||||
position: relative;
|
||||
}
|
||||
.drilling .content-wrapper .bottom-buttons .btn-plus::before {
|
||||
display: inline-block;
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: 20px;
|
||||
background: url(/com/img/common/icon/ico_btn_pm_plus.png) no-repeat 50% 50%;
|
||||
}
|
||||
.drilling .content-wrapper .bottom-buttons .btn-minus::before {
|
||||
display: inline-block;
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: 20px;
|
||||
background: url(/com/img/common/icon/ico_btn_pm_minus.png) no-repeat 50% 50%;
|
||||
}
|
||||
.drilling .content-wrapper .bottom-buttons .btn-modify {
|
||||
width: 60px;
|
||||
position: relative;
|
||||
background-color: #00c48a;
|
||||
color: #fff;
|
||||
border: 1px solid #00c48a;
|
||||
}
|
||||
.drilling .content-wrapper .bottom-buttons .btn-delete {
|
||||
width: 90px;
|
||||
position: relative;
|
||||
background: url(../img/common/icon/ico_btn_delete.png) no-repeat 10px center;
|
||||
background-color: #ff214f;
|
||||
color: #fff;
|
||||
border: 1px solid #ff214f;
|
||||
padding: 4px 14px 4px 46px;
|
||||
}
|
||||
.drilling .content-wrapper .bottom-buttons .btn-save {
|
||||
padding: 4px 14px 4px 46px;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
height: 34px;
|
||||
font-weight: bold;
|
||||
box-sizing: border-box;
|
||||
background-color: #19b3e5;
|
||||
border: 1px solid #19b3e5;
|
||||
color: #fff;
|
||||
}
|
||||
.drilling .content-wrapper .bottom-buttons .btn-save::before {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 12px;
|
||||
content: "";
|
||||
background: url(/com/img/common/icon/ico_btn_save.png) no-repeat 50% 50%;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
}
|
||||
.drilling .content1 {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
display: table;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.drilling .page-top-search {
|
||||
background-color: #efefef;
|
||||
border: 1px solid #d5d5d5;
|
||||
border-radius: 5px;
|
||||
padding: 18px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.drilling .form-inline {
|
||||
margin-bottom: 18px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
.drilling .form-inline-row {
|
||||
margin-left: 66px;
|
||||
position: relative;
|
||||
}
|
||||
.drilling .input-label-display {
|
||||
font-size: 16px;
|
||||
padding: 0 10px 0 20px;
|
||||
background: url(/com/img/common/bu/bu_title_4depth.png) no-repeat 0 50%;
|
||||
}
|
||||
.drilling .form-inline input, .drilling .form-inline-row input {
|
||||
height: 34px;
|
||||
box-sizing: border-box;
|
||||
border: #cccccc;
|
||||
margin: 0 8px;
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
||||
width: unset;
|
||||
max-width: unset;
|
||||
}
|
||||
.drilling .input::placeholder {
|
||||
text-indent: 10px;
|
||||
}
|
||||
.drilling .btn {
|
||||
width: 120px;
|
||||
height: 34px;
|
||||
color: #fff;
|
||||
border-radius: 5px;
|
||||
background-color: #19b3e5;
|
||||
border: 1px solid #19b3e5;
|
||||
transition: all 0.3s linear;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
padding: 4px 14px 4px 40px;
|
||||
font-size: 14px;
|
||||
line-height: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.drilling .btn-search {
|
||||
margin-left: 6px;
|
||||
}
|
||||
.drilling .btn-search span {
|
||||
font-size: 14px;
|
||||
line-height: 28px;
|
||||
}
|
||||
.drilling .btn-search::before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: 8px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: url(/com/img/common/icon/ico_btn_search.png) no-repeat 50% 50%;
|
||||
}
|
||||
.drilling .btn-view-on-map {
|
||||
width: 120px;
|
||||
height: 34px;
|
||||
color: #fff;
|
||||
border-radius: 5px;
|
||||
background-color: #00c48a;
|
||||
border: 1px solid #00c48a;
|
||||
transition: all 0.3s linear;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
padding: 4px 14px 4px 40px;
|
||||
font-size: 14px;
|
||||
line-height: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.drilling .btn-view-on-map:before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
left: 8px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background: url(/com/img/common/icon/ico_btn_big_map.png) no-repeat 50% 50%;
|
||||
}
|
||||
.drilling input[type=search] {
|
||||
width: 380px;
|
||||
}
|
||||
.drilling .input-1 {
|
||||
width: 312px;
|
||||
}
|
||||
.drilling .input-2 {
|
||||
width: 70px;
|
||||
}
|
||||
.drilling .input-3 {
|
||||
width: 100px;
|
||||
}
|
||||
.drilling .table-info-group {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.drilling .table-wrap {
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
width: 100%;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.drilling .table-wrap table {
|
||||
border-collapse: collapse;
|
||||
table-layout: fixed;
|
||||
min-width: 100%;
|
||||
}
|
||||
.drilling .table-wrap table th {
|
||||
background: #e5ebf0;
|
||||
text-align: center;
|
||||
color: #333;
|
||||
height: 50px;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
border-top: 2px solid #114672;
|
||||
border-bottom: 2px solid #ddd;
|
||||
border-left: 1px solid #ddd;
|
||||
border-right: 1px solid #ddd;
|
||||
}
|
||||
.drilling .table-wrap table tr:hover {
|
||||
color: #333;
|
||||
background-color: #dde8f5 !important;
|
||||
}
|
||||
.drilling .table-wrap table td {
|
||||
color: #666;
|
||||
font-size: 12px;
|
||||
border: 1px solid #ddd;
|
||||
text-align: center;
|
||||
padding: 10px 15px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.drilling .table-wrap table tr:nth-child(even) {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.drilling .paging {
|
||||
padding: 20px 0;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.drilling .paging ul {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
.drilling .paging ul li {
|
||||
position: relative;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.drilling .paging ul li a {
|
||||
display: block;
|
||||
border: 1px solid #dadada;
|
||||
border-radius: 4px;
|
||||
min-width: 30px;
|
||||
height: 26px;
|
||||
padding: 0px 8px;
|
||||
font-size: 12px;
|
||||
line-height: 24px;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
}
|
||||
.drilling .paging ul li:hover a {
|
||||
cursor: pointer;
|
||||
color: #19b3e5;
|
||||
border: 1px solid #19b3e5;
|
||||
}
|
||||
.drilling .is-active a {
|
||||
background: #19b3e5;
|
||||
color: #fff !important;
|
||||
}
|
||||
.drilling .page-prev {
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
left: 2px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.drilling .page-next {
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
left: 2px;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
.drilling .paging ul li:first-child:hover .page-prev,
|
||||
.drilling .paging ul li:last-child:hover .page-next {
|
||||
filter: invert(45%) sepia(63%) saturate(1946%) hue-rotate(162deg) brightness(95%) contrast(101%);
|
||||
}
|
||||
.drilling .page-top-check {
|
||||
background-color: #efefef;
|
||||
border: 1px solid #d5d5d5;
|
||||
border-radius: 5px;
|
||||
padding: 18px;
|
||||
margin-bottom: 20px;
|
||||
height: auto;
|
||||
}
|
||||
.drilling .check-title {
|
||||
font-size: 14px;
|
||||
line-height: 18px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.drilling .check-title .last-team-name-span {
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
line-height: 32px;
|
||||
}
|
||||
.drilling .check-category {
|
||||
overflow: hidden;
|
||||
}
|
||||
.drilling .check-category li {
|
||||
float: left;
|
||||
margin-right: 8px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.drilling .check-category li:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
.drilling .check-category li:last-child::after {
|
||||
content: none;
|
||||
}
|
||||
.drilling .check-category li.has-arrow::after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
width: 24px;
|
||||
height: 16px;
|
||||
background: url(/com/img/common/icon/ico_category_arrow.png) no-repeat 14px 4px;
|
||||
}
|
||||
.drilling .btn-left {
|
||||
position: relative;
|
||||
padding: 4px 14px;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
height: 34px;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.drilling .btn-green {
|
||||
padding: 4px 14px;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
height: 34px;
|
||||
background-color: #00c48a;
|
||||
color: #fff;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #00c48a;
|
||||
float: right;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.drilling .btn-excel-download {
|
||||
padding: 4px 14px 4px 46px;
|
||||
position: relative;
|
||||
font-size: 14px;
|
||||
height: 34px;
|
||||
font-weight: bold;
|
||||
box-sizing: border-box;
|
||||
background-color: #19b3e5;
|
||||
border: 1px solid #19b3e5;
|
||||
color: #fff;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.drilling .btn-excel-download::before {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 12px;
|
||||
content: "";
|
||||
background: url(/com/img/common/icon/ico_parallax_btn_06_dark.png) no-repeat 50% 50%;
|
||||
background-size: contain;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
}
|
||||
.drilling .table-scrollable {
|
||||
border-top: 2px solid #114672;
|
||||
border-bottom: 1px solid #114672;
|
||||
margin-bottom: 20px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.drilling .table-bordered {
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
border-spacing: 0;
|
||||
}
|
||||
.drilling .table-bordered tbody tr th {
|
||||
background-color: #ebebeb;
|
||||
padding: 10px;
|
||||
font-size: 14px;
|
||||
border: 1px solid #d5d5d5;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
}
|
||||
.drilling .table-bordered tbody tr td {
|
||||
border: 1px solid #ebebeb;
|
||||
padding: 6px 6px;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
font-size: 14px;
|
||||
white-space: normal;
|
||||
}
|
||||
.drilling .input-box {
|
||||
border: 1px solid #d1d1d1;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
padding: 6px 0;
|
||||
text-indent: 10px;
|
||||
font-size: 14px;
|
||||
line-height: 14px;
|
||||
max-width: 100%;
|
||||
resize: none;
|
||||
margin: 0;
|
||||
}
|
||||
.drilling .input-box.error {
|
||||
border: 2px solid red;
|
||||
}
|
||||
.drilling .check-box {
|
||||
padding-left: 0px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.drilling .table-bordered tbody tr td .date, .drilling .selectbox {
|
||||
border: 1px solid #d1d1d1;
|
||||
height: 34px;
|
||||
box-sizing: border-box;
|
||||
margin-right: 8px;
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
||||
width: unset;
|
||||
max-width: unset;
|
||||
margin: 0px;
|
||||
}
|
||||
.drilling .date-2 {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.drilling .selectbox {
|
||||
width: 100%;
|
||||
margin-right: 0;
|
||||
}
|
||||
.drilling .information1 {
|
||||
width: 300px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.drilling .information2 {
|
||||
width: 200px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
.drilling .information3 {
|
||||
width: 430px;
|
||||
}
|
||||
.drilling .unselected-constructor-label .unselected-constructor-label-text {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* ====================================== */
|
||||
/* ====================================== */
|
||||
|
||||
/*# sourceMappingURL=style.css.map */
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue