<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>
        /*1.数据主体:包含6个订餐相关的数组
            订餐人   names
            送餐时间 dishmags
            送餐时间 times
            送餐地址 addresses
            订单状态 states
            总订单 sumPrices

        包含3个菜品相关的数组
            餐品名 dishNames
            单价 prices
            点赞数 praiseNums
        */

        //订单信息
        var names = ["小明", "小红"];
        var disMegs = ["香辣鸡腿堡", "可乐"];
        var times = [13, 14];
        var addresses = ["江苏南京", "江苏南京"];
        var states = [1, 0];  //是否预定
        var sumPrices = [99 * 2, 52];

        //餐品信息
        var dishNames = ["香辣鸡腿堡", "薯条", "可乐", "全家桶"];
        var prices = [18, 11, 8, 99];
        var praiseNums = [78, 10, 8, 20];


        //2.搭建框架结构
        do {
            //使用ES6里面的模板字符串
            //变量选择数字
            var choice;
            // +prompt()接收录入的数据  +直接转换成整数 
            choice = +prompt(`

            *************************

            1.我要订餐
            2.查看餐袋
            3.签收订单
            4.删除订单
            5.我要点赞
            6.退出系统
            7.新品上架
         

            *************************

            请选择:

            `);

            //根据选项进行操作
            switch (choice) {
                case 1:
                    console.log("====我要订餐====");
                    var yourName = prompt("请输入订餐人姓名")
                    //展示菜品信息
                    console.log(`序号   菜名   单价    点赞数`);
                    for (let i = 0; i < dishNames.length; i++) {
                        //模板字符串解析变量 ${表达式}
                        console.log(`${i + 1}   ${dishNames[i]}   ${prices[i]}    ${praiseNums[i]}`);
                    }

                    //选择菜品编号
                    let youeDishNo = +prompt("请您选择要点的菜品编号");
                    while (youeDishNo > dishNames.length || youeDishNo < 1) {
                        youeDishNo = +prompt("对不起,您点的菜真没有,请重新录入");
                    }

                    // 选择份数
                    let yourChoiceCount = +prompt("请选择您需要的份数");

                    //拼接菜品信息
                    let yourDishMegs = dishNames[youeDishNo - 1] + " " + yourChoiceCount + "份"

                    //选择时间
                    let yourTime = + prompt("请输入送餐时间(送餐时间10店到20点之间)");
                    while (yourTime > 20 || yourTime < 10) {
                        yourTime = +prompt("对不起您录入的时间不在骑手的工作范围之内,请重新输入送餐时间");
                    }

                    //选择地址
                    let yourAddress = prompt("请输入送餐地址");

                    //后台做计算价格 : (餐费大于50元免除配送费,否则配送费6元)
                    //后台将订餐信息添加到数组中
                    //计算消费
                    let yourCash = prices[youeDishNo - 1] * yourChoiceCount > 50 ? 0 : 6; //三目运算符

                    //计算总价格
                    let yourTotalPrice = prices[youeDishNo - 1] * yourChoiceCount + yourCash;

                    //将订餐信息添加到数组
                    names.push(yourName);
                    disMegs.push(yourDishMegs);
                    times.push(yourTotalPrice);

                    //打印成功信息
                    console.log("订餐成功");
                    console.log(`
                    ---------------------------------------------------------------
                    您订的是:${yourDishMegs}
                    送餐时间:${yourTime}点
                    餐费:${prices[youeDishNo - 1] * yourChoiceCount}元,送餐费:${yourCash}元,总计:${yourTotalPrice}元。

                    `);
                    continue;

                case 2:
                    console.log("****查看餐袋****");
                    console.log(`序号   订餐人  餐品信息   送餐日期   送餐地址   总金额   订单状态`);
                    //let 块级作用域 定义的变量作用范围是离他最近的一个花括号的范围
                    for (let i = 0; i < names.length; i++) {
                        console.log(`${i + 1}\t${names[i]}\t${disMegs[i]}\t ${times[i]}点 \t ${addresses[i]} \t${sumPrices[i]}元\t${states[i] == 0 ? '已预定' : '已签收'}`);

                    }
                    continue;

                case 3:
                    console.log("****签收订单****");
                    let yourSignNo = +prompt("请选择要签收的订单序号");
                    //判断订单数组里面有没有数据
                    if (names.length === 0) {
                        console.log("没有订单,输入错误");
                    } else {
                        while (yourSignNo > names.length || yourSignNo < 1) {
                            console.log("您选的订单不存在,请重新选择订单序号");
                        }
                        //判断订单是否已签收,已签收不能再次签收给出提示
                        if (states[yourSignNo - 1] === 1) {
                            console.log("您选择的订单已完成签收,不能再次签收!!!");
                        } else {
                            //可以被签收,修改状态
                            states[yourSignNo - 1] = 1
                            console.log("签收完成,感谢您的配合");
                        }
                    }

                    continue;

                case 4:
                    console.log("****删除订单****");
                    let yourDelNo = +prompt("请选择要删除的订单");
                    //判断订单数组里面有没有数据
                    if (yourDelNo === 0) {
                        console.log("没有订单,输入错误");
                    } else {
                        while (yourDelNo > names.length || yourDelNo < 1) {
                            console.log("您选择的订单不存在,请重新输入订单号");
                            yourDelNo = +prompt("请选择要删除的订单");
                        }
                        //判断订单是否已经删除,已删除
                        if (yourDelNo === 0) {
                            console.log("订单未签收,不能删除");
                        } else {
                            //将选择的订单从数组中删除 arry.splice(yourDelNo-1,1)
                            //删除6个数组
                            let delNo = yourDelNo - 1;
                            names.splice(delNo, 1);
                            states.splice(delNo, 1);
                            disMegs.splice(delNo, 1);
                            sumPrices.splice(delNo, 1);
                            addresses.splice(delNo, 1);
                            times.splice(delNo, 1);
                            console.log("删除成功,欢迎惠顾");
                        }
                    }
                    continue;

                case 5:
                    console.log("****我要点赞****");
                    console.log("****我要点赞****");
                    console.log(`餐品信息 `);
                    for (let i = 0; i < dishNames.length; i++) {
                        console.log(
                            `${i + 1}\t ${dishNames[i]}\t ${prices[i]}\t ${praiseNums[i]
                            }\t`
                        );
                    }
                    let yourProductLikes =
                        +prompt("请输入需要点赞的订单序号:");
                    //判断订单数组里面有没有数据
                    if (names.length === 0) {
                        console.log("没有订单,输入错误!");
                    } else {
                        while (
                            yourProductLikes > dishNames.length ||
                            yourProductLikes < 1
                        ) {
                            console.log("您所选的订单不存在,诘重新订单序号:");
                            yourProductLikes =
                                +prompt("请选择要签收的订单序号:");
                        }

                        praiseNums.splice(
                            yourProductLikes - 1,
                            1,
                            ++praiseNums[yourProductLikes - 1]
                        );
                        console.log("点赞成功");
                        for (let i = 0; i < dishNames.length; i++) {
                            console.log(
                                `${i + 1}\t ${dishNames[i]}\t ${prices[i]}\t ${praiseNums[i]
                                }\t`
                            );
                        }
                    }

                    continue;

                case 6:
                    console.log("****退出系统****");

                    break;

                case 7:
                    console.log("***新品上架****");
                    console.log(`餐品信息`);
                    for (let i = 0; i < dishNames.length; i++) {
                        console.log(`${i + 1}\t ${dishNames[i]}\t ${prices[i]}\t ${praiseNums[i]}`);
                    }

                    var yourNewChoices = prompt("请输入需要的订单名称:");
                    var yourNewPrices = +prompt("请输入需要的订单价格:");
                    var yourdianzan = 0;

                    dishNames.push(yourNewChoices);
                    prices.push(yourNewPrices);
                    praiseNums.push(yourdianzan);

                    console.log("添加成功");
                    for (let i = 0; i < dishNames.length; i++) {
                        console.log(`${i + 1}\t ${dishNames[i]}\t ${prices[i]}\t ${praiseNums[i]}`);
                    }
                    continue;

            }
            //跳出系统
            break;

        } while (true)
        console.log("程序结束");






    </script>

</body>

</html>

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>
        /*1.数据主体:包含6个订餐相关的数组
            订餐人   names
            送餐时间 dishmags
            送餐时间 times
            送餐地址 addresses
            订单状态 states
            总订单 sumPrices

        包含3个菜品相关的数组
            餐品名 dishNames
            单价 prices
            点赞数 praiseNums
        */

        //订单信息
        var names = ["小组长", "王军威"];
        var disMegs = ["大肉丸子2个", "鸡1只"];
        var times = [13, 14];
        var addresses = ["江苏警官学院", "江苏警官学院"];
        var states = [1, 0];  //是否预定
        var sumPrices = [99 * 2, 52];

        //餐品信息
        var dishNames = ["大肉丸子", "鸡", "鸭屁股", "烤乳猪"];
        var prices = [99, 52, 9.9, 13];
        var praiseNums = [78, 10, 8, 20];


        //2.搭建框架结构
        do {
            //使用ES6里面的模板字符串
            //变量选择数字
            var choice;
            // +prompt()接收录入的数据  +直接转换成整数
            choice = +prompt(`

            *************************

            1.我要订餐
            2.查看餐袋
            3.签收订单
            4.删除订单
            5.我要点赞
            6.退出系统
            7.新品上架
           

            *************************

            请选择:

            `);

            //根据选项进行操作
            switch (choice) {
                case 1:
                    console.log("====我要订餐====");
                    var yourName = prompt("请输入订餐人姓名")
                    //展示菜品信息
                    console.log(`序号   菜名   单价    点赞数`);
                    for (let i = 0; i < dishNames.length; i++) {
                        //模板字符串解析变量 ${表达式}
                        console.log(`${i + 1}   ${dishNames[i]}   ${prices[i]}    ${praiseNums[i]}`);
                    }

                    //选择菜品编号
                    let youeDishNo = +prompt("请您选择要点的菜品编号");
                    while (youeDishNo > dishNames.length || youeDishNo < 1) {
                        youeDishNo = +prompt("对不起,您点的菜真没有,请重新录入");
                    }

                    // 选择份数
                    let yourChoiceCount = +prompt("请选择您需要的份数");

                    //拼接菜品信息
                    let yourDishMegs = dishNames[youeDishNo - 1] + " " + yourChoiceCount + "份"

                    //选择时间
                    let yourTime = + prompt("请输入送餐时间(送餐时间10店到20点之间)");
                    while (yourTime > 20 || yourTime < 10) {
                        yourTime = +prompt("对不起您录入的时间不在骑手的工作范围之内,请重新输入送餐时间");
                    }

                    //选择地址
                    let yourAddress = prompt("请输入送餐地址");

                    //后台做计算价格 : (餐费大于50元免除配送费,否则配送费6元)
                    //后台将订餐信息添加到数组中
                    //计算消费
                    let yourCash = prices[youeDishNo - 1] * yourChoiceCount > 50 ? 0 : 6; //三目运算符

                    //计算总价格
                    let yourTotalPrice = prices[youeDishNo - 1] * yourChoiceCount + yourCash;

                    //将订餐信息添加到数组
                    names.push(yourName);
                    disMegs.push(yourDishMegs);
                    times.push(yourTotalPrice);

                    //打印成功信息
                    console.log("订餐成功");
                    console.log(`
                    ---------------------------------------------------------------
                    您订的是:${yourDishMegs}
                    送餐时间:${yourTime}
                    餐费:${prices[youeDishNo - 1] * yourChoiceCount}元,送餐费:${yourCash}元,总计:${yourTotalPrice}元。

                    `);
                    continue;

                case 2:
                    console.log("****查看餐袋****");
                    console.log(`序号   订餐人  餐品信息   送餐日期   送餐地址   总金额   订单状态`);
                    //let 块级作用域 定义的变量作用范围是离他最近的一个花括号的范围
                    for (let i = 0; i < names.length; i++) {
                        console.log(`${i + 1}\t${names[i]}\t${disMegs[i]}\t${times[i]}\t${addresses[i]}\t${sumPrices[i]}\t${states[i] == 0 ? '已预定' : '已签收'}`);

                    }
                    continue;

                case 3:
                    console.log("****签收订单****");
                    let yourSignNo = +prompt("请选择要签收的订单序号");
                    //判断订单数组里面有没有数据
                    if (names.length === 0) {
                        console.log("没有订单,输入错误");
                    } else {
                        while (yourSignNo > names.length || yourSignNo < 1) {
                            console.log("您选的订单不存在,请重新选择订单序号");
                        }
                        //判断订单是否已签收,已签收不能再次签收给出提示
                        if (states[yourSignNo - 1] === 1) {
                            console.log("您选择的订单已完成签收,不能再次签收!!!");
                        } else {
                            //可以被签收,修改状态
                            states[yourSignNo - 1] = 1
                            console.log("签收完成,感谢您的配合");
                        }
                    }

                    continue;

                case 4:
                    console.log("****删除订单****");
                    let yourDelNo = +prompt("请选择要删除的订单");
                    //判断订单数组里面有没有数据
                    if (yourDelNo === 0) {
                        console.log("没有订单,输入错误");
                    } else {
                        while (yourDelNo > names.length || yourDelNo < 1) {
                            console.log("您选择的订单不存在,请重新输入订单号");
                            yourDelNo = +prompt("请选择要删除的订单");
                        }
                        //判断订单是否已经删除,已删除
                        if (yourDelNo === 0) {
                            console.log("订单未签收,不能删除");
                        } else {
                            //将选择的订单从数组中删除 arry.splice(yourDelNo-1,1)
                            //删除6个数组
                            let delNo = yourDelNo - 1;
                            names.splice(delNo, 1);
                            states.splice(delNo, 1);
                            disMegs.splice(delNo, 1);
                            sumPrices.splice(delNo, 1);
                            addresses.splice(delNo, 1);
                            times.splice(delNo, 1);
                            console.log("删除成功,欢迎惠顾");
                        }
                    }
                    continue;

                case 5:
                    console.log("****我要点赞****");
                    console.log("****我要点赞****");
                    console.log(`餐品信息 `);
                    for (let i = 0; i < dishNames.length; i++) {
                        console.log(
                            `${i + 1}\t${dishNames[i]}\t${prices[i]}\t${praiseNums[i]
                            }\t`
                        );
                    }
                    let yourProductLikes =
                        +prompt("请输入需要点赞的订单序号:");
                    //判断订单数组里面有没有数据
                    if (names.length === 0) {
                        console.log("没有订单,输入错误!");
                    } else {
                        while (
                            yourProductLikes > dishNames.length ||
                            yourProductLikes < 1
                        ) {
                            console.log("您所选的订单不存在,诘重新订单序号:");
                            yourProductLikes =
                                +prompt("请选择要签收的订单序号:");
                        }

                        praiseNums.splice(
                            yourProductLikes - 1,
                            1,
                            ++praiseNums[yourProductLikes - 1]
                        );
                        console.log("点赞成功");
                        for (let i = 0; i < dishNames.length; i++) {
                            console.log(
                                `${i + 1}\t${dishNames[i]}\t${prices[i]}\t${praiseNums[i]
                                }\t`
                            );
                        }
                    }

                    continue;

                case 6:
                    console.log("****退出系统****");

                    break;

                case 7:
                    console.log("***新品上架****");
                    console.log(`餐品信息`);
                    for (let i = 0; i < dishNames.length; i++) {
                        console.log(`${i + 1}\t${dishNames[i]}\t${prices[i]}\t${praiseNums[i]}`);
                    }

                    var yourNewChoices = prompt("请输入需要的订单名称:");
                    var yourNewPrices = +prompt("请输入需要的订单价格:");
                    var yourdianzan = 0;

                    dishNames.push(yourNewChoices);
                    prices.push(yourNewPrices);
                    praiseNums.push(yourdianzan);

                    console.log("添加成功");
                    for (let i = 0; i < dishNames.length; i++) {
                        console.log(`${i + 1}\t${dishNames[i]}\t${prices[i]}\t${praiseNums[i]}`);
                    }
                    continue;

            }
            //跳出系统
            break;

        } while (true)
        console.log("程序结束");






    </script>

</body>

</html>