dev_bert
Isol 3 years ago
commit 7cddaa5a62

@ -9,28 +9,12 @@
<option name="autoReloadType" value="SELECTIVE" /> <option name="autoReloadType" value="SELECTIVE" />
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="4099ff18-820b-4e43-a4c5-6159d58dccc4" name="변경" comment="회원가입 밸리데이션 및 유효성체크 보완"> <list default="true" id="4099ff18-820b-4e43-a4c5-6159d58dccc4" name="변경" comment="d-day 체크리스트 사항 수정">
<change afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/member_env/view_set_account_phone_02.ftl" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/member_env/view_set_account_phone_20220416.ftl" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/member_env/view_set_account_phone_confirm.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/backoffice/api/ApiSMSController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/backoffice/api/ApiSMSController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/backoffice/api/bo/APIMemberBO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/backoffice/api/bo/APIMemberBO.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/backoffice/api/bo/APIMemberBOImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/backoffice/api/bo/APIMemberBOImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/backoffice/m/login/M_LoginController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/backoffice/m/login/M_LoginController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/backoffice/m/member_env/M_Member_envController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/backoffice/m/member_env/M_Member_envController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/sqlmap/admin/bf/com.backoffice.admin.bf.bf_recommend.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/sqlmap/admin/bf/com.backoffice.admin.bf.bf_recommend.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/sqlmap/api/com.backoffice.api.bf.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/sqlmap/api/com.backoffice.api.bf.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/bf_food/list_bf_cart_popup.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/bf_food/list_bf_cart_popup.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/bf_food/list_bf_ingre_recommend.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/bf_food/list_bf_ingre_recommend.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_bf_homemade_popup.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/bf_food/view_bf_homemade_popup.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include/confirm.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include/confirm.ftl" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include/confirm.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/include/confirm.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_04.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_04.ftl" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_find_id_02.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_find_id_02.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_phone_01.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_phone_01.ftl" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_01_confirm.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_join_member_01_confirm.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/member_env/setting_sync_confirm.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/member_env/setting_sync_confirm.ftl" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_phone_02.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/login/view_pw_reset_phone_02.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/member_env/setting_sync_confirm_end.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/member_env/setting_sync_confirm_end.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/member_env/view_set_account_phone.ftl" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/views/ftl/m/member_env/view_set_account_phone.ftl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/static/js/util.js" beforeDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -235,7 +219,11 @@
<workItem from="1649928321125" duration="16823000" /> <workItem from="1649928321125" duration="16823000" />
<workItem from="1650020162949" duration="8484000" /> <workItem from="1650020162949" duration="8484000" />
<workItem from="1650082025322" duration="596000" /> <workItem from="1650082025322" duration="596000" />
<workItem from="1650099253570" duration="21289000" /> <workItem from="1650099253570" duration="21674000" />
<workItem from="1650210956375" duration="846000" />
<workItem from="1650243545918" duration="874000" />
<workItem from="1650278800214" duration="17684000" />
<workItem from="1650385175659" duration="2438000" />
</task> </task>
<task id="LOCAL-00001" summary="최초 커밋"> <task id="LOCAL-00001" summary="최초 커밋">
<created>1645354476031</created> <created>1645354476031</created>
@ -482,7 +470,35 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1650110425602</updated> <updated>1650110425602</updated>
</task> </task>
<option name="localTasksCounter" value="36" /> <task id="LOCAL-00036" summary="회원가입 밸리데이션 및 유효성체크 보완 - 2">
<created>1650124395162</created>
<option name="number" value="00036" />
<option name="presentableId" value="LOCAL-00036" />
<option name="project" value="LOCAL" />
<updated>1650124395162</updated>
</task>
<task id="LOCAL-00037" summary="공유기능 퍼블리싱 및 기능 적용">
<created>1650286771669</created>
<option name="number" value="00037" />
<option name="presentableId" value="LOCAL-00037" />
<option name="project" value="LOCAL" />
<updated>1650286771669</updated>
</task>
<task id="LOCAL-00038" summary="이유식당 홈 기록이미지 노출변경(최초 등록된것으로), 이후에 대표이미지로 변경해야함.">
<created>1650292837211</created>
<option name="number" value="00038" />
<option name="presentableId" value="LOCAL-00038" />
<option name="project" value="LOCAL" />
<updated>1650292837211</updated>
</task>
<task id="LOCAL-00039" summary="d-day 체크리스트 사항 수정">
<created>1650298188595</created>
<option name="number" value="00039" />
<option name="presentableId" value="LOCAL-00039" />
<option name="project" value="LOCAL" />
<updated>1650298188596</updated>
</task>
<option name="localTasksCounter" value="40" />
<servers /> <servers />
</component> </component>
<component name="TypeScriptGeneratedFilesManager"> <component name="TypeScriptGeneratedFilesManager">
@ -502,10 +518,6 @@
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" /> <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
<option name="CHECK_NEW_TODO" value="false" /> <option name="CHECK_NEW_TODO" value="false" />
<MESSAGE value="음악설정 수정&#10;부모정보 변경 삭제" />
<MESSAGE value="비밀번호 찾기 기능 적용&#10;로그인 회원가입 형식 변경" />
<MESSAGE value="닉네임 변경기능 적용" />
<MESSAGE value="계정 동기화 기능 수정" />
<MESSAGE value="홈화면 퍼블리싱 기능 적용" /> <MESSAGE value="홈화면 퍼블리싱 기능 적용" />
<MESSAGE value="카카오,네이버 로그인 연동 설정 - 개발사이트(가온앤 아이디)" /> <MESSAGE value="카카오,네이버 로그인 연동 설정 - 개발사이트(가온앤 아이디)" />
<MESSAGE value="데이터 연동작업" /> <MESSAGE value="데이터 연동작업" />
@ -527,6 +539,10 @@
<MESSAGE value="아기정보입력 생년월일 형식 수정&#10;추천이유식 &gt; 카트팝업 검색 기능 및 조회 적용" /> <MESSAGE value="아기정보입력 생년월일 형식 수정&#10;추천이유식 &gt; 카트팝업 검색 기능 및 조회 적용" />
<MESSAGE value="메모리 공유기능 적용 - 카카오, URL복사" /> <MESSAGE value="메모리 공유기능 적용 - 카카오, URL복사" />
<MESSAGE value="회원가입 밸리데이션 및 유효성체크 보완" /> <MESSAGE value="회원가입 밸리데이션 및 유효성체크 보완" />
<option name="LAST_COMMIT_MESSAGE" value="회원가입 밸리데이션 및 유효성체크 보완" /> <MESSAGE value="회원가입 밸리데이션 및 유효성체크 보완 - 2" />
<MESSAGE value="공유기능 퍼블리싱 및 기능 적용" />
<MESSAGE value="이유식당 홈 기록이미지 노출변경(최초 등록된것으로), 이후에 대표이미지로 변경해야함." />
<MESSAGE value="d-day 체크리스트 사항 수정" />
<option name="LAST_COMMIT_MESSAGE" value="d-day 체크리스트 사항 수정" />
</component> </component>
</project> </project>

@ -565,6 +565,16 @@ public class ApiSMSController extends AbstractControllerManager{
json = RenaStringUtil.getJSONFromMap(map_json); json = RenaStringUtil.getJSONFromMap(map_json);
}else{ }else{
try { try {
//기존 등록된 전화번호가 있는지 확인
DataMap rm = aPIMemberBO.select_member_with_email_phone(paramMap);
//기존에 등록된 번호가 있다면
if(rm != null) {
map_json.put("MSG", "해당 전화번호는 이미 가입된 전화번호 입니다.");
json = RenaStringUtil.getJSONFromMap(map_json);
return json;
}
map_json.put("RESULT", "true"); map_json.put("RESULT", "true");
String is_test = RenaStringUtil.getData(paramMap, "is_test"); String is_test = RenaStringUtil.getData(paramMap, "is_test");

@ -158,8 +158,7 @@ public class M_Member_envController extends AbstractControllerManager{
} }
@RequestMapping(value="setting_env_viewnm") @RequestMapping(value="setting_env_viewnm")
public String setting_env_viewnm(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response public String setting_env_viewnm(@ModelAttribute("model") ModelMap model, HttpServletRequest request, RedirectAttributes ra) {
, RedirectAttributes ra) {
DataMap paramMap = gmUtil.getDataMapFromRequest(request); DataMap paramMap = gmUtil.getDataMapFromRequest(request);
String view_nm = RenaStringUtil.getData(paramMap, "view_nm"); String view_nm = RenaStringUtil.getData(paramMap, "view_nm");
@ -187,6 +186,21 @@ public class M_Member_envController extends AbstractControllerManager{
} else if(view_nm.equals("view_set_music")) { //음악설정 } else if(view_nm.equals("view_set_music")) { //음악설정
List<DataMap> music_list = member_envBO.select_music_list(paramMap); List<DataMap> music_list = member_envBO.select_music_list(paramMap);
DataMap.putToModel(model, "music_list", music_list); DataMap.putToModel(model, "music_list", music_list);
} else if(view_nm.equals("view_d_day")) { //D-Day 등록
DataMap dataMap = new DataMap();
//세팅된 년도,월이 없으면
if(paramMap.get("viewYear") == null || paramMap.get("viewMonth") == null) {
String viewYear = DateUtil.getTodayAddDate(0,"yyyy");
String viewMonth = DateUtil.getTodayAddDate(0,"MM");
dataMap.put("viewYear", viewYear);
dataMap.put("viewMonth", viewMonth);
} else {
dataMap.put("viewYear", paramMap.get("viewYear"));
dataMap.put("viewMonth", paramMap.get("viewMonth"));
}
DataMap.putToModel(model, "today", dataMap);
} }
DataMap.putToModel(model, "rm_mem", rm_mem); DataMap.putToModel(model, "rm_mem", rm_mem);
@ -794,7 +808,6 @@ public class M_Member_envController extends AbstractControllerManager{
* D-Day * D-Day
* @param model * @param model
* @param request * @param request
* @param response
* @return * @return
*/ */
@RequestMapping(value="ajax_insert_dday") @RequestMapping(value="ajax_insert_dday")

@ -27,7 +27,7 @@
x.member_id x.member_id
,x.name ,x.name
,x.nickname ,x.nickname
,x.birthday ,DATE_FORMAT(x.birthday, '%Y-%m-%d') as birthday
,x.gender ,x.gender
,x.password ,x.password
,x.profile_path ,x.profile_path
@ -68,7 +68,7 @@
,x.name ,x.name
,x.social_type ,x.social_type
,mc.email ,mc.email
,x.birthday ,DATE_FORMAT(x.birthday, '%Y-%m-%d') as birthday
,x.gender ,x.gender
,x.password ,x.password
,x.profile_path ,x.profile_path

@ -366,15 +366,12 @@
WHERE 1 = 1 WHERE 1 = 1
AND x.dn_no = #dn_no# AND x.dn_no = #dn_no#
AND x.smc_no = #smc_no# AND x.smc_no = #smc_no#
</select> </select>
<select id="select_bf_daily_nutrition_list_by_day" resultClass="dataMap" parameterClass="dataMap"> <select id="select_bf_daily_nutrition_list_by_day" resultClass="dataMap" parameterClass="dataMap">
SELECT x.* SELECT x.*
,(select group_concat(tm.memo) from tbl_bf_daily_nutrition_memo tm where tm.dn_no = x.dn_no) as memo ,(select group_concat(tm.memo) from tbl_bf_daily_nutrition_memo tm where tm.dn_no = x.dn_no) as memo
,REPLACE(append_src_img_file.mt_file_local_url, '/cdn001/', '') AS append_src_img_file_url ,(select file_seq from tbl_mt_file tf where mt_file_seq = x.file_seq limit 1) as file_seq
,REPLACE(append_src_img_file.mt_file_nm, '/cdn001/', '') AS append_src_img_file_nm
,REPLACE(append_300_img_file.mt_file_local_url, '/cdn001/', '') AS append_300_img_file_url
,REPLACE(append_300_img_file.mt_file_nm, '/cdn001/', '') AS append_300_img_file_nm
,cis_1.title AS nutirition_cd_no_title ,cis_1.title AS nutirition_cd_no_title
,(select color_cd from tbl_code_item ts where ts.val_1 = cis_1.cd_no) as color_cd ,(select color_cd from tbl_code_item ts where ts.val_1 = cis_1.cd_no) as color_cd
,CASE ,CASE
@ -452,14 +449,14 @@
( (
SELECT ifnull(temperature,'') FROM tbl_bf_daily_nutrition_15 tn1 WHERE tn1.dn_no = x.dn_no SELECT ifnull(temperature,'') FROM tbl_bf_daily_nutrition_15 tn1 WHERE tn1.dn_no = x.dn_no
) )
END AS time_val END AS time_val
FROM FROM
( (
SELECT SELECT
x.dn_no x.dn_no
,x.smc_no ,x.smc_no
,DATE_FORMAT(x.baseday, '%Y.%m.%d') AS baseday ,DATE_FORMAT(x.baseday, '%Y.%m.%d') AS baseday
,x.append_src_img_file ,y.file_seq
,case ,case
when x.append_300_img_file = 0 then x.append_src_img_file when x.append_300_img_file = 0 then x.append_src_img_file
else x.append_300_img_file else x.append_300_img_file
@ -475,15 +472,14 @@
ELSE CONCAT(TIMESTAMPDIFF(MONTH, x.reg_dt, NOW()), '달 전') ELSE CONCAT(TIMESTAMPDIFF(MONTH, x.reg_dt, NOW()), '달 전')
END AS ago END AS ago
FROM tbl_bf_daily_nutrition x FROM tbl_bf_daily_nutrition x
LEFT OUTER JOIN tbl_bf_daily_nutrition_attach y on x.dn_no = y.dn_no
WHERE 1 =1 WHERE 1 =1
AND x.smc_no = #smc_no# AND x.smc_no = #smc_no#
AND x.baseday = #base_dt# AND x.baseday = #base_dt#
) x ) x
LEFT JOIN tbl_mt_file append_src_img_file ON x.append_src_img_file = append_src_img_file.mt_file_seq
LEFT JOIN tbl_mt_file append_300_img_file ON x.append_300_img_file = append_300_img_file.mt_file_seq
LEFT JOIN tbl_code_item_str cis_1 ON cis_1.cd_no = x.nutirition_cd_no LEFT JOIN tbl_code_item_str cis_1 ON cis_1.cd_no = x.nutirition_cd_no
ORDER BY dn_no DESC ORDER BY dn_no DESC
</select> </select>
<select id="select_bf_daily_nutrition_list_count" resultClass="Integer" parameterClass="dataMap"> <select id="select_bf_daily_nutrition_list_count" resultClass="Integer" parameterClass="dataMap">
SELECT COUNT(*) SELECT COUNT(*)

@ -111,7 +111,7 @@
x.smc_no x.smc_no
,x.name ,x.name
,x.gender ,x.gender
,x.birthday ,DATE_FORMAT(x.birthday, '%Y-%m-%d') as birthday
,x.weight_birth ,x.weight_birth
,x.height_birth ,x.height_birth
,x.weight ,x.weight

@ -25,7 +25,7 @@
x.member_id x.member_id
,x.name ,x.name
,x.nickname ,x.nickname
,x.birthday ,DATE_FORMAT(x.birthday, '%Y-%m-%d') as birthday
,x.gender ,x.gender
,x.password ,x.password
,x.profile_path ,x.profile_path

@ -272,8 +272,8 @@
<div class="shared"> <div class="shared">
<div class="item"> <div class="item">
<a> <a>
<div class="img"><img src="${URL_ROOT}/m/img/Icon_Share_Insta.png"></div> <div class="img"><img src="${URL_ROOT}/m/img/Icon_Share_Facebook.png"></div>
인스타그램 페이스북
</a> </a>
</div> </div>
<div class="item"> <div class="item">

@ -88,7 +88,7 @@
<div class="input_file_upload"> <div class="input_file_upload">
<input type="file" id="append_src_img_file_${item_img_index}" name="append_src_img_file_${item_img_index}" accept="image/*;capture=camera" class="upfile"> <button type="button" class="btn_upfile"></button> <input type="file" id="append_src_img_file_${item_img_index}" name="append_src_img_file_${item_img_index}" accept="image/*;capture=camera" class="upfile"> <button type="button" class="btn_upfile"></button>
<div id="add_thumb" class="add_thumb"> <div id="add_thumb" class="add_thumb">
<img src="${URL_ROOT}/file/get.do?mt_file_seq=${item_img['append_src_img_file']!}" alt="사진추가하기"> <img src="${URL_ROOT}/file/get.do?mt_file_seq=${item_img['mt_file_seq']!}" alt="사진추가하기">
</div> </div>
<button type="button" id="" class="ibtn_x off" style="display:inline">삭제</button> <button type="button" id="" class="ibtn_x off" style="display:inline">삭제</button>
</div> </div>

@ -329,7 +329,8 @@
var addTime =function(min) { var addTime =function(min) {
var eat_time = parseInt($("#timer").text().substr(0,2)) + (min*1) ; var eat_time = parseInt($("#timer").text().substr(0,2)) + (min*1) ;
if(eat_time <0) eat_time = 0; if(eat_time <0) eat_time = 0;
$("#iptbm").val(Lpad(eat_time,2)); $("#iptbm").val(Lpad(eat_time,2));
$("#iptbs").val(Lpad(parseInt($("#timer").text().substr(3,2)),2)); $("#iptbs").val(Lpad(parseInt($("#timer").text().substr(3,2)),2));
$("#bm").val($("#iptbm").val()); $("#bm").val($("#iptbm").val());
@ -515,10 +516,14 @@
}); });
$("#iptbm").on("change", function() { $("#iptbm").on("change", function() {
$("#timer").text(Lpad(this.value,2) + ":" + Lpad($("#iptbs").val(),2) );
initMinute = parseInt($("#timer").text().substr(0,2))*60 + parseInt($("#timer").text().substr(3,2)) ;
$("#bm").val(this.value); $("#bm").val(this.value);
}); });
$("#iptbs").on("change", function() { $("#iptbs").on("change", function() {
$("#timer").text(Lpad($("#iptbm").val(),2) + ":" + Lpad(this.value,2) );
initMinute = parseInt($("#timer").text().substr(0,2))*60 + parseInt($("#timer").text().substr(3,2)) ;
$("#bs").val(this.value); $("#bs").val(this.value);
}); });

@ -114,7 +114,7 @@
var pick_img_index = "${pick_img_index!'0'}"; var pick_img_index = "${pick_img_index!'0'}";
function add_pick_file(){ function add_pick_file(){
if($(".add_pic_list_item").length > 3) { if($(".add_pic_list_item").length > 2) {
Swal.fire({text: '이미지는 3개 까지만 가능합니다.'}); Swal.fire({text: '이미지는 3개 까지만 가능합니다.'});
return; return;
} }

@ -61,7 +61,7 @@
<#if model['lm_lastest_lac']? has_content> <#if model['lm_lastest_lac']? has_content>
<#list model['lm_lastest_lac'] as item> <#list model['lm_lastest_lac'] as item>
<div class="milk_sel"><a onclick="javascript:save_set('db_dbc_no', '${item['db_dbc_no']!}', '${item['prd_nm']!}')" style="color:#fff;"> ${item['prd_nm']!}</a></div> <div class="milk_sel"><a onclick="javascript:save_set('db_dbc_no', '${item['db_dbc_no']!}', '${item['prd_nm']!}')"> ${item['prd_nm']!}</a></div>
</#list> </#list>
</#if> </#if>

@ -47,12 +47,12 @@
<div class="time_result w_div"> <div class="time_result w_div">
<div class="time_div"> <div class="time_div">
<div class="border_b_input"> <div class="border_b_input">
<input type="text" id="iptbm" name="iptbm" value="${model['rm']['disturb_min']!}" readonly /> <input type="number" id="iptbm" name="iptbm" value="${model['rm']['disturb_min']!}" />
<input type="hidden" id="disturb_min" name="disturb_min" value="${model['rm']['disturb_min']!}" readonly /> <input type="hidden" id="disturb_min" name="disturb_min" value="${model['rm']['disturb_min']!}" readonly />
<p>분</p> <p>분</p>
</div> </div>
<div class="border_b_input"> <div class="border_b_input">
<input type="text" id="iptbs" name="iptbs" value="${model['rm']['disturb_sec']!}" readonly /> <input type="number" id="iptbs" name="iptbs" value="${model['rm']['disturb_sec']!}" />
<input type="hidden" id="disturb_sec" name="disturb_sec" value="${model['rm']['disturb_sec']!}" readonly /> <input type="hidden" id="disturb_sec" name="disturb_sec" value="${model['rm']['disturb_sec']!}" readonly />
<p>초</p> <p>초</p>
</div> </div>

@ -42,7 +42,7 @@
<div class="bg_border" onclick="pauseTime();setTimer();" > <div class="bg_border" onclick="pauseTime();setTimer();" >
<div class="bg_full"> <div class="bg_full">
<p>유시작</p> <p>유시작</p>
<span id="timer">00:00</span> <span id="timer">00:00</span>
</div> </div>
</div> </div>

@ -14,7 +14,7 @@
<ul class="type_tab"> <ul class="type_tab">
<#if model['lm_lac_tp']? has_content> <#if model['lm_lac_tp']? has_content>
<#list model['lm_lac_tp'] as item> <#list model['lm_lac_tp'] as item>
<li data-tab="tab${item?counter}" onclick="javascript:save.set('milk_tp', '${item['cd_no']}');" <#if (model['rm']['milk_tp']?exists && model['rm']['milk_tp'] == item['cd_no'] ) >class="current"</#if>><a href="javascript:void(0);">${item['title']}</a></li> <li data-tab="tab${item?counter}" onclick="javascript:save.set('milk_tp', '${item['cd_no']}');pauseTime();startTime(0);setTimer();" <#if (model['rm']['milk_tp']?exists && model['rm']['milk_tp'] == item['cd_no'] ) >class="current"</#if>><a href="javascript:void(0);">${item['title']}</a></li>
</#list> </#list>
</#if> </#if>
</ul> </ul>
@ -75,7 +75,7 @@
<#if model['lm_lastest_lac']? has_content> <#if model['lm_lastest_lac']? has_content>
<#list model['lm_lastest_lac'] as item> <#list model['lm_lastest_lac'] as item>
<div class="milk_sel"><a onclick="javascript:save_set('db_dn_no', '${item['db_dn_no']!}', '${item['prd_nm']!}')" style="color:#fff;"> ${item['prd_nm']!}</a></div> <div class="milk_sel"><a onclick="javascript:save_set('db_dn_no', '${item['db_dn_no']!}', '${item['prd_nm']!}')" > ${item['prd_nm']!}</a></div>
</#list> </#list>
</#if> </#if>

@ -62,7 +62,7 @@
<#if model['lm_lastest_lac']? has_content> <#if model['lm_lastest_lac']? has_content>
<#list model['lm_lastest_lac'] as item> <#list model['lm_lastest_lac'] as item>
<div class="milk_sel"><a onclick="javascript:save_set('db_dn_no', '${item['db_dn_no']!}', '${item['prd_nm']!}')" style="color:#fff;"> ${item['prd_nm']!}</a></div> <div class="milk_sel"><a onclick="javascript:save_set('db_dn_no', '${item['db_dn_no']!}', '${item['prd_nm']!}')" > ${item['prd_nm']!}</a></div>
</#list> </#list>
</#if> </#if>
@ -243,7 +243,7 @@
var company = result.list[i].company; var company = result.list[i].company;
var barcode = result.list[i].barcode; var barcode = result.list[i].barcode;
var imgurl1 = result.list[i].imgurl1; var imgurl1 = result.list[i].imgurl1;
html +='<li><a href="javascript:save_set(\'db_dbc_no\', \'' + dbc_no + '\', \'' + prd_nm + '\', \'sf\' );"><img src="${URL_ROOT}/file/get.do?mt_file_seq=' + imgurl1 + '" alt="간식 이미지" width="200px" />' + prd_nm + '</a></li>'; html +='<li><a href="javascript:save_set(\'db_dbc_no\', \'' + dbc_no + '\', \'' + prd_nm + '\', \'sf\' );"><img src="${URL_ROOT}/file/get.do?mt_file_seq=' + imgurl1 + '" alt="" width="200px" />' + prd_nm + '</a></li>';
} }
var ul_board2 = $('#ul_board2'); var ul_board2 = $('#ul_board2');

@ -61,7 +61,7 @@
<#if model['lm_lastest_lac']? has_content> <#if model['lm_lastest_lac']? has_content>
<#list model['lm_lastest_lac'] as item> <#list model['lm_lastest_lac'] as item>
<div class="milk_sel"><a onclick="javascript:save_set('db_dhb_no', '${item['db_dhb_no']!}', '${item['prd_nm']!}')" style="color:#fff;"> ${item['prd_nm']!}</a></div> <div class="milk_sel"><a onclick="javascript:save_set('db_dhb_no', '${item['db_dhb_no']!}', '${item['prd_nm']!}')" > ${item['prd_nm']!}</a></div>
</#list> </#list>
</#if> </#if>

@ -26,9 +26,9 @@
<div> <div>
<span style="display:none"><input onchange="readImg(this)" type="file" id="append_src_img_file" id="append_src_img_file" name="append_src_img_file" accept="image/*;capture=camera"></span> <span style="display:none"><input onchange="readImg(this)" type="file" id="append_src_img_file" id="append_src_img_file" name="append_src_img_file" accept="image/*;capture=camera"></span>
<#if (item['append_300_img_file'])?has_content> <#if (item['append_300_img_file'])?has_content>
<p onclick="fncImgDivClick()" class="proimg"><img style="width: auto;max-width:70px; height: 70px" id="preview-img" src="${URL_ROOT}/file/get_img.do?mt_file_seq=${item['append_300_img_file']}" alt="프로필 사진" /></p> <p onclick="fncImgDivClick()" class="proimg"><img style="width: 65; height: 64px; object-fit:cover; border-radius:60px;" id="preview-img" src="${URL_ROOT}/file/get_img.do?mt_file_seq=${item['append_300_img_file']}" alt="프로필 사진" /></p>
<#else> <#else>
<p onclick="fncImgDivClick()" class="proimg"><img style="width: auto;max-width:70px; height: 70px" id="preview-img" src="../img/main/nutrition_cont_img_camera.png" alt="프로필 사진" /></p> <p onclick="fncImgDivClick()" class="proimg"><img style="width: 65; height: 64px; object-fit:cover; border-radius:60px;" id="preview-img" src="../img/main/nutrition_cont_img_camera.png" alt="프로필 사진" /></p>
</#if> </#if>
<p class="info"><span class="name">사진을 등록해주세요</span></p> <p class="info"><span class="name">사진을 등록해주세요</span></p>
</div> </div>

@ -11,7 +11,8 @@
if(s_time <= 0){ if(s_time <= 0){
stop_timer(); stop_timer();
Swal.fire({ text: "다시 인증해주시기 바랍니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success // Swal.fire({ text: "다시 인증해주시기 바랍니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
Swal.fire({text: '인증 시간이 만료 되었습니다. 다시 인증해 주시기 바랍니다.'}).then((result)=>{ history.back(); })
}else{ }else{
--s_time; --s_time;
@ -163,7 +164,7 @@
dataType:'json', dataType:'json',
error:function(request,status,error){ error:function(request,status,error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
// stop_timer(); stop_timer();
}, },
success:function(result){ success:function(result){
console.log(result); console.log(result);

@ -269,7 +269,7 @@
<#assign memo = item['memo']!> <#assign memo = item['memo']!>
<#assign time_text = item['time_val']!> <#assign time_text = item['time_val']!>
</#if> </#if>
<img src="<#if item['append_300_img_file']?exists>${URL_ROOT}/file/get_img.do?mt_file_seq=${item['append_300_img_file']}<#else>${URL_STATIC_ROOT}/m/img/child/child_pic_02.png</#if>" alt="사진영역"> <img src="<#if item['file_seq']?exists>${URL_ROOT}/file/get_img.do?mt_file_seq=${item['file_seq']}<#else>${URL_STATIC_ROOT}/m/img/child/child_pic_02.png</#if>" alt="사진영역">
</div> </div>
<div class="main_cont_circle" style="border-color: ${item['color_cd']};"></div> <div class="main_cont_circle" style="border-color: ${item['color_cd']};"></div>
<div class="main_cont_info"> <div class="main_cont_info">

@ -23,6 +23,7 @@
<p>인증코드</p> <p>인증코드</p>
<div class="input_search_phone"> <div class="input_search_phone">
<input type="text" maxlength="4" id="check_num" name="check_num" placeholder="인증코드를 입력하세요" class="input_box" /> <input type="text" maxlength="4" id="check_num" name="check_num" placeholder="인증코드를 입력하세요" class="input_box" />
남은시간 <span id="id_limit_time"></span>
</div> </div>
<div class="input_search_phone_btn"> <div class="input_search_phone_btn">
<a href="javascript:ajax_confirm_sms();">인증코드 확인</a> <a href="javascript:ajax_confirm_sms();">인증코드 확인</a>
@ -39,4 +40,7 @@
</body> </body>
<#include "/m/include/confirm.ftl"> <#include "/m/include/confirm.ftl">
<script>
start_timer();
</script>
<#include "/m/include/index_bottom.ftl"> <#include "/m/include/index_bottom.ftl">

@ -31,10 +31,12 @@
<div class="input_phone"> <div class="input_phone">
<input readonly type="number" id="phone" name="phone" value="${Session.rm_member['phone']!}" class="input_box" onfocus="this.placeholder=''" <input readonly type="number" id="phone" name="phone" value="${Session.rm_member['phone']!}" class="input_box" onfocus="this.placeholder=''"
onblur="this.placeholder='전화번호를 입력하세요'" /> onblur="this.placeholder='전화번호를 입력하세요'" />
<p>* 번호로 인증코드를 발송하였습니다.</p>
</div> </div>
<h5>인증코드</h5> <h5>인증코드</h5>
<div class="input_sign_phone"> <div class="input_sign_phone">
<input type="text" maxlength="4" id="check_num" name="check_num" class="input_box" /> <input type="text" maxlength="4" id="check_num" name="check_num" placeholder="인증코드를 입력해 주세요." class="input_box" />
남은시간 <span id="id_limit_time"></span>
</div> </div>
<div class="input_search_phone_btn"> <div class="input_search_phone_btn">
@ -56,6 +58,40 @@
var s_time = 180; var s_time = 180;
var timer_check; var timer_check;
start_timer = function() {
stop_timer();
timer_check = setInterval(function() {
if(s_time <= 0){
stop_timer();
// Swal.fire({ text: "다시 인증해주시기 바랍니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
Swal.fire({text: '인증 시간이 만료 되었습니다. 다시 인증해 주시기 바랍니다.'}).then((result)=>{ history.back(); })
}else{
--s_time;
var min = parseInt((s_time%3600)/60);
var sec = s_time%60;
if(sec > -1){
var remain_time = min + ":" + (sec < 10 ? "0" + sec : sec);
// console.log('min:' + min + ' sec:' + sec + ' remain_time:' + remain_time);
$('#id_limit_time').text(remain_time);
}
}
}, 1000);
};
stop_timer = function(){
clearInterval(timer_check);
s_time = 180;
is_loading = false;
};
start_timer();
function ajax_confirm_sms() { function ajax_confirm_sms() {
if (is_loading == false) { if (is_loading == false) {
is_loading = true; is_loading = true;
@ -93,7 +129,7 @@
// Swal.fire({ text: "인증되었습니다.", icon: 'success', showConfirmButton: false, timer: 1500 }); // success // Swal.fire({ text: "인증되었습니다.", icon: 'success', showConfirmButton: false, timer: 1500 }); // success
location.href='${URL_ROOT}/m/login/view_join_member_02.do'; location.href='${URL_ROOT}/m/login/view_join_member_02.do';
}else{ }else{
Swal.fire({ text: "인증에 실패했습니다. 인증번호가 맞지 않거나 인증시간 3분 초과입니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success Swal.fire({ text: "인증에 실패했습니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
is_loading = false; is_loading = false;
} }

@ -23,6 +23,7 @@
<p>인증코드</p> <p>인증코드</p>
<div class="input_search_phone"> <div class="input_search_phone">
<input type="text" maxlength="4" id="check_num" name="check_num" placeholder="인증코드를 입력하세요" class="input_box" /> <input type="text" maxlength="4" id="check_num" name="check_num" placeholder="인증코드를 입력하세요" class="input_box" />
남은시간 <span id="id_limit_time"></span>
</div> </div>
<div class="input_search_phone_btn"> <div class="input_search_phone_btn">
<a href="javascript:ajax_confirm_pw_sms();">인증코드 확인</a> <a href="javascript:ajax_confirm_pw_sms();">인증코드 확인</a>
@ -39,4 +40,7 @@
</body> </body>
<#include "/m/include/confirm.ftl"> <#include "/m/include/confirm.ftl">
<script>
start_timer();
</script>
<#include "/m/include/index_bottom.ftl"> <#include "/m/include/index_bottom.ftl">

@ -75,12 +75,13 @@
<script> <script>
// -------- 캘린더 로직 -------- // -------- 캘린더 로직 --------
// Date 객체 생성 // Date 객체 생성
let date = new Date(); let date = new Date("${model['today']['viewYear']}", parseInt("${model['today']['viewMonth']}") - 1);
let schedule = []; let schedule = [];
const renderCalendar = () => { const renderCalendar = () => {
const viewYear = date.getFullYear(); const viewYear = date.getFullYear();
const viewMonth = date.getMonth(); const viewMonth = date.getMonth();
// console.log(viewYear + "," + viewMonth);
// year, month 채우기 // year, month 채우기
document.querySelector('.year').textContent = viewYear; document.querySelector('.year').textContent = viewYear;
@ -217,6 +218,8 @@
//신규 등록 //신규 등록
function fncInsert() { function fncInsert() {
var dayArr = $("#d_day").val().split("/");
$.ajax({ $.ajax({
url:'${URL_ROOT}/m/member_env/ajax_insert_dday.do', url:'${URL_ROOT}/m/member_env/ajax_insert_dday.do',
type:'get', type:'get',
@ -230,7 +233,9 @@
}, },
success:function(result){ success:function(result){
if(result.RESULT == "1") { if(result.RESULT == "1") {
Swal.fire({text: '정상적으로 등록 되었습니다.'}).then((result)=>{ location.reload(); }) Swal.fire({text: '정상적으로 등록 되었습니다.'}).then((result)=>{
location.href='${URL_ROOT}/m/member_env/setting_env_viewnm.do?return_url=setting&view_nm=view_d_day&viewYear=' + dayArr[0] + "&viewMonth=" + dayArr[1];
})
} else { } else {
console.log(result); console.log(result);
Swal.fire({text: '등록되지 않았습니다.'}); Swal.fire({text: '등록되지 않았습니다.'});
@ -242,6 +247,8 @@
//수정 //수정
function fncModify() { function fncModify() {
var dayArr = $("#d_day").val().split("/");
$.ajax({ $.ajax({
url:'${URL_ROOT}/m/member_env/ajax_update_dday.do', url:'${URL_ROOT}/m/member_env/ajax_update_dday.do',
type:'get', type:'get',
@ -256,7 +263,9 @@
}, },
success:function(result){ success:function(result){
if(result.RESULT == "1") { if(result.RESULT == "1") {
Swal.fire({text: '정상적으로 수정 되었습니다.'}).then((result)=>{ location.reload(); }) Swal.fire({text: '정상적으로 수정 되었습니다.'}).then((result)=>{
location.href='${URL_ROOT}/m/member_env/setting_env_viewnm.do?return_url=setting&view_nm=view_d_day&viewYear=' + dayArr[0] + "&viewMonth=" + dayArr[1];
})
} else { } else {
console.log(result); console.log(result);
Swal.fire({text: '저장되지 않았습니다.'}); Swal.fire({text: '저장되지 않았습니다.'});
@ -267,6 +276,8 @@
//삭제 //삭제
function fncDelete() { function fncDelete() {
var dayArr = $("#d_day").val().split("/");
$.ajax({ $.ajax({
url:'${URL_ROOT}/m/member_env/ajax_delete_dday.do', url:'${URL_ROOT}/m/member_env/ajax_delete_dday.do',
type:'get', type:'get',
@ -279,7 +290,9 @@
success:function(result){ success:function(result){
console.log(result); console.log(result);
if(result.RESULT == "1") { if(result.RESULT == "1") {
Swal.fire({text: '정상적으로 삭제 되었습니다.'}).then((result)=>{ location.reload(); }) Swal.fire({text: '정상적으로 삭제 되었습니다.'}).then((result)=>{
location.href='${URL_ROOT}/m/member_env/setting_env_viewnm.do?return_url=setting&view_nm=view_d_day&viewYear=' + dayArr[0] + "&viewMonth=" + dayArr[1];
})
} else { } else {
console.log(result); console.log(result);
Swal.fire({text: '삭제되지 않았습니다.'}); Swal.fire({text: '삭제되지 않았습니다.'});

@ -6,7 +6,7 @@
<!-- header_sub --> <!-- header_sub -->
<header class="header_wrapper"> <header class="header_wrapper">
<a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a> <a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">아이디 찾기</h1> <h1 class="header_title">전화번호 변경</h1>
</header> </header>
<!-- //header_sub --> <!-- //header_sub -->

@ -1,35 +1,33 @@
<div id="sharePopup" class="modal-wrapper"> <!-- modal-wrapper -->
<div class="modal_content" style="width: 320px;"> <div class="community_option" id="shared">
<div class="head"> <div class="content">
<div class="title">공유하기</div> <!-- 공유 모달 -->
<div class="modal_close_btn"><img src="../img/close_ico.png"></div> <div class="shared">
</div> <div class="item">
<div class="content"> <a>
<ul class="share-list"> <div id="linkedFacebook" class="img"><img src="../img/Icon_Share_Facebook.png"></div>
<li class="kakao" id="linkedKakao" style="padding-left:40px;padding-right:40px;"><a href="#"><img src="/bf/m/img/Icon_Share_Kakao.png" alt="" style="width:40px;" /></a></li> 페이스북
<li class="facebook" style="padding-right:40px;"><a href="#"><img src="/bf/m/img/Icon_Share_Facebook.png" style="width:40px;" /></a></li> </a>
<li class="copy"> </div>
<a href="#popup-url-copy" class="copy_btn" > <div class="item">
<img src="/bf/m/img/Icon_Share_Clip.png" alt="" style="width:60px;margin-top:-10px;"/> <a>
<input type="hidden" class="copy_text" value=""/> <div id="linkedKakao" class="img"><img src="../img/Icon_Share_Kakao.png"></div>
</a> 카카오톡
</li> </a>
</ul> </div>
<div class="item">
<a>
<div class="img copy"><img src="../img/Icon_Share_Clip.png"></div>
URL 복사
</a>
</div>
</div> </div>
</div> </div>
<div class="modal_layer"></div>
<input type="text" style="display: none" id="copyText" value=""/>
</div> </div>
<!-- //modal-wrapper -->
<div id="shareCopy" class="modal-wrapper">
<div class="modal_content" style="width: 400px;">
<div class="head">
<div class="title">공유하기</div>
<div class="modal_close_btn"><img src="../img/close_ico.png"></div>
</div>
<div class="content">
<p class="single-txt">URL이 복사 되었습니다. <br />원하는 곳에 붙여넣기 해 주세요.</p>
</div>
</div>
</div>
<script> <script>
var kakao_option = { var kakao_option = {
@ -44,8 +42,7 @@
webUrl:"", webUrl:"",
mobileWebUrl: "", mobileWebUrl: "",
androidExecutionParams: "", androidExecutionParams: "",
iosExecutionParams: "", iosExecutionParams: ""
}, },
}, },
buttons: [ buttons: [
@ -64,29 +61,30 @@
] ]
}; };
$(".modal_layer").on("click", function() {
$(".community_option").removeClass("open");
})
//공유버튼 클리기 이벤트
$("#share-list").on("click", function() { $("#share-list").on("click", function() {
$('#sharePopup').addClass('open'); $('#shared').addClass('open');
}); });
$('.modal_close_btn').on('click', function() { //복사하기 클릭시 이벤트
$('.modal-wrapper').removeClass('open'); $(".copy").on("click" , function(e) {
}); $("#copyText").css("display","");
var copyText = document.getElementById("copyText");
copyText.select();
copyText.setSelectionRange(0,99999);
document.execCommand("Copy");
$(".community_option").removeClass("open");
$("#copyText").css("display","none");
$(".kakao").on("click" , function(e) { Swal.fire({text: 'URL이 복사 되었습니다. 원하는 곳에 붙여넣기 해 주세요.'});
e.preventDefault();
}); });
$(".copy").on("click" , function(e) { $("#linkedFacebook").on("click" , function(e) {
e.preventDefault(); e.preventDefault();
var target = $(this); window.open(shareUrlFB, '', 'scrollbars=no, width=584, height=635');
target.find("input").attr("type" , "text");
target.find("input").get(0).select();
target.find("input").get(0).setSelectionRange(0, 9999); // 추가
var success = document.execCommand("copy");
target.find("input").attr("type" , "hidden");
$('.modal-wrapper').removeClass('open');
$("#shareCopy").addClass('open');
}); });
</script> </script>

@ -125,11 +125,15 @@
$("#p_" + attr_id).show(); $("#p_" + attr_id).show();
} }
//공유 URL //카카오톡 공유 및 클립보드 복사 URL
var param = "member_id=${model['rm_mem']['member_id']!}&smc_no=${model['rm_child']['smc_no']}&birthday=${model['rm_child']['birthday']}&dayFlag=${model['rm_mem']['dayFlag']!}&currDate=${model['rm_mem']['currDate']!}"; var param = "member_id=${model['rm_mem']['member_id']!}&smc_no=${model['rm_child']['smc_no']}&birthday=${model['rm_child']['birthday']}&dayFlag=${model['rm_mem']['dayFlag']!}&currDate=${model['rm_mem']['currDate']!}";
var shareURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/memory/memory_daily_share?" + param; var shareURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/memory/memory_daily_share?" + param;
var webURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/"; var webURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/";
//페이스북 URL
var shareUrlFB = "https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(shareURL)+"&t="+encodeURI("이유식당");
kakao_option.content.description = "메모리 일간 공유"; kakao_option.content.description = "메모리 일간 공유";
kakao_option.container = "#linkedKakao"; kakao_option.container = "#linkedKakao";
kakao_option.content.link.webUrl = shareURL; kakao_option.content.link.webUrl = shareURL;
@ -155,6 +159,6 @@
} }
}); });
$(".copy .copy_text").val(shareURL); $("#copyText").val(shareURL);
</script> </script>
</html> </html>

@ -117,10 +117,14 @@
<!-- 공유기능 --> <!-- 공유기능 -->
<#include "/m/memory/memory_common.ftl"> <#include "/m/memory/memory_common.ftl">
<script> <script>
//공유 URL //카카오톡 공유 및 클립보드 복사 URL
var shareURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/memory/memory_timeline_share?member_id=${model['rm_mem']['member_id']!}&smc_no=${model['rm_child']['smc_no']}"; var param = "member_id=${model['rm_mem']['member_id']!}&smc_no=${model['rm_child']['smc_no']}";
var shareURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/memory/memory_timeline_share?" + param;
var webURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/"; var webURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/";
//페이스북 URL
var shareUrlFB = "https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(shareURL)+"&t="+encodeURI("이유식당");
kakao_option.content.description = "메모리 타임라인 공유"; kakao_option.content.description = "메모리 타임라인 공유";
kakao_option.container = "#linkedKakao"; kakao_option.container = "#linkedKakao";
kakao_option.content.link.webUrl = shareURL; kakao_option.content.link.webUrl = shareURL;
@ -146,7 +150,7 @@
} }
}); });
$(".copy .copy_text").val(shareURL); $("#copyText").val(shareURL);
</script> </script>
</body> </body>
<#include "/m/include/index_bottom.ftl"> <#include "/m/include/index_bottom.ftl">

@ -253,11 +253,14 @@
}); });
} }
//공유 URL //카카오톡 공유 및 클립보드 복사 URL
var param = "member_id=${model['rm_mem']['member_id']!}&smc_no=${model['rm_child']['smc_no']}&dayFlag=${model['rm_mem']['dayFlag']!}&currDate=${model['rm_mem']['currDate']!}"; var param = "member_id=${model['rm_mem']['member_id']!}&smc_no=${model['rm_child']['smc_no']}&dayFlag=${model['rm_mem']['dayFlag']!}&currDate=${model['rm_mem']['currDate']!}";
var shareURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/memory/memory_week_share?" + param; var shareURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/memory/memory_week_share?" + param;
var webURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/"; var webURL = window.location.protocol + "//" + window.location.host + "${URL_ROOT}" + "/m/";
//페이스북 URL
var shareUrlFB = "https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(shareURL)+"&t="+encodeURI("이유식당");
kakao_option.content.description = "메모리 주간 공유"; kakao_option.content.description = "메모리 주간 공유";
kakao_option.container = "#linkedKakao"; kakao_option.container = "#linkedKakao";
kakao_option.content.link.webUrl = shareURL; kakao_option.content.link.webUrl = shareURL;
@ -283,7 +286,7 @@
} }
}); });
$(".copy .copy_text").val(shareURL); $("#copyText").val(shareURL);
</script> </script>
</body> </body>

@ -15808,6 +15808,13 @@ main.sona_cont_measurement {
display: flex; display: flex;
} }
.community_view01 .profile_info .btn_reply{
font-size: 13px;
position: relative;
bottom: 0.1355rem;
cursor: pointer;
}
.community_view01 .like_shared_cont { .community_view01 .like_shared_cont {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
@ -15908,6 +15915,30 @@ main.sona_cont_measurement {
border-radius: 15px; border-radius: 15px;
} }
.comment_input_cont .reply_cont{
width: 100%;
height: 1.3rem;
background-color: #FFEBCB;
position: absolute;
display: none;
justify-content: space-between;
align-items: center;
padding: 0 10px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
top: -1.3rem;
left: 0;
}
.comment_input_cont .active{
display: flex;
}
.comment_input_cont .reply_cont .reply_to{
font-size: 1rem;
color: rgba(0, 0, 0, 0.86);
}
.community_option { .community_option {
display: none; display: none;
@ -17071,9 +17102,9 @@ color: white;
} }
.setting_header_child_top .proimg img { .setting_header_child_top .proimg img {
width: 100%; width: 65px;
border-radius: 60px; height: 64px;
box-shadow: 0 0 2px; object-fit: cover;
} }
.setting_header_child_top p { .setting_header_child_top p {

@ -131,11 +131,15 @@
<!-- profile --> <!-- profile -->
<div class="profile_cont"> <div class="profile_cont">
<div class="profile_img"> <div class="profile_img">
<img src="../../img/community/community_writer_img.png" alt="프로필 사진"> <img src="../../img/community/person-fill.svg" alt="기본 프로필 사진">
</div> </div>
<div class="profile_info"> <div class="profile_info">
<p>닉네임</p> <p>닉네임</p>
<p>00:00</p> <div>
<p>00:00</p>
<p>&nbsp;&#183;&nbsp;</p>
<button class="btn_reply">답글쓰기</button>
</div>
</div> </div>
</div> </div>
<!-- option --> <!-- option -->
@ -159,7 +163,11 @@
</div> </div>
<div class="profile_info"> <div class="profile_info">
<p>닉네임</p> <p>닉네임</p>
<p>00:00</p> <div>
<p>00:00</p>
<p>&nbsp;&#183;&nbsp;</p>
<button class="btn_reply">답글쓰기</button>
</div>
</div> </div>
</div> </div>
<!-- option --> <!-- option -->
@ -183,7 +191,11 @@
</div> </div>
<div class="profile_info"> <div class="profile_info">
<p>닉네임</p> <p>닉네임</p>
<p>00:00</p> <div>
<p>00:00</p>
<p>&nbsp;&#183;&nbsp;</p>
<button class="btn_reply">답글쓰기</button>
</div>
</div> </div>
</div> </div>
<!-- option --> <!-- option -->
@ -207,7 +219,11 @@
</div> </div>
<div class="profile_info"> <div class="profile_info">
<p>닉네임</p> <p>닉네임</p>
<p>00:00</p> <div>
<p>00:00</p>
<p>&nbsp;&#183;&nbsp;</p>
<button class="btn_reply">답글쓰기</button>
</div>
</div> </div>
</div> </div>
<!-- option --> <!-- option -->
@ -231,7 +247,11 @@
</div> </div>
<div class="profile_info"> <div class="profile_info">
<p>닉네임</p> <p>닉네임</p>
<p>00:00</p> <div>
<p>00:00</p>
<p>&nbsp;&#183;&nbsp;</p>
<button class="btn_reply">답글쓰기</button>
</div>
</div> </div>
</div> </div>
<!-- option --> <!-- option -->
@ -251,11 +271,15 @@
<!-- profile --> <!-- profile -->
<div class="profile_cont"> <div class="profile_cont">
<div class="profile_img"> <div class="profile_img">
<img src="../../img/community/community_writer_img.png" alt="프로필 사진"> <img src="../../img/community/person-fill.svg" alt="기본 프로필 사진">
</div> </div>
<div class="profile_info"> <div class="profile_info">
<p>닉네임</p> <p>닉네임</p>
<p>00:00</p> <div>
<p>00:00</p>
<p>&nbsp;&#183;&nbsp;</p>
<button class="btn_reply">답글쓰기</button>
</div>
</div> </div>
</div> </div>
<!-- option --> <!-- option -->
@ -279,9 +303,15 @@
<!-- //wrap --> <!-- //wrap -->
<div class="comment_input_cont"> <div class="comment_input_cont">
<div class="reply_cont">
<div class="reply_to">
닉네임 님에게 답글쓰는 중
</div>
<button class="reply_del">
<img src="../../img/close_ico.png" alt="취소 버튼">
</button>
</div>
<div class="input"> <div class="input">
<label class="file_icon" for="image-upload"></label>
<input type="file" accept="image/*;capture=camera" id="image-upload" style="display:none;">
<textarea placeholder="댓글 남기기" onkeydown="resize(this)" onkeyup="resize(this)"></textarea> <textarea placeholder="댓글 남기기" onkeydown="resize(this)" onkeyup="resize(this)"></textarea>
</div> </div>
<div class="submit"> <div class="submit">
@ -333,12 +363,12 @@
<div class="content"> <div class="content">
<!-- 옵션 모달 --> <!-- 옵션 모달 -->
<ul> <ul>
<!-- <li> <li>
<a> <a>
<div class="copy_icon"></div> <div class="copy_icon"></div>
복사하기 복사하기
</a> </a>
</li> --> </li>
<li> <li>
<a> <a>
<div class="edit_icon"></div> <div class="edit_icon"></div>
@ -407,6 +437,13 @@
$(".modal_layer").on("click", function() { $(".modal_layer").on("click", function() {
$(".community_option").removeClass("open"); $(".community_option").removeClass("open");
}) })
$(".btn_reply").on("click", function() {
$(".reply_cont").addClass("active");
})
$(".reply_del").on("click", function() {
$(".reply_cont").removeClass("active");
})
}); });
var swiper = new Swiper('.swiper-container', { var swiper = new Swiper('.swiper-container', {
spaceBetween: 20, spaceBetween: 20,

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="#FFF" class="bi bi-person-fill" viewBox="-1 -1 18 18" style="background-color: #999;">
<path d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>
</svg>

After

Width:  |  Height:  |  Size: 251 B

Loading…
Cancel
Save