dev_bert
jonghwan76 3 years ago
commit 2299aece84

@ -510,15 +510,33 @@ public class M_Bf_daily_nutritionController extends AbstractControllerManager{
@RequestMapping(value="ajax_insert_homemade_self", method=RequestMethod.POST) @RequestMapping(value="ajax_insert_homemade_self", method=RequestMethod.POST)
@ResponseBody @ResponseBody
public HashMap<String, Object> ajax_insert_homemade_self(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { public HashMap<String, Object> ajax_insert_homemade_self(@ModelAttribute("model") ModelMap model, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes, MultipartHttpServletRequest mRequest) throws JsonParseException, JsonMappingException, IOException {
HttpSession session = request.getSession(false); HttpSession session = request.getSession(false);
DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER); DataMap rm_mem = (DataMap) session.getAttribute(ConstantSystem.SESSION_RM_MEMBER);
DataMap paramMap = gmUtil.getDataMapFromRequest(request); DataMap paramMap = gmUtil.getDataMapFromRequest(request);
MultipartFile file = mRequest.getFile("attachedImage");
ObjectMapper mapper = new ObjectMapper();
Map<String, String> map = mapper.readValue(mRequest.getParameter("fileData"), Map.class);
paramMap.putAll(map);
HashMap<String, Object> result = new HashMap<String, Object>(); HashMap<String, Object> result = new HashMap<String, Object>();
result.put("RESULT", ConstantResultCode.RESULT_INIT); result.put("RESULT", ConstantResultCode.RESULT_INIT);
int[] arr_thumbnail_size = new int[]{300};
boolean[] arr_thumbnail_watermark = new boolean[]{false};
HashMap<String, FileMeta> mapFileMeta = fileAgent.uploadImage(paramMap,arr_thumbnail_size, arr_thumbnail_watermark, request, response, ConstantCode.DIR_WATERMARK_IMG, ConstantCode.DIR_WATERMARK_TXT);
if(mapFileMeta != null){
for(Entry<String, FileMeta> entry : mapFileMeta.entrySet()){
String key = entry.getKey();
FileMeta fileMeta = entry.getValue();
if(fileMeta != null){
paramMap.put("imgurl1", fileMeta.getMt_file_seq());
}
}
}
try { try {
int dhb_no = (int)bf_daily_nutritionBO.insert_bf_homemade_self(paramMap); int dhb_no = (int)bf_daily_nutritionBO.insert_bf_homemade_self(paramMap);
result.put("dhb_no", dhb_no); result.put("dhb_no", dhb_no);

@ -534,13 +534,8 @@ public class M_Bf_growthController extends AbstractControllerManager{
//6. 리포트 헤더 //6. 리포트 헤더
double height_max = 0d, height_min = 250d; double height_max = 0d, height_min = 250d;
String height_max_dt = "", height_min_dt = ""; String height_max_dt = "", height_min_dt = "";
paramMap.put("baseday", "month");
List<DataMap> lm_growth_body = bf_growth_bodyBO.select_bf_growth_body_list(paramMap); //smc_no List<DataMap> lm_growth_body = bf_growth_bodyBO.select_bf_growth_body_list(paramMap); //smc_no
paramMap.put("baseday", "1month");
List<DataMap> lm_growth_body_1 = bf_growth_bodyBO.select_bf_growth_body_list(paramMap); //smc_no
paramMap.put("baseday", "2month");
List<DataMap> lm_growth_body_2 = bf_growth_bodyBO.select_bf_growth_body_list(paramMap); //smc_no
paramMap.put("baseday", "growth_balance");
/* /*
for (DataMap map_growth_body : lm_growth_body) { for (DataMap map_growth_body : lm_growth_body) {
height = RenaStringUtil.getDataToDouble(map_growth_body, "height"); height = RenaStringUtil.getDataToDouble(map_growth_body, "height");
@ -570,8 +565,6 @@ public class M_Bf_growthController extends AbstractControllerManager{
DataMap.putToModel(model, "rm_child", rm_child); DataMap.putToModel(model, "rm_child", rm_child);
DataMap.putToModel(model, "rm_report", rm_report); DataMap.putToModel(model, "rm_report", rm_report);
DataMap.putToModel(model, "lm_growth_body", lm_growth_body); DataMap.putToModel(model, "lm_growth_body", lm_growth_body);
DataMap.putToModel(model, "lm_growth_body_1", lm_growth_body_1);
DataMap.putToModel(model, "lm_growth_body_2", lm_growth_body_2);
} }
} }

@ -1549,6 +1549,7 @@
x.dhb_no x.dhb_no
,x.name ,x.name
,x.water_qty ,x.water_qty
,x.imgurl1
FROM tbl_db_home_sf x FROM tbl_db_home_sf x
WHERE 1 = 1 WHERE 1 = 1
AND name like N'%$prd_nm$%' AND name like N'%$prd_nm$%'
@ -1586,12 +1587,12 @@
reg_dt reg_dt
<isNotEmpty property="name">,name</isNotEmpty> <isNotEmpty property="name">,name</isNotEmpty>
<isNotEmpty property="for_m">,for_m</isNotEmpty> <isNotEmpty property="for_m">,for_m</isNotEmpty>
,sys_member_id <isNotEmpty property="imgurl1">,imgurl1</isNotEmpty>
) VALUES ( ) VALUES (
NOW() NOW()
<isNotEmpty property="name">,#name#</isNotEmpty> <isNotEmpty property="name">,#name#</isNotEmpty>
<isNotEmpty property="for_m">,#for_m#</isNotEmpty> <isNotEmpty property="for_m">,#for_m#</isNotEmpty>
,'' <isNotEmpty property="imgurl1">,#imgurl1#</isNotEmpty>
) )
<selectKey keyProperty="dhb_no" resultClass="int"> <selectKey keyProperty="dhb_no" resultClass="int">

@ -130,19 +130,7 @@
AND x.smc_no = smc.smc_no AND x.smc_no = smc.smc_no
<isNotEmpty property="sgb_no"> <isNotEmpty property="sgb_no">
AND x.sgb_no = #sgb_no# AND x.sgb_no = #sgb_no#
</isNotEmpty> </isNotEmpty>
<isEqual property="baseday" compareValue="month">
and x.base_dt between LAST_DAY(NOW() - interval 1 month) + interval 1 DAY and now()
</isEqual>
<isEqual property="baseday" compareValue="1month">
and x.base_dt between LAST_DAY(NOW() - interval 2 month) + interval 1 DAY and LAST_DAY(NOW() - interval 1 month)
</isEqual>
<isEqual property="baseday" compareValue="2month">
and x.base_dt between LAST_DAY(NOW() - interval 3 month) + interval 1 DAY and LAST_DAY(NOW() - interval 2 month)
</isEqual>
ORDER BY base_dt DESC ORDER BY base_dt DESC
<isNotEmpty property="page.startRowNum" prepend=""> <isNotEmpty property="page.startRowNum" prepend="">

@ -356,7 +356,7 @@
data: data, data: data,
dataType:'json', dataType:'json',
error:function(request,status,error){ error:function(request,status,error){
Swal.fire({text:"삭제되지 않았습니다"}) Swal.fire({text:"삭제되지 않았습니다"});
}, },
success:function(result){ success:function(result){
console.log(result) console.log(result)
@ -364,12 +364,12 @@
if(RESULT == 0){ //0:RESULT_SUCCESS if(RESULT == 0){ //0:RESULT_SUCCESS
location.replace('./view_bf_commerce_input.do?smc_no=${(model["smc_no"])!}') location.replace('./view_bf_commerce_input.do?smc_no=${(model["smc_no"])!}')
}else{ }else{
Swal.fire({text:"삭제되지 않았습니다"}) Swal.fire({text:"삭제되지 않았습니다"});
} }
}, },
}) })
} }
}) });
}, },
go_popup: function() { go_popup: function() {
$('#popup').addClass('open'); $('#popup').addClass('open');
@ -452,7 +452,6 @@
self.none = "Y" self.none = "Y"
} }
debugger;
var formData = new FormData(); var formData = new FormData();
// form Data 객체 생성 // form Data 객체 생성
formData.append("attachedImage",img.files[0]); formData.append("attachedImage",img.files[0]);
@ -464,7 +463,6 @@
contentType: false, // 해당 타입을 true로 하면 일반 text로 구분되어 진다. contentType: false, // 해당 타입을 true로 하면 일반 text로 구분되어 진다.
data: formData, //위에서 선언한 fromdata data: formData, //위에서 선언한 fromdata
type:'post', type:'post',
data: formData,
// dataType:'json', // dataType:'json',
error:function(request,status,error){ error:function(request,status,error){
Swal.fire({text:"등록되지 않았습니다"}) Swal.fire({text:"등록되지 않았습니다"})

@ -559,8 +559,43 @@
function del_daily_nutrition(dn_no, smc_no, nutirition_cd_no){ function del_daily_nutrition(dn_no, smc_no, nutirition_cd_no){
var is_loading = false; var is_loading = false;
var del_confirm = confirm("기록을 삭제하시겠습니까?"); //var del_confirm = confirm("기록을 삭제하시겠습니까?");
Swal.fire({
text: "기록을 삭제하시겠습니까?",
showCancelButton: true,
confirmButtonText: '네',
cancelButtonText: '취소'
}).then((result) => {
if(result.value){
is_loading = true;
$.ajax({
url:'${URL_ROOT}/m/bf_daily_nutrition/ajax_delete_bf_daily_nutrition.do?1=1',
type:'get',
data: {
"dn_no":dn_no,
"smc_no":smc_no,
"nutirition_cd_no":nutirition_cd_no
},
dataType:'json',
error:function(request,status,error){
console.log(status);
is_loading = false;
},
success:function(result){
if(result.RESULT == 0){
location.href='${URL_ROOT}/m/index/index.do'
// alert('삭제되었습니다.');
Swal.fire({ text: "삭제되었습니다."});
}else{
//alert('잠시 뒤 다시 이용해주시기 바랍니다.');
Swal.fire({ text: "잠시 뒤 다시 이용해주시기 바랍니다"});
}
is_loading = false;
}
});
}
});
/*
if(del_confirm && is_loading == false){ if(del_confirm && is_loading == false){
is_loading = true; is_loading = true;
$.ajax({ $.ajax({
@ -579,16 +614,18 @@
success:function(result){ success:function(result){
if(result.RESULT == 0){ if(result.RESULT == 0){
location.href='${URL_ROOT}/m/index/index.do' location.href='${URL_ROOT}/m/index/index.do'
alert('삭제되었습니다.'); //alert('삭제되었습니다.');
Swal.fire({ text: "삭제되었습니다."});
}else{ }else{
alert('잠시 뒤 다시 이용해주시기 바랍니다.'); //alert('잠시 뒤 다시 이용해주시기 바랍니다.');
Swal.fire({ text: "잠시 뒤 다시 이용해주시기 바랍니다."});
} }
is_loading = false; is_loading = false;
} }
}); });
} }
*/
} }
</script> </script>

@ -155,14 +155,14 @@
}); });
$(document).on('change', ".input_file_upload input[type=file]", function(){ $(document).on('change', ".input_file_upload input[type=file]", function(){
var file = $(this)[0].files[0]; var file = $(this)[0].files[0];
//console.log(file.name + "\n" + file.type + "\n" + file.size + "\n" + file.lastModifiedDate); // upfile var //console.log(file.name + "\n" + file.type + "\n" + file.size + "\n" + file.lastModifiedDate); // upfile var
if ($(this).hasClass('file_mypage')) { if ($(this).hasClass('file_mypage')) {
$(this).talkImage(file, '.add_thumb'); $(this).talkImage(file, '.add_thumb');
}else{ }else{
$(this).displayImage(file, '.add_thumb'); $(this).displayImage(file, '.add_thumb');
} $(this).siblings('.add_thumb').removeClass('off').siblings('.ibtn_x').removeClass('off'); } $(this).siblings('.add_thumb').removeClass('off').siblings('.ibtn_x').removeClass('off');
}); });
$.fn.extend({ $.fn.extend({
@ -245,8 +245,10 @@
changeCSS('.nutrition_header_child_top .proimg img','border', '2px solid ${model['rm']['color']!}'); changeCSS('.nutrition_header_child_top .proimg img','border', '2px solid ${model['rm']['color']!}');
changeCSS('.nutrition_kinds_btn a', 'background','${model['rm']['color']!}'); changeCSS('.nutrition_kinds_btn a', 'background','${model['rm']['color']!}');
changeCSS('.take_time .bg_full', 'background','${model['rm']['color']!}'); changeCSS('.take_time .bg_full', 'background','${model['rm']['color']!}');
changeCSS('.take_time .time_tit', 'background','${model['rm']['color']!}'); // changeCSS('.take_time .time_tit', 'background','${model['rm']['color']!}');
changeCSS('.take_time .bg_border', 'border','2px solid ${model['rm']['color']!}'); changeCSS('.take_time .take_time_right p.active', 'background','${model['rm']['color']!}');
changeCSS('.take_time .take_time_left p.active', 'background','${model['rm']['color']!}');
changeCSS('.take_time .bg_border', 'border','2px solid ${model['rm']['color']!}');
changeCSS('.border_b_input input','border-bottom','2px solid ${model['rm']['color']!}'); changeCSS('.border_b_input input','border-bottom','2px solid ${model['rm']['color']!}');
changeCSS('.w_div', 'border','1px solid ${model['rm']['color']!}'); changeCSS('.w_div', 'border','1px solid ${model['rm']['color']!}');
changeCSS('.nutrition_camera .img_preview img', 'background','${model['rm']['color']!}'); changeCSS('.nutrition_camera .img_preview img', 'background','${model['rm']['color']!}');

@ -215,7 +215,8 @@
$("#expire_dt").val($("#d_year").val() +"." + $("#d_month").val()+"." + $("#d_day").val()) $("#expire_dt").val($("#d_year").val() +"." + $("#d_month").val()+"." + $("#d_day").val())
var datatimeRegexp = /[0-9]{4}.(0?[1-9]|1[012]).(0?[1-9]|[12][0-9]|3[01])/; var datatimeRegexp = /[0-9]{4}.(0?[1-9]|1[012]).(0?[1-9]|[12][0-9]|3[01])/;
if ( !datatimeRegexp.test($('#expire_dt').val()) ) { if ( !datatimeRegexp.test($('#expire_dt').val()) ) {
alert("날짜 형식이 잘못 되었습니다."); //alert("날짜 형식이 잘못 되었습니다.");
Swal.fire({ text: "날짜 형식이 잘못 되었습니다."});
return false; return false;
} }
}); });

@ -233,7 +233,8 @@
//배열에 추출한 확장자가 존재하는지 체크 //배열에 추출한 확장자가 존재하는지 체크
if ($.inArray(ext, ['gif', 'png', 'jpg', 'jpeg']) == -1) { if ($.inArray(ext, ['gif', 'png', 'jpg', 'jpeg']) == -1) {
resetFormElement($(this)); //폼 초기화 resetFormElement($(this)); //폼 초기화
window.alert('이미지 파일이 아닙니다! (gif, png, jpg, jpeg 만 업로드 가능)'); //window.alert('이미지 파일이 아닙니다! (gif, png, jpg, jpeg 만 업로드 가능)');
Swal.fire({ text: "이미지 파일이 아닙니다! (gif, png, jpg, jpeg 만 업로드 가능)"});
} else { } else {
file = $('#append_src_img_file').prop("files")[0]; file = $('#append_src_img_file').prop("files")[0];
blobURL = window.URL.createObjectURL(file); blobURL = window.URL.createObjectURL(file);

@ -199,7 +199,8 @@
//배열에 추출한 확장자가 존재하는지 체크 //배열에 추출한 확장자가 존재하는지 체크
if ($.inArray(ext, ['gif', 'png', 'jpg', 'jpeg']) == -1) { if ($.inArray(ext, ['gif', 'png', 'jpg', 'jpeg']) == -1) {
resetFormElement($(this)); //폼 초기화 resetFormElement($(this)); //폼 초기화
window.alert('이미지 파일이 아닙니다! (gif, png, jpg, jpeg 만 업로드 가능)'); //window.alert('이미지 파일이 아닙니다! (gif, png, jpg, jpeg 만 업로드 가능)');
Swal.fire({ text: "이미지 파일이 아닙니다! (gif, png, jpg, jpeg 만 업로드 가능)"});
} else { } else {
file = $('#append_src_img_file').prop("files")[0]; file = $('#append_src_img_file').prop("files")[0];
blobURL = window.URL.createObjectURL(file); blobURL = window.URL.createObjectURL(file);

@ -181,9 +181,26 @@
</div> </div>
<div class="content"> <div class="content">
<div class="profile_list"> <div class="profile_list">
<!--
<div class="head"> <div class="head">
<input type="text" id="prd_nm_sch2" name="prd_nm_sch2" class="input_box" placeholder="이유식을 입력하세요"> <input type="text" id="prd_nm_sch2" name="prd_nm_sch2" class="input_box" placeholder="이유식을 입력하세요">
</div> </div>
-->
<div class="input_cont">
<h2>이유식명</h2>
<p class="input_text"><input type="text" id="prd_nm_sch2" name="prd_nm_sch2" class="required" style="text-align:left;" placeholder="이유식명을 입력하세요."></p>
</div>
<div class="nutrition_camera">
<div class="nutrition_camera_box">
<div id="img_preview" class="img_preview">
<p><label for="img"><img src="<#if model['rm']['append_300_img_file']?exists>${URL_ROOT}/file/get_img.do?mt_file_seq=${model['rm']['append_300_img_file']}<#else>${URL_STATIC_ROOT}/m/img/main/main_cont_img_camera.png</#if>" alt="사진영역" /></label></p>
</div>
<input type="file" id="img" name="append_src_img_file">
</div>
</div>
<div class="nutrition_kinds_basic"> <div class="nutrition_kinds_basic">
<h2>식재료를 선택해주세요.</h2> <h2>식재료를 선택해주세요.</h2>
<div class="nutrition_kinds_search"> <div class="nutrition_kinds_search">
@ -330,12 +347,18 @@
param.dbiNoArr += ele.value +","; param.dbiNoArr += ele.value +",";
}); });
var formData = new FormData();
// form Data 객체 생성
formData.append("attachedImage",img.files[0]);
formData.append('fileData',JSON.stringify(param));
$.ajax({ $.ajax({
url:'${URL_ROOT}/m/bf_daily_nutrition/ajax_insert_homemade_self.do?1=1', url:'${URL_ROOT}/m/bf_daily_nutrition/ajax_insert_homemade_self.do?1=1',
type:'post', processData: false, // 데이터 객체를 문자열로 바꿀지에 대한 값이다. true면 일반문자...
data: param, contentType: false, // 해당 타입을 true로 하면 일반 text로 구분되어 진다.
dataType:'json', data: formData, //위에서 선언한 fromdata
type:'post',
// dataType:'json',
error:function(request,status,error){ error:function(request,status,error){
Swal.fire({text:"등록되지 않았습니다"}); Swal.fire({text:"등록되지 않았습니다"});
}, },
@ -493,7 +516,9 @@
for(var i=0;i<result.list.length;i++) { for(var i=0;i<result.list.length;i++) {
var dhb_no = result.list[i].dhb_no; var dhb_no = result.list[i].dhb_no;
var prd_nm = result.list[i].name; var prd_nm = result.list[i].name;
html +='<li><a href="javascript:save_set(\'db_dhb_no\', \'' + dhb_no + '\', \'' + prd_nm + '\', \'sf\' );">' + prd_nm + '</a></li>'; var imgurl1 = result.list[i].imgurl1;
// html +='<li><a href="javascript:save_set(\'db_dhb_no\', \'' + dhb_no + '\', \'' + prd_nm + '\', \'sf\' );">' + prd_nm + '</a></li>';
html +='<li><a href="javascript:save_set(\'db_dhb_no\', \'' + dhb_no + '\', \'' + prd_nm + '\' ,\'sf\');"><img src="${URL_ROOT}/file/get.do?mt_file_seq=' + imgurl1 + '" width="200px" />' + prd_nm + '</a></li>';
} }
var ul_board1 = $('#ul_board1'); var ul_board1 = $('#ul_board1');
@ -571,7 +596,7 @@
var imgurl1 = result.list[i].imgurl1; var imgurl1 = result.list[i].imgurl1;
html +='<li><a href="javascript:save_set2(\'db_dbi_no\', \'' + dbi_no + '\', \'' + name_real + '\' );">' + name_real + '</a>'; html +='<li><a href="javascript:save_set2(\'db_dbi_no\', \'' + dbi_no + '\', \'' + name_real + '\' );">' + name_real + '</a>';
html +='<div class="basket"><span>&nbsp;&nbsp;&nbsp;</span><a href="javascript:save_set2(\'db_dbi_no\', \'' + dbi_no + '\', \'' + name_real + '\' );" class="hidden">재료 담기</a></div>'; html +='<div class="basket"><span></span><a href="javascript:save_set2(\'db_dbi_no\', \'' + dbi_no + '\', \'' + name_real + '\' );" class="hidden">재료 담기</a></div>';
} }
var ul_board2 = $('#ul_board2'); var ul_board2 = $('#ul_board2');

@ -43,49 +43,7 @@
<div class="myChart_wrap"> <div class="myChart_wrap">
<canvas id="myChart1"> <canvas id="myChart1">
</div> </div>
</div> </div>
<div class="swiper-slide">
<div class="nutrition_report_graph_txt">
<#if model['weekly']?has_content>
<#list model['weekly']! as item>
<h3>
<span class="date">${item['reg_dt']!}</span>
<span class="tit">주간 영양섭취 권장량 대비</span>
</h3>
<p class="nd_score">
<span class="tit">N SCORE</span>
<span class="score"><strong>${item['totalNutrition']!}</strong> / 100점</span>
</p>
<#break>
</#list>
</#if>
</div>
<!-- myChart1 -->
<div class="myChart_wrap">
<canvas id="myChart2">
</div>
</div>
<div class="swiper-slide">
<div class="nutrition_report_graph_txt">
<#if model['monthly']?has_content>
<#list model['monthly']! as item>
<h3>
<span class="date">${item['reg_dt']!}</span>
<span class="tit">월간 영양섭취 권장량 대비</span>
</h3>
<p class="nd_score">
<span class="tit">N SCORE</span>
<span class="score"><strong>${item['totalNutrition']!}</strong> / 100점</span>
</p>
<#break>
</#list>
</#if>
</div>
<!-- myChart1 -->
<div class="myChart_wrap">
<canvas id="myChart3">
</div>
</div>
</div> </div>
<!-- 페이징 --> <!-- 페이징 -->
@ -128,32 +86,7 @@
prevEl: '.swiper-button-prev', // 이번 버튼 클래스명 prevEl: '.swiper-button-prev', // 이번 버튼 클래스명
} }
}); });
// 차트 swiper 슬라이더
new Swiper('.swiper-container2-chart', {
slidesPerView: 1, // 동시에 보여줄 슬라이드 갯수
slidesPerGroup: 1, // 그룹으로 묶을 수
spaceBetween: 50,
// 그룹수가 맞지 않을 경우 빈칸으로 메우기
// 3개가 나와야 되는데 1개만 있다면 2개는 빈칸으로 채워서 3개를 만듬
loopFillGroupWithBlank: true,
loop: false, // 무한 반복
pagination: { // 페이징
el: '.swiper-pagination',
clickable: true, // 페이징을 클릭하면 해당 영역으로 이동, 필요시 지정해 줘야 기능 작동
},
navigation: { // 네비게이션
nextEl: '.swiper-button-next', // 다음 버튼 클래스명
prevEl: '.swiper-button-prev', // 이번 버튼 클래스명
},
});
/* 그래프 myChart1 */ /* 그래프 myChart1 */
var ctx = document.getElementById("myChart1"); var ctx = document.getElementById("myChart1");
var myChart = new Chart(ctx, { var myChart = new Chart(ctx, {
@ -279,256 +212,4 @@
}, //옵션 }, //옵션
}); });
/* 그래프 myChart2 */
var ctx = document.getElementById("myChart2");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: [
<#if model['weekly']?has_content>
<#list model['weekly']?reverse as item>
"${item['reg_dt']!}",
</#list>
</#if>
],
datasets: [{
data: [
<#if model['weekly']?has_content>
<#list model['weekly']?reverse as item>
"${item['totalNutrition']!}",
</#list>
</#if>
],
backgroundColor: 'rgba(255,255,255,0)',
borderColor: '#e7e7e7',
cubicInterpolationMode: true,
pointRadius: '5',
pointBackgroundColor: ['#fff', '#fff', '#fff', '#fff'],
pointBorderWidth: '3',
pointBorderColor: ['#33CC33', '#33CC33', '#33CC33', '#33CC33'],
borderWidth: '3',
lineTension: 0,
/*pointHoverBorderColor: "#30a9d7",*/
/*pointHoverBackgroundColor: "#30a9d7",*/
}, ]
},
options: {
maintainAspectRatio: false,
legend: {
display: false,
labels: {
fontColor: '#fff'
}
},
layout: {
padding: {
left: 0,
right: 0,
top: 10,
bottom: 0
},
},
scales: {
yAxes: [{
display: true,
gridLines: {
offsetGridLines: false,
color: '#ddd',
drawBorder: true,
drawTicks: true,
drawOnChartArea: false,
tickMarkLength: 3,
},
scaleLabel: {
display: true,
labelString: '영양점수'
}, //왼쪽 라벨
ticks: {
padding: 5,
fontColor: '#252525',
fontSize: '11',
min: 0,
max: 100,
stepSize: 20,
}
}],
xAxes: [{
display: true,
gridLines: {
color: ['#ddd', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#ddd'],
drawTicks: true,
drawBorder: true,
tickMarkLength: 3,
},
scaleLabel: {
display: true,
labelString: '주간'
},
ticks: {
padding: 5,
fontColor: '#252525',
fontSize: '11',
}
}]
},
tooltips: { //툴팁
callbacks: {
label: function(tooltipItem, data) {
var label = data.datasets[tooltipItem.datasetIndex].label || '';
if (label) {
label += ' N SCORE : ';
}
label += Math.round(tooltipItem.yLabel * 100) / 100;
return label + " 점";
}
},
enabled: 'true',
intersect: false,
displayColors: false,
backgroundColor: '#FF8135',
yPadding: 15,
xPadding: 10,
titleFontSize: 15,
titleFontColor: '#fff',
titleFontFamily: 'Noto Sans KR',
bodyFontSize: 15,
bodyFontColor: '#fff',
bodyFontFamily: 'Noto Sans KR',
caretPadding: 5,
cornerRadius: 10,
caretSize: 5,
}
}, //옵션
});
/* 그래프 myChart3 */
var ctx = document.getElementById("myChart3");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: [
<#if model['monthly']?has_content>
<#list model['monthly']?reverse as item>
"${item['reg_dt']!}",
</#list>
</#if>
],
datasets: [{
data: [
<#if model['monthly']?has_content>
<#list model['monthly']?reverse as item>
"${item['totalNutrition']!}",
</#list>
</#if>
],
backgroundColor: 'rgba(255,255,255,0)',
borderColor: '#e7e7e7',
cubicInterpolationMode: true,
pointRadius: '5',
pointBackgroundColor: ['#fff', '#fff', '#fff', '#fff', '#fff'],
pointBorderWidth: '3',
pointBorderColor: ['#33CC33', '#33CC33', '#33CC33', '#33CC33'],
borderWidth: '3',
lineTension: 0,
/*pointHoverBorderColor: "#30a9d7",*/
/*pointHoverBackgroundColor: "#30a9d7",*/
}, ]
},
options: {
maintainAspectRatio: false,
legend: {
display: false,
labels: {
fontColor: '#fff'
}
},
layout: {
padding: {
left: 0,
right: 0,
top: 10,
bottom: 0
},
},
scales: {
yAxes: [{
display: true,
gridLines: {
offsetGridLines: false,
color: '#ddd',
drawBorder: true,
drawTicks: true,
drawOnChartArea: false,
tickMarkLength: 3,
},
scaleLabel: {
display: true,
labelString: '영양점수'
}, //왼쪽 라벨
ticks: {
padding: 5,
fontColor: '#252525',
fontSize: '11',
min: 0,
max: 100,
stepSize: 20,
}
}],
xAxes: [{
display: true,
gridLines: {
color: ['#ddd', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#f2f2f2', '#ddd'],
drawTicks: true,
drawBorder: true,
tickMarkLength: 3,
},
scaleLabel: {
display: true,
labelString: '월간'
},
ticks: {
padding: 5,
fontColor: '#252525',
fontSize: '11',
}
}]
},
tooltips: { //툴팁
callbacks: {
label: function(tooltipItem, data) {
var label = data.datasets[tooltipItem.datasetIndex].label || '';
if (label) {
label += ' N SCORE : ';
}
label += Math.round(tooltipItem.yLabel * 100) / 100;
return label + " 점";
}
},
enabled: 'true',
intersect: false,
displayColors: false,
backgroundColor: '#FF8135',
yPadding: 15,
xPadding: 10,
titleFontSize: 15,
titleFontColor: '#fff',
titleFontFamily: 'Noto Sans KR',
bodyFontSize: 15,
bodyFontColor: '#fff',
bodyFontFamily: 'Noto Sans KR',
caretPadding: 5,
cornerRadius: 10,
caretSize: 5,
}
}, //옵션
});
</script> </script>

@ -7,18 +7,7 @@
<!-- m_nutrition_report_wrap --> <!-- m_nutrition_report_wrap -->
<div class="m_nutrition_report_wrap"> <div class="m_nutrition_report_wrap">
<!-- nutrition_report_graph -->
<h2>키 성장</h2>
<!-- report_tab -->
<ul class="report_tab report_tab01">
<li class="tab01">
<a href="javascript:void(0);">키 성장</a>
</li>
</ul>
<!-- report_tab -->
<!-- nutrition_report_graph -->
<div class="nutrition_report_graph"> <div class="nutrition_report_graph">
<div class="swiper-container swiper-container1-chart"> <div class="swiper-container swiper-container1-chart">
@ -26,37 +15,12 @@
<div class="swiper-slide"> <div class="swiper-slide">
<div class="nutrition_report_graph_txt"> <div class="nutrition_report_graph_txt">
<h3> <h3>
<span class="date"></span> <span class="date"></span>
<span class="tit">이번 달</span>
</h3> </h3>
</div> </div>
<!-- myChart11 --> <!-- myChart1 -->
<div class="myChart_wrap"> <div class="myChart_wrap">
<canvas id="myChart11"> <canvas id="myChart1">
</div>
</div>
<div class="swiper-slide">
<div class="nutrition_report_graph_txt">
<h3>
<span class="date"></span>
<span class="tit">지난달</span>
</h3>
</div>
<!-- myChart12 -->
<div class="myChart_wrap">
<canvas id="myChart12">
</div>
</div>
<div class="swiper-slide">
<div class="nutrition_report_graph_txt">
<h3>
<span class="date"></span>
<span class="tit">2개월전</span>
</h3>
</div>
<!-- myChart13 -->
<div class="myChart_wrap">
<canvas id="myChart13">
</div> </div>
</div> </div>
</div> </div>
@ -125,8 +89,8 @@
}, },
}); });
/* 그래프 myChart11 */ /* 그래프 myChart1 */
var ctx = document.getElementById("myChart11"); var ctx = document.getElementById("myChart1");
var myChart = new Chart(ctx, { var myChart = new Chart(ctx, {
type: 'line', type: 'line',
data: { data: {

@ -38,6 +38,8 @@
<li><a href="${URL_ROOT}/m/bf_growth/nutrient_balance.do?return_url=index">영양소 균형 점수</a></li> <li><a href="${URL_ROOT}/m/bf_growth/nutrient_balance.do?return_url=index">영양소 균형 점수</a></li>
<li style="border: 1px solid #FF9C00; background: #FF9C00;"><a href="${URL_ROOT}/m/bf_growth/food_balance.do?return_url=index">식품군 균형 점수</a></li> <li style="border: 1px solid #FF9C00; background: #FF9C00;"><a href="${URL_ROOT}/m/bf_growth/food_balance.do?return_url=index">식품군 균형 점수</a></li>
<li><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">성장 점수</a></li> <li><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">성장 점수</a></li>
<li><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">건강검진</a></li>
<li><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">예방접종</a></li>
</ul> </ul>
</div> </div>
<br /> <br />

@ -37,6 +37,8 @@
<li><a href="${URL_ROOT}/m/bf_growth/nutrient_balance.do?return_url=index">영양소 균형 점수</a></li> <li><a href="${URL_ROOT}/m/bf_growth/nutrient_balance.do?return_url=index">영양소 균형 점수</a></li>
<li><a href="${URL_ROOT}/m/bf_growth/food_balance.do?return_url=index">식품군 균형 점수</a></li> <li><a href="${URL_ROOT}/m/bf_growth/food_balance.do?return_url=index">식품군 균형 점수</a></li>
<li style="border: 1px solid #FF9C00; background: #FF9C00;"><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">성장 점수</a></li> <li style="border: 1px solid #FF9C00; background: #FF9C00;"><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">성장 점수</a></li>
<li><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">건강검진</a></li>
<li><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">예방접종</a></li>
</ul> </ul>
</div> </div>
<br /> <br />
@ -56,7 +58,7 @@
<!-- nutrition_subMain_iframe --> <!-- nutrition_subMain_iframe -->
<div class="nutrition_subMain_iframe"> <div class="nutrition_subMain_iframe">
<#include "/m/bf_food/view_sn_nutrition_main_31.ftl"> <#include "/m/bf_food/view_sn_nutrition_main_3.ftl">
</div> </div>
<!-- //nutrition_subMain_iframe --> <!-- //nutrition_subMain_iframe -->

@ -33,12 +33,15 @@
<div class="nutrition_subMain_wrap"> <div class="nutrition_subMain_wrap">
<!-- //nutrition_subMain --> <!-- //nutrition_subMain -->
<div class="nutrition_subMain_iframe"> <div class="nutrition_subMain_iframe">
<ul class="nutrition_list_reason li_check"> <ul class="nutrition_list_reason li_check">
<li style="border: 1px solid #FF9C00; background: #FF9C00;"><a href="${URL_ROOT}/m/bf_growth/nutrient_balance.do?return_url=index">영양소 균형 점수</a></li> <li style="border: 1px solid #FF9C00; background: #FF9C00;"><a href="${URL_ROOT}/m/bf_growth/nutrient_balance.do?return_url=index">영양소 균형 점수</a></li>
<li><a href="${URL_ROOT}/m/bf_growth/food_balance.do?return_url=index">식품군 균형 점수</a></li> <li><a href="${URL_ROOT}/m/bf_growth/food_balance.do?return_url=index">식품군 균형 점수</a></li>
<li><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">성장 점수</a></li> <li><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">성장 점수</a></li>
<li><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">건강검진</a></li>
<li><a href="${URL_ROOT}/m/bf_growth/growth_balance.do?return_url=index">예방접종</a></li>
</ul> </ul>
</div> </div>
<br /> <br />
<!-- nutrition_subMain_iframe --> <!-- nutrition_subMain_iframe -->

Loading…
Cancel
Save