충돌 위치
commit
713cc1b1b8
|
|
@ -86,3 +86,6 @@ replay_pid*
|
|||
.classpath
|
||||
/src/main/resources/egovframework/egovProps/globals.properties
|
||||
/src/main/webapp/WEB-INF/clipreport4/DataConnection.properties
|
||||
|
||||
apply.bat
|
||||
list.txt
|
||||
|
|
@ -2,8 +2,8 @@
|
|||
setlocal enabledelayedexpansion
|
||||
|
||||
set source_prefix=src\main\webapp\
|
||||
set target_prefix=C:\Users\DBNT-0288\Desktop\app_geoinfo\app\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_eGov_work\
|
||||
set target_directory=C:\Users\DBNT-0288\Desktop\app_geoinfo\app\geoinfo_eGov_work\
|
||||
set target_prefix=C:\Users\dbnt\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\geoinfo_eGov_work\
|
||||
set target_directory=C:\Users\dbnt\git\dbnt\geoinfo.or.kr\geoinfo_eGov_work\
|
||||
|
||||
set source_file=
|
||||
set target_file=
|
||||
|
|
|
|||
8
list.txt
8
list.txt
|
|
@ -1,6 +1,12 @@
|
|||
src\main\resources\egovframework\egovProps\globals.properties
|
||||
src\main\webapp\com\css\common.v2.0.css
|
||||
src\main\webapp\com\css\common.v2.0.css.map
|
||||
|
||||
src\main\webapp\js\map\main\section.js
|
||||
src\main\webapp\web\rex\holeForMap.reb
|
||||
src\main\webapp\WEB-INF\clipreport4\DataConnection.properties
|
||||
src\main\webapp\WEB-INF\views\drilling\input\drilling_input.jsp
|
||||
src\main\webapp\WEB-INF\views\drilling\inquiry\drilling_inquiry.jsp
|
||||
src\main\resources\egovframework\sqlmap\mapper\drilling\input\DrillingInputMapper.xml
|
||||
src\main\webapp\WEB-INF\views\drilling\home\drilling_index.jsp
|
||||
src\main\webapp\com\img\drilling\logos\06.svg
|
||||
src\main\webapp\com\img\drilling\logos\07.svg
|
||||
|
|
|
|||
|
|
@ -67,12 +67,12 @@ public class JusangdoController {
|
|||
EgovMap result = jusangdoService.selectTblHeader(params);
|
||||
if (result != null) {
|
||||
String projectCode = (String)result.get("projectCode");
|
||||
OOFFile file = oof.addFile("crf.root", realPath + File.separator + "web" + File.separator + "rex" + File.separator + "holeForMap.reb");
|
||||
OOFFile file = oof.addFile("crf.root", realPath + "web" + File.separator + "rex" + File.separator + "holeForMap.reb");
|
||||
file.addField("p_code", projectCode);
|
||||
file.addField("h_code", holeCodeSplit[i]);
|
||||
file.addField("server_ip", imagePath);
|
||||
|
||||
System.out.println("생성위치로그확인하기."+realPath + File.separator + "web" + File.separator + "rex" + File.separator + "holeForMap.reb");
|
||||
System.out.println("생성위치로그확인하기."+realPath + "web" + File.separator + "rex" + File.separator + "holeForMap.reb");
|
||||
System.out.println("p_code----------------->"+projectCode);
|
||||
System.out.println("h_code----------------->"+holeCodeSplit[i]);
|
||||
System.out.println("server_ip----------------->"+imagePath);
|
||||
|
|
|
|||
|
|
@ -124,15 +124,24 @@ public class DrillingHomeController {
|
|||
EgovMap mbr = drillingInquiryService.getTblMasterCompanyMbrByComCode(request, params, String.valueOf(request.getSession().getAttribute("USERID")));
|
||||
model.addAttribute("mbr", mbr);
|
||||
|
||||
if( mbr != null ) {
|
||||
double nOffsetKm = 2.0f; // 2Km 밖 까지 허용한다.
|
||||
if( mbr != null && mbr.get("minX") != null && mbr.get("minY") != null && mbr.get("maxX") != null && mbr.get("maxY") != null ) {
|
||||
} else {
|
||||
HashMap<String, Object> spGetProjectMbrParams = drillingInquiryService.spGetProjectMbr( request, params, String.valueOf(request.getSession().getAttribute("USERID")) );
|
||||
mbr = new EgovMap();
|
||||
mbr.put("minX", MyUtil.getDoubleFromObject( spGetProjectMbrParams.get("v_min_x") ) - nOffsetKm*1000);
|
||||
mbr.put("minY", MyUtil.getDoubleFromObject( spGetProjectMbrParams.get("v_min_y") ) - nOffsetKm*1000);
|
||||
mbr.put("maxX", MyUtil.getDoubleFromObject( spGetProjectMbrParams.get("v_max_x") ) + nOffsetKm*1000);
|
||||
mbr.put("maxY", MyUtil.getDoubleFromObject( spGetProjectMbrParams.get("v_max_y") ) + nOffsetKm*1000);
|
||||
}
|
||||
|
||||
if( mbr != null && mbr.get("minX") != null && mbr.get("minY") != null && mbr.get("maxX") != null && mbr.get("maxY") != null ) {
|
||||
params.put("MIN_X", MyUtil.getDoubleFromObject( mbr.get("minX") ) - nOffsetKm*1000);
|
||||
params.put("MIN_Y", MyUtil.getDoubleFromObject( mbr.get("minY") ) - nOffsetKm*1000);
|
||||
params.put("MAX_X", MyUtil.getDoubleFromObject( mbr.get("maxX") ) + nOffsetKm*1000);
|
||||
params.put("MAX_Y", MyUtil.getDoubleFromObject( mbr.get("maxY") ) + nOffsetKm*1000);
|
||||
}
|
||||
|
||||
model.put("data", drillingHomeService.drillingMapSearchHoleWithMbr(params));
|
||||
}
|
||||
|
||||
return "jsonView";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import java.io.OutputStream;
|
|||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.sql.SQLException;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -54,6 +55,11 @@ import ictway.comm.util.strUtil;
|
|||
import ictway.comm.web.WebUtil;
|
||||
import ictway.whois.whoisSMS;
|
||||
|
||||
/**
|
||||
* 건설현장 입력 및 수정
|
||||
* @author thkim
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
public class DrillingInputController {
|
||||
|
||||
|
|
@ -100,12 +106,9 @@ public class DrillingInputController {
|
|||
JSONObject jsonObject = (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);
|
||||
}
|
||||
HashMap<String, Object> params = MyUtil.JSONObjectToHashMap( jsonObject );
|
||||
|
||||
|
||||
try {
|
||||
HashMap<String, Object> hashMap = drillingInputService.drillingInputAdd(request, params);
|
||||
int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("v_RetCode"));
|
||||
|
|
@ -238,4 +241,112 @@ public class DrillingInputController {
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/drilling/modify.do")
|
||||
public String drillingModify(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||
|
||||
if(request.getSession().getAttribute("USERNAME") == null){
|
||||
return "redirect:/index.do";
|
||||
}
|
||||
|
||||
model.put("params", params);
|
||||
return "/drilling/input/drilling_input";
|
||||
}
|
||||
|
||||
/**
|
||||
* 기 입력된 하나의 건설현장을 수정하는 method.
|
||||
* @param request
|
||||
* @param strJSON
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/drilling/input/modify.do", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public JSONObject drillingInputModify(
|
||||
HttpServletRequest request,
|
||||
@RequestBody String strJSON,
|
||||
HttpServletResponse response) {
|
||||
|
||||
JSONObject jSONOResponse = new JSONObject();
|
||||
|
||||
System.out.println(
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " IN:" +
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
"jstrJSON: \n" + 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) {
|
||||
JSONObject jsonObject = (JSONObject) obj;
|
||||
|
||||
// JSONObject를 HashMap으로 변환
|
||||
HashMap<String, Object> params = MyUtil.JSONObjectToHashMap(jsonObject);
|
||||
try {
|
||||
|
||||
HashMap<String, Object> hashMap = drillingInputService.drillingInputModify(request, params);
|
||||
int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("v_RetCode"));
|
||||
String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("v_RetMsg"));
|
||||
|
||||
if( nRetCode == 100 ) {
|
||||
jSONOResponse.put("resultCode", nRetCode);
|
||||
jSONOResponse.put("result", "true");
|
||||
jSONOResponse.put("message", "등록이 완료되었습니다.");
|
||||
} else {
|
||||
if( nRetCode == 11 ) {
|
||||
lpszRetMsg += "\n" +
|
||||
"사업명: " + params.get("constName");
|
||||
}
|
||||
jSONOResponse.put("resultCode", nRetCode);
|
||||
jSONOResponse.put("result", "false");
|
||||
jSONOResponse.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);
|
||||
jSONOResponse.put("resultCode", -1);
|
||||
jSONOResponse.put("result", "false");
|
||||
jSONOResponse.put("message", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
} catch (org.json.simple.parser.ParseException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if( isFail ) {
|
||||
jSONOResponse.put("resultCode", -2);
|
||||
jSONOResponse.put("result", "false");
|
||||
jSONOResponse.put("message", failMsg);
|
||||
}
|
||||
|
||||
System.out.println("\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " OUT:" +
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
"jSONOResponse.toJSONString():[" + jSONOResponse.toJSONString() + "]\n" +
|
||||
"\n--------------------------------------------------------------\n");
|
||||
|
||||
return jSONOResponse;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,4 +14,6 @@ public interface DrillingInputService {
|
|||
HashMap<String, Object> updateProjectCodeAndProjectStateCodeByCid(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
HashMap<String, Object> updateProjectCodeAndProjectStateCodeByProjectCode(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
|
||||
HashMap<String, Object> drillingInputModify(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,17 +2,22 @@ package geoinfo.drilling.input.service.impl;
|
|||
|
||||
import geoinfo.drilling.input.service.DrillingInputMapper;
|
||||
import geoinfo.drilling.input.service.DrillingInputService;
|
||||
import geoinfo.drilling.inquiry.service.DrillingInquiryService;
|
||||
import geoinfo.main.login.service.LoginMapper;
|
||||
import geoinfo.util.MyUtil;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.json.simple.JSONArray;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
|
|
@ -26,6 +31,8 @@ public class DrillingInputServiceImpl implements DrillingInputService {
|
|||
@Resource(name="loginMapper")
|
||||
private LoginMapper loginMapper;
|
||||
|
||||
@Autowired
|
||||
DrillingInquiryService drillingInquiryService;
|
||||
|
||||
/**
|
||||
* 발주기관 사용자의 Gl Gm Gs Gf Codes 구한다
|
||||
|
|
@ -193,4 +200,52 @@ public class DrillingInputServiceImpl implements DrillingInputService {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public HashMap<String, Object> drillingInputModify(HttpServletRequest request, HashMap<String, Object> params)
|
||||
throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
String userId = (String)request.getSession().getAttribute("USERID");
|
||||
params.put("CID", params.get("cid"));
|
||||
|
||||
JSONObject tempConstructSiteInfo = drillingInquiryService.drillingInquiryOneItem(request, params);
|
||||
|
||||
// JSONObject를 HashMap으로 변환
|
||||
ArrayList<EgovMap> arrayList = (ArrayList<EgovMap>) MyUtil.JSONObjectToHashMap( tempConstructSiteInfo ).get("datas");
|
||||
HashMap<String, Object> oldTempConstructSiteInfo = new HashMap<String, Object>(arrayList.get(0));
|
||||
|
||||
|
||||
HashMap<String, Object> findConstCompanyCodeByConstCompanyNameParams = getOrganizationUserGlGmGsGfCodes(userId);
|
||||
|
||||
|
||||
findConstCompanyCodeByConstCompanyNameParams.put("userId", userId);
|
||||
|
||||
findConstCompanyCodeByConstCompanyNameParams.put("masterCompanyOCode", MyUtil.getStringFromObject( findConstCompanyCodeByConstCompanyNameParams.get("v_gl") ));
|
||||
findConstCompanyCodeByConstCompanyNameParams.put("masterCompanyTwCode", MyUtil.getStringFromObject( findConstCompanyCodeByConstCompanyNameParams.get("v_gm") ));
|
||||
findConstCompanyCodeByConstCompanyNameParams.put("masterCompanyThCode", MyUtil.getStringFromObject( findConstCompanyCodeByConstCompanyNameParams.get("v_gs") ));
|
||||
findConstCompanyCodeByConstCompanyNameParams.put("masterCompanyName", MyUtil.getStringFromObject( findConstCompanyCodeByConstCompanyNameParams.get("v_gf") ));
|
||||
|
||||
|
||||
try {
|
||||
|
||||
findConstCompanyCodeByConstCompanyNameParams.put("constCompanyName", params.get("constCompanyName"));
|
||||
Long constCompanyCode = drillingInputMapper.findConstCompanyCodeByConstCompanyName(findConstCompanyCodeByConstCompanyNameParams);
|
||||
|
||||
|
||||
HashMap<String, Object> spUdtTblCsiParams = (HashMap<String, Object>) params.clone();
|
||||
|
||||
spUdtTblCsiParams.put("masterCompanyOCode", findConstCompanyCodeByConstCompanyNameParams.get("masterCompanyOCode"));
|
||||
spUdtTblCsiParams.put("masterCompanyTwCode", findConstCompanyCodeByConstCompanyNameParams.get("masterCompanyTwCode"));
|
||||
spUdtTblCsiParams.put("masterCompanyThCode", findConstCompanyCodeByConstCompanyNameParams.get("masterCompanyThCode"));
|
||||
spUdtTblCsiParams.put("constCompanyCode", constCompanyCode);
|
||||
spUdtTblCsiParams.put("crtUserid", oldTempConstructSiteInfo.get("crtUserid"));
|
||||
spUdtTblCsiParams.put("modUserid", userId);
|
||||
spUdtTblCsiParams.put("userId", userId);
|
||||
drillingInputMapper.spUdtTblCsi(spUdtTblCsiParams);
|
||||
return spUdtTblCsiParams;
|
||||
} catch (SQLException e) {
|
||||
throw new Exception( e.getMessage() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -146,6 +146,73 @@ public class DrillingInquiryController {
|
|||
}
|
||||
|
||||
|
||||
System.out.println(
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " OUT:" +
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
"jSONOResponse.toJSONString():[" + jSONOResponse.toJSONString() + "]\n" +
|
||||
"\n--------------------------------------------------------------\n"
|
||||
);
|
||||
|
||||
|
||||
int contentLength = 0;
|
||||
try {
|
||||
contentLength = jSONOResponse.toJSONString().getBytes("UTF-8").length;
|
||||
} catch (UnsupportedEncodingException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
response.setStatus(HttpServletResponse.SC_OK);
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setHeader("Content-Type", "application/json; charset=utf-8");
|
||||
response.setContentLength(contentLength); // Content-Length 설정
|
||||
try {
|
||||
response.getWriter().print(jSONOResponse);
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/drilling/inquiry/one-item.do", method = RequestMethod.GET, produces = { "application/json; charset=utf-8" })
|
||||
@ResponseBody
|
||||
public ResponseEntity<JSONObject> drillingInquiryOneItem (
|
||||
HttpServletRequest request,
|
||||
@RequestParam HashMap<String, Object> params,
|
||||
HttpServletResponse response
|
||||
) {
|
||||
|
||||
System.out.println(
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " IN:" +
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
"params" + params.toString() + "\n" +
|
||||
"\n--------------------------------------------------------------\n"
|
||||
);
|
||||
|
||||
JSONObject jSONOResponse = null;
|
||||
try {
|
||||
jSONOResponse = drillingInquiryService.drillingInquiryOneItem( request, params );
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
jSONOResponse = new JSONObject();
|
||||
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);
|
||||
jSONOResponse.put("resultCode", -1);
|
||||
jSONOResponse.put("result", "false");
|
||||
jSONOResponse.put("message", e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
System.out.println(
|
||||
"\n--------------------------------------------------------------\n" +
|
||||
request.getRequestURI() + " OUT:" +
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@ import egovframework.rte.psl.dataaccess.util.EgovMap;
|
|||
|
||||
public interface DrillingInquiryService {
|
||||
JSONObject drillingInquiryList(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
JSONObject drillingInquiryOneItem(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
|
||||
HashMap<String, Object> spGetProjectMbr(HttpServletRequest request, HashMap<String, Object> params, String userId) throws Exception;
|
||||
List<EgovMap> drillingInquiryAutocompleteList(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
EgovMap getItemByProjectCode(HttpServletRequest request, HashMap<String, Object> params) throws Exception;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package geoinfo.drilling.inquiry.service.impl;
|
||||
|
||||
import geoinfo.drilling.input.service.DrillingInputMapper;
|
||||
import geoinfo.drilling.input.service.DrillingInputService;
|
||||
import geoinfo.drilling.inquiry.service.DrillingInquiryMapper;
|
||||
import geoinfo.drilling.inquiry.service.DrillingInquiryService;
|
||||
|
|
@ -31,6 +32,9 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
|
|||
@Resource(name="drillingInquiryMapper")
|
||||
private DrillingInquiryMapper drillingInquiryMapper;
|
||||
|
||||
@Resource(name="drillingInputMapper")
|
||||
private DrillingInputMapper drillingInputMapper;
|
||||
|
||||
@Autowired
|
||||
DrillingInputService drillingInputService;
|
||||
|
||||
|
|
@ -232,6 +236,50 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
|
|||
}
|
||||
*/
|
||||
|
||||
@Override
|
||||
public JSONObject drillingInquiryOneItem(HttpServletRequest request, HashMap<String, Object> params)
|
||||
throws Exception {
|
||||
JSONObject jsonResponse = new JSONObject();
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String userId = MyUtil.getStringFromObject( request.getSession().getAttribute("USERID") );
|
||||
|
||||
if( userId == null){
|
||||
throw new Exception( "로그인이 필요한 서비스입니다." );
|
||||
}
|
||||
|
||||
List<EgovMap> datas = drillingInputMapper.sPGetTblCsiByCid(params);
|
||||
for( EgovMap data : datas ) {
|
||||
|
||||
Long nConstCompanyCodeKey = MyUtil.getLongFromObject(data.get("constCompanyCode"));
|
||||
if( nConstCompanyCodeKey != null ) {
|
||||
params.put("constCompanyCode", nConstCompanyCodeKey);
|
||||
String constCompanyName = drillingInquiryMapper.spGetConstCompanyName(nConstCompanyCodeKey);
|
||||
data.put("constCompanyName", constCompanyName);
|
||||
}
|
||||
|
||||
TIMESTAMP oracleTimestamp = (TIMESTAMP)data.get("crtDt");
|
||||
if( oracleTimestamp != null ) {
|
||||
Timestamp javaTimestamp = oracleTimestamp.timestampValue();
|
||||
String formattedDate = dateFormat.format(javaTimestamp);
|
||||
data.put("crtDt", formattedDate);
|
||||
}
|
||||
|
||||
oracleTimestamp = (TIMESTAMP)data.get("modDt");
|
||||
if( oracleTimestamp != null ) {
|
||||
Timestamp javaTimestamp = oracleTimestamp.timestampValue();
|
||||
String formattedDate = dateFormat.format(javaTimestamp);
|
||||
data.put("modDt", formattedDate);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
jsonResponse.put("datas", datas);
|
||||
return jsonResponse;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public HashMap<String, Object> spGetProjectMbr(HttpServletRequest request, HashMap<String, Object> params, String userId)
|
||||
|
|
@ -360,4 +408,6 @@ public class DrillingInquiryServiceImpl implements DrillingInquiryService {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -639,7 +639,7 @@ public class MapInformationController {
|
|||
public String getSichudanData(ModelMap model, HttpServletRequest request, HttpServletResponse response, @RequestParam Map<String, Object> params) throws Exception {
|
||||
StringBuffer sb = request.getRequestURL();
|
||||
String url = sb.substring(0, sb.lastIndexOf("/"));
|
||||
url = "http://218.232.234.161/body/sichudan";
|
||||
url = "http://218.232.234.161/body/sichudan ";
|
||||
// url =
|
||||
// request.getSession().getServletContext().getRealPath("/WEB-INF");
|
||||
|
||||
|
|
|
|||
|
|
@ -834,4 +834,18 @@ public final class MyUtil {
|
|||
return clobData;
|
||||
}
|
||||
|
||||
// JSONObject를 HashMap으로 변환
|
||||
public static HashMap<String, Object> JSONObjectToHashMap( JSONObject jsonObject ) {
|
||||
|
||||
HashMap<String, Object> params = new HashMap<>();
|
||||
for (Object key : jsonObject.keySet()) {
|
||||
String keyStr = (String) key;
|
||||
Object value = jsonObject.get(keyStr);
|
||||
params.put(keyStr, value);
|
||||
}
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
</select>
|
||||
|
||||
<select id="findConstCompanyCodeByConstCompanyName" parameterType="map" resultType="long">
|
||||
SELECT SP_GET_CONST_COMPANY_CODE(#{constCompanyDept}) FROM dual
|
||||
SELECT SP_GET_CONST_COMPANY_CODE(#{constCompanyName}) FROM dual
|
||||
</select>
|
||||
|
||||
|
||||
|
|
@ -82,6 +82,7 @@
|
|||
<result property="resultCode" column="p_result_code" jdbcType="VARCHAR"/>
|
||||
<result property="errMsg" column="p_err_msg" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="spUdtTblCsi" parameterType="map" statementType="CALLABLE" resultMap="spUdtTblCsiResult">
|
||||
{ CALL SP_UDT_TBL_CSI(
|
||||
#{cid},
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
#{masterCompanyTwCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyThCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyName, jdbcType=VARCHAR},
|
||||
#{constCompanyDept, jdbcType=VARCHAR},
|
||||
#{constCompanyName, jdbcType=VARCHAR},
|
||||
#{constCompanyAdmin, jdbcType=VARCHAR},
|
||||
#{constCompanyTel, jdbcType=VARCHAR},
|
||||
NULL
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
SELECT * FROM TABLE(SP_GET_TBL_CSI_BY_KEYWORD(
|
||||
#{constTag, jdbcType=VARCHAR},#{constName, jdbcType=VARCHAR},#{constStartDate, jdbcType=VARCHAR},#{constEndDate, jdbcType=VARCHAR},#{constStateCode, jdbcType=VARCHAR},
|
||||
#{masterCompanyOCode, jdbcType=VARCHAR},#{masterCompanyTwCode, jdbcType=VARCHAR},#{masterCompanyThCode, jdbcType=VARCHAR}, #{masterCompanyName, jdbcType=VARCHAR},
|
||||
#{constCompanyDept, jdbcType=VARCHAR},#{constCompanyAdmin, jdbcType=VARCHAR},#{constCompanyTel, jdbcType=VARCHAR},NULL,
|
||||
#{constCompanyName, jdbcType=VARCHAR},#{constCompanyAdmin, jdbcType=VARCHAR},#{constCompanyTel, jdbcType=VARCHAR},NULL,
|
||||
2,2,#{nCount},#{nPage}))
|
||||
</select>
|
||||
|
||||
|
|
|
|||
|
|
@ -79,14 +79,19 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
</ul>
|
||||
<p class="check-title">기관명이 없을 시, 연락 바랍니다. 연락처: <span class="contact-tel">031-995-0934</span></p>
|
||||
</div>
|
||||
<button class="btn-green" type="button">엑셀자료입력</button>
|
||||
<button class="btn-green btn-excel-download" type="button">엑셀 양식 다운로드</button>
|
||||
<!-- 실제 파일 선택 input (숨김 처리) -->
|
||||
<input type="file" id="excel-file-input" accept=".xls" style="display: none;">
|
||||
<button class="btn-green" type="button" onclick="triggerExcelUpload()">엑셀자료입력</button>
|
||||
<button class="btn-green btn-excel-download" type="button" id="excel-download-btn">엑셀 양식 다운로드</button>
|
||||
</div>
|
||||
<div id="table-container">
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="bottom-buttons">
|
||||
<button class="btn btn-plus" id="add-table" type="button"></button>
|
||||
<button class="btn btn-minus" id="minus-table" type="button"></button>
|
||||
<button class="btn-left btn-delete" id="btn-delete" type="button">
|
||||
<span>삭제</span>
|
||||
</button>
|
||||
<button class="btn-green btn-save" id="btn-save" type="button">
|
||||
<span>저장</span>
|
||||
</button>
|
||||
|
|
@ -103,9 +108,23 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
<div id="calenderDiv" class="trViewOff" style="position:absolute;"></div>
|
||||
|
||||
<!-- javascript start-->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
var tableId = 0;
|
||||
|
||||
function getQueryString(paramName) {
|
||||
var searchString = decodeURI(window.location.search).substring(1),
|
||||
i, val, params = searchString.split("&");
|
||||
|
||||
for (i = 0; i < params.length; i++) {
|
||||
val = params[i].split("=");
|
||||
if (val[0] == paramName) {
|
||||
return decodeURIComponent(unescape(val[1]));
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function setName(inputValue, arrDistrict, index ) {
|
||||
|
||||
targetId = arrDistrict[index];
|
||||
|
|
@ -208,7 +227,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
<tr>
|
||||
<th>건설사</th>
|
||||
<td colspan="3">
|
||||
<input type="text" value="" class="input-box information1" id="const-company-dept-` + tableId + `" placeholder="담당부서">
|
||||
<input type="text" value="" class="input-box information1" id="const-company-dept-` + tableId + `" placeholder="건설사명">
|
||||
<input type="text" value="" class="input-box information2" id="const-company-admin-` + tableId + `" placeholder="담당자">
|
||||
<input type="text" value="" class="input-box information3" id="const-company-tel-` + tableId + `" placeholder="담당자 연락처">
|
||||
<label class="check-box unselected-constructor-label" for="unselected-constructor-` + tableId + `"><input type="checkbox" id="unselected-constructor-` + tableId + `">
|
||||
|
|
@ -225,6 +244,48 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
|
||||
// 'CID' 쿼리스트링 파라미터 확인 및 버튼 숨김 처리
|
||||
const cid = getQueryString('CID');
|
||||
if (cid) {
|
||||
const excelInputBtn = document.getElementById('excel-input-btn');
|
||||
const excelDownloadBtn = document.getElementById('excel-download-btn');
|
||||
const addTableBtn = document.getElementById('add-table');
|
||||
const minusTableBtn = document.getElementById('minus-table');
|
||||
|
||||
if (excelInputBtn) {
|
||||
excelInputBtn.style.display = 'none';
|
||||
}
|
||||
if (excelDownloadBtn) {
|
||||
excelDownloadBtn.style.display = 'none';
|
||||
}
|
||||
if (addTableBtn) {
|
||||
addTableBtn.style.display = 'none';
|
||||
}
|
||||
if (minusTableBtn) {
|
||||
minusTableBtn.style.display = 'none';
|
||||
}
|
||||
|
||||
getOneItem(cid);
|
||||
} else {
|
||||
const btnDelete = document.getElementById('btn-delete');
|
||||
|
||||
if (btnDelete) {
|
||||
btnDelete.style.display = 'none';
|
||||
}
|
||||
|
||||
|
||||
const excelInputBtn = document.getElementById('excel-input-btn');
|
||||
const excelDownloadBtn = document.getElementById('excel-download-btn');
|
||||
if (excelInputBtn) {
|
||||
excelInputBtn.style.display = 'none';
|
||||
}
|
||||
if (excelDownloadBtn) {
|
||||
excelDownloadBtn.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
document.getElementById('add-table').addEventListener('click', function() {
|
||||
addItem();
|
||||
});
|
||||
|
|
@ -242,6 +303,8 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
|
||||
document.getElementById('btn-save').addEventListener('click', function() {
|
||||
|
||||
const cid = getQueryString('CID');
|
||||
|
||||
var tableDataElements = document.getElementsByClassName('table-data');
|
||||
|
||||
console.log(tableDataElements);
|
||||
|
|
@ -250,78 +313,95 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
|
||||
var jsonData = new Array();
|
||||
for (var i = 0; i < tableDataElements.length; i++) {
|
||||
|
||||
let duplChkEle = document.querySelectorAll('.input-box[id*="const-name"]'); // 엑셀양식 로드시 사업명 중복 체크해야 하는 대상 엘리먼트
|
||||
for (let i = 0 ; i < duplChkEle.length; i++) {
|
||||
duplicateCheckProjectName(duplChkEle[i])
|
||||
}
|
||||
|
||||
var jsonItem = {};
|
||||
dataIndexValue = tableDataElements[i].getAttribute('data-index');
|
||||
|
||||
// 사업명
|
||||
var constNameEle = document.getElementById('const-name-' + (i + 1));
|
||||
var constNameEle = document.getElementById('const-name-' + dataIndexValue);
|
||||
if (constNameEle) {
|
||||
jsonItem.constName = constNameEle.value;
|
||||
}
|
||||
// 사업기간 - 시작
|
||||
var constStartDateEle = document.getElementById('const-start-date-' + (i + 1));
|
||||
var constStartDateEle = document.getElementById('const-start-date-' + dataIndexValue);
|
||||
if (constStartDateEle) {
|
||||
jsonItem.constStartDate = constStartDateEle.value;
|
||||
}
|
||||
// 사업기간 - 종료
|
||||
var constEndDateEle = document.getElementById('const-end-date-' + (i + 1));
|
||||
var constEndDateEle = document.getElementById('const-end-date-' + dataIndexValue);
|
||||
if (constEndDateEle) {
|
||||
jsonItem.constEndDate = constEndDateEle.value;
|
||||
}
|
||||
// 사업단계
|
||||
var constStateCodeEle = document.getElementById('const-state-code-' + (i + 1));
|
||||
var constStateCodeEle = document.getElementById('const-state-code-' + dataIndexValue);
|
||||
if (constStateCodeEle) {
|
||||
jsonItem.constStateCode = constStateCodeEle.value;
|
||||
}
|
||||
// 발주기관 - 담당부서
|
||||
var masterCompanyDeptEle = document.getElementById('master-company-dept-' + (i + 1));
|
||||
var masterCompanyDeptEle = document.getElementById('master-company-dept-' + dataIndexValue);
|
||||
if (masterCompanyDeptEle) {
|
||||
jsonItem.masterCompanyDept = masterCompanyDeptEle.value;
|
||||
}
|
||||
// 발주기관 - 담당자
|
||||
var masterCompanyAdminEle = document.getElementById('master-company-admin-' + (i + 1));
|
||||
var masterCompanyAdminEle = document.getElementById('master-company-admin-' + dataIndexValue);
|
||||
if (masterCompanyAdminEle) {
|
||||
jsonItem.masterCompanyAdmin = masterCompanyAdminEle.value;
|
||||
}
|
||||
// 발주기관 - 담당자 연락처
|
||||
var masterCompanyTelEle = document.getElementById('master-company-tel-' + (i + 1));
|
||||
var masterCompanyTelEle = document.getElementById('master-company-tel-' + dataIndexValue);
|
||||
if (masterCompanyTelEle) {
|
||||
jsonItem.masterCompanyTel = masterCompanyTelEle.value;
|
||||
}
|
||||
// 건설사 - 담당부서
|
||||
var constCompanyDeptEle = document.getElementById('const-company-dept-' + (i + 1));
|
||||
if (constCompanyDeptEle) {
|
||||
jsonItem.constCompanyDept = constCompanyDeptEle.value;
|
||||
// 건설사 - 건설사명
|
||||
var constCompanyNameEle = document.getElementById('const-company-dept-' + dataIndexValue);
|
||||
if (constCompanyNameEle) {
|
||||
jsonItem.constCompanyName = constCompanyNameEle.value;
|
||||
}
|
||||
// 건설사 - 담당자
|
||||
var constCompanyAdminEle = document.getElementById('const-company-admin-' + (i + 1));
|
||||
var constCompanyAdminEle = document.getElementById('const-company-admin-' + dataIndexValue);
|
||||
if (constCompanyAdminEle) {
|
||||
jsonItem.constCompanyAdmin = constCompanyAdminEle.value;
|
||||
}
|
||||
// 건설사 - 담당자 연락처
|
||||
var constCompanyTelEle = document.getElementById('const-company-tel-' + (i + 1));
|
||||
var constCompanyTelEle = document.getElementById('const-company-tel-' + dataIndexValue);
|
||||
if (constCompanyTelEle) {
|
||||
jsonItem.constCompanyTel = constCompanyTelEle.value;
|
||||
}
|
||||
|
||||
if ( isValid(i + 1) == false ) {
|
||||
if (cid) {
|
||||
jsonItem.cid=cid;
|
||||
}
|
||||
|
||||
if ( isValid(dataIndexValue) == false ) {
|
||||
return false;
|
||||
}
|
||||
jsonData.push(jsonItem);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (cid) {
|
||||
xhr.open('POST', '/drilling/input/modify.do', true);
|
||||
} else {
|
||||
xhr.open('POST', '/drilling/input/add.do', true);
|
||||
}
|
||||
|
||||
xhr.setRequestHeader('Content-type', 'application/json');
|
||||
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
// 요청 성공 시 처리
|
||||
let result = JSON.parse(xhr.response);
|
||||
console.log(result.resultCode)
|
||||
|
||||
console.log(xhr.responseText);
|
||||
const obj = JSON.parse(xhr.responseText);
|
||||
alert(obj.message);
|
||||
window.location.href='/drilling/inquiry.do';
|
||||
// window.location.href='/drilling/inquiry.do';
|
||||
} else if (xhr.readyState === 4) {
|
||||
// 요청 실패 시 처리
|
||||
console.error('요청 실패:', xhr.status);
|
||||
|
|
@ -399,10 +479,10 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
if( unselectedConstructorEle.checked === false ) {
|
||||
|
||||
// 건설사 - 담당부서
|
||||
var constCompanyDeptEle = document.getElementById('const-company-dept-' + (index));
|
||||
if (constCompanyDeptEle) {
|
||||
if( constCompanyDeptEle.value === "" ) {
|
||||
shakeAndHighlight(constCompanyDeptEle, "건설사 - 담당부서를 입력하세요." );
|
||||
var constCompanyNameEle = document.getElementById('const-company-dept-' + (index));
|
||||
if (constCompanyNameEle) {
|
||||
if( constCompanyNameEle.value === "" ) {
|
||||
shakeAndHighlight(constCompanyNameEle, "건설사 - 건설사명을 입력하세요." );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -428,6 +508,188 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
return true;
|
||||
}
|
||||
|
||||
function getOneItem(cid) {
|
||||
xhr.open('GET', '/drilling/inquiry/one-item.do?' +
|
||||
'CID='+ cid,
|
||||
true);
|
||||
xhr.setRequestHeader('Content-type', 'application/json');
|
||||
|
||||
xhr.onreadystatechange = function() {
|
||||
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||
const obj = JSON.parse(xhr.responseText);
|
||||
// JSON 데이터를 매핑 정보에 따라 HTML 요소에 할당
|
||||
if (obj.datas && obj.datas.length > 0) {
|
||||
const item = obj.datas[0]; // 첫 번째 데이터 객체를 사용
|
||||
|
||||
// 매핑 정보에 따라 값 할당
|
||||
document.getElementById('const-name-1').value = item.constName || '';
|
||||
document.getElementById('const-start-date-1').value = item.constStartDate || '';
|
||||
document.getElementById('const-end-date-1').value = item.constEndDate || '';
|
||||
document.getElementById('const-state-code-1').value = item.constStateCode || '1'; // 기본값 설정
|
||||
document.getElementById('master-company-dept-1').value = item.masterCompanyDept || '';
|
||||
document.getElementById('master-company-admin-1').value = item.masterCompanyAdmin || '';
|
||||
document.getElementById('master-company-tel-1').value = item.masterCompanyTel || '';
|
||||
document.getElementById('const-company-dept-1').value = item.constCompanyName || '';
|
||||
document.getElementById('const-company-admin-1').value = item.constCompanyAdmin || '';
|
||||
document.getElementById('const-company-tel-1').value = item.constCompanyTel || '';
|
||||
}
|
||||
} else if (xhr.readyState === 4) {
|
||||
// 요청 실패 시 처리
|
||||
console.error('요청 실패:', xhr.status);
|
||||
}
|
||||
};
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
function triggerExcelUpload() {
|
||||
// 숨겨진 파일 선택 input을 클릭시킴
|
||||
document.getElementById('excel-file-input').click();
|
||||
}
|
||||
|
||||
document.getElementById('excel-file-input').addEventListener('change', function (event) {
|
||||
const file = event.target.files[0];
|
||||
if (file) {
|
||||
handleExcelUpload(file);
|
||||
}
|
||||
});
|
||||
|
||||
function handleExcelUpload(file) {
|
||||
document.getElementById("table-container").innerHTML = '';
|
||||
const reader = new FileReader();
|
||||
reader.onload = function (e) {
|
||||
const data = new Uint8Array(e.target.result);
|
||||
const workbook = XLSX.read(data, { type: 'array', cellDates: true });
|
||||
|
||||
const firstSheet = workbook.Sheets[workbook.SheetNames[0]];
|
||||
const json = XLSX.utils.sheet_to_json(firstSheet, { header: 1, defval: "" });
|
||||
|
||||
populateFromExcel(json);
|
||||
};
|
||||
reader.readAsArrayBuffer(file);
|
||||
}
|
||||
|
||||
function populateFromExcel(rows) {
|
||||
// rows[0] = 헤더, rows[1..] = 실제 데이터
|
||||
for (let i = 2; i < rows.length; i++) {
|
||||
const row = rows[i];
|
||||
|
||||
if (row[1] != "" || row[2] != "" || row[3] != "" || row[4] != "" || row[5] != "" || row[6] != "" || row[7] != "" || row[8] != "" || row[9] != "" || row[10] != "" || row[11]) {
|
||||
const data = {
|
||||
constName: row[1], // 사업명
|
||||
constStartDate: row[2], // 사업기간 시작일
|
||||
constEndDate: row[3], // 사업기간 종료일
|
||||
constStateCode: row[4], // 사업단계
|
||||
masterCompanyDept: row[5], // 발주기관 담당부서
|
||||
masterCompanyAdmin: row[6], // 발주기관 담당자
|
||||
masterCompanyTel: row[7], // 발주기관 담당자 연락처
|
||||
constCompanyDept: row[8], // 건설사 건설사명
|
||||
constCompanyAdmin: row[9], // 건설사 담당자
|
||||
constCompanyTel: row[10], // 건설사 담당자 연락처
|
||||
unselected: row[11] === '미지정' // 건설사 미지정
|
||||
};
|
||||
addItemWithData(data);
|
||||
}
|
||||
}
|
||||
|
||||
document.getElementById('excel-file-input').value = ''
|
||||
|
||||
}
|
||||
|
||||
function addItemWithData(data) {
|
||||
tableId += 1;
|
||||
const today = getToday();
|
||||
|
||||
// 사업단계 코드가 문자열로 전달되면 숫자로 비교하도록 수정
|
||||
const stateCode = [
|
||||
{value:1, txt:"타당성조사 및 계획검토", selected:false},
|
||||
{value:2, txt:"기본설계", selected:false},
|
||||
{value:3, txt:"실시설계", selected:false},
|
||||
{value:4, txt:"시공중", selected:false},
|
||||
{value:5, txt:"준공", selected:false},
|
||||
{value:6, txt:"유지보수", selected:false}
|
||||
];
|
||||
|
||||
let const_name = data.constName == "" ? "" : data.constName;
|
||||
let const_state_code = data.constStateCode == "" ? "타당성조사 및 계획검토" : data.constStateCode;
|
||||
let const_start_date = data.constStartDate == "" ? "" : data.constStartDate.toISOString().split('T')[0];
|
||||
let const_end_date = data.constEndDate == "" ? "" : data.constEndDate.toISOString().split('T')[0];
|
||||
let master_company_dept = data.masterCompanyDept == "" ? "" : data.masterCompanyDept;
|
||||
let master_company_name = data.masterCompanyAdmin == "" ? "" : data.masterCompanyAdmin;
|
||||
let master_company_tel = data.masterCompanyTel == "" ? "" : data.masterCompanyTel;
|
||||
let const_company_dept = data.constCompanyDept == "" ? "" : data.constCompanyDept;
|
||||
let const_company_name = data.constCompanyAdmin == "" ? "" : data.constCompanyAdmin;
|
||||
let const_company_tel = data.constCompanyTel == "" ? "" : data.constCompanyTel;
|
||||
let fin_const_company = data.unselected ? 'checked' : '';
|
||||
|
||||
let stateOptions = '';
|
||||
for (let i = 0; i < stateCode.length; i++) {
|
||||
if (stateCode[i].txt === const_state_code) {
|
||||
stateOptions += `<option value="` + stateCode[i].value + `" selected>` + stateCode[i].txt + `</option>`;
|
||||
} else {
|
||||
stateOptions += `<option value="` + stateCode[i].value + `">` + stateCode[i].txt + `</option>`;
|
||||
}
|
||||
}
|
||||
|
||||
const tableHtml = `
|
||||
<div class="table-scrollable" data-index="`+ tableId +`" data-` + tableId + `>
|
||||
<table class="table-bordered table-data" data-index="` + tableId + `">
|
||||
<colgroup>
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 35%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 35%;">
|
||||
</colgroup>
|
||||
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>사업명</th>
|
||||
<td colspan="3">
|
||||
<input type="text" value="`+ const_name +`" onfocusout="duplicateCheckProjectName(this)" class="input-box" id="const-name-` + tableId + `" placeholder="사업명">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사업기간</th>
|
||||
<td>
|
||||
<input type="date" value="` + const_start_date + `" class="date" id="const-start-date-` + tableId + `">
|
||||
<span>~</span>
|
||||
<input type="date" value="` + const_end_date + `" class="date date-2" id="const-end-date-` + tableId + `">
|
||||
</td>
|
||||
<th>사업단계</th>
|
||||
<td>
|
||||
<select class="selectbox" id="const-state-code-` + tableId + `">
|
||||
<option disabled>사업단계선택</option>
|
||||
` +
|
||||
stateOptions
|
||||
+ `
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>발주기관</th>
|
||||
<td colspan="3">
|
||||
<input type="text" value="` + master_company_dept + `" class="input-box information1" id="master-company-dept-` + tableId + `" placeholder="담당부서">
|
||||
<input type="text" value="` + master_company_name + `" class="input-box information2" id="master-company-admin-` + tableId + `" placeholder="담당자">
|
||||
<input type="text" value="` + master_company_tel + `" class="input-box information3" id="master-company-tel-` + tableId + `" placeholder="담당자 연락처">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>건설사</th>
|
||||
<td colspan="3">
|
||||
<input type="text" value="` + const_company_dept + `" class="input-box information1" id="const-company-dept-` + tableId + `" placeholder="건설사명">
|
||||
<input type="text" value="` + const_company_name + `" class="input-box information2" id="const-company-admin-` + tableId + `" placeholder="담당자">
|
||||
<input type="text" value="` + const_company_tel + `" class="input-box information3" id="const-company-tel-` + tableId + `" placeholder="담당자 연락처">
|
||||
<label class="check-box unselected-constructor-label" for="unselected-constructor-` + tableId + `"><input type="checkbox" id="unselected-constructor-` + tableId + `" ` + fin_const_company + `>
|
||||
<span class="unselected-constructor-label-text">건설사 미선정</span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>`
|
||||
;
|
||||
document.getElementById("table-container").insertAdjacentHTML("beforeend", tableHtml);
|
||||
if (document.getElementsByClassName('table-scrollable').length < 1) {addItem()} // 엑셀로 받아오기 중 실패할 경우 삭제한 빈 양식 원복
|
||||
}
|
||||
</script>
|
||||
<!-- javascript end-->
|
||||
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
|
||||
|
||||
const constStateCode = trim( document.getElementById('const-state-code').value );
|
||||
const constCompanyDept = trim( document.getElementById('company-dept').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 );
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
'&' +'constStartDate='+ constStartDate +
|
||||
'&' +'constEndDate='+ constEndDate +
|
||||
'&' +'constStateCode='+ constStateCode +
|
||||
'&' +'constCompanyDept='+ constCompanyDept +
|
||||
'&' +'constCompanyName='+ constCompanyName +
|
||||
'&' +'constCompanyAdmin='+ constCompanyAdmin +
|
||||
'&' +'constCompanyTel='+ constCompanyTel +
|
||||
'&' +'nPage='+ nPage +
|
||||
|
|
@ -82,7 +82,6 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
var dataListEle = document.getElementById('data-list');
|
||||
dataListEle.innerHTML = '';
|
||||
|
||||
|
||||
var content = '';
|
||||
|
||||
for( idx in obj.datas ) {
|
||||
|
|
@ -94,22 +93,20 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
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>
|
||||
<td>` + (obj.count - idx - (nCount * (nPage - 1))) + `</td>
|
||||
<td style="text-align: left; text-indent: 10px;">` + obj.datas[idx].constName + `</td>
|
||||
<td>` + obj.datas[idx].projectStateCodeName + `</td>
|
||||
<td>` + constStartDate + ` ~ ` + constEndDate + `</td>
|
||||
<td>` + obj.datas[idx].constStateCodeName + `</td>
|
||||
<td>` + masterCompanyDept + `</td>
|
||||
<td>` + masterCompanyAdmin + `</td>
|
||||
<td>` + masterCompanyTel + `</td>
|
||||
<td>` + coinstCompanyDept + `</td>
|
||||
<td>` + constCompanyAdmin + `</td>
|
||||
<td>` + constCompanyTel + `</td>
|
||||
</tr>
|
||||
`;
|
||||
|
||||
content += '<tr onclick="location.href=\'modify.do?CID=' + 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;
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
|
||||
|
||||
const constStateCode = trim( document.getElementById('const-state-code').value );
|
||||
const constCompanyDept = trim( document.getElementById('company-dept').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 );
|
||||
|
||||
|
|
@ -65,7 +65,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
'&' +'constStartDate='+ constStartDate +
|
||||
'&' +'constEndDate='+ constEndDate +
|
||||
'&' +'constStateCode='+ constStateCode +
|
||||
'&' +'constCompanyDept='+ constCompanyDept +
|
||||
'&' +'constCompanyName='+ constCompanyName +
|
||||
'&' +'constCompanyAdmin='+ constCompanyAdmin +
|
||||
'&' +'constCompanyTel='+ constCompanyTel +
|
||||
'&' +'nPage='+ nPage +
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
|
||||
|
||||
const constStateCode = trim( document.getElementById('const-state-code').value );
|
||||
const constCompanyDept = trim( document.getElementById('company-dept').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 );
|
||||
|
||||
|
|
@ -80,7 +80,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
'&' +'constStartDate='+ constStartDate +
|
||||
'&' +'constEndDate='+ constEndDate +
|
||||
'&' +'constStateCode='+ constStateCode +
|
||||
'&' +'constCompanyDept='+ constCompanyDept +
|
||||
'&' +'constCompanyName='+ constCompanyName +
|
||||
'&' +'constCompanyAdmin='+ constCompanyAdmin +
|
||||
'&' +'constCompanyTel='+ constCompanyTel +
|
||||
'&' +'nPage='+ nPage +
|
||||
|
|
|
|||
|
|
@ -163,9 +163,9 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
jsonItem.masterCompanyTel = masterCompanyTelEle.value;
|
||||
}
|
||||
// 건설사 - 담당부서
|
||||
var constCompanyDeptEle = document.getElementById('const-company-dept-' + (i + 1));
|
||||
if (constCompanyDeptEle) {
|
||||
jsonItem.constCompanyDept = constCompanyDeptEle.value;
|
||||
var constCompanyNameEle = document.getElementById('const-company-dept-' + (i + 1));
|
||||
if (constCompanyNameEle) {
|
||||
jsonItem.constCompanyName = constCompanyNameEle.value;
|
||||
}
|
||||
// 건설사 - 담당자
|
||||
var constCompanyAdminEle = document.getElementById('const-company-admin-' + (i + 1));
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
|
||||
|
||||
const constStateCode = trim( document.getElementById('const-state-code').value );
|
||||
const constCompanyDept = trim( document.getElementById('company-dept').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 );
|
||||
|
||||
|
|
@ -80,7 +80,7 @@ if (request.getSession().getAttribute("CLS") == null || "2".equals(request.getSe
|
|||
'&' +'constStartDate='+ constStartDate +
|
||||
'&' +'constEndDate='+ constEndDate +
|
||||
'&' +'constStateCode='+ constStateCode +
|
||||
'&' +'constCompanyDept='+ constCompanyDept +
|
||||
'&' +'constCompanyName='+ constCompanyName +
|
||||
'&' +'constCompanyAdmin='+ constCompanyAdmin +
|
||||
'&' +'constCompanyTel='+ constCompanyTel +
|
||||
'&' +'nPage='+ nPage +
|
||||
|
|
|
|||
|
|
@ -5256,13 +5256,6 @@ ul.faq-q > li textarea {
|
|||
height: 367px;
|
||||
background-image: url(/com/img/drilling/maps/05_alone.svg);
|
||||
}
|
||||
.drilling-index .wrap_visual > .region-item > .region-alone#region-alone-31 {
|
||||
left: 189px;
|
||||
top: 69px;
|
||||
width: 164px;
|
||||
height: 214px;
|
||||
background-image: url(/com/img/drilling/maps/01_alone.svg);
|
||||
}
|
||||
.drilling-index .wrap_visual > .region-item > .region-alone#region-alone-33 {
|
||||
left: 121px;
|
||||
top: 405px;
|
||||
|
|
@ -5371,26 +5364,36 @@ ul.faq-q > li textarea {
|
|||
.drilling-index .wrap_visual > .region-item > .region-logo#region-logo-01 {
|
||||
left: 262px;
|
||||
top: 166px;
|
||||
width: 258px;
|
||||
height: 43px;
|
||||
background-image: url(/com/img/drilling/logos/01.png);
|
||||
}
|
||||
.drilling-index .wrap_visual > .region-item > .region-logo#region-logo-02 {
|
||||
left: 353px;
|
||||
top: 190px;
|
||||
width: 258px;
|
||||
height: 43px;
|
||||
background-image: url(/com/img/drilling/logos/02.png);
|
||||
}
|
||||
.drilling-index .wrap_visual > .region-item > .region-logo#region-logo-03 {
|
||||
left: 298px;
|
||||
top: 334px;
|
||||
width: 258px;
|
||||
height: 43px;
|
||||
background-image: url(/com/img/drilling/logos/03.png);
|
||||
}
|
||||
.drilling-index .wrap_visual > .region-item > .region-logo#region-logo-04 {
|
||||
left: 229px;
|
||||
top: 409px;
|
||||
width: 258px;
|
||||
height: 43px;
|
||||
background-image: url(/com/img/drilling/logos/04.png);
|
||||
}
|
||||
.drilling-index .wrap_visual > .region-item > .region-logo#region-logo-05 {
|
||||
left: 478px;
|
||||
top: 539px;
|
||||
width: 258px;
|
||||
height: 43px;
|
||||
background-image: url(/com/img/drilling/logos/05.png);
|
||||
}
|
||||
.drilling-index .wrap_visual > .region-item > .region-logo#region-logo-06 {
|
||||
|
|
@ -6434,6 +6437,67 @@ ul.faq-q > li textarea {
|
|||
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%;
|
||||
|
|
@ -6679,6 +6743,16 @@ ul.faq-q > li textarea {
|
|||
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;
|
||||
|
|
@ -6789,51 +6863,6 @@ ul.faq-q > li textarea {
|
|||
.drilling .unselected-constructor-label .unselected-constructor-label-text {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.drilling .btn-plus, .drilling .btn-minus {
|
||||
width: 60px;
|
||||
position: relative;
|
||||
}
|
||||
.drilling .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 .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 .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 .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;
|
||||
}
|
||||
|
||||
/* ====================================== */
|
||||
/* ====================================== */
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -4053,13 +4053,9 @@ ul.faq-q > li textarea {
|
|||
height: 367px;
|
||||
background-image: url(/com/img/drilling/maps/05_alone.svg);
|
||||
}
|
||||
|
||||
// 인천지방해양수산청
|
||||
.wrap_visual > .region-item > .region-alone#region-alone-31 {
|
||||
left: 189px;
|
||||
top: 69px;
|
||||
width: 164px;
|
||||
height: 214px;
|
||||
background-image: url(/com/img/drilling/maps/01_alone.svg);
|
||||
}
|
||||
// 여수지방해양수산청
|
||||
.wrap_visual > .region-item > .region-alone#region-alone-33 {
|
||||
|
|
@ -4141,6 +4137,7 @@ ul.faq-q > li textarea {
|
|||
height: 367px;
|
||||
background-image: url(/com/img/drilling/maps/05_alone.svg);
|
||||
}
|
||||
|
||||
// 인천항만공사
|
||||
.wrap_visual > .region-item > .region-alone#region-alone-43 {
|
||||
left: 189px;
|
||||
|
|
@ -4187,26 +4184,36 @@ ul.faq-q > li textarea {
|
|||
.wrap_visual > .region-item > .region-logo#region-logo-01 {
|
||||
left: 262px;
|
||||
top: 166px;
|
||||
width: 258px;
|
||||
height: 43px;
|
||||
background-image: url(/com/img/drilling/logos/01.png);
|
||||
}
|
||||
.wrap_visual > .region-item > .region-logo#region-logo-02 {
|
||||
left: 353px;
|
||||
top: 190px;
|
||||
width: 258px;
|
||||
height: 43px;
|
||||
background-image: url(/com/img/drilling/logos/02.png);
|
||||
}
|
||||
.wrap_visual > .region-item > .region-logo#region-logo-03 {
|
||||
left: 298px;
|
||||
top: 334px;
|
||||
width: 258px;
|
||||
height: 43px;
|
||||
background-image: url(/com/img/drilling/logos/03.png);
|
||||
}
|
||||
.wrap_visual > .region-item > .region-logo#region-logo-04 {
|
||||
left: 229px;
|
||||
top: 409px;
|
||||
width: 258px;
|
||||
height: 43px;
|
||||
background-image: url(/com/img/drilling/logos/04.png);
|
||||
}
|
||||
.wrap_visual > .region-item > .region-logo#region-logo-05 {
|
||||
left: 478px;
|
||||
top: 539px;
|
||||
width: 258px;
|
||||
height: 43px;
|
||||
background-image: url(/com/img/drilling/logos/05.png);
|
||||
}
|
||||
.wrap_visual > .region-item > .region-logo#region-logo-06 {
|
||||
|
|
@ -4741,6 +4748,77 @@ ul.faq-q > li textarea {
|
|||
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;
|
||||
|
|
@ -5013,6 +5091,18 @@ ul.faq-q > li textarea {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
|
|
@ -5026,6 +5116,7 @@ ul.faq-q > li textarea {
|
|||
float:right;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.btn-excel-download {
|
||||
padding: 4px 14px 4px 46px;
|
||||
position: relative;
|
||||
|
|
@ -5137,59 +5228,12 @@ ul.faq-q > li textarea {
|
|||
}
|
||||
}
|
||||
|
||||
.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-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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -87,7 +87,6 @@ function GeoSection(divID) {
|
|||
// API Functions
|
||||
// ==========================================================
|
||||
this.show = function(data) {
|
||||
|
||||
// ---------------------------------------
|
||||
// Create Map & Layer
|
||||
// ---------------------------------------
|
||||
|
|
|
|||
Loading…
Reference in New Issue