모바일 오유 바로가기
https://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 게시물ID : programmer_23465
    작성자 : 까망사투리
    추천 : 2
    조회수 : 2532
    IP : 211.45.***.196
    댓글 : 0개
    등록시간 : 2025/04/09 15:34:24
    https://todayhumor.com/?programmer_23465 모바일
    카페 주문 pos 만들기 html javascript

    <script type="text/javascript">

        

    // mouse over tr idx

    var trIdx = 0;


    //주문추가

    function  addOrder(orderNameNewObj,price){

        //alert(orderName+price);

        

        var orderNameNew = orderNameNewObj.innerHTML;

        

        //테이블 리스트 가져오기.

        var table = document.getElementById('orderList');

        var rowList = table.rows;

        var rowCount = rowList.length;

        //alert(rowCount);

        

        if(rowCount>1){

            var isOrderExist = false;

            for (i=1; i<rowCount; i++) {

                var row = rowList[i];

                var orderName = row.cells[0].innerHTML;

                if(orderName==orderNameNew){

                    isOrderExist=true;

                    //수량

                    var orderCount=row.cells[2].innerHTML;

                    var orderCountNew = Number(orderCount)+1;

                    

                    //단가 한개가격

                    var orderPrice=row.cells[1].innerHTML;

                    

                    //금액

                    var rowSumPrice = orderCountNew * orderPrice;

                    

                    row.cells[2].innerText=orderCountNew;

                    row.cells[3].innerText=rowSumPrice;

                    

                    

                    

                }

            }

            showAllPrice();

            if(!isOrderExist){

                addOrderNew(orderNameNew,price);

            }

        }

        // 주문 새로이 추가.

        else{

            addOrderNew(orderNameNew,price);

            

        }

    }


    //신규주문 추가.

    function addOrderNew(orderNameNew,price){

        var table = document.getElementById('orderList');

        

        var newRow = table.insertRow();


        var newCell1 = newRow.insertCell(0);

        newCell1.innerText = orderNameNew;

        

        var newCell2 = newRow.insertCell(1);

        newCell2.innerText = price;

        

        var newCell3 = newRow.insertCell(2);

        newCell3.innerText = 1;

        

        var newCell4 = newRow.insertCell(3);

        newCell4.innerText = price;

        

        //마이너스 

        var newCell5 = newRow.insertCell(4);

        newCell5.innerHTML = '<button style="font-size:20px" type="button" onclick="miunsOrder(this);">빼기</button> <button style="font-size:20px" type="button" onclick="plusOrder(this);">추가</button>';

        

        //row 삭제

        var newCell6 = newRow.insertCell(5);

        newCell6.innerHTML = '<button style="font-size:20px" type="button" onclick="deleteRow(this);">X</button>';

        

        showAllPrice();

        

    }


    //수량감소

    function miunsOrder(btn){

        var rowIdx = btn.parentNode.parentNode.rowIndex;

        var table = document.getElementById('orderList');

        //alert(rowIdx);

        var row = table.rows[rowIdx];

        

        var orderCount=row.cells[2].innerHTML;

        if(orderCount>1){

            var orderCountNew = Number(orderCount)-1;

        

            //단가 한개가격

            var orderPrice=row.cells[1].innerHTML;

            

            //금액

            var rowSumPrice = orderCountNew * orderPrice;

            

            row.cells[2].innerText=orderCountNew;

            row.cells[3].innerText=rowSumPrice;

        }

        

        showAllPrice();

        

    }


    //수량추가

    function plusOrder(btn){

        var rowIdx = btn.parentNode.parentNode.rowIndex;

        var table = document.getElementById('orderList');

        //alert(rowIdx);

        var row = table.rows[rowIdx];

        

        var orderCount=row.cells[2].innerHTML;


        var orderCountNew = Number(orderCount)+1;


        //단가 한개가격

        var orderPrice=row.cells[1].innerHTML;

        

        //금액

        var rowSumPrice = orderCountNew * orderPrice;

        

        row.cells[2].innerText=orderCountNew;

        row.cells[3].innerText=rowSumPrice;


        

        showAllPrice();

        

    }




    //로우 삭제

    function deleteRow(btn){

        var rowIdx = btn.parentNode.parentNode.rowIndex;

        var table = document.getElementById('orderList');

        //alert(rowIdx);

        var row = table.rows[rowIdx];

        

        table.deleteRow(rowIdx);

        

        showAllPrice();

    }


    //전체 합계금액 표시.

    function showAllPrice(){

        

        var showTable = document.getElementById('sumPrice');

        var showCell = showTable.rows[0].cells[1];

        

        var table = document.getElementById('orderList');

        var rowList = table.rows;

        var rowCount = rowList.length;

        if(rowCount>1){

            var sumPrice = 0;

            for (i=1; i<rowCount; i++) {

                var row = rowList[i];

                var orderRowSumPrice = row.cells[3].innerHTML;

                sumPrice += Number(orderRowSumPrice);

            }

            showCell.innerText = sumPrice;

        }

        else{

            showCell.innerText = 0;

        }

        

    }


    //전체삭제

    function allDelete(){

        var table = document.getElementById('orderList');

        var rowList = table.rows;

        var rowCount = rowList.length;

        

        for (i=rowCount; i>1; i--) {

            table.deleteRow(i-1);

        }

        showAllPrice();

    }




    var enter='\n';


    // 현재 주문 목록 밑에 넣기.

    function addBottomList(){

        var currentDate = new Date();

        

        // 각 구성 요소를 가져오기

        const year = currentDate.getFullYear();

        const month = currentDate.getMonth() + 1;

        const day = currentDate.getDate();

        const hours = currentDate.getHours();

        const minutes = currentDate.getMinutes();

        const seconds = currentDate.getSeconds();


        // 날짜와 시간을 문자열로 포맷팅

        const formattedDate = `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')} ${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`;

        

        

        // 이전 글자

        var orderedListObj = document.getElementById('orderedList');

        var orderedListStr = orderedListObj.value;

        

        

        

        //새로 추가할 글자 

        var newAddStr = formattedDate+enter;

        

        var table = document.getElementById('orderList');

        var rowList = table.rows;

        var rowCount = rowList.length;

        

        //합계금액

        var sumPrice = 0;

        

        for (i=1; i<rowCount; i++) {

            var row = rowList[i];

            var orderName = row.cells[0].innerHTML;

            

            //수량

            var orderCount=row.cells[2].innerHTML;

            

            //단가 한개가격

            var orderPrice=row.cells[1].innerHTML;

            

            //금액

            var rowSumPrice = orderCount * orderPrice;

            

            sumPrice += rowSumPrice;


            

            newAddStr += orderName+"\t"+orderCount+"*"+orderPrice+"="+rowSumPrice+enter;

        }

        //합계 

        newAddStr += "합계    : "+sumPrice+enter;

        newAddStr += enter;

        

        newAddStr += orderedListStr;

        

        

        orderedListObj.value=newAddStr;

        

        //이후 목록 삭제.

        allDelete();

        

    }


    //주문 목록  삭제.

    function deleteBottomList(){

        var orderedListObj = document.getElementById('orderedList');

        orderedListObj.value="";

    }



    // 오늘 총 주문 현황

    function showAllOrder(){

        var orderedListObj = document.getElementById('orderedList');

        var orderListStr = orderedListObj.value;

        

        const allMenuList = new Array();

        

        //일자시간 별 합계금액

        var dayTimeStr = "";

        const dayTimeList = new Array();

        

        //enter 로 split

        var spltStrs = orderListStr.split(enter);

        for (i=0; i<spltStrs.length; i++) {

            var rowStr = spltStrs[i];

            

            // 날짜시간 값 . 

            if(rowStr.indexOf(":")>-1){

                dayTimeStr = rowStr.split(":")[0];

            }

            

            // 날짜와 합계 제외.

            if(rowStr.indexOf("=")>-1 && !(rowStr.indexOf("합계")>-1) ){

                var rowSpltStr = rowStr.split("\t");

                var orderName = rowSpltStr[0];

                // 수량 단가 , 합계.

                var lastTabStr = rowSpltStr[1];

                

                var lastTabSplts = lastTabStr.split("=");

                

                //수량 단가

                var menuCount=Number(lastTabSplts[0].split("*")[0]);

                var menuAmt=Number(lastTabSplts[0].split("*")[1]);

                

                

                

                

                // array 에 있는지 확인

                var isExist = false;

                for(j=0;j<allMenuList.length;j++){

                    var rowArray = allMenuList[j];

                    

                    var chkName = rowArray[0];

                    

                    if(chkName==orderName){

                        isExist=true;

                        

                        //기존 수량 가져오기.

                        var oldCount = rowArray[1];

                        

                        var newSumCount = menuCount+oldCount;

                        

                        allMenuList[j] = new Array(orderName,newSumCount,menuAmt);

                    }

                }

                

                // 없으면 추가.

                if(!isExist){

                    var newAddArray = new Array(orderName,menuCount,menuAmt);

                    allMenuList.push(newAddArray);

                }

                

                

                

                //일자시간 array에 있는지 확인

                var isDayTimeExist = false;

                for(j=0;j<dayTimeList.length;j++){

                    var rowArray = dayTimeList[j];

                    var chkName = rowArray[0];

                    if(chkName==dayTimeStr){

                        isDayTimeExist=true;

                        //기존 합계 가져오기.

                        var oldSum = rowArray[1];

                        var newSum = (menuCount*menuAmt)+oldSum;

                        

                        dayTimeList[j] = new Array(dayTimeStr,newSum);

                        

                    }

                }

                

                if(!isDayTimeExist){

                    var newAddArray = new Array(dayTimeStr,menuCount*menuAmt);

                    dayTimeList.push(newAddArray);

                }

                

            }

            

        }//end for

        

        // 

        var showSumAmt = 0;

        var showStr = "";

        for(j=0;j<allMenuList.length;j++){

            var rowArray = allMenuList[j];

            

            var menuName = rowArray[0];

            var menuCount = rowArray[1];

            var menuAmt = rowArray[2];

            

            showSumAmt += menuCount*menuAmt;

            

            showStr += menuName + " " + menuCount+"*"+menuAmt+"="+menuCount*menuAmt+enter;

            

        }

        

        showStr += "합계 "+showSumAmt+enter+enter;

        

        

        for(j=0;j<dayTimeList.length;j++){

            var rowArray = dayTimeList[j];

            

            var dayTime = rowArray[0];

            var datTimeSum = rowArray[1];

            showStr += dayTime+" "+datTimeSum+enter;

        }

        

        

        

        var totalSumObj = document.getElementById('totalSum');

        totalSumObj.value=showStr;

        

        

    }



    </script>


    <head>

    <style>


    table{font-size: 20px; }

    button{font-size: 20px; margin:5px; }

    textarea{font-size: 20px; }

    td, th {

      vertical-align : top;

    }

    </style>

    </head>


    <table border="1">

        <tr>

            <td width="500">

                <pre>


     500

     <button style="font-size:20px" type="button" onclick='addOrder(this,500);'>아이스추가 500</button>

     

     1000

     <button style="font-size:20px" type="button" onclick='addOrder(this,1000);'>빵 1000</button>

     

     1500    

     <button style="font-size:20px" type="button" onclick='addOrder(this,1500);'>아메리카노</button> <button style="font-size:20px" type="button" onclick='addOrder(this,1500);'>콜라</button> <button style="font-size:20px" type="button" onclick='addOrder(this,1500);'>사이다</button> <button style="font-size:20px" type="button" onclick='addOrder(this,1500);'>훈제계란</button> <button style="font-size:20px" type="button" onclick='addOrder(this,1500);'>빵 1500</button>

     

     2000

     <button style="font-size:20px" type="button" onclick='addOrder(this,2000);'>아이스 아메리카노</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2000);'>오렌지 쥬스</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2000);'>망고 쥬스</button>

     <button style="font-size:20px" type="button" onclick='addOrder(this,2000);'>핫쵸코</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2000);'>아이스티</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2000);'>현미녹차</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2000);'>매실차</button>

     <button style="font-size:20px" type="button" onclick='addOrder(this,2000);'>홍도라지 작두콩차</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2000);'>캐모마일</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2000);'>히비스커스</button>

     

     2500

     <button style="font-size:20px" type="button" onclick='addOrder(this,2500);'>카페라떼</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2500);'>생강차</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2500);'>유자차</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2500);'>한라봉차</button>

     <button style="font-size:20px" type="button" onclick='addOrder(this,2500);'>쌍화차</button> <button style="font-size:20px" type="button" onclick='addOrder(this,2500);'>대추차</button>

     

     3500

     <button style="font-size:20px" type="button" onclick='addOrder(this,3500);'>딸기라떼</button> <button style="font-size:20px" type="button" onclick='addOrder(this,3500);'>초코라떼</button>

     <button style="font-size:20px" type="button" onclick='addOrder(this,3500);'>레몬에이드</button> <button style="font-size:20px" type="button" onclick='addOrder(this,3500);'>자몽에이드</button> <button style="font-size:20px" type="button" onclick='addOrder(this,3500);'>유자에이드</button>

     <button style="font-size:20px" type="button" onclick='addOrder(this,3500);'>아이스 카페라떼</button> <button style="font-size:20px" type="button" onclick='addOrder(this,3500);'>아이스 생강차</button> 

     <button style="font-size:20px" type="button" onclick='addOrder(this,3500);'>아이스 유자차</button> <button style="font-size:20px" type="button" onclick='addOrder(this,3500);'>아이스 한라봉차</button> <button style="font-size:20px" type="button" onclick='addOrder(this,3500);'>아이스 쌍화차</button>

    </pre>

            </td>

            <td >

    <pre >

                     <button type="button" onclick='addBottomList();'>현재 주문 밑에 추가.</button>

                <table id="orderList" border="1">

                    <tr>

                        <td width="200">

                            품목

                        </td>

                        <td width="100">

                            단가

                        </td>

                        <td width="100">

                            수량

                        </td>

                        <td width="100">

                            금액

                        </td>

                        <td width="150">

                            감소 추가

                        </td>

                        <td width="50">

                            삭제

                        </td>

                    </tr>

                </table><table id="sumPrice" border="0">

                    <tr>

                        <td width="300">

                            합계

                        </td>

                        <td width="300">

                            

                        </td>

                        <td textAlign="right" >

                    <button style="font-size:20px" type="button" onclick='allDelete();'>전체삭제</button>

                        </td>

                    </tr>

                </table>

    <br>

        <textarea id="orderedList" cols="50" rows="10" readonly >

                    

                </textarea><button type="button" onclick='deleteBottomList();'>삭제</button>



    <button type="button" onclick='showAllOrder();'>총 주문 현황</button>    

    <textarea id="totalSum" cols="50" rows="10" readonly >

                    

                </textarea>


    </pre>

            </td>

            

        </tr>

    </table>

    까망사투리의 꼬릿말입니다
    담배끊는 약 "챔픽스"

    내과 등 병원가서 "챔픽스" 처방받으로 왔다고 하고 처방전받아

    약국에서 사면됨....한달 7만원 가량함.... ( 담뱃값 4500 되고 50% 지원 하는걸로암. 한달 4만원 )

    담배생각 안남...

    하루 한알만 먹으면 됩니다...

    이 게시물을 추천한 분들의 목록입니다.
    [1] 2025/04/09 16:05:53  118.217.***.59  알파와제로  807092
    [2] 2025/04/26 04:24:45  129.176.***.164  전여자친구  658394
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    23484
    질문] AI 프롬프트에 관하여. [4] 본인삭제금지 Hacker 26/04/08 18:28 446 0
    23483
    vs code로 웹채굴 홈페이지 만들기 긍정과소신 26/03/24 22:35 648 1
    23482
    그 넘에 개발자 타령 닭사모 26/03/13 20:33 650 2
    23476
    재미로 생각해보는 아이디어.. [4] 푸른놀 25/12/01 15:14 968 1
    23475
    프로그램 1도 모르면서 챗GPT로 만든 시스템 [3] grcrewjp 25/11/28 10:04 1526 6
    23474
    ai 맛을 보니 돌아갈수가 없다.!! 엇모리 25/11/26 10:21 1110 7
    23473
    컴퓨터 사용시간 통제 개발하기 3 [5] 엇모리 25/11/03 17:41 1026 3
    23472
    컴퓨터 사용 시간 통제 개발하기 2 [3] 엇모리 25/09/25 12:59 1421 1
    23471
    컴퓨터 사용 시간 통제 개발하기 1 [10] 엇모리 25/09/23 11:37 1639 2
    23470
    로또 까망사투리 25/07/14 09:33 1913 0
    23469
    로또 [3] 까망사투리 25/06/23 15:51 2143 2
    23468
    로또 까망사투리 25/06/17 13:30 2221 1
    23467
    로또 까망사투리 25/05/07 11:18 5050 0
    23466
    IT 개발자를 희망하는 취준생에게 공유하는 국비지원 교육 수강 후기 [1] 발토랑 25/04/15 22:52 2663 0
    카페 주문 pos 만들기 html javascript 까망사투리 25/04/09 15:34 2533 2
    23464
    진짜 벼랑끝에 몰려서 물어보는 질문 [6] 아젬라 25/03/13 16:33 3153 2
    23463
    로또 [1] 까망사투리 25/03/03 14:18 2998 0
    23462
    2월 8일 오후 8시 진행- 맛보기 강좌: 5시간 만에 웹 만들기 [1] quickturn 25/02/19 14:44 2712 0
    23461
    로또 [2] 까망사투리 25/02/12 13:13 3189 2
    23459
    C++ 입문전 초보자입니다. Qt / wxWidgets / FLTK 어떤 [8] OMG! 24/12/07 00:28 3207 0
    23458
    [KOCCA] 2024 게임콘텐츠 제작지원 이용자평가 체험단모집 장파랑 24/11/26 16:56 2938 0
    23457
    [한국콘텐츠진흥원] 2024 게임콘텐츠 제작지원 이용자평가 이용자 모집 장파랑 24/11/18 14:02 3091 0
    23456
    [한국콘텐츠진흥원] 2024 게임콘텐츠 제작지원 이용자평가 이용자 모집 장파랑 24/10/28 18:24 3370 0
    23455
    논문 읽는 사람들을 위한 문서 번역 서비스 rWhale 24/10/10 13:06 3791 2
    23453
    로또번호 [2] 까망사투리 24/09/19 11:10 5016 2
    23452
    AI와 함께가는 코딩 업계 [2] 펌글 우가가 24/09/02 22:19 4775 9
    23451
    Switch문 도배된 2100줄 짜리 함수 [4] 펌글 우가가 24/08/26 22:37 4572 4
    23450
    개인정보 수집 없는 이미지 리사이즈 사라밍 24/08/23 20:31 3834 0
    23449
    디자인 패턴의 템플릿 메소드 패턴 실무 적용 사례 [1] 써니썬 24/08/23 16:47 3860 1
    23448
    TMDB API Key 얻을 때 동의하게 되는 면책 및 포기 조항 우가가 24/08/18 16:07 3814 1
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈