瀏覽代碼

修改字数提示

git-svn-id: svn://svn7.apicloud.com/A6007457911931/%E5%9C%88%E5%A4%9A%E5%A4%9A@630 0e1a2743-8d03-4e5a-a60c-7e26af42b145
1149931599@qq.com 4 年之前
當前提交
70dbb20cab
共有 100 個文件被更改,包括 22714 次插入0 次删除
  1. 227 0
      adv.html
  2. 352 0
      codelogin.html
  3. 62 0
      config.xml
  4. 二進制
      css/DINOT-Medium.ttf
  5. 81 0
      css/api.css
  6. 182 0
      css/border.css
  7. 0 0
      css/example.css
  8. 3 0
      css/iconfont.css
  9. 二進制
      css/iconfont/iconfont.eot
  10. 43 0
      css/iconfont/iconfont.svg
  11. 二進制
      css/iconfont/iconfont.ttf
  12. 二進制
      css/iconfont/iconfont.woff
  13. 二進制
      css/iconfont/iconfont.woff2
  14. 25 0
      css/reset.css
  15. 38 0
      css/star-rating-svg.css
  16. 981 0
      css/style.css
  17. 11 0
      css/swiper.min.css
  18. 4 0
      css/weui.min.css
  19. 161 0
      findpad.html
  20. 232 0
      home.html
  21. 511 0
      html/agent/bill.html
  22. 353 0
      html/agent/frame0.html
  23. 201 0
      html/agent/frame1.html
  24. 198 0
      html/agent/history.html
  25. 145 0
      html/agent/index.html
  26. 469 0
      html/agent/list.html
  27. 240 0
      html/find/finddetails.html
  28. 168 0
      html/find/findsearch.html
  29. 929 0
      html/frame0.html
  30. 242 0
      html/frame1.html
  31. 536 0
      html/frame2.html
  32. 403 0
      html/frame3.html
  33. 313 0
      html/home/addaddress.html
  34. 438 0
      html/home/buycar.html
  35. 75 0
      html/home/buydtl.html
  36. 349 0
      html/home/feedback.html
  37. 164 0
      html/home/feedgoods.html
  38. 620 0
      html/home/goodssearch.html
  39. 1174 0
      html/home/hoteldtl.html
  40. 231 0
      html/home/hotelsearch.html
  41. 70 0
      html/home/local.html
  42. 368 0
      html/home/msglist.html
  43. 308 0
      html/home/paymode.html
  44. 94 0
      html/home/paysuccess.html
  45. 769 0
      html/home/postaddr.html
  46. 354 0
      html/home/selectaddress.html
  47. 1525 0
      html/home/showgoods.html
  48. 201 0
      html/home/showhotel.html
  49. 675 0
      html/home/storecategory.html
  50. 150 0
      html/home/vender.html
  51. 437 0
      html/hotel/frame0.html
  52. 301 0
      html/hotel/frame1.html
  53. 254 0
      html/hotel/frame2.html
  54. 211 0
      html/hotel/frame3.html
  55. 429 0
      html/hotel/history.html
  56. 165 0
      html/hotel/index.html
  57. 415 0
      html/hotel/orderdtl.html
  58. 141 0
      html/hotel/urge.html
  59. 112 0
      html/my/about.html
  60. 268 0
      html/my/appagent.html
  61. 285 0
      html/my/apphotel.html
  62. 155 0
      html/my/bindmobile.html
  63. 122 0
      html/my/editpad.html
  64. 242 0
      html/my/favorite.html
  65. 234 0
      html/my/feedback.html
  66. 357 0
      html/my/orderlist.html
  67. 316 0
      html/my/points.html
  68. 86 0
      html/my/privacy.html
  69. 86 0
      html/my/private.html
  70. 364 0
      html/my/refund_list.html
  71. 276 0
      html/my/setting.html
  72. 129 0
      html/my/shangwuhezuo.html
  73. 44 0
      html/my/signin.html
  74. 158 0
      html/my/syssetting.html
  75. 239 0
      html/order/contacthotel.html
  76. 273 0
      html/order/evaluate.html
  77. 727 0
      html/order/order_return.html
  78. 558 0
      html/order/orderdtl.html
  79. 518 0
      html/order/refund_orderdtl.html
  80. 137 0
      html/order/urge.html
  81. 二進制
      icon/icon150x150.png
  82. 二進制
      image/0002.jpg
  83. 二進制
      image/881649.jpg
  84. 二進制
      image/DefaultLaunch1242_2208.png
  85. 二進制
      image/abg.jpg
  86. 二進制
      image/addimg.png
  87. 二進制
      image/address.png
  88. 二進制
      image/aiil.jpg
  89. 二進制
      image/apply_in.jpg
  90. 二進制
      image/back_top.png
  91. 二進制
      image/border_none.png
  92. 二進制
      image/bottombtn0101.png
  93. 二進制
      image/bottombtn0102.png
  94. 二進制
      image/bottombtn0201.png
  95. 二進制
      image/bottombtn0202.png
  96. 二進制
      image/bottombtn0301.png
  97. 二進制
      image/bottombtn0302.png
  98. 二進制
      image/bottombtn0401.png
  99. 二進制
      image/bottombtn0402.png
  100. 二進制
      image/buycar-none.png

+ 227 - 0
adv.html

@@ -0,0 +1,227 @@
+<!doctype html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="./css/api.css" />
+    <link rel="stylesheet" type="text/css" href="./css/style.css?v=1.2" />
+    <style>
+        html,body{height:100%;padding:0px;margin: 0 auto;text-align: center;}
+        .adv {
+            height: 100vh;
+            background-size: auto 100%;
+            background-repeat: no-repeat;
+            background-position: center;
+        }
+        .weui-btn {
+            position: relative;
+            display: block;
+            width: 184px;
+            margin-left: auto;
+            margin-right: auto;
+            padding: 8px 24px;
+            box-sizing: border-box;
+            font-weight: 700;
+            font-size: 17px;
+            text-align: center;
+            text-decoration: none;
+            color: #FFFFFF;
+            line-height: 1.41176471;
+            border-radius: 4px;
+            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+            overflow: hidden;
+        }
+        .weui-btn_mini {
+            display: inline-block;
+            width: auto;
+            padding: 0 0.75em;
+            line-height: 2;
+            font-size: 0.32rem;
+            background: #888;
+            position: fixed;
+            z-index: 1;
+            top: 1.2rem;
+            right: 0.3rem;
+        }
+     </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <div class="adv"></div>
+    <a href="javascript:redirectIndex();" class="weui-btn weui-btn_mini">跳 过</a>
+</body>
+<script type="text/javascript" src="./script/api.js"></script>
+<script type="text/javascript" src="./script/jquery.min.js"></script>
+<script type="text/javascript" src="./script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _myalias = '';
+apiready = function() {
+    redirectAdv();
+    // setTimeCloseWin("adv");
+    setTimeout(function(){
+        redirectIndex();
+        setTimeCloseWin("adv");
+    }, 6000)
+};
+
+function redirectAdv() {
+    $.ajax({
+        url: siteurl + 'v2/entry/boot_adv',
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.enable == 1) {
+                    $('.adv').attr('style', 'background-image: url('+siteurl+'/uploads/home/adv/'+datas.data.images+')');
+                    $('.adv').attr('type', datas.data.target.type);
+                    $('.adv').attr('store_id', datas.data.target.store_id);
+                    $('.adv').attr('goods_id', datas.data.target.goods_id);
+                    $('.adv').attr('article_id', datas.data.target.article_id);
+                    return false;
+                } else {
+                    redirectIndex();
+                }
+            } else {
+                errcode(datas, datas.code);
+                return false;
+            }
+        }
+    });
+}
+
+$(".adv").on("tap", function() {
+    var _type = $('.adv').attr('type');
+    // redirectIndex();
+    switch (_type) {
+        case 'goods':
+            var _goods_id = $('.adv').attr('goods_id');
+            var _store_id = $('.adv').attr('store_id');
+            console.log(_goods_id, _store_id)
+            to_goods_id(_goods_id, _store_id);
+            setTimeCloseWin("adv");
+            break;
+        case 'store':
+            var _store_id = $('.adv').attr('store_id');
+            console.log(_store_id);
+            to_store_id(_store_id);
+            setTimeCloseWin("adv");
+            break;
+        case 'article':
+            var _article_id = $('.adv').attr('article_id');
+            console.log(_article_id);
+            to_article_id(_article_id);
+            setTimeCloseWin("adv");
+            break;
+    }
+});
+
+function redirectSlide() {
+    api.openWin({
+        name: 'slide',
+        url: 'slide.html',
+        bounces: false
+    });
+}
+
+function redirectLogin() {
+    api.openWin({
+        name: 'login',
+        url: 'login.html',
+        bounces: false
+    });
+}
+
+function redirectIndex() {
+    api.openWin({
+        name: 'index',
+        url: 'index.html',
+        bounces: false
+    });
+}
+
+function redirectHotIndex() {
+    api.openWin({
+        name: 'hotelindex',
+        url: './html/hotel/index.html',
+        bounces: false
+    });
+}
+
+function redirectagent() {
+    api.openWin({
+        name: 'agentindex',
+        url: './html/agent/index.html',
+        bounces: false
+    });
+}
+
+function to_article_id(_adv_article_id) {
+    // body...
+    api.openWin({
+        name: 'finddetails',
+        url: './html/find/finddetails.html',
+        bounces: false,
+        pageParam: {
+            keyid: _adv_article_id
+        }
+    });
+    $('.weui-gallery').hide();
+    return false;
+}
+
+function to_goods_id(_adv_goods_id, _storeid) {
+    // body...
+    api.openWin({
+        name: 'showgoods',
+        url: './html/home/showgoods.html',
+        bounces: false,
+        pageParam: {
+            keyid: _adv_goods_id,
+            storeid: _storeid
+        }
+    });
+    $('.weui-gallery').hide();
+    return false;
+}
+
+function to_store_id(_adv_store_id) {
+    // body...
+    api.openWin({
+        name: 'hoteldtl',
+        url: './html/home/hoteldtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _adv_store_id
+        }
+    });
+    $('.weui-gallery').hide();
+    return false;
+}
+
+</script>
+
+</html>

+ 352 - 0
codelogin.html

@@ -0,0 +1,352 @@
+<!doctype html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="./css/api.css" />
+    <link rel="stylesheet" type="text/css" href="./css/style.css" />
+    <style>
+        body {
+    		
+    	}
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">验证码登录</li>
+            <li class="more-btn">注册</li>
+        </ul>
+    </header>
+    <section class="new-list">
+        <div class="login-logo"><img src="image/logo2.png" /></div>
+        <div style="position: relative;">
+            <input class="bot-input" id="mobile" type="text" placeholder="输入手机号" />
+            <div class="h5"></div>
+            <input class="bot-input" id="code" type="text" placeholder="短信验证码" />
+            <input class="get-code" type="button" value="获取验证码" />
+            <div class="h20"></div>
+            <div class="h20"></div>
+            <div class="m-bottom">登 录</div>
+            <div class="h20" style="height: 0.5rem;"></div>
+            <div class="">
+                <div class="pad-login">使用密码登录</div>
+            </div>
+        </div>
+        <div class="h50"></div>
+    </section>
+    <div class="more-landing">
+        <ul>
+            <li>&nbsp;</li>
+            <li style="width:70%;"><img id="qq-login" src="image/qq_login.png" style="margin-right:10px;" />
+                <img id="wx-login" src="image/wx_login.png" style="margin-left:10px;" /></li>
+            <li>&nbsp;</li>
+        </ul>
+    </div>
+</body>
+<script type="text/javascript" src="script/api.js"></script>
+<script type="text/javascript" src="script/jquery.min.js"></script>
+<script type="text/javascript" src="script/jquery.tap.js"></script>
+<script type="text/javascript">
+    var countdown = 60;
+apiready = function() {
+    setFixStatusBar();
+    isinwx();
+    isinqq();
+};
+$(".m-bottom").on("tap", function() {
+    getRouteData();
+    return false;
+})
+
+$(".get-code").on("tap", function() {
+    var phone = $("#mobile").val();
+    if(!(/^1[3456789]\d{9}$/.test(phone))){
+        api.toast({ msg: '手机号不正确!' });
+        return false;
+    }
+    if (countdown != 60) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v1/entry/sms',
+        data: {
+            mobile: phone,
+            scenes: 'login'
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var obj = $(".get-code");
+                settime(obj);
+            }
+            api.toast({ msg: datas.msg });
+        }
+    });
+    return false;
+})
+
+function settime(obj) {
+    if (countdown == 0) {
+        obj.attr('disabled',false);
+        obj.val("获取验证码");
+        countdown = 60; 
+    } else {
+        obj.attr('disabled',true);
+        obj.val("重新发送(" + countdown + ")");
+        countdown--;
+        setTimeout(function() {
+            settime(obj)
+        }, 1000)
+    }
+}
+
+function getRouteData() {
+    var phone = $("#mobile").val();
+    if(!(/^1[3456789]\d{9}$/.test(phone))){
+        api.toast({ msg: '手机号不正确!' });
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v1/entry/account',
+        data: {
+            account: phone,
+            code: $("#code").val()
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            api.toast({ msg: datas.msg });
+            if (datas.result) {
+                $api.setStorage("accesstoken", datas.data.token);
+                $api.setStorage("memberid", datas.data.member_id);
+                $api.setStorage("storeid", datas.data.store_id);
+                $api.setStorage("agent_id", datas.data.agent_id);
+                dologin(datas);
+                setTimeCloseWin("codelogin");
+            } else {
+                $api.rmStorage("storeid");
+                $api.rmStorage("agent_id");
+                $api.rmStorage("accesstoken");
+                $api.rmStorage("memberid");
+            }
+        }
+    });
+}
+
+function dologin(e) {
+    // body...
+    if (e.data.is_store == 1) {
+        $api.rmStorage("memberid");
+        $api.rmStorage("agent_id");
+        api.openWin({
+            name: 'hotelindex',
+            url: './html/hotel/index.html',
+            bounces: false
+        })
+        return false;
+    } if (e.data.is_agent == 1) {
+        $api.rmStorage("storeid");
+        $api.rmStorage("memberid");
+        api.openWin({
+            name: 'agentindex',
+            url: './html/agent/index.html',
+            bounces: false
+        })
+        return false;
+    } else {
+        $api.rmStorage("agent_id");
+        $api.rmStorage("storeid");
+        api.openWin({
+            name: 'index',
+            url: 'index.html',
+            bounces: false
+        })
+    }
+}
+
+$(".more-btn").on("tap", function() {
+    api.openWin({
+        name: 'register',
+        allowEdit: true,
+        url: 'register.html',
+        bounces: false
+    });
+    setTimeCloseWin("codelogin");
+})
+$(".pad-login").on("tap", function() {
+    api.closeWin();
+})
+
+///
+
+function isinwx(){
+    var wx = api.require('wx');
+    wx.isInstalled(function(ret, err) {
+        if (ret.installed) {
+            $("#wx-login").fadeIn();
+        } else {
+            $("#wx-login").fadeOut();
+        }
+    })
+}
+
+function isinqq(){
+    var qq = api.require('QQPlus');
+    qq.installed(function(ret, err) {
+        if (ret.status) {
+            $("#qq-login").fadeIn();
+        } else {
+            $("#qq-login").fadeOut();
+        }
+    })
+}
+
+
+$("#wx-login").on("tap", function() {
+    var wx = api.require('wx');
+    wx.isInstalled(function(ret, err) {
+        if (ret.installed) {
+            wx.auth({
+                apiKey: ''
+            }, function(ret, err) {
+                if (ret.status) {
+                    wx.getToken({
+                        code: ret.code
+                    }, function(ret, err) {
+                        if (ret.status) {
+                            $.ajax({
+                                url: siteurl + 'v1/entry/account',
+                                data: {
+                                    openid: ret.openId,
+                                    auth: 'wx'
+                                },
+                                dataType: 'json',
+                                type: 'post',
+                                success: function(datas) {
+                                    if (datas.result) {
+                                        api.toast({ msg: '登录成功!' });
+                                        $api.setStorage("memberid", datas.data.member_id);
+                                        $api.setStorage("accesstoken", datas.data.token);
+                                        $api.setStorage("storeid", datas.data.store_id);
+                                        $api.setStorage("agent_id", datas.data.agent_id);
+                                        dologin(datas);
+                                        setTimeCloseWin("login");
+                                    } else {
+                                        api.openWin({
+                                            name: 'register',
+                                            url: 'register.html',
+                                            bounces: false,
+                                            pageParam: {
+                                                openid: ret.openId,
+                                                auth: 'wx'
+                                            }
+                                        });
+                                        $api.rmStorage("agent_id");
+                                        $api.rmStorage("storeid");
+                                        $api.rmStorage("accesstoken");
+                                        $api.rmStorage("memberid");
+                                    }
+                                }
+                            });
+                        } else {
+                            api.toast({ msg: '获取授权失败!' });
+                        }
+                    });
+                } else {
+                    api.toast({ msg: '获取code失败!' });
+                }
+            });
+        } else {
+            api.toast({ msg: '系统没有安装微信!' });
+        }
+    });
+})
+///
+$("#qq-login").on("tap", function() {
+    var qq = api.require('QQPlus');
+    qq.installed(function(ret, err) {
+        if (ret.status) {
+            qq.login(function(ret, err) {
+                if (ret.openId) {
+                    $.ajax({
+                        url: siteurl + 'v1/entry/account',
+                        data: {
+                            openid: ret.openId,
+                            auth: 'qq'
+                        },
+                        dataType: 'json',
+                        type: 'post',
+                        success: function(datas) {
+                            if (datas.result) {
+                                api.toast({ msg: '登录成功!' });
+                                $api.setStorage("memberid", datas.data.member_id);
+                                $api.setStorage("accesstoken", datas.data.token);
+                                $api.setStorage("storeid", datas.data.store_id);
+                                $api.setStorage("agent_id", datas.data.agent_id);
+                                dologin(datas);
+                                setTimeCloseWin("login");
+                            } else {
+                                api.openWin({
+                                    name: 'register',
+                                    url: 'register.html',
+                                    bounces: false,
+                                    pageParam: {
+                                        openid: ret.openId,
+                                        auth: 'qq'
+                                    }
+                                });
+                                $api.rmStorage("agent_id");
+                                $api.rmStorage("storeid");
+                                $api.rmStorage("accesstoken");
+                                $api.rmStorage("memberid");
+                            }
+                        }
+                    });
+                } else {
+                    api.toast({ msg: '获取授权失败!' });
+                }
+            });
+        } else {
+            api.toast({ msg: "系统没有安装QQ!" });
+        }
+    });
+})
+var windowInnerHeight = window.innerHeight; //获取当前浏览器窗口高度
+$(window).resize(function() {
+    if (window.innerHeight < windowInnerHeight) {
+        $('.more-landing').css('position', 'static'); //当内部高度变小时
+    } else {
+        $('.more-landing').css('position', 'fixed');
+    }
+});
+</script>
+
+</html>

+ 62 - 0
config.xml

@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<widget id="A6007457911931" version="0.0.1"> 
+  <name>圈在网</name>  
+  <description>圈在网</description>  
+  <author email="228345375@qq.com" href="http://www.qzaiwang.com">228345375</author>  
+  <content src="home.html"/>  
+  <preference name="pageBounce" value="false"/>  
+  <preference name="appBackground" value="rgba(0,0,0,0.0)"/>  
+  <preference name="windowBackground" value="rgba(0,0,0,0.0)"/>  
+  <preference name="frameBackgroundColor" value="rgba(0,0,0,0.0)"/>  
+  <preference name="hScrollBarEnabled" value="true"/>  
+  <preference name="vScrollBarEnabled" value="true"/>  
+  <preference name="autoLaunch" value="false"/>  
+  <preference name="fullScreen" value="false"/> 
+  <preference name="smartUpdate" value="false"/>  
+  <preference name="debug" value="false"/>
+  <preference name="iOS7StatusBarAppearance" value="true" />
+  <preference name="statusBarAppearance" value="true"/>  
+  <permission name="readPhoneState"/>  
+  <preference name="querySchemes" value="mqq,mqqapi"/>
+  <preference name="customRefreshHeader" value="UIPullRefresh" />
+  <preference name="autoUpdate" value="false" />
+  <preference name="urlScheme" value="qzaiwangscheme" />
+  <permission name="camera"/>  
+  <permission name="record"/>  
+  <permission name="location"/>  
+  <permission name="fileSystem"/>  
+  <permission name="internet"/>  
+  <permission name="bootCompleted"/>  
+  <permission name="hardware"/>  
+  <access origin="*"/>  
+  <meta-data name="com.openinstall.APP_KEY" value="kc2epk" />
+  <feature name="openinstall">
+      <param name="com.openinstall.APP_KEY" value="kc2epk" />
+  </feature>
+  <feature name="aMap"> 
+    <param name="android_api_key" value="c2666a201f847309b828976f7813eea6"/>  
+    <param name="ios_api_key" value="3a4cf74731efa92669a4e0b701d595a9"/> 
+  </feature>
+  <feature name="wx"> 
+    <param name="urlScheme" value="wx9ad9ab6885e88e9d"/>  
+    <param name="apiKey" value="wx9ad9ab6885e88e9d"/>  
+    <param name="apiSecret" value="0b89f422388eb17b3e5918662c63b148"/> 
+  </feature>  
+  <feature name="QQPlus"> 
+    <param name="urlScheme" value="tencent101519990"/>  
+    <param name="apiKey" value="101519990"/> 
+  </feature>  
+  <feature name="ajpush"> 
+    <param name="app_key" value="ab712c18b8d1071bd40d2481"/>  
+    <param name="channel" value="308f96d76a914be027452d61"/> 
+  </feature>  
+  <feature name="aliPayPlus">
+    <param name="urlScheme" value="AliPayA6007457911931"/> 
+  </feature>
+  <feature name="wxPay">
+      <param name="urlScheme" value="wx9ad9ab6885e88e9d"/>
+      <param name="apiKey" value="wx9ad9ab6885e88e9d"/>
+      <param name="apiSecret" value="0b89f422388eb17b3e5918662c63b148"/>
+  </feature>
+</widget>

二進制
css/DINOT-Medium.ttf


+ 81 - 0
css/api.css

@@ -0,0 +1,81 @@
+html{
+	font-family: sans-serif;
+}
+html,body,header,section,footer,div,ul,ol,li,img,a,span,em,del,legend,center,strong,var,fieldset,form,label,dl,dt,dd,cite,input,hr,time,mark,code,figcaption,figure,textarea,h1,h2,h3,h4,h5,h6,p{
+	margin:0;
+	border:0;
+	padding:0;
+	font-style:normal;
+}
+html,body {
+	-webkit-touch-callout:none;
+	-webkit-text-size-adjust:none;
+	-webkit-tap-highlight-color:rgba(0, 0, 0, 0);
+	-webkit-user-select:none;
+	background-color: #fff;
+}
+nav,article,aside,details,main,header,footer,section,fieldset,figcaption,figure{
+	display: block;
+}
+img,a,button,em,del,strong,var,label,cite,small,time,mark,code,textarea{
+	display:inline-block;
+}
+header,section,footer {
+	position:relative;
+}
+ol,ul{
+	list-style:none;
+}
+input,button,textarea {
+	border:0;
+	margin:0;
+	padding:0;
+	font-size:1em;
+	line-height:1em;
+	/*-webkit-appearance:none;*/
+	background-color:rgba(0, 0, 0, 0);
+}
+span{
+	display:inline-block;
+}
+a:active, a:hover {
+  outline: 0;
+}
+a, a:visited{
+	text-decoration:none;
+}
+
+label, .wordWrap{
+    word-wrap: break-word;
+    word-break: break-all;
+}
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+td,th {
+  padding: 0;
+}
+.clearfix:after{
+	content: ' ';
+	display: block;
+	clear: both;
+	visibility:hidden;
+	line-height: 0;
+	height:0;
+}
+.loading_more{
+	display: block;
+	height: 1.5em;
+	width: 100%;
+}
+.loading_more:before {
+	display: inline-block; vertical-align: text-bottom;
+	content: ' '; height: 16px; width: 16px; margin-right: 6px;
+	background: url(../image/loading_more.gif) no-repeat center;
+	-webkit-background-size: contain;
+	background-size: contain;
+} 
+.loading_more:after {
+	content: '加载更多';	
+}

+ 182 - 0
css/border.css

@@ -0,0 +1,182 @@
+@charset "utf-8";
+.border,
+.border-top,
+.border-right,
+.border-bottom,
+.border-left,
+.border-topbottom,
+.border-rightleft,
+.border-topleft,
+.border-rightbottom,
+.border-topright,
+.border-bottomleft {
+    position: relative;
+}
+.border::before,
+.border-top::before,
+.border-right::before,
+.border-bottom::before,
+.border-left::before,
+.border-topbottom::before,
+.border-topbottom::after,
+.border-rightleft::before,
+.border-rightleft::after,
+.border-topleft::before,
+.border-topleft::after,
+.border-rightbottom::before,
+.border-rightbottom::after,
+.border-topright::before,
+.border-topright::after,
+.border-bottomleft::before,
+.border-bottomleft::after {
+    content: "\0020";
+    overflow: hidden;
+    position: absolute;
+}
+/* border
+ * 因,边框是由伪元素区域遮盖在父级
+ * 故,子级若有交互,需要对子级设置
+ * 定位 及 z轴
+ */
+.border::before {
+    box-sizing: border-box;
+    top: 0;
+    left: 0;
+    height: 100%;
+    width: 100%;
+    border: 1px solid #eaeaea;
+    transform-origin: 0 0;
+}
+.border-top::before,
+.border-bottom::before,
+.border-topbottom::before,
+.border-topbottom::after,
+.border-topleft::before,
+.border-rightbottom::after,
+.border-topright::before,
+.border-bottomleft::before {
+    left: 0;
+    width: 100%;
+    height: 1px;
+}
+.border-right::before,
+.border-left::before,
+.border-rightleft::before,
+.border-rightleft::after,
+.border-topleft::after,
+.border-rightbottom::before,
+.border-topright::after,
+.border-bottomleft::after {
+    top: 0;
+    width: 1px;
+    height: 100%;
+}
+.border-top::before,
+.border-topbottom::before,
+.border-topleft::before,
+.border-topright::before {
+    border-top: 1px solid #eaeaea;
+    transform-origin: 0 0;
+}
+.border-right::before,
+.border-rightbottom::before,
+.border-rightleft::before,
+.border-topright::after {
+    border-right: 1px solid #eaeaea;
+    transform-origin: 100% 0;
+}
+.border-bottom::before,
+.border-topbottom::after,
+.border-rightbottom::after,
+.border-bottomleft::before {
+    border-bottom: 1px solid #eaeaea;
+    transform-origin: 0 100%;
+}
+.border-left::before,
+.border-topleft::after,
+.border-rightleft::after,
+.border-bottomleft::after {
+    border-left: 1px solid #eaeaea;
+    transform-origin: 0 0;
+}
+.border-top::before,
+.border-topbottom::before,
+.border-topleft::before,
+.border-topright::before {
+    top: 0;
+}
+.border-right::before,
+.border-rightleft::after,
+.border-rightbottom::before,
+.border-topright::after {
+    right: 0;
+}
+.border-bottom::before,
+.border-topbottom::after,
+.border-rightbottom::after,
+.border-bottomleft::after {
+    bottom: 0;
+}
+.border-left::before,
+.border-rightleft::before,
+.border-topleft::after,
+.border-bottomleft::before {
+    left: 0;
+}
+@media (max--moz-device-pixel-ratio: 1.49), (-webkit-max-device-pixel-ratio: 1.49), (max-device-pixel-ratio: 1.49), (max-resolution: 143dpi), (max-resolution: 1.49dppx) {
+    /* 默认值,无需重置 */
+}
+@media (min--moz-device-pixel-ratio: 1.5) and (max--moz-device-pixel-ratio: 2.49), (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 2.49), (min-device-pixel-ratio: 1.5) and (max-device-pixel-ratio: 2.49), (min-resolution: 144dpi) and (max-resolution: 239dpi), (min-resolution: 1.5dppx) and (max-resolution: 2.49dppx) {
+    .border::before {
+        width: 200%;
+        height: 200%;
+        transform: scale(.5);
+    }
+    .border-top::before,
+    .border-bottom::before,
+    .border-topbottom::before,
+    .border-topbottom::after,
+    .border-topleft::before,
+    .border-rightbottom::after,
+    .border-topright::before,
+    .border-bottomleft::before {
+        transform: scaleY(.5);
+    }
+    .border-right::before,
+    .border-left::before,
+    .border-rightleft::before,
+    .border-rightleft::after,
+    .border-topleft::after,
+    .border-rightbottom::before,
+    .border-topright::after,
+    .border-bottomleft::after {
+        transform: scaleX(.5);
+    }
+}
+@media (min--moz-device-pixel-ratio: 2.5), (-webkit-min-device-pixel-ratio: 2.5), (min-device-pixel-ratio: 2.5), (min-resolution: 240dpi), (min-resolution: 2.5dppx) {
+    .border::before {
+        width: 300%;
+        height: 300%;
+        transform: scale(.33333);
+    }
+    .border-top::before,
+    .border-bottom::before,
+    .border-topbottom::before,
+    .border-topbottom::after,
+    .border-topleft::before,
+    .border-rightbottom::after,
+    .border-topright::before,
+    .border-bottomleft::before {
+        transform: scaleY(.33333);
+    }
+    .border-right::before,
+    .border-left::before,
+    .border-rightleft::before,
+    .border-rightleft::after,
+    .border-topleft::after,
+    .border-rightbottom::before,
+    .border-topright::after,
+    .border-bottomleft::after {
+        transform: scaleX(.33333);
+    }
+}

File diff suppressed because it is too large
+ 0 - 0
css/example.css


File diff suppressed because it is too large
+ 3 - 0
css/iconfont.css


二進制
css/iconfont/iconfont.eot


File diff suppressed because it is too large
+ 43 - 0
css/iconfont/iconfont.svg


二進制
css/iconfont/iconfont.ttf


二進制
css/iconfont/iconfont.woff


二進制
css/iconfont/iconfont.woff2


+ 25 - 0
css/reset.css

@@ -0,0 +1,25 @@
+@charset "utf-8";html{background-color:#fff;color:#000;font-size:12px}
+body,ul,ol,dl,dd,h1,h2,h3,h4,h5,h6,figure,form,fieldset,legend,input,textarea,button,p,blockquote,th,td,pre,xmp{margin:0;padding:0}
+body,input,textarea,button,select,pre,xmp,tt,code,kbd,samp{line-height:1.5;font-family:tahoma,arial,"Hiragino Sans GB",simsun,sans-serif}
+h1,h2,h3,h4,h5,h6,small,big,input,textarea,button,select{font-size:100%}
+h1,h2,h3,h4,h5,h6{font-family:tahoma,arial,"Hiragino Sans GB","微软雅黑",simsun,sans-serif}
+h1,h2,h3,h4,h5,h6,b,strong{font-weight:normal}
+address,cite,dfn,em,i,optgroup,var{font-style:normal}
+table{border-collapse:collapse;border-spacing:0;text-align:left}
+caption,th{text-align:inherit}
+ul,ol,menu{list-style:none}
+fieldset,img{border:0}
+img,object,input,textarea,button,select{vertical-align:middle}
+article,aside,footer,header,section,nav,figure,figcaption,hgroup,details,menu{display:block}
+audio,canvas,video{display:inline-block;*display:inline;*zoom:1}
+blockquote:before,blockquote:after,q:before,q:after{content:"\0020"}
+textarea{overflow:auto;resize:vertical}
+input,textarea,button,select,a{outline:0 none;border: none;}
+button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}
+mark{background-color:transparent}
+a,ins,s,u,del{text-decoration:none}
+sup,sub{vertical-align:baseline}
+html {overflow-x: hidden;height: 100%;font-size: 50px;-webkit-tap-highlight-color: transparent;}
+body {font-family: Arial, "Microsoft Yahei", "Helvetica Neue", Helvetica, sans-serif;color: #333;font-size: .28em;line-height: 1;-webkit-text-size-adjust: none;}
+hr {height: .02rem;margin: .1rem 0;border: medium none;border-top: .02rem solid #cacaca;}
+a {color: #25a4bb;text-decoration: none;}

+ 38 - 0
css/star-rating-svg.css

@@ -0,0 +1,38 @@
+.jq-stars {
+  display: inline-block;
+}
+
+.jq-rating-label {
+  font-size: 22px;
+  display: inline-block;
+  position: relative;
+  vertical-align: top;
+  font-family: helvetica, arial, verdana;
+}
+
+.jq-star {
+  width: 100px;
+  height: 100px;
+  display: inline-block;
+  cursor: pointer;
+}
+
+.jq-star-svg {
+  padding-left: 3px;
+  width: 100%;
+  height: 100% ;
+}
+
+.jq-star:hover .fs-star-svg path {
+}
+
+.jq-star-svg path {
+  /* stroke: #000; */
+  stroke-linejoin: round;
+}
+
+/* un-used */
+.jq-shadow {
+  -webkit-filter: drop-shadow( -2px -2px 2px #888 );
+  filter: drop-shadow( -2px -2px 2px #888 );
+}

+ 981 - 0
css/style.css

@@ -0,0 +1,981 @@
+html,
+body {
+    font-size: 0.28rem;
+    font-weight: 500;
+    height: 100%;
+    background: #ffffff;
+    font-family: Microsoft YaHei, Arial;
+    -webkit-overflow-scrolling: touch;
+}
+
+input,
+button,
+select,
+textarea {
+    outline: none;
+}
+
+@font-face{
+     font-family: 'Medium'; 
+     /*src: url('../font/字体名称.eot');*/
+     src: url('./DINOT-Medium.ttf') format('truetype');
+}
+.topbar {
+    position: fixed;
+    top: 0;
+    z-index: 99;
+    background: #ffffff;
+    width: 100%;
+}
+
+.weui-loading {
+    background-image: url(../image/loading.svg);
+}
+
+textarea {
+    resize: none;
+}
+.weui_tab_bd_item {
+    display: none;
+}
+.weui_tab_bd_item.weui_tab_bd_item_active {
+    display: block;
+}
+.hover {
+    opacity: .8;
+}
+
+.flex-wrap {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+}
+
+.flex-con {
+    -webkit-box-flex: 1;
+    -webkit-flex: 1;
+    flex: 1;
+}
+
+.flex-vertical {
+    -webkit-box-orient: vertical;
+    -webkit-flex-flow: column;
+    flex-flow: column;
+}
+
+.border-t,
+.border-b {
+    position: relative;
+}
+
+.border-t:before,
+.border-b:after {
+    content: '';
+    position: absolute;
+    left: 0;
+    top: 0;
+    background: #ddd;
+    right: 0;
+    height: 1px;
+    -webkit-transform: scaleY(0.5);
+    transform: scaleY(0.5);
+    -webkit-transform-origin: 0 0;
+    transform-origin: 0 0;
+}
+
+.border-b:after {
+    top: auto;
+    bottom: 0;
+}
+
+#wrap {
+    height: 100%;
+}
+
+body {
+    box-sizing: border-box;
+}
+
+input {
+    border: none;
+    outline: none;
+    font: inherit;
+}
+
+div,
+ul,
+li,
+span,
+input {
+    margin: 0px;
+    padding: 0px;
+    color: #606266;
+    list-style: none;
+}
+
+.msg-total {
+    background-color: #f56c6c;
+    border-radius: 1em;
+    color: #fff;
+    display: inline-block;
+    font-size: 0.2rem;
+    height: 0.18rem;
+    line-height: 0.18rem;
+    padding: 0.05rem 0.1rem;
+    text-align: center;
+    white-space: nowrap;
+}
+
+.font-rem11 {
+    font-size: 0.28rem;
+}
+
+.h2 {
+    width: 100%;
+    clear: both;
+    height: 0.15rem;
+}
+
+.h5 {
+    width: 100%;
+    clear: both;
+    height: 0.4rem;
+}
+
+.new-list {
+    padding-top: 1rem;
+}
+
+.h10 {
+    width: 100%;
+    clear: both;
+    height: 0.3rem;
+}
+
+.back-h10 {
+    width: 100%;
+    clear: both;
+    height: 1.2rem;
+    background: #f2f2f2;
+}
+.border:after {
+    content: ' ';
+    position: absolute;
+    pointer-events: none;
+    box-sizing: border-box;
+    top: -50%;
+    left: -50%;
+    right: -50%;
+    bottom: -50%;
+    -webkit-transform: scale(0.5);
+    transform: scale(0.5);
+    border-bottom: 1px solid #d9251c;
+}
+.h20 {
+    width: 100%;
+    clear: both;
+    height: 0.17rem;
+}
+
+.back-h50 {
+    width: 100%;
+    clear: both;
+    height: 0.2rem;
+    background: #f2f2f2;
+}
+
+.h50 {
+    width: 100%;
+    clear: both;
+    height: 0.2rem;
+}
+
+.h70 {
+    width: 100%;
+    clear: both;
+    height: 2rem;
+}
+
+.white-back {
+    background: #ffffff !important;
+}
+
+.right-tag {
+    float: right;
+    font-weight: 600;
+}
+
+.bot-input {
+    color: #999999;
+    border-bottom: 1px solid #e8e8e8;
+    width: 100%;
+    padding: 0.25rem 0 0.25rem 0.3rem;
+    border-radius: 0px;
+    font-size: 0.35rem;
+}
+
+.border-t {
+    background-color: #fff;
+    height: 1rem;
+    /*margin-top: 0.3rem;*/
+}
+
+#footer ul li {
+    color: #909399;
+    padding-top: 0.55rem;
+    padding-bottom: 0px;
+    background: url() no-repeat center 2px;
+    background-size: auto 0.5rem;
+    text-align: center;
+}
+
+.m-bottom {
+    width: 100%;
+    height: 1rem;
+    line-height: 1rem;
+    background: #D9251C;
+    color: #ffffff;
+    border-radius: 0.05rem;
+    text-align: center;
+    font-size: 0.33rem;
+}
+
+.back-header {
+    width: 100%;
+    /*height: 1rem;*/
+    position: fixed;
+    left: 0px;
+    right: 0px;
+    padding-left: 0.32rem;
+    padding-right: 0.32rem;
+    box-sizing: border-box;
+    z-index: 2;
+    background: #ffffff;
+}
+
+.back-header li div {
+    margin: 0.125rem 0;
+}
+
+#keyword {
+    font-size: 0.3rem;
+}
+
+.back-header-bottom {
+    border-bottom: 1px solid #e8e8e8;
+}
+
+.back-header-ico {
+    width: 0.25rem;
+    padding-bottom: 0.3em;
+    vertical-align: middle;
+}
+
+.back-header-title {
+    text-align: center;
+    font-size: 0.28rem;
+    color: #666666;
+}
+
+.back-header li.back-btn {
+    width: 0.42rem;
+}
+
+.back-header li.more-btn {
+    text-align: right;
+    font-size: 0.28rem;
+    color: #666666;
+    width: 0.6rem;
+    float: right;
+}
+
+.back-header li {
+    width: 5.66rem;
+    float: left;
+    height: 0.85rem;
+    line-height: 0.85rem;
+    font-size: 0.35rem;
+}
+
+.back-header li.padding-20 {
+    width: 0.6rem;
+}
+
+.padding-08 {
+    padding-left: 0.32rem;
+    padding-right: 0.32rem;
+    box-sizing: border-box;
+}
+
+section {
+    padding-left: 0.32rem;
+    padding-right: 0.32rem;
+    box-sizing: border-box;
+}
+
+.mask {
+    position: absolute;
+    top: 0px;
+    left: 0px;
+    right: 0px;
+    bottom: 0px;
+    background: rgba(0, 0, 0, 0.5);
+    z-index: 999;
+}
+
+.mask-hidden {
+    display: none;
+}
+
+.bottom-none {
+    border-bottom: none;
+}
+
+.data-null {
+    width: 100%;
+    margin-top: 0.2rem;
+    text-align: center;
+    color: #DDDDDD;
+    clear: both;
+}
+
+.no_overflow {
+    height: 100%;
+    overflow: hidden;
+}
+
+.back-top {
+    position: fixed;
+    width: 40px;
+    height: 40px;
+    right: 10px;
+    bottom: 20px;
+    border: 1px solid #e8e8e8;
+    border-radius: 50%;
+    z-index: 999;
+    background-image: url('../image/back_top.png');
+    background-size: 100% 100%;
+}
+
+/*******login**********/
+.login-logo {
+    margin-top: 1rem;
+    width: 100%;
+    text-align: center;
+}
+
+.login-logo img {
+    width: 1.8rem;
+}
+
+.find-pad {
+    float: left;
+    font-size: 0.28rem;
+}
+
+.code-login {
+    float: right;
+    font-size: 0.28rem;
+}
+
+.pad-login {
+    margin: auto;
+    width: 100%;
+    text-align: center;
+}
+
+.get-code {
+    position: absolute;
+    right: 0px;
+    top: 1.3rem;
+    height: 0.5rem;
+    line-height: 0.5rem;
+    width: 2rem;
+    text-align: center;
+    border-left: 1px solid #e8e8e8;
+}
+
+.more-landing {
+    text-align: center;
+    margin: auto;
+    width: 100%;
+    position: fixed;
+    bottom: 0.2rem;
+}
+
+.more-landing li {
+    float: left;
+    width: 15%;
+}
+
+.more-landing img {
+    width: 0.75rem;
+}
+
+.color-red {
+    color: #A13532;
+}
+
+.msg-totalx {
+    background-color: #f56c6c;
+    border-radius: 0.2rem;
+    color: #fff;
+    display: inline-block;
+    font-size: 0.12rem;
+    height: 0.18rem;
+    line-height: 0.18rem;
+    padding: 0 0.6em;
+    text-align: center;
+    white-space: nowrap;
+    border: 1px solid #fff;
+}
+
+/********home**********/
+.home-top {
+    height: 0.6rem;
+    padding: 0.15rem 0;
+}
+
+.home-top div {
+    /*float: left;*/
+}
+
+.home-top-left {
+    /*height: 30px;*/
+    width: 4.5rem;
+    font-size: 0.28rem;
+    /*margin-top: 8px;*/
+}
+
+.home-top-local {
+    width: 0.37rem;
+    vertical-align: middle;
+    padding-bottom: 0.4em;
+}
+
+.local-name {
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    width: 3.67rem;
+    height: 0.3rem;
+    line-height: 0.33rem;
+}
+
+.home-top-right {
+    /*width: 40%;
+    position: relative;*/
+}
+
+.home-top-right span {
+    text-align: center;
+    float: right;
+}
+
+.home-top-right p {
+    font-size: 0.2rem;
+    line-height: 0.2rem;
+    color: #999;
+}
+
+.home-search {
+    width: 100%;
+    text-align: center;
+    background: #f5f5f5;
+    /*border: 1px solid #e8e8e8;*/
+    /*height: 0.57rem;*/
+    line-height: 0.57rem;
+    border-radius: 0.5rem;
+    font-size: 0.28rem;
+    color: #999999;
+}
+
+.home-search img {
+    width: 0.32rem;
+    margin-bottom: 0.07rem;
+    vertical-align: middle;
+}
+
+.home-ads {
+    width: 100%;
+    height: 3.3rem;
+    background: #e8e8e8;
+}
+
+.home-nearby {
+    position: relative;
+    font-size: 0.3rem;
+}
+
+.home-hotel-list {
+    vertical-align: middle;
+    margin-bottom: 0.1rem;
+    overflow: hidden;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+}
+
+.home-hotel-left {
+    float: left;
+    width: 2.15rem;
+    height: 1.5rem;
+    border-radius: 0.2em;
+    margin-top: 0.2em;
+}
+
+.home-hotel-left img {
+    width: 100%;
+    height: 100%;
+    border-radius: 0.2em;
+}
+
+.home-hotel-right {
+    padding-left: 0.3rem;
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    min-width: 0;
+}
+
+.home-hotel-title {
+    width: 100%;
+    text-align: left;
+    overflow: hidden;
+    color: #333;
+}
+
+.home-hotel-dtl {
+    width: 100%;
+    font-size: 0.24rem;
+}
+
+.home-hotel-dtl li {
+    float: left;
+    padding: 0.1rem 0;
+}
+
+.home-hotel-dtl img {
+    width: 0.27rem;
+    vertical-align: middle;
+    margin-bottom: 0.1rem;
+}
+
+.home-hotel-dsc {
+    width: 100%;
+    overflow: hidden;
+    font-size: 0.24rem;
+    line-height: 0.34rem;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    -webkit-box-orient: vertical;
+    word-break: break-all;
+}
+
+.error-k {
+    border: 1px solid #f40 !important;
+    border-radius: 0.1rem;
+}
+
+/*************发现***************/
+.find-list-time {
+    color: #999999;
+    font-size: 0.24rem;
+}
+
+.find-dtl-title {
+    width: 100%;
+    padding-top: 0.5rem;
+    padding-bottom: 0.5rem;
+    font-weight: 600;
+    font-size: 0.33rem;
+}
+
+.find-dtl-content {
+    width: 100%;
+    /*font-size: 1rem;*/
+    overflow: hidden;
+    padding-bottom: 1rem;
+}
+
+.find-dtl-content img {
+    width: 100% !important;
+    height: 100% !important;
+}
+
+.find-list-dsc {
+    overflow: hidden;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    -webkit-box-orient: vertical;
+    word-break: break-all;
+    /*width: 3.7rem;*/
+    margin-bottom: 0.23rem;
+    height: 0.77rem;
+    line-height: 0.37rem;
+    color: #333;
+}
+
+.search-item {
+    width: 100%;
+    background: #f5f5f5;
+    position: relative;
+    text-align: left;
+    padding-left: 0.32rem;
+    padding-right: 0.32rem;
+    box-sizing: border-box;
+    /*height: 0.55rem;*/
+    line-height: 0.55rem;
+    border-radius: 0.5rem;
+    margin: 0.15rem 0;
+}
+
+.search-item img {
+    width: 0.33rem;
+    vertical-align: middle;
+}
+
+.el-button {
+    display: inline-block;
+    line-height: 1;
+    white-space: nowrap;
+    cursor: pointer;
+    background: #fff;
+    /*border: 1px solid #dcdfe6;*/
+    color: #606266;
+    -webkit-appearance: none;
+    text-align: center;
+    box-sizing: border-box;
+    outline: none;
+    margin: 0;
+    transition: .1s;
+    font-weight: 500;
+    -moz-user-select: none;
+    -webkit-user-select: none;
+    -ms-user-select: none;
+    padding: 0.12rem 0.2rem;
+    /*font-size: 0.14rem;*/
+    border-radius: 0.05rem;
+}
+
+.el-button.is-round {
+    padding: 0.12rem 0.2rem;
+}
+
+.el-button.is-round {
+    border-radius: 0.2rem;
+    padding: 0.12rem 0.23rem;
+}
+
+/*****************我的*****************/
+.my-head {
+    width: 100%;
+    height: 2.62rem;
+    background: #d9251c;
+}
+
+.my-msg {
+    width: 100%;
+    text-align: right;
+}
+
+.my-msg img {
+    width: 0.37rem;
+}
+
+.padding-top {
+    padding-top: 1rem;
+}
+
+.my-header {
+    width: 100%;
+    height: 1.3rem;
+    vertical-align: middle;
+    color: #ffffff;
+}
+
+.my-header li {
+    float: left;
+}
+
+.my-header-img {
+    width: 1.3rem;
+    height: 1.3rem;
+    border-radius: 50%;
+}
+
+.my-head-name {
+    color: #ffffff;
+    padding-top: 0.2rem;
+    box-sizing: border-box;
+    font-size: 0.33rem;
+}
+
+.my-head-name p {
+    font-size: 0.15rem;
+}
+
+.my-head-sign {
+    border-radius: 0.5rem;
+    padding: 0.1rem 0.15rem;
+    border: 1px solid #ffffff;
+    color: #ffffff;
+    margin-top: 0.37rem;
+    box-sizing: border-box;
+    background: rgba(212, 189, 189, 0.37);
+}
+
+.my-order {
+    width: 100%;
+    height: 1rem;
+    line-height: 1rem;
+    border-bottom: 1px solid #e8e8e8;
+    font-size: 0.28rem;
+}
+
+.my-order span {
+    color: #737272;
+}
+
+.my-order-btn {
+    width: 100%;
+    margin: 1em 0;
+    height: 0.9rem;
+}
+
+.my-order-btn li {
+    width: 20%;
+    float: left;
+    text-align: center;
+    font-size: 0.22rem;
+}
+
+.my-order-btn img {
+    width: 0.5rem;
+}
+
+.my-appy-in {
+    width: 100%;
+}
+
+.my-appy-in li {
+    float: left;
+    width: 50%;
+    padding-top: 10px;
+    padding-bottom: 5px;
+}
+
+.my-appy-in img {
+    width: 3.02rem;
+    height: 1.72rem;
+    border-radius: 0.2em;
+}
+
+.my-btn-list img {
+    width: 0.33rem;
+    height: 0.33rem;
+    vertical-align: middle;
+    margin-bottom: 0.05rem;
+}
+
+.jq-star {
+    width: 0.23rem !important;
+    height: 0.23rem !important;
+}
+
+/***************订单*******************/
+.order-list-title {
+    padding: 0.15rem 0;
+    border-bottom: 1px solid #f5f5f5;
+}
+
+.order-list-title img {
+    width: 0.31rem;
+    height: 0.31rem;
+    vertical-align: middle;
+    border-radius: 50%;
+    margin-bottom: 0.1em;
+}
+
+.order-list-goods {
+    padding-top: 0.2rem;
+}
+
+.order-list-goods li {
+    float: left;
+    overflow: hidden;
+}
+
+.order-list-right {
+    padding-left: 0.3rem;
+    width: 3.7rem;
+}
+
+.order-list-goods img {
+    width: 1.73rem;
+    height: 1.73rem;
+    /*margin-right: 0.1rem;*/
+    border-radius: 0.2em;
+}
+
+.order-list-status {
+    float: right;
+    color: #D9251C;
+}
+
+.order-list-action {
+    float: right;
+    border: 1px solid #9a8b8b;
+    padding: 0.02rem 0.08rem;
+    border-radius: 0.2em;
+}
+
+.font-size-18 {
+    font-size: 18px;
+}
+
+.iconfont {
+    font-size: 0.28rem;
+}
+
+/******************商品***********************/
+.goods-list {
+    width: 100%;
+}
+
+.goods-list-item {
+    width: 50%;
+    float: left;
+    padding: 0.05rem;
+    box-sizing: border-box;
+}
+
+.goods-image {
+    width: 3.3rem;
+    height: 3.3rem;
+    object-fit: cover;
+}
+
+.goods-title {
+    height: 0.32rem;
+    line-height: 0.32rem;
+    overflow: hidden;
+}
+
+.goods-price {
+    color: #d9251c;
+    font-size: 0.29rem;
+}
+
+.sort-img {
+    width: 18px;
+    vertical-align: middle;
+}
+
+.add-num {
+    float: right;
+    /*width: 120px;*/
+    border: 0.02rem solid #e8e8e8;
+    border-radius: 0.2em;
+}
+
+.add-num li {
+    float: left;
+    width: 0.7rem;
+    text-align: center;
+    border-right: 1px solid #e8e8e8;
+    box-sizing: border-box;
+    height: 0.6rem;
+    line-height: 0.6rem;
+    font-size: 0.28rem;
+}
+
+.add-num input {
+    text-align: center;
+    width: 100%;
+    color: #666666;
+}
+
+.line-through {
+    text-decoration: line-through;
+    color: #cccccc;
+    font-size: 0.2rem;
+}
+
+.hotel-top-back {
+    opacity: 0.35;
+    width: 100%;
+    height: auto;
+    line-height: 0.6rem;
+    border-radius: 50%;
+    background: #000000;
+    text-align: center;
+}
+
+.hotel-top-back img {
+    width: 0.3rem;
+    vertical-align: middle;
+}
+
+.hotel-top-search {
+    width: 100%;
+    opacity: 0.35;
+    height: 0.6rem;
+    line-height: 0.6rem;
+    background: #000000;
+    border-radius: 0.5rem;
+    color: #ffffff;
+    padding-left: 0.2rem;
+    box-sizing: border-box;
+    font-size: 0.28rem;
+}
+.weui-gallery {
+    width: 100%;
+}
+.weui-gallery__img {
+    top: 0;
+    bottom: 0;
+}
+.weui-gallery__opr {
+    bottom: 0;
+}
+.weui-gallery__img, .weui-gallery__opr {
+    right: 0;
+    left: 0;
+}
+
+.hotel-top-search img {
+    width: 0.35rem;
+    vertical-align: middle;
+    margin-bottom: 0.05rem;
+}
+@keyframes bounceOut {
+  20% {
+    -webkit-transform: scale3d(.9, .9, .9);
+    transform: scale3d(.9, .9, .9);
+  }
+ 
+  50%, 55% {
+    opacity: 1;
+    -webkit-transform: scale3d(1.1, 1.1, 1.1);
+    transform: scale3d(1.1, 1.1, 1.1);
+  }
+ 
+  100% {
+    opacity: 0;
+    -webkit-transform: scale3d(.3, .3, .3);
+    transform: scale3d(.3, .3, .3);
+  }
+}
+ 
+.bounceOut {
+  -webkit-animation-name: bounceOut;
+  animation-name: bounceOut;
+}
+.wordwrap {
+    position: absolute;
+    right: 0;
+}
+.wordwrap .word{
+    padding: 0 0.1rem;
+}

File diff suppressed because it is too large
+ 11 - 0
css/swiper.min.css


File diff suppressed because it is too large
+ 4 - 0
css/weui.min.css


+ 161 - 0
findpad.html

@@ -0,0 +1,161 @@
+<!doctype html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="./css/api.css" />
+    <link rel="stylesheet" type="text/css" href="./css/style.css" />
+    <style>
+        body{
+    		-webkit-user-select: all;
+    	}
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header">
+        <ul>
+            <li class="padding-20"><img class="back-header-ico" src="image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">找回密码</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="new-list">
+        <div class="login-logo"><img src="image/logo2.png" /></div>
+        <div style="position: relative;">
+            <input class="bot-input" id="mobile" maxlength="11" type="number" placeholder="输入手机号" />
+            <input class="bot-input" id="code" type="text" placeholder="短信验证码" />
+            <input class="get-code" type="button" value="获取验证码" />
+            <input class="bot-input" id="password" type="password" placeholder="输入密码" />
+            <input class="bot-input" id="repassword" type="password" placeholder="重复密码" />
+            <div class="h20"></div>
+            <div class="h20"></div>
+            <div class="m-bottom">提 交</div>
+            <div class="h20"></div>
+        </div>
+    </section>
+</body>
+<script type="text/javascript" src="./script/api.js"></script>
+<script type="text/javascript" src="script/jquery.min.js"></script>
+<script type="text/javascript" src="script/jquery.tap.js"></script>
+<script type="text/javascript">
+    var countdown=60;
+apiready = function() {
+    setFixStatusBar();
+};
+$(".back-header").on("click", function() {
+    api.closeWin();
+})
+
+$(".get-code").on("tap", function() {
+    var phone = $("#mobile").val();
+    if(!(/^1[3456789]\d{9}$/.test(phone))){
+        api.toast({ msg: '手机号不正确!' });
+        return false;
+    }
+    if (countdown != 60) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v1/entry/sms',
+        data: {
+            mobile: phone,
+            scenes: 'pwd'
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var obj = $(".get-code");
+                settime(obj);
+            }
+            api.toast({ msg: datas.msg });
+        }
+    });
+    return false;
+})
+
+$(".m-bottom").on("tap", function() {
+    getRouteData();
+    return false;
+})
+
+function settime(obj) {
+    if (countdown == 0) {
+        obj.attr('disabled',false);
+        obj.val("获取验证码");
+        countdown = 60; 
+    } else {
+        obj.attr('disabled',true);
+        obj.val("重新发送(" + countdown + ")");
+        countdown--;
+        setTimeout(function() {
+            settime(obj)
+        }, 1000)
+    }
+}
+
+function getRouteData() {
+    var phone = $("#mobile").val();
+    if(!(/^1[3456789]\d{9}$/.test(phone))){
+        api.toast({ msg: '手机号不正确!' });
+        return false;
+    }
+    if ($("#code").val() == "") {
+        api.toast({ msg: '验证码不能为空!' });
+        return false;
+    }
+    if ($("#password").val() == "") {
+        api.toast({ msg: '密码不能为空!' });
+        return false;
+    }
+    if ($("#password").val() != $("#repassword").val()) {
+        api.toast({ msg: '两次密码不一致!' });
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v1/entry/reset_pwd',
+        data: {
+            account: phone,
+            code: $("#code").val(),
+            pwd: $("#password").val()
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                api.toast({ msg: datas.msg });
+                setTimeCloseWin("findpad");
+            } else {
+                api.toast({ msg: datas.msg });
+            }
+        }
+    });
+}
+</script>
+
+</html>

+ 232 - 0
home.html

@@ -0,0 +1,232 @@
+<!doctype html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="./css/api.css" />
+    <link rel="stylesheet" type="text/css" href="./css/style.css?v=1.2" />
+    <style>
+        html,body{height:100%;padding:0px;margin: 0 auto;text-align: center;}
+        .adv {
+            height: 100vh;
+            background-size: auto 100%;
+            background-repeat: no-repeat;
+            background-position: center;
+        }
+        .weui-btn {
+            position: relative;
+            display: block;
+            width: 184px;
+            margin-left: auto;
+            margin-right: auto;
+            padding: 8px 24px;
+            box-sizing: border-box;
+            font-weight: 700;
+            font-size: 17px;
+            text-align: center;
+            text-decoration: none;
+            color: #FFFFFF;
+            line-height: 1.41176471;
+            border-radius: 4px;
+            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+            overflow: hidden;
+        }
+        .weui-btn_mini {
+            display: inline-block;
+            width: auto;
+            padding: 0 0.75em;
+            line-height: 2;
+            font-size: 0.32rem;
+            background: rgba(0, 0, 0, 0.4);
+            position: fixed;
+            z-index: 1;
+            top: 1.2rem;
+            right: 0.3rem;
+            border: 1px solid rgba(255, 255, 255, 0.6);
+            font-weight: normal;
+            color: rgba(255, 255, 255);
+        }
+     </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <div class="adv" style=""></div>
+    <a href="javascript:redirectIndex();" class="weui-btn weui-btn_mini">跳 过</a>
+</body>
+<script type="text/javascript" src="./script/api.js"></script>
+<script type="text/javascript" src="./script/jquery.min.js"></script>
+<script type="text/javascript" src="./script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _myalias = '';
+var myVar;
+apiready = function() {
+    var memberLogin = $api.getStorage("memberid");
+    var storeLogin = $api.getStorage("storeid");
+    var agentLogin = $api.getStorage("agent_id");
+    var isSlide = $api.getStorage("isSlide");
+    api.removeLaunchView({
+        animation: {
+            type: 'fade',
+            duration: 2000
+        }
+    });
+    if (isSlide == 1) {
+        if ( storeLogin > 0 ) {
+            redirectHotIndex();
+        } else if (memberLogin > 0) {
+            redirectAdv();
+        } else if (agentLogin > 0 ) {
+            redirectagent();
+        } else {
+            redirectAdv();
+        }
+    } else {
+        redirectSlide();
+    }
+    setTimeCloseWin("home");
+};
+
+function redirectAdv() {
+    $.ajax({
+        url: siteurl + 'v2/entry/boot_adv',
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.enable == 1) {
+                    $('.adv').attr('style', 'background-image: url('+siteurl+'/uploads/home/adv/'+datas.data.images+')');
+                    $('.adv').attr('type', datas.data.target.type);
+                    $('.adv').attr('store_id', datas.data.target.store_id);
+                    $('.adv').attr('goods_id', datas.data.target.goods_id);
+                    $('.adv').attr('article_id', datas.data.target.article_id);
+                    return false;
+                } else {
+                    redirectIndex();
+                }
+            } else {
+                errcode(datas, datas.code);
+                return false;
+            }
+        }
+    });
+    myVar = setTimeout(function(){
+        redirectIndex();
+        setTimeCloseWin("home");
+    }, 4000);
+}
+
+$(".adv").on("tap", function() {
+    var _type = $('.adv').attr('type');
+    // redirectIndex();
+    clearTimeout(myVar);
+    switch (_type) {
+        case 'goods':
+            var _goods_id = $('.adv').attr('goods_id');
+            var _store_id = $('.adv').attr('store_id');
+            console.log(_goods_id, _store_id)
+            api.openWin({
+                name: 'index',
+                url: 'index.html',
+                bounces: false,
+                pageParam: {
+                    advtype: 'goods',
+                    advgoodsid: _goods_id,
+                    advstoreid: _store_id
+                }
+            });
+            break;
+        case 'store':
+            var _store_id = $('.adv').attr('store_id');
+            console.log(_store_id);
+            api.openWin({
+                name: 'index',
+                url: 'index.html',
+                bounces: false,
+                pageParam: {
+                    advtype: 'store',
+                    advstoreid: _store_id
+                }
+            });
+            break;
+        case 'article':
+            var _article_id = $('.adv').attr('article_id');
+            console.log(_article_id);
+            api.openWin({
+                name: 'index',
+                url: 'index.html',
+                bounces: false,
+                pageParam: {
+                    advtype: 'article',
+                    advarticleid: _article_id
+                }
+            });
+            break;
+    }
+});
+
+function redirectSlide() {
+    api.openWin({
+        name: 'slide',
+        url: 'slide.html',
+        bounces: false
+    });
+}
+
+function redirectLogin() {
+    api.openWin({
+        name: 'login',
+        url: 'login.html',
+        bounces: false
+    });
+}
+
+function redirectIndex() {
+    api.openWin({
+        name: 'index',
+        url: 'index.html',
+        bounces: false
+    });
+}
+
+function redirectHotIndex() {
+    api.openWin({
+        name: 'hotelindex',
+        url: './html/hotel/index.html',
+        bounces: false
+    });
+}
+
+function redirectagent() {
+    api.openWin({
+        name: 'agentindex',
+        url: './html/agent/index.html',
+        bounces: false
+    });
+}
+</script>
+
+</html>

+ 511 - 0
html/agent/bill.html

@@ -0,0 +1,511 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/example.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body {
+            background: #f2f2f2;
+        }
+    	.msg-list{
+           height: 100%
+    	}
+        .bgf2{
+            background: #f2f2f2;
+            height: auto;
+            padding-bottom: 1rem;
+        }
+    	.msg-cent-list{
+    	   width: 100%;
+    	   /*height: 2.4rem;*/
+    	   background: #ffffff;
+    	   border-radius: 0.1rem;
+    	   padding: 0.3rem;
+    	   box-sizing: border-box;
+    	   position: relative;
+           /*box-shadow: darkgrey 0.1rem 0.1rem 0.3rem 0.05rem;*/
+    	}
+        .msg-cent-right-title {
+            font-size: 0.3rem;
+            color: #333;
+        }
+        .msg-cent-list ul {
+            width: 100%;
+            display: inline-block;
+        }
+    	.msg-cent-list li{
+    	  float: left;
+          width: 100%;
+    	}
+    	.msg-cent-right-dtl{
+    	  font-size: 0.26rem;
+          color: #999;
+    	}
+    	.msg-time{
+    	  color: #bbb;
+    	  width: 100%;
+    	  text-align:center;
+    	  padding: 0.3rem 0;
+          /*font-size: 0.22rem;*/
+    	}
+    	.member-avatar{
+    	  width: 0.3rem;
+    	  height: 0.3rem;
+    	  border-radius:50%;
+    	  vertical-align:middle;
+          margin-bottom: 0.05rem;
+    	}
+        button.el-button {
+            background: #f2f2f2;
+            margin-left: 0.2rem;
+        }
+    	button.el-button, .feed-btn,.tel-btn{
+    	  float:right;
+          font-size: 0.24rem;
+        }
+        .el-button.is-round {
+            border-radius: 0.5rem;
+            margin-top: -0.1rem;
+        }
+        .is_read div {
+            color: #ccc;
+        }
+        .weui-loadmore_line .weui-loadmore__tips {
+            background-color: rgba(0, 0, 0, 0)
+        }
+        .weui-media-box__info__meta img {
+            border-radius: 0.25rem;width: 0.35rem;vertical-align: middle;margin-right: 0.2rem;
+        }
+        .page__hd {
+            padding: 0.2rem;
+        }
+        .page__desc, .page__title {
+            text-align: center;
+        }
+        a.weui-media-box:active {
+            background-color: #ffffff;
+        }
+        .weui-media-box__info a.weui-btn_mini {
+            position: absolute;
+            float: right;
+            right: 0.2rem;
+            margin-top: -0.7rem;
+        }
+        .page__bd .weui-media-box__desc {
+            -webkit-line-clamp: 3;
+        }
+        .placeholder {
+            padding: 20px;
+            /*text-align: left;*/
+        }
+        .placeholder span, .weui-cell.weui-cell_example div {
+            font-weight: 600;
+        }
+        .placeholder p, .weui-cell.weui-cell_example.th div {
+            color: #999;
+        }
+        .weui-cells.bill_hotel_list .weui-cell.weui-cell_example {
+            font-size: 0.28rem;
+        }
+        .tttttt p {
+            font-weight: 600;
+        }
+        .page__hd.date_btn {
+            text-align: center;
+            /*background-color: #fff;*/
+            position: absolute;
+            z-index: 1;
+            right: 0.32rem;
+            font-weight: 600;
+        }
+        .page__hd.date_btn p {
+            background-color: #efefef;
+            border-radius: 0.33rem;
+            padding: 3px 7px;
+        }
+        .bill_hotel_list .weui-cell__hd {
+            width: 25%;
+            text-align: left;
+        }
+        .bill_hotel_list .weui-cell__ft {
+            width: 22%;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section style="background:#ffffff;">
+        <header class="back-header">
+            <ul>
+                <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+                <li class="back-header-title" id="header-title">月度账单</li>
+                <li class="more-btn"></li>
+            </ul>
+        </header>
+    </section>
+    <section class="msg-list padding-top page panel js_show">
+        <div class="page__hd date_btn">
+            <p class="page__desc" id="bill_date" date="">2019-08 <span class="iconfont">&#xe78e;</span></p>
+        </div>
+            <div class="weui-cells tttttt" style="margin-top: 0;">
+                <label class="weui-cell weui-check__label" for="x11">
+                    <div class="weui-cell__bd">
+                        <p><span>4</span> 月数据统计</p>
+                    </div>
+                </label>
+            </div>
+        <div class="page__bd page__bd_spacing f_data" style="text-align: center;padding: 0;background-color: #fff;">
+            <div class="weui-flex">
+                <div class="weui-flex__item"><div class="placeholder x1"><span>0000</span><p>现金</p></div></div>
+                <div class="weui-flex__item"><div class="placeholder x2"><span>0000</span><p>圈币</p></div></div>
+            </div>
+            <div class="weui-flex">
+                <div class="weui-flex__item"><div class="placeholder x3"><span>0000</span><p>订单</p></div></div>
+                <div class="weui-flex__item"><div class="placeholder x4"><span>0000</span><p>酒店</p></div></div>
+            </div>
+        </div>
+        <div class="weui-search-bar mask-hiddxen" id="searchBar">
+            <form class="weui-search-bar__form" onsubmit="return false;">
+                <div class="weui-search-bar__box">
+                    <i class="weui-icon-search"></i>
+                    <input type="search" class="weui-search-bar__input" id="searchInput" placeholder="搜索" />
+                    <a href="javascript:" class="weui-icon-clear" id="searchClear"></a>
+                </div>
+                <label class="weui-search-bar__label" id="searchText" style="transform-origin: 0px 0px; opacity: 1; transform: scale(1, 1);">
+                    <i class="weui-icon-search"></i>
+                    <span>搜索</span>
+                </label>
+            </form>
+            <a href="javascript:" class="weui-search-bar__cancel-btn" id="searchCancel">取消</a>
+        </div>
+        <div class="page__bd" style="text-align: center;">
+            <div class="weui-cells tttttt" style="margin-top: 0;">
+                <label class="weui-cell weui-check__label" for="x11">
+                    <div class="weui-cell__bd" style="text-align: left;">
+                        <p><span>4</span> 月各酒店营业情况</p>
+                    </div>
+                </label>
+            </div>
+            <div class="weui-cells bill_hotel_list" style="margin-top: 0;">
+                <div class="weui-cell weui-cell_example th">
+                    <div class="weui-cell__hd">酒店名</div>
+                    <div class="weui-cell__bd">
+                        <p>现金</p>
+                    </div>
+                    <div class="weui-cell__ft">圈币</div>
+                </div>
+                <div class="weui-cell weui-cell_example">
+                    <div class="weui-cell__hd">虹苑酒店</div>
+                    <div class="weui-cell__bd">
+                        <p>999999</p>
+                    </div>
+                    <div class="weui-cell__ft">9999</div>
+                </div>
+            </div>
+        </div>
+        <div class="page__bd"></div>
+        <div class="page__ft">
+            <a href="#" class="mask-hidden">@QZaiwang.com</a>
+        </div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/weui.min.js"></script>
+<script type="text/javascript">
+var _page = '1';
+var _keyword = '';
+var _date = '';
+apiready = function() {
+    setFixStatusBar();
+    init_date();
+    getRouteData();
+    getRouteData2();
+    api.addEventListener({
+        name: 'scrolltobottom'
+    }, function(ret, err) {
+        _page = '1'; 
+        getRouteData();
+        getRouteData2();
+    });
+};
+
+function init_date() {
+    // body...
+    $('.tttttt span').html((new Date().getMonth()*1+1));
+    $("#bill_date").attr('date', new Date().getFullYear() + '-' + (new Date().getMonth()*1+1));
+    $("#bill_date").html( new Date().getFullYear() + '-' + (new Date().getMonth()*1+1) + ' <span class="iconfont">&#xe78e;</span>' );
+}
+
+function getRouteData(month) {
+    _date = $("#bill_date").attr('date');
+    if (_date == '') {
+        _date = new Date().getFullYear() + '-' + (new Date().getMonth()*1+1);
+        $("#bill_date").attr('date', _date);
+    }
+    var _data = { date: _date };
+    // console.log(_date);
+    if ( month ) {
+        _data = { date: month };
+    }
+    $.ajax({
+        url: siteurl + 'v1/agent/bill',
+        data: _data,
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $(".f_data .x1 span").html(datas.data.total_cash_amount);
+                $(".f_data .x2 span").html(datas.data.total_point_amount);
+                $(".f_data .x3 span").html(datas.data.order_count);
+                $(".f_data .x4 span").html(datas.data.store_count);
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+
+$('#bill_date').on('click', function () {
+    weui.datePicker({
+        start: new Date().getFullYear()-1,
+        end: new Date().getFullYear()+1,
+        onChange: function (result) {
+            // console.log(result)
+            $('.weui-picker .weui-picker__bd .weui-picker__group').eq(2).hide();
+            $('#bill_date').attr('date', result[0]+'-'+result[1])
+            $('#bill_date').html(result[0]+'-'+result[1]+ '<span class="iconfont">&#xe78e;</span>')
+            $('.tttttt span').html(result[1]);
+        },
+        onConfirm: function (result) {
+            // console.log(result)
+            $('.weui-picker .weui-picker__bd .weui-picker__group').eq(2).hide();
+            $('#bill_date').attr('date', result[0]+'-'+result[1])
+            $('#bill_date').html(result[0]+'-'+result[1]+'<span class="iconfont">&#xe78e;</span>')
+            $('.tttttt span').html(result[1]);
+            _page = '1';
+            getRouteData(result[0]+'-'+result[1]);
+            getRouteData2();
+        }
+    });
+});
+
+function getRouteData2(){
+    _date = $("#bill_date").attr('date');
+    var _data = { page: _page, date: _date };
+    if (_keyword) {
+        _data = { keyword: _keyword, page: '1', date: _date }
+    }
+    $.ajax({
+        url: siteurl + 'v1/agent/billStore',
+        data: _data,
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                // console.log(datas)
+                if (datas.data.list.length > 0) {
+                    var _html = '<div class="weui-cell weui-cell_example th"><div class="weui-cell__hd">酒店名</div><div class="weui-cell__bd"><p>现金</p></div><div class="weui-cell__ft">圈币</div></div>';
+                    $.each(datas.data.list, function (index, item) {
+                        _html += '<div class="weui-cell weui-cell_example"><div class="weui-cell__hd">'+item.store_name+'</div><div class="weui-cell__bd"><p>'+item.cash_amount+'</p></div><div class="weui-cell__ft">'+item.point_amount+'</div></div>';
+                    });
+                    if (_page == 1 || _keyword ) {
+                        $(".bill_hotel_list").html(_html);
+                    } else {
+                        $(".bill_hotel_list").append(_html);
+                    }
+                    _page++;
+                } else {
+                    if ( _page == 1 ) {
+                        $(".bill_hotel_list").html('<div class="weui-loadmore weui-loadmore_line"><span class="weui-loadmore__tips">暂无数据</span></div>');
+                    } else {
+                        $(".bill_hotel_list").append('<div class="weui-loadmore weui-loadmore_line"><span class="weui-loadmore__tips">暂无数据</span></div>');
+                    }
+                    _page = false;
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+
+function getRouteData3(_keywordx){
+    _date = $("#bill_date").attr('date');
+    // console.log(_date)
+    _data = { keyword: _keywordx, page: '1', "date": _date }
+    $.ajax({
+        url: siteurl + 'v1/agent/billStore',
+        data: _data,
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                // console.log(datas)
+                if (datas.data.list.length > 0) {
+                    var _html = '<div class="weui-cell weui-cell_example th"><div class="weui-cell__hd">酒店名</div><div class="weui-cell__bd"><p>现金</p></div><div class="weui-cell__ft">圈币</div></div>';
+                    $.each(datas.data.list, function (index, item) {
+                        _html += '<div class="weui-cell weui-cell_example"><div class="weui-cell__hd">'+item.store_name+'</div><div class="weui-cell__bd"><p>'+item.cash_amount+'</p></div><div class="weui-cell__ft">'+item.point_amount+'</div></div>';
+                    });
+                    $(".bill_hotel_list").html(_html);
+                } else {
+                    $(".bill_hotel_list").html('<div class="weui-loadmore weui-loadmore_line"><span class="weui-loadmore__tips">暂无数据</span></div>');
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+function urge_tel(key) {
+    if (!key) {
+        api.toast({ msg: '号码不能为空' });
+        return false;
+    }
+    api.call({
+        type: 'tel_prompt',
+        number: key
+    });
+    return false;
+}
+
+function post_Info(key) {
+    api.openWin({
+        name: 'showhotel',
+        url: '../find/finddetails.html',
+        bounces: false,
+        pageParam: {
+            keyid: key
+        }
+    });
+    return false;
+}
+
+function store_info(key) {
+    api.openWin({
+        name: 'showhotel',
+        url: '../home/showhotel.html',
+        bounces: false,
+        pageParam: {
+            keyid: key
+        }
+    });
+    return false;
+}
+
+function get_bill() {
+    $.ajax({
+        url: siteurl + 'v1/agent/bill',
+        data: {},
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                // $(".page__title").html(datas.data.store_count+' 家');
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    })
+}
+
+$(".msg-list").on("tap", ".js_category", function() {
+    var tag = $(this).attr("id");
+    api.openWin({
+        name: 'list',
+        url: 'x.html',
+        bounces: false,
+        pageParam: {
+            agentid: _agentid,
+            type: tag
+        }
+    })
+    return false;
+});
+
+$(function(){
+        var $searchBar = $('#searchBar'),
+            $searchResult = $('#searchResult'),
+            $searchText = $('#searchText'),
+            $searchInput = $('#searchInput'),
+            $searchClear = $('#searchClear'),
+            $searchCancel = $('#searchCancel');
+
+        function hideSearchResult(){
+            $searchResult.hide();
+            $searchInput.val('');
+            _keyword = '';
+            getRouteData3();
+        }
+        function cancelSearch(){
+            hideSearchResult();
+            $searchBar.removeClass('weui-search-bar_focusing');
+            $searchText.show();
+        }
+
+        $searchText.on('click', function(){
+            $searchBar.addClass('weui-search-bar_focusing');
+            $searchInput.focus();
+        });
+        $searchInput
+            .on('blur', function () {
+                if(!this.value.length) cancelSearch();
+            })
+            .on('input', function(){
+                if(this.value.length) {
+                    $searchResult.show();
+                    getRouteData3( this.value );
+                } else {
+                    $searchResult.hide();
+                }
+            });
+        $searchClear.on('click', function(){
+            hideSearchResult();
+            $searchInput.focus();
+        });
+        $searchCancel.on('click', function(){
+            cancelSearch();
+            $searchInput.blur();
+        });
+    });
+
+</script>
+
+</html>

+ 353 - 0
html/agent/frame0.html

@@ -0,0 +1,353 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/example.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body {
+            background: #f2f2f2;
+        }
+    	.msg-list{
+           height: 100%
+    	}
+        .bgf2{
+            background: #f2f2f2;
+            height: auto;
+            padding-bottom: 1rem;
+        }
+    	.msg-cent-list{
+    	   width: 100%;
+    	   /*height: 2.4rem;*/
+    	   background: #ffffff;
+    	   border-radius: 0.1rem;
+    	   padding: 0.3rem;
+    	   box-sizing: border-box;
+    	   position: relative;
+           /*box-shadow: darkgrey 0.1rem 0.1rem 0.3rem 0.05rem;*/
+    	}
+        .msg-cent-right-title {
+            font-size: 0.3rem;
+            color: #333;
+        }
+        .msg-cent-list ul {
+            width: 100%;
+            display: inline-block;
+        }
+    	.msg-cent-list li{
+    	  float: left;
+          width: 100%;
+    	}
+    	.msg-cent-right-dtl{
+    	  font-size: 0.26rem;
+          color: #999;
+    	}
+    	.msg-time{
+    	  color: #bbb;
+    	  width: 100%;
+    	  text-align:center;
+    	  padding: 0.3rem 0;
+          /*font-size: 0.22rem;*/
+    	}
+    	.member-avatar{
+    	  width: 0.3rem;
+    	  height: 0.3rem;
+    	  border-radius:50%;
+    	  vertical-align:middle;
+          margin-bottom: 0.05rem;
+    	}
+        button.el-button {
+            background: #f2f2f2;
+            margin-left: 0.2rem;
+        }
+    	button.el-button, .feed-btn,.tel-btn{
+    	  float:right;
+          font-size: 0.24rem;
+        }
+        .el-button.is-round {
+            border-radius: 0.5rem;
+            margin-top: -0.1rem;
+        }
+        .back-header li.back-header-title {
+            width: 100%;
+        }
+        .is_read div {
+            color: #ccc;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section style="background:#ffffff;">
+        <header class="back-header">
+            <ul>
+                <!-- <li class="padding-20"></li> -->
+                <li class="back-header-title" id="header-title">首 页</li>
+                <!-- <li class="more-btn"></li> -->
+            </ul>
+        </header>
+    </section>
+    <section class="msg-list padding-top page home js_show">
+        <div class="page__bd page__bd_spacing">
+            <ul>
+                <li>
+                    <div class="weui-flex js_category" id="post">
+                        <p class="weui-flex__item">平台公告<span class="weui-badge" style="margin-left: 5px;display: none;">0</span></p>
+                        <img src="../../image/exchange.png" alt="">
+                    </div>
+                </li>
+                <li>
+                    <div class="weui-flex js_category" id="urge">
+                        <p class="weui-flex__item">催单消息<span class="weui-badge" style="margin-left: 5px;display: none;">0</span></p>
+                        <img src="../../image/order_comment.png" alt="">
+                    </div>
+                </li>
+                <li>
+                    <div class="weui-flex js_category" id="replenishment">
+                        <p class="weui-flex__item">补货申请<span class="weui-badge" style="margin-left: 5px;display: none;">0</span></p>
+                        <img src="../../image/bottombtn0301.png" alt="">
+                    </div>
+                </li>
+                <li>
+                    <div class="weui-flex js_category" id="hotel">
+                        <p class="weui-flex__item">我的酒店<span class="weui-badge" style="margin-left: 5px;display: none;">0</span></p>
+                        <img src="../../image/bottombtn0101.png" alt="">
+                    </div>
+                </li>
+                <li>
+                    <div class="weui-flex js_category" id="bill">
+                        <p class="weui-flex__item">每月账单</p>
+                        <img src="../../image/order_cancel.png" alt="">
+                    </div>
+                </li>
+            </ul>
+        </div>
+        <div class="page__ft">
+            <a href="#" class="mask-hidden">@QZaiwang.com</a>
+        </div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _agentid = '';
+var _minid = '';
+var _myalias = '';
+var lastpage = false;
+var _reload = false;
+apiready = function() {
+    setFixStatusBar();
+    getRouteData2();
+    // getRouteData();
+    set_height();
+    //setInterval(function(){getRouteData();},8000);
+    _myalias = "agent" + $api.getStorage("agent_id");
+    _agentid = $api.getStorage("agent_id");
+    jpushInit();
+    api.addEventListener({
+        name: 'scrolltobottom'
+    }, function(ret, err) {
+        getRouteData2();
+    });
+};
+
+function getRouteData2() {
+    $.ajax({
+        url: siteurl + 'v1/agent/statistics',
+        data: {
+            storeid: $api.getStorage("agent_id"),
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $.each(datas.data, function(index, item) {
+                    if (item > 0) {
+                        $('#'+index+' p .weui-badge').html(item);
+                        $('#'+index+' p .weui-badge').fadeIn();
+                    } else {
+                        $('#'+index+' p .weui-badge').fadeOut();
+                    }
+                })
+                $("#header-title").html(datas.store_name);
+            } else {
+                errcode(datas, datas.code);
+            }
+            // set_height();
+        }
+    });
+}
+
+
+function set_height() {
+    api.execScript({
+        name: 'agentindex',
+        script: 'set_height();'
+    })
+}
+
+
+$(".msg-list").on("tap", ".js_category", function() {
+    var tag = $(this).attr("id");
+    if (tag == 'bill') {
+        api.openWin({
+            name: 'bill',
+            url: 'bill.html',
+            bounces: false,
+            pageParam: {
+                type: tag
+            }
+        })
+    } else {   
+        api.openWin({
+            name: 'list',
+            url: 'list.html',
+            bounces: false,
+            pageParam: {
+                type: tag
+            }
+        })
+    }
+    return false;
+})
+
+function setRefrashHeader(){
+    api.setCustomRefreshHeaderInfo({
+        //bgColor: '#00FF00',
+         image: {
+            pull: 'widget://image/logo.png',
+            transform: [
+                'widget://image/refresh/pull_end_image_frame_01.png',
+                'widget://image/refresh/pull_end_image_frame_02.png',
+                'widget://image/refresh/pull_end_image_frame_03.png',
+                'widget://image/refresh/pull_end_image_frame_04.png',
+                'widget://image/refresh/pull_end_image_frame_05.png'
+            ],
+            load: [
+                'widget://image/refresh/pull_end_image_frame_01.png',
+                'widget://image/refresh/pull_end_image_frame_02.png',
+                'widget://image/refresh/pull_end_image_frame_03.png',
+                'widget://image/refresh/pull_end_image_frame_04.png',
+                'widget://image/refresh/pull_end_image_frame_05.png'
+            ]
+        }
+    }, function( ret, err ){
+        // alert('下拉刷新事件触发了,请开始加载数据刷新页面,然后停止加载状态');
+        setTimeout(stopRefrash(), 3000);
+    });
+}
+
+function toRefrash(){
+    api.refreshHeaderLoading();
+}
+
+function stopRefrash(){
+    api.refreshHeaderLoadDone();
+}
+        
+
+function jpushInit() {
+    jpush = api.require('ajpush');
+    initJPush();
+    /*api.addEventListener({name:'appintent'}, function(ret,err) {//anz noticeclicked
+        //alert('通知被点击,收到数据:\n' + JSON.stringify(ret));//监听通知被点击后收到的数据
+       _minid='';$(".msg-list").empty();getRouteData();
+    })*/
+    api.addEventListener({ name: 'pause' }, function(ret, err) {
+        onPause(); //监听应用进入后台,通知jpush暂停事件
+    })
+
+    api.addEventListener({ name: 'resume' }, function(ret, err) {
+        onResume(); //监听应用恢复到前台,通知jpush恢复事件
+    })
+
+    api.addEventListener({ name: 'noticeclicked' }, function(ret, err) { //ios noticeclicked
+        _minid = '';
+        // $(".msg-list").empty();
+        _reload = true;
+        getRouteData2();
+    })
+    api.removeEventListener({
+        name: 'noticeclicked'
+    });
+    jpush.setListener(function(ret, err) {
+        if (ret) {
+            notify(ret.content, ret.extra);
+        }
+    });
+}
+
+function initJPush() {
+    jpush.init(function(ret, err) {
+        if (ret && ret.status) {
+            bindAliasAndTags();
+        } else {
+            api.toast({ msg: '操作失败!' });
+        }
+    });
+}
+//统计-app恢复
+function onResume() {
+    jpush.onResume();
+}
+
+//统计-app暂停
+function onPause() {
+    jpush.onPause();
+}
+
+function bindAliasAndTags() {
+    var param = { alias: _myalias, tags: ['tag1', 'qddagent'] };
+    jpush.bindAliasAndTags(param, function(ret) {
+        var statusCode = ret.statusCode;
+        // alert(JSON.stringify(ret));
+    });
+}
+
+
+function notify(content, extras) {
+    api.notification({
+        vibrate: [300, 500],
+        sound: 'widget://res/horse.ogg',
+        notify: {
+            title: '您有一条新的消息...',
+            content: content,
+            extra: extras,
+            updateCurrent: false
+        }
+    }, function(ret, err) {
+        //alert(JSON.stringify(extras));
+    });
+}
+</script>
+
+</html>

+ 201 - 0
html/agent/frame1.html

@@ -0,0 +1,201 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+      .border-none{
+          text-align:center;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+          width: 1.3rem;
+          height: 1.3rem;
+          border-radius:50%;
+          vertical-align:middle;
+        }
+        .setting-item{
+          height: 1rem;
+          line-height: 1rem;
+          font-size: 0.28rem;
+          width:100%;
+          border-bottom:1px solid #e8e8e8;
+          text-align:left;
+        }
+        .setting-item img{
+          width: 0.28rem;
+          vertical-align:middle;
+          margin-bottom:3px;
+        }
+         .setting-item input{
+           width:60%;
+           border-bottom:none;
+         }
+         .hotel-info{
+           width: 100%;
+           height: 3.5rem;
+           background: #D9251C;
+           position:relative;
+         }
+         .section-hotel{
+          border-top-right-radius: 0.2rem;
+          border-top-left-radius: 0.2rem;
+          background: #ffffff;
+          /*height: 100%*/
+         }
+         .hotel-info-cnt img{
+          width: 1.3rem;
+          height: 1.3rem;
+          border-radius: 50%;
+          vertical-align:middle;
+         }
+         .hotel-info-cnt{
+            padding: 1.1rem 0.45rem;
+            height: 1.3rem;
+            line-height: 1.3rem;
+
+         }
+         .store-name{
+            color: #FFFFFF;
+            padding-left: 0.3rem;
+            font-size: 0.35rem;
+         }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <div class="hotel-info">
+        <div class="hotel-info-cnt">
+          <img src="../../image/logo2.png" class="store-avatar" />
+          <span class="store-name"></span>
+        </div>
+    </div>
+    <section class="border-none section-hotel" style="">
+        <div class="setting-item" id="about">
+            关于我们 <span style="float:right;color:#cccccc;" class="iconfont">&#xe62e;</span>
+        </div>
+        <div class="h50"></div>
+        <div class="m-bottom" style="position: fixed;bottom: 0.5rem;width: 91.47%;">退出登录</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+apiready = function() {
+    setIosTopBar();
+    getRouteData();
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'scrolltobottom'
+    }, function(ret, err){
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'online'
+    }, function(ret, err){
+        getRouteData();
+    });
+};
+
+function getRouteData() {
+    $.ajax({
+        url: siteurl + 'v1/agent/info',
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                // $(".store-avatar").attr("src", siteurl + "uploads/home/store/" + datas.store_id + "/" + datas.store_avatar);
+                $(".store-name").html(datas.data.admin_name);
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+$("#about").on("tap", function() {
+    api.openWin({
+        name: 'about',
+        url: '../my/about.html',
+        bounces: false
+    });
+    return false;
+})
+$("#history").on("tap", function() {
+    api.openWin({
+        name: 'history',
+        url: 'history.html',
+        bounces: false
+    });
+    return false;
+})
+$("#feed-back").on("tap", function() {
+    api.openWin({
+        name: 'feedback',
+        url: '../my/feedback.html',
+        bounces: false
+    });
+    return false;
+})
+$(".m-bottom").on("tap", function() {
+    api.confirm({
+        title: '退出登录',
+        msg: '是否要退出登录?',
+        buttons: ['确定', '取消']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 1) {
+            $api.rmStorage("storeid");
+            $api.rmStorage("agent_id");
+            $api.rmStorage("accesstoken");
+            $api.rmStorage("memberid");
+            api.openWin({
+                name: 'login',
+                url: '../../login.html',
+                bounces: false
+            });
+            setTimeCloseWin("index");
+            setTimeCloseWin("hotelindex");
+            setTimeCloseWin("agentindex");
+            api.closeWin();
+        }
+    });
+    return false;
+})
+</script>
+
+</html>

+ 198 - 0
html/agent/history.html

@@ -0,0 +1,198 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body {
+            background: #f2f2f2;
+        }
+      .msg-list{
+           height: 100%
+      }
+        .bgf2{
+            background: #f2f2f2;
+            height: auto;
+            padding-bottom: 1rem;
+        }
+      .msg-cent-list{
+         width: 100%;
+         height: 2.4rem;
+         background: #ffffff;
+         border-radius: 0.2rem;
+         padding: 0.3rem;
+         box-sizing: border-box;
+         position: relative;
+      }
+      .msg-cent-list li{
+        float: left;
+          width: 100%;
+      }
+      .msg-cent-right-dtl{
+        font-size: 0.2rem;
+          color: #999;
+      }
+      .msg-time{
+        color: #999999;
+        width: 100%;
+        text-align:center;
+        padding: 0.4rem 0;
+      }
+      .member-avatar{
+        width: 0.3rem;
+        height: 0.3rem;
+        border-radius:50%;
+        vertical-align:middle;
+      }
+        button.el-button {
+            background: #f2f2f2;
+            margin-left: 0.2rem;
+        }
+      button.el-button, .feed-btn,.tel-btn{
+        float:right;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section>
+        <header class="back-header">
+            <ul>
+                <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+                <li class="back-header-title" id="header-title">历史消息</li>
+                <li class="more-btn"></li>
+            </ul>
+        </header>
+    </section>
+    <section class="msg-list padding-top">
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _storeid = '';
+var _minid = '';
+var lastpage = false;
+apiready = function() {
+    setFixStatusBar();
+    getRouteData();
+    api.addEventListener({
+        name:'viewappear'
+    }, function(ret, err){
+        _minid = '';
+        lastpage = false;
+        $(".msg-list").empty();
+        getRouteData();
+    });
+};
+
+
+function getRouteData() {
+    if ( lastpage ) {
+        return false;
+    }
+    $.ajax({
+        url: rooturl + '?do=gethotelmsg',
+        data: {
+            store_id: $api.getStorage("storeid"),
+            minid: _minid
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.length > 0) {
+                $.each(datas, function(index, item) {
+                    var _html = '';
+                    _html += '<div class="msg-time" keyid="' + item.order_id + '">' + item.add_time + '</div>';
+                    _html += '<div class="msg-cent-list" tag="' + item.types + '" keyid="' + item.order_id + '"><ul>';
+                    _html += '<li class="msg-cent-right"><div class="msg-cent-right-title">' + item.status + '</div>';
+                    _html += '<div class="h50"></div>';
+                    _html += '<div>订单号:' + item.order_id + ' </div>';
+                    _html += '<div class="msg-cent-right-dtl">' + item.content + '</div>';
+                    _html += '<div class="h50"></div>';
+                    _html += '<div><img src="' + item.member_avatar + '" class="member-avatar" style="width:30px;height:30px;"/> ' + item.member_truename + '<button type="button" class="el-button el-button--default is-round"><span class="feed-btn" keyid="' + item.order_id + '" msgid="' + item.id + '" memberid="' + item.member_id + '">回复</span></button><button type="button" class="el-button el-button--default is-round"><span class="tel-btn" tel="' + item.member_mobile + '">致电</span></button></div>';
+                    _html += ' </li></ul></div>';
+                    $(".msg-list").append(_html);
+                });
+                if (datas.length > 0) {
+                    _minid = datas[datas.length - 1].id;
+                }
+                $(".msg-list").addClass('bgf2');
+            } else {
+                lastpage = true;
+                api.toast({ msg: '没有更多数据...' });
+            }
+        }
+    });
+}
+
+
+$(".msg-list").on("tap", ".feed-btn", function() {
+    var _keyid = $(this).attr("keyid");
+    var _memberid = $(this).attr("memberid");
+    var _msgid = $(this).attr("msgid");
+    api.openWin({
+        name: 'urge',
+        url: './urge.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid,
+            memberid: _memberid,
+            msgid: _msgid
+        }
+    });
+    return false;
+})
+
+$(".msg-list").on("tap", ".tel-btn", function() {
+    var _tel = $(this).attr("tel");
+    api.call({
+        type: 'tel_prompt',
+        number: _tel
+    });
+    return false;
+})
+
+$(".msg-list").on("tap", ".msg-cent-list", function() {
+    var _keyid = $(this).attr("keyid");
+    // console.log(_keyid);return;
+    api.openWin({
+        name: 'orderdtl',
+        url: './orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+</script>
+
+</html>

+ 145 - 0
html/agent/index.html

@@ -0,0 +1,145 @@
+<!doctype html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>底部导航</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        header{ background-color: #f2f2f2; }
+        header ul li { height: 50px; line-height: 50px; text-align: center; display: none; color: #323237; position: relative;font-size: 18px;  }
+        header ul li.active{ display: block; }
+        #footer ul li.active{ color: #D9251C; }
+        #footer ul li:nth-child(1){ background-image: url(../../image/bottombtn0101.png); }
+        #footer ul li:nth-child(2){ background-image: url(../../image/bottombtn0201.png); }
+        #footer ul li:nth-child(3){ background-image: url(../../image/bottombtn0401.png); }
+        #footer ul li:nth-child(1).active{ background-image: url(../../image/bottombtn0102.png); }
+        #footer ul li:nth-child(2).active{ background-image: url(../../image/bottombtn0202.png); }
+        #footer ul li:nth-child(3).active{ background-image: url(../../image/bottombtn0402.png); }
+        .flex-con{
+            overflow: auto
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div id="wrap" class="flex-wrap flex-vertical">
+        <header style="display: none;">
+            <ul>
+                <li class="border-b active"></li>
+                <li class="border-b"></li>
+                <li class="border-b"></li>
+            </ul>
+        </header>
+        <div id="main" class="flex-con">
+        </div>
+        <div id="footer" class="border-t">
+            <ul class="flex-wrap">
+                <li tapmode="hover" onclick="randomSwitchBtn( this );" class="flex-con active">首页</li>
+                <!-- <li tapmode="hover" onclick="randomSwitchBtn( this );" class="flex-con">订单</li> -->
+                <li tapmode="hover" onclick="randomSwitchBtn( this );" class="flex-con">我的</li>
+            </ul>
+        </div>
+    </div>
+</body>
+
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript">
+apiready = function() {
+    $api.fixStatusBar($api.dom('header'));
+    api.setStatusBarStyle({
+        style: 'dark',
+        color: '#fff'
+    });
+    funIniGroup();
+    setBackDisable();
+    //$api.setStorage("storeid",2);
+}
+
+function funIniGroup() {
+    var eHeaderLis = $api.domAll('header li'),
+        frames = [];
+    for (var i = 0, len = eHeaderLis.length; i < len; i++) {
+        frames.push({
+            name: 'frame' + i,
+            url: './frame' + i + '.html',
+            bgColor: 'rgba(0,0,0,.2)',
+            bounces: false,
+            vScrollBarEnabled: false,
+            hScrollBarEnabled: false,
+            slidBackEnabled: false
+        })
+    }
+    api.openFrameGroup({
+        name: 'group',
+        scrollEnabled: false,
+        rect: {
+            x: 0,
+            y: $api.dom('header').offsetHeight,
+            w: 'auto',//api.winWidth,
+            h: 'auto'//$api.dom('#main').offsetHeight
+        },
+        index: 0,
+        frames: frames
+    }, function(ret, err) {
+
+    });
+}
+
+function set_height() {
+    api.setFrameGroupAttr({
+        name: 'group',
+        rect: {
+            x: 0,
+            y: $api.dom('header').offsetHeight,
+            w: api.winWidth,
+            h: $api.dom('#main').offsetHeight
+        }
+    })
+}
+// 随意切换按钮
+function randomSwitchBtn(tag) {
+    if (tag == $api.dom('#footer li.active')) return;
+    var eFootLis = $api.domAll('#footer li'),
+        eHeaderLis = $api.domAll('header li'),
+        index = 0;
+    for (var i = 0, len = eFootLis.length; i < len; i++) {
+        if (tag == eFootLis[i]) {
+            index = i;
+        } else {
+            $api.removeCls(eFootLis[i], 'active');
+            $api.removeCls(eHeaderLis[i], 'active');
+        }
+    }
+    $api.addCls(eFootLis[index], 'active');
+    $api.addCls(eHeaderLis[index], 'active');
+    api.setFrameGroupIndex({
+        name: 'group',
+        index: index
+    });
+}
+</script>

+ 469 - 0
html/agent/list.html

@@ -0,0 +1,469 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/example.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body {
+            background: #f2f2f2;
+        }
+    	.msg-list{
+           height: 100%
+    	}
+        .bgf2{
+            background: #f2f2f2;
+            height: auto;
+            padding-bottom: 1rem;
+        }
+    	.msg-cent-list{
+    	   /*width: 100%;*/
+    	   /*height: 2.4rem;*/
+    	   background: #ffffff;
+    	   border-radius: 0.1rem;
+    	   padding: 0.3rem;
+    	   box-sizing: border-box;
+    	   position: relative;
+           /*box-shadow: darkgrey 0.1rem 0.1rem 0.3rem 0.05rem;*/
+    	}
+        .msg-cent-right-title {
+            font-size: 0.3rem;
+            color: #333;
+        }
+        .msg-cent-list ul {
+            width: 100%;
+            display: inline-block;
+        }
+    	.msg-cent-list li{
+    	  float: left;
+          width: 100%;
+    	}
+    	.msg-cent-right-dtl{
+    	  font-size: 0.26rem;
+          color: #999;
+    	}
+    	.msg-time{
+    	  color: #bbb;
+    	  width: 100%;
+    	  text-align:center;
+    	  padding: 0.3rem 0;
+          /*font-size: 0.22rem;*/
+    	}
+    	.member-avatar{
+    	  width: 0.3rem;
+    	  height: 0.3rem;
+    	  border-radius:50%;
+    	  vertical-align:middle;
+          margin-bottom: 0.05rem;
+    	}
+        button.el-button {
+            background: #f2f2f2;
+            margin-left: 0.2rem;
+        }
+    	button.el-button, .feed-btn,.tel-btn{
+    	  float:right;
+          font-size: 0.24rem;
+        }
+        .el-button.is-round {
+            border-radius: 0.5rem;
+            margin-top: -0.1rem;
+        }
+        .is_read div {
+            color: #999;
+        }
+        .weui-loadmore_line .weui-loadmore__tips {
+            background-color: rgba(0, 0, 0, 0)
+        }
+        .weui-media-box__info__meta img {
+            border-radius: 0.25rem;width: 0.35rem;vertical-align: middle;margin-right: 0.2rem;
+        }
+        .weui-media-box_appmsg .weui-media-box__thumb {
+            border-radius: 0.2em;
+        }
+        .page__hd {
+            padding: 0.2rem;
+        }
+        .page__bd .msg-cent-list {
+            margin: 0 0.32rem;
+        }
+        .page__desc, .page__title {
+            text-align: center;
+        }
+        a.weui-media-box:active {
+            background-color: #ffffff;
+        }
+        .weui-media-box__info a.weui-btn_mini {
+            position: absolute;
+            float: right;
+            right: 0.2rem;
+            margin-top: -0.7rem;
+        }
+        .page__bd .weui-media-box__desc {
+            -webkit-line-clamp: 3;
+            color: #666;
+        }
+        .weui-media-box__info__meta {
+            color: #999;
+        }
+        .hotel_credit {
+            font-size: 0.47rem;
+            position: absolute;
+            margin-top: -0.2rem;
+            color: #000000;
+            font-family: Medium;
+            font-weight: 500;
+        }
+        .home-hotel-title {
+            font-size: 0.27rem;
+            overflow: hidden;
+            white-space: nowrap;
+            text-overflow: ellipsis;
+            color: #000;
+            font-weight: 700;
+        }
+        .hotel_list {
+            padding: 0.32rem;
+            background-color: #fff;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section style="background:#ffffff;">
+        <header class="back-header">
+            <ul>
+                <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+                <li class="back-header-title" id="header-title">首 页</li>
+                <li class="more-btn"></li>
+            </ul>
+        </header>
+    </section>
+    <section class="msg-list padding-top page panel js_show">
+        <div class="page__hd mask-hidden" style="text-align: center;">
+            <p class="page__desc">我管辖的酒店</p>
+            <h1 class="page__title">500家</h1>
+        </div>
+        <div class="weui-search-bar mask-hidden" id="searchBar">
+            <form class="weui-search-bar__form" onsubmit="return false;">
+                <div class="weui-search-bar__box">
+                    <i class="weui-icon-search"></i>
+                    <input type="search" class="weui-search-bar__input" id="searchInput" placeholder="搜索" />
+                    <a href="javascript:" class="weui-icon-clear" id="searchClear"></a>
+                </div>
+                <label class="weui-search-bar__label" id="searchText" style="transform-origin: 0px 0px; opacity: 1; transform: scale(1, 1);">
+                    <i class="weui-icon-search"></i>
+                    <span>搜索</span>
+                </label>
+            </form>
+            <a href="javascript:" class="weui-search-bar__cancel-btn" id="searchCancel">取消</a>
+        </div>
+        <div class="page__bd" id="list_all"></div>
+        <div class="page__ft">
+            <a href="#" class="mask-hidden">@QZaiwang.com</a>
+        </div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _tag = 'replenishment';
+var _page = '1';
+var _keyword = '0';
+apiready = function() {
+    _tag = api.pageParam.type;
+    setFixStatusBar();
+    getRouteData();
+    api.addEventListener({
+        name: 'scrolltobottom'
+    }, function(ret, err) {
+        _page = '1'; 
+        getRouteData();
+    });
+    api.addEventListener({
+        name: 'resume'
+    }, function(ret, err) {
+        getRouteData();
+    });
+};
+
+function getRouteData(_keywordx, _pagex) {
+    if (_pagex == 1) {
+        _page = '1';
+    }
+    if ( !_page ) {
+        return false;
+    }
+    var _data = { page: _page };
+    if ( _keywordx != 0 ) {
+        _data = {keyword: _keywordx, page: _page};
+    }
+    if ( _tag == 'hotel' ) {
+        _tag = 'store';
+    }
+    $.ajax({
+        url: siteurl + 'v1/agent/'+ _tag +'List',
+        data: _data,
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.list.length > 0) {
+                    var _html = '';
+                    $.each(datas.data.list, function (index, item) {
+                        switch (_tag) {
+                            case 'post':
+                                $("#header-title").html('平台公告');
+                                _html += '<div class="weui-panel"><div class="weui-panel__bd"><a href="javascript:post_Info('+item.article_id+');" class="weui-media-box weui-media-box_text"><h4 class="weui-media-box__title">'+item.article_title+'</h4><p class="weui-media-box__desc">'+item.article_desc+'</p><ul class="weui-media-box__info"><li class="weui-media-box__info__meta">'+item.article_time+'</li></ul></a></div></div>';
+                                break;
+                            case 'urge':
+                                $("#header-title").html('催单消息');
+                                // _html += '<div class="weui-panel"><div class="weui-panel__bd"><div class="weui-media-box weui-media-box_text"><h4 class="weui-media-box__title">'+item.am_title+'</h4><p class="weui-media-box__desc">'+item.am_extra.content+'</p><p class="weui-media-box__desc">订单号 '+item.am_extra.order_sn+'</p><ul class="weui-media-box__info"><li class="weui-media-box__info__meta"><img src="'+item.am_extra.member_avatar+'">'+item.am_extra.name+'</li><li class="weui-media-box__info__meta">时间</li><li class="weui-media-box__info__meta weui-media-box__info__meta_extra">'+item.am_create_time+'</li><li><a href="javascript:urge_tel('+item.am_extra.store_phone+');" class="weui-btn weui-btn_mini weui-btn_primary">联系酒店</a></li></ul></div></div></div>';
+                                _html += '<div class="msg-time" keyid="' + item.am_target_id + '">' + item.am_create_time + '</div>';
+                                if (item.am_is_read == 0) {
+                                    _html += '<div class="msg-cent-list" keyid="' + item.am_target_id + '" tag="' + item.types + '"><ul>';
+                                }else{
+                                    _html += '<div class="msg-cent-list is_read" keyid="' + item.am_target_id + '" tag="' + item.types + '"><ul>';
+                                }
+                                _html += '<li class="msg-cent-right"><div class="msg-cent-right-title">' + item.am_title + '</div>';
+                                _html += '<div class="h50"></div>';
+                                _html += '<div class="msg-cent-right-dtl">订单号:' + item.am_extra.order_sn + ' </div>';
+                                _html += '<div class="msg-cent-right-dtl" style="padding-top: 0.1rem;">' + item.am_extra.content + '</div>';
+                                _html += '<div class="h50"></div>';
+                                _html += '<div style="font-size: 0.24rem;"><img src="'+siteurl+'uploads/home/store/'+item.am_extra.store_id+'/'+ item.am_extra.store_avatar + '" class="member-avatar" /> ' + item.am_extra.store_name + '<button type="button" class="el-button el-button--default is-round"><span class="tel-btn" tel="' + item.am_extra.store_phone + '">致电</span></button></div>';
+                                _html += ' </li></ul></div>';
+                                break;
+                            case 'replenishment':
+                                $("#header-title").html('补货申请');
+                                // _html += '<div class="weui-panel"><div class="weui-panel__bd"><div class="weui-media-box weui-media-box_text"><h4 class="weui-media-box__title">'+item.am_title+'</h4><p class="weui-media-box__desc">'+item.am_extra.content+'</p><ul class="weui-media-box__info"><li class="weui-media-box__info__meta">'+item.am_extra.store_name+'</li><li class="weui-media-box__info__meta">时间</li><li class="weui-media-box__info__meta weui-media-box__info__meta_extra">'+item.am_create_time+'</li><li><a href="javascript:urge_tel('+item.am_extra.store_phone+');" class="weui-btn weui-btn_mini weui-btn_primary">联系酒店</a></li></ul></div></div></div>';
+                                _html += '<div class="msg-time" keyid="' + item.am_target_id + '">' + item.am_create_time + '</div>';
+                                if (item.am_is_read == 0) {
+                                    _html += '<div class="msg-cent-list" keyid="' + item.am_target_id + '" tag="' + item.types + '"><ul>';
+                                }else{
+                                    _html += '<div class="msg-cent-list is_read" keyid="' + item.am_target_id + '" tag="' + item.types + '"><ul>';
+                                }
+                                _html += '<li class="msg-cent-right"><div class="msg-cent-right-title">' + item.am_extra.store_name + '酒店发来一条补货申请</div>';
+                                _html += '<div class="h50"></div>';
+                                // _html += '<div class="msg-cent-right-dtl">订单号:' + item.am_extra.order_sn + ' </div>';
+                                _html += '<div class="msg-cent-right-dtl" style="padding-top: 0.1rem;">' + item.am_extra.content + '</div>';
+                                _html += '<div class="h50"></div>';
+                                _html += '<div style="font-size: 0.24rem;"><img src="'+siteurl+'uploads/home/store/'+item.am_extra.store_id+'/' + item.am_extra.store_avatar + '" class="member-avatar" /> ' + item.am_extra.store_name + '<button type="button" class="el-button el-button--default is-round"><span class="tel-btn" tel="' + item.am_extra.store_phone + '">致电</span></button></div>';
+                                _html += ' </li></ul></div>';
+                                break;
+                            case 'store':
+                                if ( _keywordx ) {
+                                    // get_bill();
+                                }else{
+                                    $("#header-title").html('我的酒店');
+                                    $(".page__title").html( datas.data.list.length +' 家');
+                                }
+                                $(".page__hd").removeClass("mask-hidden");
+                                $("#searchBar").removeClass("mask-hidden");
+                                $("#list_all").addClass("hotel_list");
+                                // _html += '<div class="weui-panel weui-panel_access"><div class="weui-panel__bd"><a href="javascript:store_info('+item.store_id+');" class="weui-media-box weui-media-box_appmsg"><div class="weui-media-box__hd"><img class="weui-media-box__thumb" src="'+siteurl+'uploads/home/store/'+item.store_id+'/'+item.store_avatar+'" alt=""></div><div class="weui-media-box__bd"><h4 class="weui-media-box__title">'+item.store_name+'</h4><p class="weui-media-box__desc">'+item.store_address+'</p></div></a></div></div>';
+                                _html += '<div class="home-hotel-list" keyid="' + item.store_id + '"><div class="home-hotel-left"><img src="'+siteurl+'uploads/home/store/'+item.store_id+'/'+item.store_avatar+'"/></div>';
+                                _html += '<div class="home-hotel-right"><div class="home-hotel-title">' + item.store_name + '</div>';
+                                _html += '<div class="home-hotel-dtl"><ul><li style="width:40%"><div class="hotel_credit my-rating">'+intToFloat(item.store_servicecredit)+'</div></li>';
+                                _html += '<li style="text-align:center;"> 月访客' + item.store_visitor + '</li><li style="float:right;"></li>';
+                                _html += '</ul></div>';
+                                _html += '<div class="home-hotel-dsc"></div></div></div>';
+                                break;
+                        }
+                    });
+                    if ( _page == 1 || _keywordx ) {
+                        $(".page__bd").html(_html);
+                    } else {
+                        $(".page__bd").append(_html);
+                    }
+                    _page++;
+                } else {
+                    if ( _page == 1 ) {
+                        $(".page__bd").html('<div class="weui-loadmore weui-loadmore_line"><span class="weui-loadmore__tips">暂无数据</span></div>');
+                    } else {
+                        $(".page__bd").append('<div class="weui-loadmore weui-loadmore_line"><span class="weui-loadmore__tips">暂无数据</span></div>');
+                    }
+                    _page = false;
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+function urge_tel(key) {
+    if (!key) {
+        api.toast({ msg: '号码不能为空' });
+        return false;
+    }
+    api.call({
+        type: 'tel_prompt',
+        number: key
+    });
+    return false;
+}
+
+function intToFloat(val) {
+    // body...
+    return new Number(val).toFixed(1);
+}
+
+$(".page__bd").on("tap", ".tel-btn", function() {
+    var _tel = $(this).attr("tel");
+    console.log(_tel)
+    if (!_tel) {
+        api.toast({ msg: '号码不能为空' });
+        return false;
+    }
+    api.call({
+        type: 'tel_prompt',
+        number: _tel
+    });
+    return false;
+})
+
+function post_Info(key) {
+    api.openWin({
+        name: 'showhotel',
+        url: '../find/finddetails.html',
+        bounces: false,
+        pageParam: {
+            keyid: key
+        }
+    });
+    return false;
+}
+
+$("#list_all").on("tap", ".home-hotel-list", function() {
+    var _key = $(this).attr("keyid");
+    api.openWin({
+        name: 'showhotel',
+        url: '../home/showhotel.html',
+        bounces: false,
+        pageParam: {
+            keyid: _key
+        }
+    });
+    return false;
+});
+
+function store_info(key) {
+    api.openWin({
+        name: 'showhotel',
+        url: '../home/showhotel.html',
+        bounces: false,
+        pageParam: {
+            keyid: key
+        }
+    });
+    return false;
+}
+
+function get_bill() {
+    $.ajax({
+        url: siteurl + 'v1/agent/bill',
+        data: {},
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                // $(".page__title").html(datas.data.store_count+' 家');
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    })
+}
+
+$(".msg-list").on("tap", ".js_category", function() {
+    var tag = $(this).attr("id");
+    api.openWin({
+        name: 'list',
+        url: 'x.html',
+        bounces: false,
+        pageParam: {
+            agentid: _agentid,
+            type: tag
+        }
+    })
+    return false;
+});
+
+$(function(){
+        var $searchBar = $('#searchBar'),
+            $searchResult = $('#searchResult'),
+            $searchText = $('#searchText'),
+            $searchInput = $('#searchInput'),
+            $searchClear = $('#searchClear'),
+            $searchCancel = $('#searchCancel');
+
+        function hideSearchResult(){
+            $searchResult.hide();
+            $searchInput.val('');
+            getRouteData('0', '1');
+        }
+        function cancelSearch(){
+            hideSearchResult();
+            $searchBar.removeClass('weui-search-bar_focusing');
+            $searchText.show();
+        }
+
+        $searchText.on('click', function(){
+            $searchBar.addClass('weui-search-bar_focusing');
+            $searchInput.focus();
+        });
+        $searchInput
+            .on('blur', function () {
+                if(!this.value.length) cancelSearch();
+            })
+            .on('input', function(){
+                if(this.value.length) {
+                    $searchResult.show();
+                    getRouteData(this.value, '1');
+                } else {
+                    $searchResult.hide();
+                }
+            });
+        $searchClear.on('click', function(){
+            hideSearchResult();
+            $searchInput.focus();
+        });
+        $searchCancel.on('click', function(){
+            cancelSearch();
+            $searchInput.blur();
+        });
+    });
+
+</script>
+
+</html>

+ 240 - 0
html/find/finddetails.html

@@ -0,0 +1,240 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        .find-dtl-time {
+            color: #999;
+        }
+        .find-dtl-content {
+            padding-bottom: 0;
+        }
+        body {
+            padding-bottom: 1.2rem;
+            height: auto;
+        }
+        .weui-media-box__info__meta_extra {
+            color: #337ab7;
+        }
+        .weui-article {
+            padding: 0.2rem 0.29rem;
+            background-color: #eeeeee;
+        }
+        .weui-article p {
+            margin: 0;
+        }
+        .weui-article h3 {
+            padding: 0.13rem 0;
+            font-weight: 500;
+        }
+        .close_ad {
+            position: absolute;
+            right: 0.33rem;
+            margin-top: -0.62rem;
+        }
+        .weui-article p.ad_name {
+            position: absolute;
+            color: #fff;
+            margin-top: -0.66rem;
+            left: 0.42rem;
+            font-size: 0.3rem;
+        }
+        .close_ad, .weui-article .iconfont {
+            color: #337ab7;
+            font-size: 0.2rem;
+        }
+        .weui-panel:after {
+            border-bottom: 0;
+        }
+        .weui-panel:after, .weui-panel:before {
+            display: none;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section>
+        <header class="back-header  back-header-bottom">
+            <ul>
+                <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+                <li class="back-header-title"></li>
+                <li class="more-btn"></li>
+            </ul>
+        </header>
+        <div class="h10"></div>
+        <div class="h10"></div>
+        <div class="find-dtl-title font-rem11"></div>
+        <div class="find-dtl-time"></div>
+        <div class="h10"></div>
+        <div class="find-dtl-content"></div>
+    </section>
+    <section>
+        <div class="weui-panel mask-hidden">
+            <!-- <div class="weui-panel__hd">文字列表附来源</div> -->
+            <div class="weui-panel__bd">
+                <!-- <div class="weui-media-box weui-media-box_text">
+                    <h4 class="weui-media-box__title">标题一</h4>
+                    <div class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</div>
+                    <ul class="weui-media-box__info">
+                        <li class="weui-media-box__info__meta">文字来源</li>
+                        <li class="weui-media-box__info__meta">时间</li>
+                        <li class="weui-media-box__info__meta weui-media-box__info__meta_extra">其它信息</li>
+                    </ul>
+                </div> -->
+                <!-- <a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg" style="padding: 0;">
+                    <div class="weui-media-box__hd img"></div>
+                    <div class="weui-media-box__bd">
+                        <h4 class="weui-media-box__title">标题二</h4>
+                        <p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>
+                    </div>
+                    <ul class="weui-media-box__info">
+                        <li class="weui-media-box__info__meta weui-media-box__info__meta_extra">看一看</li>
+                    </ul>
+                </a> -->
+                <article class="weui-article">
+                    <h3>烘鞋器冬天脚冷取暖暖脚家用</h3>
+                    <div class="close_ad"><span class="iconfont">&#xeb6a;</span>关闭</div>
+                    <p>
+                        <img src="https://www.qzaiwang.com/ueditor/php/upload/image/20190731/1564543459809328.jpg" />
+                    </p>
+                    <p class="ad_name">广 告</p>
+                </article>
+            </div>
+        </div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+apiready = function() {
+    _keyid = api.pageParam.keyid;
+    getRouteData(_keyid);
+    setFixStatusBar();
+};
+
+function getRouteData(_keyid) {
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v1/entry/news_desc',
+        data: {
+            article_id: _keyid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                if (datas.data) {
+                    $(".back-header-title").html(datas.data.ac_name);
+                    $(".find-dtl-title").html(datas.data.article_title);
+                    $(".find-dtl-time").html(datas.data.article_time);
+                    $(".find-dtl-content").html(datas.data.article_content);
+                    if (datas.data.ad_type == 1) {
+                        // 商品
+                        $(".weui-panel").removeClass("mask-hidden");
+                        $(".weui-panel").attr("g_keyid", datas.data.goods_id);
+                        $(".weui-panel").attr("ad_type", datas.data.ad_type);
+                        $(".weui-panel").attr("g_storeid", datas.data.goods.store_id);
+                        $(".weui-panel .weui-article h3").html(datas.data.ad_title);
+                        if (datas.data.ad_image){
+                            $(".weui-panel .weui-article img").attr("src", siteurl + datas.data.ad_image);
+                        }
+                    }
+                    if (datas.data.ad_type == 2) {
+                        // 酒店
+                        $(".weui-panel").removeClass("mask-hidden");
+                        $(".weui-panel").attr("ad_type", datas.data.ad_type);
+                        $(".weui-panel").attr("g_storeid", datas.data.store_id);
+                        $(".weui-panel .weui-article h3").html(datas.data.ad_title);
+                        if (datas.data.ad_image){
+                            $(".weui-panel .weui-article img").attr("src", siteurl + datas.data.ad_image);
+                        }
+                    }
+                    // if (datas.data.goods_id > 0) {
+                    //     $(".weui-panel").removeClass("mask-hidden");
+                    //     $(".weui-panel").attr("g_keyid", datas.data.goods_id);
+                    //     $(".weui-panel").attr("g_storeid", datas.data.goods.store_id);
+                    //     $(".weui-panel .weui-panel__bd .img").html('<img class="weui-media-box__thumb" src="'+siteurl + "uploads/home/store/goods/" + datas.data.goods.goods_image.substr(0, datas.data.goods.goods_image.indexOf("\_")) + "/" + datas.data.goods.goods_image+'" alt="'+datas.data.goods.goods_name+'">');
+                    //     $(".weui-panel .weui-panel__bd .weui-media-box__title").html(datas.data.goods.goods_name);
+                    //     $(".weui-panel .weui-panel__bd .weui-media-box__desc").html('¥'+datas.data.goods.goods_price);
+                    // }
+                }else{
+                    $(".back-header-title").html(datas.msg);
+                }
+            }else{
+                errcode(datas, datas.code)
+            }
+            return false;
+        }
+    });
+}
+
+$("section").on("tap", ".close_ad", function() {
+    $(".weui-panel").addClass("mask-hidden");
+    return false;
+});
+
+$("section").on("tap", ".weui-panel", function() {
+    var _goods_commonid = $(".weui-panel").attr("g_keyid");
+    var _storeid = $(".weui-panel").attr("g_storeid");
+    var _ad_type = $(".weui-panel").attr("ad_type");
+    if (_ad_type == 1) {
+        //
+        api.openWin({
+            name: 'showgoods',
+            url: '../home/showgoods.html',
+            bounces: false,
+            pageParam: {
+                keyid: _goods_commonid,
+                storeid: _storeid,
+            }
+        });
+    }
+    if (_ad_type == 2) {
+        api.openWin({
+            name: 'hoteldtl',
+            url: '../home/hoteldtl.html',
+            bounces: false,
+            pageParam: {
+                keyid: _storeid
+            }
+        });
+    }
+    return false;
+})
+
+</script>
+
+</html>

+ 168 - 0
html/find/findsearch.html

@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        .border-none{
+          text-align:center;font-size: 0.28rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+            margin-top: 3rem;
+            width: 1.73rem;
+            height: auto;
+        }
+        .search-item img {
+            position: absolute;
+            left: 0.12rem;
+            top: 0.12rem;
+        }
+        #keyword {
+            font-size: 0.3rem;
+            padding-left: 0.2rem;
+            width: 100%;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section>
+        <header class="back-header  back-header-bottom" style="height: 0.85rem;line-height: 0.85rem;">
+            <ul>
+                <li class="padding-20 back-btn" style="width: 0.42rem;"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+                <li class="back-header-title">
+                    <div class="search-item">
+                        <input id="keyword" type="text" placeholder="关键词搜索" />
+                        <img src="../../image/search.png" /> 
+                    </div>
+                </li>
+                <li class="more-btn" style="width: 0.6rem;float: right;">搜索</li>
+            </ul>
+        </header>
+        <section class="new-list">
+        </section>
+        <section class="border-none"></section>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _keyword = 'null';
+var _page = 1;
+var _type = 'customer';
+apiready = function() {
+    _type = api.pageParam.keyid;
+    setFixStatusBar();
+};
+
+function getRouteData() {
+    if (_page) {
+        console.log(_page)
+    }else{
+        return false;
+    }
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v1/entry/news',
+        data: {
+            keyword: _keyword,
+            page: _page,
+            type: _type,
+            page_size: 10
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                if ( datas.data.new_list.length <= 0) {
+                    if (_page == 1) {
+                        $(".border-none").html('<img src="../../image/notfound.png" class="border-none-img" /><p>抱歉,没有搜到相关内容</p>');
+                        $(".border-none").removeClass("mask-hidden");
+                    }
+                    _page = false;
+                    return false;
+                }else{
+                    _page++;
+                }
+                var _html = '';
+                $.each(datas.data.new_list, function(index, item) {
+                    _html += '<div class="h10"></div>';
+                    _html += '<div class="home-hotel-list" keyid="' + item.article_id + '"><div class="home-hotel-left"><img src="' + siteurl + "/" + item.article_thumb + '"/></div>';
+                    _html += '<div class="home-hotel-right"><div class="h2"></div>';
+                    _html += '<div class="find-list-dsc">' + item.article_title + '</div>';
+                    _html += '<div class="find-list-time">' + item.article_time + '</div></div> </div>';
+                });
+                if ( _page == 1 ) {
+                    $(".new-list").html(_html);
+                } else {
+                    $(".new-list").append(_html);
+                }
+                $(".border-none").addClass("mask-hidden");
+            }else{
+                errcode(datas, datas.code)
+            }
+            return false;
+        }
+    });
+}
+$(".more-btn").on("tap", function() {
+    $(".new-list").empty();
+    if ($("#keyword").val() == '') {
+        api.toast({
+            msg: '关键词不能为空!'
+        });
+        return false;
+    }
+    _page = 1;
+    _keyword = $("#keyword").val();
+    getRouteData();
+    return false;
+})
+$(".new-list").on("tap", ".home-hotel-list", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'finddetails',
+        url: './finddetails.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+</script>
+
+</html>

+ 929 - 0
html/frame0.html

@@ -0,0 +1,929 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../css/star-rating-svg.css?v=1.2" />
+    <link rel="stylesheet" type="text/css" href="../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../css/style.css" />
+    <link rel="stylesheet" type="text/css" href="../css/swiper.min.css" />
+    <style>
+        .swiper-container {
+          width: 100%;
+          height: 100%;
+        }
+        .swiper-slide img{
+          width:100%;
+          height:100%;
+        }
+        .home-hotel-title {
+            font-size: 0.27rem;
+            overflow: hidden;
+            white-space: nowrap;
+            text-overflow: ellipsis;
+            color: #000;
+            font-weight: 700;
+        }
+        .home-hotel-list {
+            margin-bottom: 0.2rem;
+        }
+        .msg-list,.scan-barcode{
+          position:absolute;
+          /*width: 1rem;*/
+          text-align:center;
+        }
+        .home-top-left {
+            padding-top: 0.1rem;
+            float: left;
+            line-height: 0;
+        }
+        .home-hotel-right { /*width: 4.2rem;*/ }
+        .home-hotel-dsc {
+            font-size: 0.24rem;
+            line-height: 0.34rem;
+        }
+        .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
+            bottom: 0;
+        }
+        .swiper-pagination-bullet {
+            background: #fff;
+            opacity: .8;
+        }
+        .swiper-pagination-bullet-active {
+            background: #d9251c;
+        }
+        .home-nearby:before {
+            content: ' ';
+            position: absolute;
+            pointer-events: none;
+            box-sizing: border-box;
+            /*top: -50%;*/
+            left: -50%;
+            right: -50%;
+            bottom: 0;
+            -webkit-transform: scale(0.5);
+            transform: scale(0.5);
+            border-bottom: 1px solid #ddd;
+        }
+        .border-none{
+          text-align: center;
+          font-size: 0.28rem;
+          height: 8rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+            margin-top: 1.5rem;
+            width: 1.73rem;
+            height: auto;
+        }
+        .home-nearby .weui-cell {
+            padding: 16px 3px;
+        }
+        .home-nearby weui-cell__bd p {
+            font-size: 0.35rem;
+        }
+        .home-top-left {
+            width: 4.9rem;
+        }
+        .local-name {
+            width: 4.2rem;
+        }
+        .weui-cell__ft {
+            font-size: 0.25rem;
+        }
+        .home-hotel-left img {
+            height: auto;
+        }
+        .home-hotel-dsc {
+            -webkit-line-clamp: 1;
+        }
+        .hotel_credit {
+            font-size: 0.47rem;
+            position: absolute;
+            margin-top: -0.2rem;
+            color: #000000;
+            font-family: Medium;
+            font-weight: 500;
+        }
+        .hotel_credit:after {
+            position: absolute;
+            top: 0.45rem;
+            width: 100%;
+            height: 0.13rem;
+            content: "";
+            /*background: #ffdb26;*/
+            margin-left: -100%;
+            z-index: -1;
+        }
+        .tag-item {
+            position: relative;
+            margin: 1px 0.08rem;
+            padding: 0rem 0.1rem;
+            display: inline-block;
+            line-height: 1.5;
+            /* margin-left: 0; */
+            margin-right: 0;
+            font-size: 0.2rem;
+        }
+        .tag-item:first-child {
+            margin-left: 0;
+        }
+        .tag-item:after {
+            position: absolute;
+            box-sizing: border-box;
+            content: ' ';
+            pointer-events: none;
+            top: -50%;
+            right: -50%;
+            bottom: -50%;
+            left: -50%;
+            border: 1px solid #222;
+            -webkit-transform: scale(0.5);
+            transform: scale(0.5);
+            border-radius: 0.08rem;
+        }
+    </style>
+    <script>
+    (function(window) {
+        var winW = document.documentElement.clientWidth || document.body.clientWidth;
+        if (winW > 750) {
+            winW = 750;
+        }
+        document.documentElement.style.fontSize = winW / 7.5 + "px";
+        window.onresize = function() {
+            var winW = document.documentElement.clientWidth || document.body.clientWidth;
+            document.body.clientWidth;
+            if (winW > 750) {
+                winW = 750;
+            }
+            document.documentElement.style.fontSize = winW / 7.5 + "px";
+        }
+    }(window));
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section>
+        <div style="position: fixed;width: 6.9rem;margin-left: -1px;z-index: 2;background: #fff;">
+            <div class="home-top" style="padding: 0.1rem 0;">
+                <div class="home-top-left"><img id="set-local" class="home-top-local" src="../image/home_local.png" /> <span class="local-name">&nbsp;正在搜索您附近的酒店</span></div>
+                <div class="home-top-right" style="margin-top: -0.05rem;">
+                    <div class="scan-barcode" style="right: 1rem;"><img class="home-top-local" src="../image/home_scan.png" />
+                        <p>扫一扫</p>
+                    </div>
+                    <div class="msg-list" style="right: 0.2rem;"><img class="home-top-local" src="../image/home_msg.png" />
+                        <p>消息</p><span class="msg-total mask-hidden" style="position: absolute;top: 0;">0</span>
+                    </div>
+                </div>
+            </div>
+            <div class="home-search" style="margin-bottom: 0.2rem;"><img src="../image/search.png"> 搜索您入住的酒店</div>
+        </div>
+        <div class="h10" style="height: 1.6rem;"></div>
+        <div class="home-ads" style="border-radius: 0.1rem;">
+            <div class="swiper-container" style="border-radius: 0.1rem;">
+                <div class="swiper-wrapper">
+                </div>
+                <div class="swiper-pagination"></div>
+            </div>
+        </div>
+        <div class="home-nearby">
+            <div class="weui-cell" style="padding-bottom: 0;">
+                <div class="weui-cell__bd">
+                    <p style="color: #000;font-weight: 700;font-size: 0.33rem;">附近酒店</p>
+                </div>
+                <div class="weui-cell__ft">在此找到您入住的酒店</div>
+            </div>
+        </div>
+    </section>
+    <section>
+        <div id="hotel-list">
+            <div class="home-hotel-list">
+            </div>
+        </div>
+    </section>
+    <section class="border-none mask-hidden">
+        <img src="../image/no_lon.png" class="border-none-img" />
+        <p>定位失败<br>请在手机上打开位置信息<br>或直接搜索当前入住的酒店</p>
+    </section>
+    <div class="h50"></div>
+    <div class="back-top mask-hidden" id="fix1"></div>
+</body>
+<script type="text/javascript" src="../script/api.js"></script>
+<script type="text/javascript" src="../script/swiper.min.js"></script>
+<script type="text/javascript" src="../script/jquery.min.js"></script>
+<script type="text/javascript" src="../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../script/jquery.star-rating-svg.js"></script>
+<script type="text/javascript">
+var _myalias = '';
+var _minid = '';
+var _lon = '0';
+var _lat = '0';
+var _page = '1';
+var _isload = false;
+var _isrefurbish = false;
+var _adv_type = '0';
+var _adv_goods_id = '0';
+var _adv_store_id = '0';
+var _adv_article_id = '0';
+var _webinkeyid = '0';
+var _webinstoreid = '0';
+apiready = function() {
+    _webinkeyid = api.pageParam.keyid;
+    _webinstoreid = api.pageParam.storeid;
+    _adv_type = api.pageParam.advtype;
+    _adv_goods_id = api.pageParam.advgoodsid;
+    _adv_store_id = api.pageParam.advstoreid;
+    _adv_article_id = api.pageParam.advarticleid;
+    setIosTopBar();
+    getAddress();
+    get_adv();
+    // goto_adv();
+    // get_advx();
+    getRouteData();
+    webtoappinit();
+    // getRouteHotelData();
+    _myalias = "member" + $api.getStorage("memberid");
+    jpushInit();
+    api.addEventListener({
+        name: 'scrolltobottom'
+    }, function(ret, err) {
+        getRouteHotelData();
+        getmsgtotal();
+    });
+    api.addEventListener({
+        name: 'resume'
+    }, function(ret, err) {
+        _isload = false;
+        _minid = '';
+        _isrefurbish = true;
+        getAddress();
+        getmsgtotal();
+    });
+    setTimeout(function(){
+        goto_adv();
+    }, 800);
+};
+$(".msg-list").on("tap", function() {
+    api.openWin({
+        name: 'msglist',
+        url: './home/msglist.html',
+        bounces: false,
+        pageParam: {
+            xx: ''
+        }
+    });
+    return false;
+})
+
+$("#hotel-list").on("tap", ".home-hotel-list", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'hoteldtl',
+        url: './home/hoteldtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$(".scan-barcode").on("tap", function() {
+    var has = hasPermission('camera');
+    if(!has || !has[0] || !has[0].granted){
+        api.confirm({
+            title: '提醒',
+            msg: "没有获得 相机 权限\n是否前往设置?",
+            buttons: ['去设置', '取消']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 1) {
+                reqPermission('camera');
+            } else {
+               api.toast({ msg: '获取相机权限失败...' }); 
+            }
+        });
+        // $(".border-none").removeClass("mask-hidden");
+        return false;
+    }
+    var FNScanner = api.require('FNScanner');
+    FNScanner.open({
+        autorotation: true
+    }, function(ret, err) {
+        toast_loding_show();
+        if (ret) {
+            // alert(JSON.stringify(ret));
+            if (ret.eventType == "success") {
+                if (ret.content.indexOf("?store_id=") > -1) {
+                    var _store_id = ret.content.split("?")[1];
+                    _store_id = _store_id.split("&")[0];
+                    _store_id = _store_id.replace("store_id=", "");
+                    // alert(_store_id);
+                    if (ret.content.indexOf("goods_id=") > -1) {
+                        var _goods_id = ret.content.split("?")[1];
+                        _goods_id = _goods_id.split("&")[1];
+                        _goods_id = _goods_id.replace("goods_id=", "");
+                        // alert(_goods_id); 
+                        api.openWin({
+                            name: 'showgoods',
+                            url: './home/showgoods.html',
+                            bounces: false,
+                            pageParam: {
+                                storeid: _store_id,
+                                keyid: _goods_id
+                            }
+                        });
+                    } else {
+                        //
+                        api.openWin({
+                            name: 'hoteldtl',
+                            url: './home/hoteldtl.html',
+                            bounces: false,
+                            pageParam: {
+                                keyid: _store_id
+                            }
+                        });
+                    }
+                } else {
+                    $api.rmStorage("qr_data");
+                    $api.setStorage("qr_data", ret.content);
+                    $.ajax({
+                        url: siteurl + 'api/Payment/get_order_info',
+                        data: {
+                            member_id: $api.getStorage("memberid"),
+                            qr_data: ret.content
+                        },
+                        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                        dataType: 'json',
+                        type: 'post',
+                        success: function(datas) {
+                            if (datas.code === 1) {
+                                api.openWin({
+                                    name: 'venderdtl',
+                                    url: './home/vender.html',
+                                    bounces: false,
+                                    pageParam: {
+                                        keyid: datas.data.order_sn
+                                    }
+                                });
+                                return false;
+                            } else {
+                                api.toast({
+                                    msg: datas.msg,
+                                    duration: 2000,
+                                    location: 'bottom'
+                                });
+                            }
+                        },
+                        error: function() {
+                            api.toast({
+                                msg: '扫码失败'
+                            })
+                        }
+                    })
+                }
+            }
+        } else {
+            api.toast({
+                msg: "扫码失败"
+            })
+        }
+        toast_loding_hide();
+    });
+    return false;
+})
+
+function getRouteData() {
+    $.ajax({
+        url: siteurl + 'v1/entry/adv',
+        data: {},
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $.each(datas.data, function(index, item) {
+                    if (item.adv_enabled == 1) {
+                        if (item.adv_target.type == 'store') {
+                            $(".swiper-wrapper").append('<div class="swiper-slide" type="store" keyid="' + item.adv_target.store_id + '"><img src="' + siteurl + "uploads/home/adv/" + item.adv_code + '"/></div>');
+                        } else if (item.adv_target.type == 'goods') {
+                            $(".swiper-wrapper").append('<div class="swiper-slide" type="goods" keyid="' + item.adv_target.goods_id + '" xkeyid="' + item.adv_target.store_id + '"><img src="' + siteurl + "uploads/home/adv/" + item.adv_code + '"/></div>');
+                        } else if (item.adv_target.type == 'article') {
+                            $(".swiper-wrapper").append('<div class="swiper-slide" type="article" keyid="' + item.adv_target.article_id + '"><img src="' + siteurl + "uploads/home/adv/" + item.adv_code + '"/></div>');
+                        } else {
+                            $(".swiper-wrapper").append('<div class="swiper-slide" type="0" keyid="0"><img src="' + siteurl + "uploads/home/adv/" + item.adv_code + '"/></div>');
+                        }
+                    } else {
+                        $(".swiper-wrapper").append('<div class="swiper-slide" type="0" keyid="0"><img src="' + siteurl + "uploads/home/adv/" + item.adv_code + '"/></div>');
+                    }
+                });
+                var swiper = new Swiper('.swiper-container', {
+                    allowSlidePrev: true,
+                    autoplay: {
+                        delay: 5000,
+                        disableOnInteraction: false
+                    },
+                    loop : true,
+                    pagination: {
+                        el: '.swiper-pagination',
+                    },
+                    on: {
+                        transitionEnd: function(){
+                            var tempSlideWidth = $(".swiper-slide").width();
+                            $(".swiper-slide").css("width", tempSlideWidth);
+                            $(".swiper-slide-active").css("width", (tempSlideWidth+1));
+                        }
+                    }
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    getmsgtotal();
+    function_name();
+    
+}
+
+function set_height() {
+    api.execScript({
+        name: 'index',
+        script: 'set_height();'
+    })
+}
+
+function getmsgtotal() {
+    // body...
+    $.ajax({
+        url: siteurl + 'v2/shop/msg_count',//'?do=getmsgtotal',
+        data: {
+            member_id: $api.getStorage("memberid")
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.total > 0) {
+                    $(".msg-total").text(datas.data.total);
+                    $(".msg-total").removeClass('mask-hidden');
+                } else {
+                    $(".msg-total").addClass('mask-hidden');
+                }
+            } else {
+                if (datas.code == 2000) {
+                    console.log(datas)
+                } else {
+                    errcode(datas, datas.code);
+                }
+            }
+        }
+    });
+}
+
+function get_advx() {
+    // body...
+    api.execScript({
+        name: 'index',
+        script: 'get_adv();'
+    })
+}
+
+function goto_adv() {
+    // body...
+    switch (_adv_type) {
+        case 'goods':
+            console.log(_adv_goods_id, _adv_store_id)
+            to_goods_id(_adv_goods_id, _adv_store_id)
+            break;
+        case 'store':
+            console.log(_adv_store_id);
+            to_store_id(_adv_store_id);
+            break;
+        case 'article':
+            console.log(_adv_article_id);
+            to_article_id(_adv_article_id);
+            break;
+    }
+}
+
+function get_adv() {
+    // 
+    $.ajax({
+        url: siteurl + 'v1/entry/poster',
+        data: {},
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.enable == 1) {
+                    switch  (datas.data.target.type) {
+                        case 'point':
+                            if ($api.getStorage("accesstoken")) {
+                                gallery_adv(siteurl + 'uploads/home/adv/' + datas.data.images, 'to_point');
+                            } else {
+                                gallery_adv(siteurl + 'uploads/home/adv/' + datas.data.images, 'to_login');
+                            }
+                            break;
+                        case 'goods':
+                            gallery_adv(siteurl + 'uploads/home/adv/' + datas.data.images, 'to_goods_id', datas.data.target.goods_id, datas.data.target.store_id);
+                            break;
+                        case 'store':
+                            gallery_adv(siteurl + 'uploads/home/adv/' + datas.data.images, 'to_store_id', datas.data.target.store_id);
+                            break;
+                        case 'article':
+                            gallery_adv(siteurl + 'uploads/home/adv/' + datas.data.images, 'to_article_id', datas.data.target.article_id);
+                            break;
+                    }
+
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+            set_height();
+        }
+    })
+}
+
+function getRouteHotelData() {
+    // toast_loding_show();
+    if (_lon=='0') {
+        $(".border-none").removeClass("mask-hidden");
+        // toast_loding_hide();
+        getAddress();
+        return false;
+    } else {
+        $(".border-none").addClass("mask-hidden");
+    }
+    if (_isload) {
+        // toast_loding_hide();
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v2/entry/storeList',//'?do=gethomehotel',
+        data: {
+            page: _page,
+            minid: _minid,
+            lon: _lon,
+            lat: _lat
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            // toast_loding_hide();
+            if (datas.result) {
+                var i = 0;
+                if ( datas.data.store_list.length > 0 ) {
+                    var html = '<div class="h20"></div>';
+                    $.each(datas.data.store_list, function(index, item) {
+
+                        var _tags_0 = item.store_summary.split(' ');
+                        _tags_0 = jQuery.grep(_tags_0, function( a ) { return a !== ''; });
+                        
+                        html += '<div class="home-hotel-list" keyid="' + item.store_id + '"><div class="home-hotel-left"><img src="' + siteurl + 'uploads/home/store/' + item.store_id + '/' + item.store_banner + '"/></div>';
+                        html += '<div class="home-hotel-right"><div class="home-hotel-title">' + item.store_name + '</div>';
+                        html += '<div class="home-hotel-dtl"><ul><li style="width:40%"><div class="hotel_credit my-rating' + i + '">'+intToFloat(item.store_servicecredit)+'</div></li>';
+                        html += '<li style="text-align:center;"> 月访客' + item.store_visitor + '</li><li style="float:right;"> ' + item.distance + '</li>';
+                        html += '</ul></div>';
+                        html += '<div class="home-hotel-dsc">';
+                        $.each(_tags_0, function(index, tag) {
+                            if (index < 3) {
+                                html += '<span class="tag-item">'+tag+'</span>';
+                            }
+                        })
+                        html += '</div></div></div>';
+                        i++;
+                    });
+                    if ( _page == 1 ) {
+                        $("#hotel-list").html(html);
+                        $(".border-none").addClass("mask-hidden");
+                        $("#hotel-list").removeClass("mask-hidden");
+                    } else {
+                        $("#hotel-list").append(html);
+                    }
+                    _page++;
+                } else {
+                    if ( _page == 1 ) {
+                        $(".border-none").removeClass("mask-hidden");
+                        $("#hotel-list").addClass("mask-hidden");
+                    }
+                    _isload = true;
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+/////
+$(".home-search").on("tap", function() {
+    api.openWin({
+        name: 'hotelsearch',
+        url: './home/hotelsearch.html',
+        bounces: false,
+        pageParam: {
+            lon: _lon,
+            lat: _lat
+        }
+    });
+    return false;
+})
+$(".swiper-wrapper").on("tap", ".swiper-slide", function() {
+    var _type = $(this).attr("type");
+    var _keyid = $(this).attr("keyid");
+    if (_type == 'store') {
+        to_store_id(_keyid);
+    } else if (_type == 'goods') {
+        var _sid = $(this).attr("xkeyid");
+        to_goods_id(_keyid, _sid);
+    } else if (_type == 'article') {
+        to_article_id(_keyid);
+    } else {
+        api.toast({ msg: '暂无活动' })
+    }
+    return false;
+})
+
+function intToFloat(val) {
+    // body...
+    return new Number(val).toFixed(1);
+}
+
+function to_login() {
+    // body...
+    api.openWin({
+        name: 'login',
+        url: 'widget://login.html',
+        bounces: false,
+        pageParam: {
+            keyid: true
+        }
+    })
+    $('.weui-gallery').hide();
+    return false;
+}
+
+function to_point() {
+    // body...
+    api.openWin({
+        name: 'points',
+        url: './my/points.html',
+        bounces: false
+    });
+    $('.weui-gallery').hide();
+    return false;
+}
+
+function to_article_id(_to_article_id) {
+    // body...
+    api.openWin({
+        name: 'finddetails',
+        url: './find/finddetails.html',
+        bounces: false,
+        pageParam: {
+            keyid: _to_article_id
+        }
+    });
+    $('.weui-gallery').hide();
+    return false;
+}
+
+function to_goods_id(_to_goods_id, _to_storeid) {
+    // body...
+    api.openWin({
+        name: 'showgoods',
+        url: './home/showgoods.html',
+        bounces: false,
+        pageParam: {
+            keyid: _to_goods_id,
+            storeid: _to_storeid
+        }
+    });
+    $('.weui-gallery').hide();
+    return false;
+}
+
+function to_store_id(_to_storeid) {
+    // body...
+    api.openWin({
+        name: 'hoteldtl',
+        url: './home/hoteldtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _to_storeid
+        }
+    });
+    $('.weui-gallery').hide();
+    return false;
+}
+
+$("#set-local").on("tap", function() {
+    $(this).attr("src", "../image/home_local2.png");
+    var _that = $(this);
+    setTimeout(function() { _that.attr("src", "../image/home_local.png"); }, 800);
+    api.toast({
+        msg: '正在获取当前位置...'
+    });
+    getAddress();
+})
+
+function getAddress() {
+    var has = hasPermission('location');
+    if(!has || !has[0] || !has[0].granted){
+        api.confirm({
+            title: '提醒',
+            msg: "没有获得 定位 权限\n是否前往设置?",
+            buttons: ['去设置', '取消']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 1) {
+                reqPermission('location');
+                // getAddress();
+            } else {
+                api.toast({ msg: '获取定位权限失败...' }); 
+            }
+        });
+        $(".border-none").removeClass("mask-hidden");
+        return false;
+    }
+    // toast_loding_show();
+    var aMap = api.require('aMap');
+    if(api.systemType == 'ios'){
+        aMap.hide();
+        aMap.open({
+            rect: {
+                x: 0,
+                y: 0,
+                w: 0,
+                h: 0
+            },
+            showUserLocation: true,
+            zoomLevel: 11,
+            center: {
+                lon: 116.4021310000,
+                lat: 39.9994480000
+            },
+            fixedOn: api.frameName,
+            fixed: true
+        }, function(ret, err) {
+            if (ret.status) {
+                // $(".local-name").text(JSON.stringify(ret));
+            } else {
+                // $(".local-name").text(JSON.stringify(err));
+            }
+        })
+    }
+    aMap.getLocation(function(ret, err) {
+        // toast_loding_hide();
+        if (ret.status) {
+            // alert(JSON.stringify(ret));
+            _lon = ret.lon;
+            _lat = ret.lat;
+            getRouteHotelData();
+            aMap.getNameFromCoords({
+                lon: ret.lon,
+                lat: ret.lat
+            }, function(ret, err) {
+                if (ret.status) {
+                    aMap.close();
+                    $(".local-name").text(ret.city + ret.township + ret.street + ret.number);
+                }
+            });
+        } else {
+            $(".local-name").text(JSON.stringify(err));
+        }
+    });
+    // toast_loding_hide();
+}
+
+function jpushInit() {
+    jpush = api.require('ajpush');
+    initJPush();
+    api.addEventListener({ name: 'noticeclicked' }, function(ret, err) { //ios noticeclicked
+        var _value = ret.value.replace(/\\/g, "");
+        // $(".home-search").text(JSON.stringify(ret));
+        // $(".local-name").text(JSON.stringify(err));
+        var obj = eval('(' + _value + ')');
+        if (obj.jump == "urge") {
+            api.openWin({
+                name: 'msglist',
+                url: './home/msglist.html',
+                bounces: false
+            });
+        }
+        if (obj.jump == "article") {
+            api.openWin({
+                name: 'finddetails',
+                url: './find/finddetails.html',
+                bounces: false,
+                pageParam: {
+                    keyid: obj.keyid
+                }
+
+            });
+        }
+    })
+    api.addEventListener({ name: 'pause' }, function(ret, err) {
+        onPause(); //监听应用进入后台,通知jpush暂停事件
+    })
+
+    api.addEventListener({ name: 'resume' }, function(ret, err) {
+        onResume(); //监听应用恢复到前台,通知jpush恢复事件
+    })
+    jpush.setListener(function(ret, err) {
+        if (ret) {
+            notify(ret.content, ret.extra);
+        }
+    });
+}
+/////
+function initJPush() {
+    jpush.init(function(ret, err) {
+        if (ret && ret.status) {
+            bindAliasAndTags();
+        } else {
+            api.toast({ msg: '操作失败!' });
+        }
+    });
+}
+//统计-app恢复
+function onResume() {
+    jpush.onResume();
+}
+
+//统计-app暂停
+function onPause() {
+    jpush.onPause();
+}
+
+function bindAliasAndTags() {
+    var param = { alias: _myalias, tags: ['tag1', 'qdduser'] };
+    jpush.bindAliasAndTags(param, function(ret) {
+        var statusCode = ret.statusCode;
+        // alert(JSON.stringify(ret));
+    });
+}
+
+function notify(content, extras) {
+    getmsgtotal();
+    api.notification({
+        vibrate: [100, 500, 200, 500, 300, 500],
+        sound: 'widget://res/horse.ogg',
+        notify: {
+            title: '您有一条新的消息...',
+            content: content,
+            extra: extras,
+            updateCurrent: false
+        }
+    }, function(ret, err) {
+        //alert(JSON.stringify(extras));
+    });
+}
+
+function webtoappinit() {
+    // body...
+    if (_webinkeyid) {
+        to_goods_id(_webinkeyid, _webinstoreid);
+        return false;
+    }
+    if (_webinstoreid) {
+        to_store_id(_webinstoreid);
+        return false;
+    }
+}
+
+$(".back-top").on("tap", function() {
+    $('html , body').animate({ scrollTop: 0 }, 'slow');
+    return false;
+});
+
+$.fn.fixedDiv = function(actCls) {
+    var that = $(this),
+        offsetTop = that.offset().top,
+        scrollTop;
+
+    function fix() {
+        scrollTop = $(document).scrollTop();
+        if (scrollTop > offsetTop) {
+            that.removeClass(actCls);
+        } else {
+            that.addClass(actCls);
+        }
+    }
+    fix();
+    $(window).scroll(fix);
+}
+$('#fix1').fixedDiv('mask-hidden')
+
+</script>
+</html>

+ 242 - 0
html/frame1.html

@@ -0,0 +1,242 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../css/border.css" />
+    <link rel="stylesheet" type="text/css" href="../css/reset.css" />
+    <link rel="stylesheet" type="text/css" href="../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../css/swiper.min.css" />
+    <link rel="stylesheet" type="text/css" href="../css/style.css" />
+    <style>
+        .swiper-container {
+	      width: 100%;
+	      height: 100%;
+	    }
+	     .swiper-container{
+            width: 100%;
+            height: 0.5rem;
+        }
+        .swiper-slide{
+            text-align: center;
+            line-height: 0.5rem;
+            font-size: 0.28rem;
+        }
+        .active, .active span{
+            color: #d9251c;
+        }
+        .active span {
+        	border-bottom: 0.1em solid;
+        }
+        .white-back {
+            position: fixed;
+            z-index: 1;
+        }
+      </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section style="width:100%;" class="white-back">
+        <div class="home-search" style="margin-top: 0.26rem;">
+            <img src="../image/search.png"> 搜索文章
+        </div>
+        <div style="padding-top: 0.2rem;">
+            <div class="swiper-container" style="padding-bottom: 0.1em;">
+                <div class="swiper-wrapper">
+                </div>
+            </div>
+    </section>
+    <section class="new-list" page="1" style="padding-top: 1.6rem"></section>
+    <div class="back-top mask-hidden" id="fix1"></div>
+</body>
+<script type="text/javascript" src="../script/api.js"></script>
+<script type="text/javascript" src="../script/swiper.min.js"></script>
+<script type="text/javascript" src="../script/jquery.min.js"></script>
+<script type="text/javascript" src="../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _acid = '';
+var _minid = 1;
+apiready = function() {
+    setIosTopBar();
+    getCatogoryData();
+    getRouteData();
+    api.addEventListener({
+        name: 'scrolltobottom',
+        extra: {
+            threshold: 200
+        }
+    }, function(ret, err) {
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        $(".new-list").attr("page", "1");
+        getRouteData();
+    });
+};
+
+function getRouteData() {
+    var _page = $(".new-list").attr("page");
+    console.log(_page);
+    if ( _page == 'false' ) {
+        return false;
+    }
+    // toast_loding_show();
+    $(".new-list").attr("page", "false");
+    $.ajax({
+        url: siteurl + 'v1/entry/news',
+        data: {
+            page: _page,
+            ac_id: _acid,
+            page_size: 10
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            // toast_loding_hide();
+            if (datas.result) {
+                var _html = '';
+                $.each(datas.data.new_list, function(index, item) {
+                    _html += '<div class="h10"></div>';
+                    _html += '<div class="home-hotel-list" keyid="' + item.article_id + '"><div class="home-hotel-left"><img src="' + siteurl + "/" + item.article_thumb + '"/></div>';
+                    _html += '<div class="home-hotel-right"><div class="h2"></div>';
+                    _html += '<div class="find-list-dsc">' + item.article_title + '</div>';
+                    _html += ' <div class="find-list-time">' + item.article_time + '</div></div> </div>';
+                });
+                if ( _page == 1 ) {
+                    $(".new-list").html(_html);
+                }else{
+                    $(".new-list").append(_html);
+                }
+                if ( datas.data.new_list.length <= 0) {
+                    $(".new-list").attr("page", "false");
+                } else {
+                    _page++;
+                    $(".new-list").attr("page", _page);
+                }
+            }else{
+                errcode(datas, datas.code)
+            }
+            return false;
+        }
+    });
+}
+
+function getCatogoryData() {
+    $.ajax({
+        url: siteurl + 'v1/entry/news_cate',
+        data: {},
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            // console.log(datas)
+            if (datas.result) {
+                var _html = '<div class="swiper-slide active" keyid=""><span>全部</span></div>';
+                $.each(datas.data, function(index, item) {
+                    _html += '<div class="swiper-slide" keyid="' + item.ac_id + '"><span>' + item.ac_name + '</span></div>';
+                });
+                $(".swiper-wrapper").html(_html);
+                var swiper = new Swiper('.swiper-container', {
+                    slidesPerView: 4,
+                    spaceBetween: 10,
+                    pagination: {
+                        el: '.swiper-pagination',
+                        clickable: true,
+                    },
+                });
+            }else{
+                errcode(datas, datas.code)
+            }
+            return false;
+        }
+    });
+}
+
+$(".swiper-wrapper").on("tap", ".swiper-slide", function() {
+    _acid = $(this).attr("keyid");
+    $(".new-list").attr("page", "1");
+    getRouteData();
+    return false;
+})
+$(".new-list").on("tap", ".home-hotel-list", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'finddetails',
+        url: './find/finddetails.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+/////
+$(".home-search").on("tap", function() {
+    api.openWin({
+        name: 'findsearch',
+        url: './find/findsearch.html',
+        bounces: false
+    });
+    return false;
+})
+
+$(".back-top").on("tap", function() {
+    $('html , body').animate({ scrollTop: 0 }, 'slow');
+    return false;
+});
+
+$.fn.fixedDiv = function(actCls) {
+    var that = $(this),
+        offsetTop = that.offset().top,
+        scrollTop;
+
+    function fix() {
+        scrollTop = $(document).scrollTop();
+        if (scrollTop > offsetTop) {
+            that.removeClass(actCls);
+        } else {
+            that.addClass(actCls);
+        }
+    }
+    fix();
+    $(window).scroll(fix);
+}
+
+$('#fix1').fixedDiv('mask-hidden')
+
+$(".swiper-wrapper").on("tap", ".swiper-slide", function() {
+    $(".swiper-slide").removeClass("active");
+    $(this).addClass("active");
+    return false;
+})
+</script>
+
+</html>

+ 536 - 0
html/frame2.html

@@ -0,0 +1,536 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../css/style.css" />
+    <link rel="stylesheet" type="text/css" href="../css/swiper.min.css" />
+    <style>
+        body{background:#f2f2f2;}
+      .swiper-container {
+          width: 100%;
+          height: 100%;
+        }
+        .swiper-slide{
+            text-align: center;
+            /*height: 0.76rem;*/
+            line-height: 0.5rem;
+            font-size: 0.28rem;
+        }
+        .swiper-slide span {
+            white-space: nowrap;
+            overflow: hidden;
+            text-overflow: ellipsis;
+        }
+        .active, .active span{
+            color: #d9251c;
+        }
+        .active span {
+            border-bottom: 0.1em solid;
+        }
+        .bottom-line{
+           border-bottom:1px solid #e8e8e8;
+        }
+        .border-none{
+          text-align:center;font-size: 0.28rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+            margin-top: 3rem;
+            width: 1.73rem;
+            height: auto;
+        }
+        .order-list-right {
+            width: 4.7rem;
+        }
+        .order-list-right p {
+            font-size: 0.22rem;
+            color: #999;
+            /*height: 1.04rem;*/
+        }
+        span.font-rem11 {
+            overflow: hidden;
+            text-overflow: ellipsis;
+            display: -webkit-box;
+            -webkit-line-clamp: 3;
+            -webkit-box-orient: vertical;
+        }
+        p.font-size-18 {
+            color: #666;
+            height: auto;
+            font-size: 0.28rem;
+        }
+        .h5 {
+            background: #f2f2f2;
+            margin: 0 0 0 -0.32rem;
+            width: 7.5rem;
+            /*margin-top: 0.5em;*/
+            height: 0.2rem;
+        }
+        .h5:first-child {
+            padding-top: 1.8rem;
+        }
+        .fixedtop {
+            position: fixed;
+            top: 0;
+            z-index: 1;
+        }
+        section.nav {
+            position: fixed;
+            width: 100%;
+            z-index: 1;
+        }
+        .weui-btn_primary, .weui-btn_primary:not(.weui-btn_disabled):active {
+            background-color: #d9251c;
+        }
+        .top0 {
+            padding-top: 0;
+            margin-top: 0;
+        }
+        .border-none-imgx{
+            margin-top: 3rem;
+            width: 3rem !important;
+            height: 3rem !important;
+        }
+        .weui-gallery.nologin {
+            text-align: center;
+            font-size: 0.28rem;
+            background-color: #fff;
+        }
+      </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="weui-gallery nologin" style="display: none;">
+        <img src="../image/notfound.png" class="border-none-imgx">
+        <p style="padding-bottom: 0.3rem;">登录后可查看订单</p>
+        <a href="javascript:redirectLogin();" class="weui-btn weui-btn_mini weui-btn_primary">登录</a>
+    </div>
+    <div class="topbar"></div>
+    <header class="back-header bottom-line">
+        <ul>
+            <li class="padding-20"></li>
+            <li class="back-header-title">我的订单</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="nav padding-top white-back" style="margin-top: 0.2rem;">
+        <div class="swiper-container">
+            <div class="swiper-wrapper">
+                <div class="swiper-slide active" state="100" state_as="all"><span>全部</span></div>
+                <div class="swiper-slide" state="10" state_as="waiting"><span>待付款</span></div>
+                <div class="swiper-slide" state="20,30" state_as="payed"><span>处理中</span></div>
+                <div class="swiper-slide" state="40" state_as="complete"><span>已收货</span></div>
+                <div class="swiper-slide" state="0" state_as="cancel"><span>已取消</span></div>
+                <div class="swiper-slide" state="50" state_as="refund"><span>退换/售后</span></div>
+            </div>
+        </div>
+    </section>
+    <section class="order-list white-back" id="order-list">
+    </section>
+    <section class="border-none kong">
+        <img src="../image/border_none.png" class="border-none-img" />
+        <p>去买点什么</p>
+    </section>
+    <section class="border-none nologin mask-hidden">
+        <img src="../image/notfound.png" class="border-none-img">
+        <p style="padding-bottom: 0.3rem;">登录后可查看订单</p>
+        <a href="javascript:redirectLogin();" class="weui-btn weui-btn_mini weui-btn_primary">登录</a>
+    </section>
+    <div class="back-h10" style="height: 2rem;"></div>
+    <div class="back-top mask-hidden" id="fix1"></div>
+</body>
+<script type="text/javascript" src="../script/api.js"></script>
+<script type="text/javascript" src="../script/swiper.min.js"></script>
+<script type="text/javascript" src="../script/jquery.min.js"></script>
+<script type="text/javascript" src="../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _state = 'all';
+var _minid = '';
+var lastpage = false;
+var _htmlstatus = false;
+var _page = '1';
+apiready = function() {
+    setFixStatusBar();
+    getRouteData();
+    api.addEventListener({
+        name: 'scrolltobottom',
+        extra: {
+            threshold: 200
+        }
+    }, function(ret, err) {
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        _minid = '';
+        // $(".order-list").empty();
+        _htmlstatus = true;
+        lastpage = false;
+        _page = '1';
+        $(".border-none.kong").addClass("mask-hidden");
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'viewappear'
+    }, function(ret, err){
+        _minid = '';
+        // $(".order-list").empty();
+        _htmlstatus = true;
+        lastpage = false;
+        _page = '1';
+        $(".border-none.kong").addClass("mask-hidden");
+        getRouteData();
+    });
+};
+
+function getRouteData() {
+    if (lastpage) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v2/order/orders',//'?do=getorder',
+        data: {
+            memberid: $api.getStorage("memberid"),
+            minid: _minid,
+            state: _state,
+            page: _page
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var _html = '';
+                console.log(JSON.stringify(datas.data.order_list))
+                if (datas.data.order_list.length > 0) {
+                    $.each(datas.data.order_list, function(index, item) {
+                        _html += '<div class="h5"></div><div class="order-dtl-btn" storeid="' + item.store_id + '" state="' + item.order_state + '" keyid="' + item.order_id + '"><div class="order-list-title font-rem11" storeid="' + item.store_id + '" state="' + item.order_state + '" keyid="' + item.order_id + '"><img src="' + siteurl + 'uploads/home/store/' + item.storeid + '/' + item.store_avatar + '"/> ' + item.store_name + '<span class="order-list-status font-rem11">' + item.status + '</span></div>';
+                        if (typeof(item.goods) !== 'undefined') {
+                            $.each(item.goods, function(index2, item2) {
+                                var arr = item2.goods_name.split(" ");
+                                var name_arr = arr[0];
+                                var size_arr = item2.goods_name.replace(name_arr, "");
+                                _html += '<div class="order-list-goods"  state="' + item.order_state +'" order_id="' + item.order_id + '" goods_commonid="'+item2.goods_commonid+'" storeid="' + item.store_id + '" keyid="' + item2.goods_id + '"><ul><li><img src="' + siteurl + "uploads/home/store/goods/" + item2.goods_image.substr(0, item2.goods_image.indexOf("\_")) + "/" + item2.goods_image + '"/></li>';
+                                _html += '<li class="order-list-right"><span class="font-rem11">' + name_arr + '</span><p>' + size_arr + '  x' + item2.goods_num + '</p>';
+                                _html += '<p class="font-size-18">¥' + item2.goods_price + '</p></li>';
+                                _html += '</ul></div><div class="h2"></div>';
+                            });
+                        }
+                        if (item.evaluation_state == 1) {
+                            _html += '<div class="order-list-title" style="border-bottom:none;">合计:¥' + item.order_amount + '</div></div>';
+                        } else {
+                            if(item.order_state == 60){
+                                _html += '<div class="order-list-title" style="border-bottom:none;">合计:¥' + item.order_amount + '</div></div>';
+                            }else{
+                                _html += '<div class="order-list-title" style="border-bottom:none;">合计:¥' + item.order_amount + '<span class="order-list-action" state="' + item.order_state + '"  keyid="' + item.order_id + '" shippingtype="' + item.shipping_type + '">' + item.operate + '</span></div></div>';
+                            }
+
+                        }
+                    });
+                    // console.log(_htmlstatus,_state)
+                    // console.log(datas)
+                    if ( _htmlstatus ) {
+                        $(".order-list").html(_html);
+                        _htmlstatus = false;
+                    }else{
+                        $(".order-list").append(_html);
+                    }
+                    if (datas.data.order_list.length > 0) {
+                        // _minid = datas[datas.length - 1].order_id;
+                        _page++;
+                    }
+                    $(".border-none.kong").addClass("mask-hidden");
+                } else {
+                    // console.log(_htmlstatus,_state)
+                    // console.log(datas)
+                    lastpage = true;
+                    // api.toast({ msg: '没有更多数据...' });
+                    if ( _htmlstatus ) {
+                        $(".order-list").empty();
+                        $(".border-none.kong").removeClass("mask-hidden");
+                    }
+                }
+                $(".weui-gallery.nologin").hide();
+            } else {
+                if (datas.code == 2000) {
+                    $(".weui-gallery.nologin").show();
+                } else {
+                    errcode(datas, datas.code);
+                }
+            }
+            function_name();
+        }
+    });
+}
+var swiper = new Swiper('.swiper-container', {
+    slidesPerView: 5,
+    spaceBetween: 10,
+    pagination: {
+        el: '.swiper-pagination',
+        clickable: true,
+    },
+});
+
+
+function redirectLogin() {
+    api.openWin({
+        name: 'login',
+        url: '../login.html',
+        bounces: false,
+        pageParam: {
+            keyid: true
+        }
+    });
+}
+
+////
+$(".order-list").on("tap", ".order-list-title.font-rem11", function() {
+    var _keyid = $(this).attr("storeid");
+    console.log(_keyid)
+    api.openWin({
+        name: 'hoteldtl',
+        url: './home/hoteldtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+////
+$(".order-list").on("tap", ".order-dtl-btnx", function() {
+    var _keyid = $(this).attr("keyid");
+    var _state = $(this).attr("state");
+    console.log(_keyid)
+    api.openWin({
+        name: 'orderdtl',
+        url: './order/orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid,
+            state: $(this).attr("state")
+        }
+    });
+    return false;
+})
+////
+$(".order-list").on("tap", ".order-list-goods", function() {
+    var _keyid = $(this).attr("order_id");
+    var _state = $(this).attr("state");
+    console.log(_keyid)
+    api.openWin({
+        name: 'orderdtl',
+        url: './order/orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid,
+            state: $(this).attr("state")
+        }
+    });
+    return false;
+})
+
+$(".order-list").on("tap", ".order-list-goodsxx", function() {
+    var _keyid = $(this).attr("keyid");
+    var _storeid = $(this).attr("storeid");
+    var _goods_commonid = $(this).attr("goods_commonid");
+    api.openWin({
+        name: 'showgoods',
+        url: './home/showgoods.html',
+        bounces: false,
+        pageParam: {
+            keyid: _goods_commonid,
+            storeid: _storeid,
+        }
+    });
+    return false;
+})
+///
+$(".order-list").on("tap", ".order-list-action", function() {
+    var _state = $(this).attr("state");
+    var _keyid = $(this).attr("keyid");
+    var _shippingtype = $(this).attr("shippingtype");
+    if (_state == 10) {
+        api.openWin({
+            name: 'paymode',
+            url: './home/paymode.html',
+            bounces: false,
+            pageParam: {
+                keyid: _keyid
+            }
+        });
+    }
+    if (_state == 20) {
+        if (_shippingtype == 0) {
+            api.openWin({
+                name: 'urge',
+                url: './order/urge.html',
+                bounces: false,
+                pageParam: {
+                    keyid: _keyid
+                }
+            });
+        } else {
+            api.openWin({
+                name: 'contacthotel',
+                url: './order/contacthotel.html',
+                bounces: false,
+                pageParam: {
+                    keyid: _keyid
+                }
+            });
+        }
+    }
+    if (_state == 30) {
+        api.confirm({
+            title: '是否确认收货',
+            buttons: ['取消', '确定']
+        }, function(ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                $.ajax({
+                    url: siteurl + 'v2/order/confirm',//'?do=orderconfirm',
+                    data: {
+                        memberid: $api.getStorage("memberid"),
+                        order_id: _keyid
+                    },
+                    headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                    dataType: 'json',
+                    type: 'post',
+                    success: function(datas) {
+                        if (datas.result) {
+                            refreshData();
+                            api.toast({ msg: '操作成功!' });
+                        } else {
+                            errcode(datas, datas.code);
+                        }
+                    }
+                });
+            }
+        })
+    }
+    if (_state == 40) {
+        api.openWin({
+            name: 'evaluate',
+            url: './order/evaluate.html',
+            bounces: false,
+            pageParam: {
+                keyid: _keyid
+            }
+        });
+    }
+    if (_state == 0) {
+        api.confirm({
+            title: '是否要删除订单',
+            buttons: ['取消', '确定']
+        }, function(ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                $.ajax({
+                    url: siteurl + 'v2/order/drop',//'?do=orderdel',
+                    data: {
+                        memberid: $api.getStorage("memberid"),
+                        order_id: _keyid
+                    },
+                    headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                    dataType: 'json',
+                    type: 'post',
+                    success: function(datas) {
+                        refreshData();
+                        if (datas.result) {
+                            api.toast({ msg: '操作成功!' });
+                        } else {
+                            errcode(datas, datas.code);
+                        }
+                    }
+                });
+            }
+        })
+    }
+    return false;
+})
+
+$(".swiper-slide").on("tap", function() {
+    $(".swiper-slide").removeClass("active");
+    $(this).addClass("active");
+    _state = $(this).attr("state_as");
+    _minid = '';
+    _page = '1';
+    // $(".order-list").empty();
+    lastpage = false;
+    _htmlstatus = true;
+    $(".border-none.kong").addClass("mask-hidden");
+    getRouteData();
+    return false;
+})
+
+function refreshData() {
+    _state = $(".swiper-slide.active").attr("state_as");
+    _minid = '';
+    _page = '1';
+    // $(".order-list").empty();
+    _htmlstatus = true;
+    lastpage = false;
+    $(".border-none.kong").addClass("mask-hidden");
+    getRouteData();
+    return false;
+}
+
+
+$(".back-top").on("tap", function() {
+    $('html , body').animate({ scrollTop: 0 }, 'slow');
+    return false;
+});
+
+$.fn.fixedDiv = function(actCls) {
+    var that = $(this),
+        offsetTop = that.offset().top,
+        scrollTop;
+
+    function fix() {
+        scrollTop = $(document).scrollTop();
+        if (scrollTop > offsetTop) {
+            that.removeClass(actCls);
+        } else {
+            that.addClass(actCls);
+        }
+    }
+    fix();
+    $(window).scroll(fix);
+}
+$('#fix1').fixedDiv('mask-hidden')
+
+
+</script>
+
+</html>

+ 403 - 0
html/frame3.html

@@ -0,0 +1,403 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../css/style.css" />
+    <style>
+        .border-none-img{
+        width: 1.3rem;
+    height: 1.3rem;
+    border-radius: 50%;
+       }
+        .border-none-imgx{
+            margin-top: 3rem;
+            width: 3rem !important;
+            height: 3rem !important;
+        }
+        .weui-gallery.nologin {
+            text-align: center;
+            font-size: 0.28rem;
+            background-color: #fff;
+        }
+        .weui-btn_primary, .weui-btn_primary:not(.weui-btn_disabled):active {
+            background-color: #d9251c;
+        }
+       .my-info span{
+         color:#ffffff;
+       }
+        .my-head-sign span {
+            color: #fff;
+        }
+        .my-head-name p span.iconfont {
+            color: #fff;
+            font-size: 0.2rem;
+        }
+        .my-head-name p {
+            font-size: 0.2rem
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="weui-gallery nologin" style="display: none;">
+        <img src="../image/notfound.png" class="border-none-imgx">
+        <p style="padding-bottom: 0.3rem;">登录后可查看个人中心</p>
+        <a href="javascript:redirectLogin();" class="weui-btn weui-btn_mini weui-btn_primary">登录</a>
+    </div>
+    <div class="topbar"></div>
+    <div class="my-head">
+        <section>
+            <div class="h20"></div>
+            <div class="my-msg"><img src="../image/my_msg.png" /></div>
+            <div class="h20"></div>
+            <div class="my-header">
+                <ul>
+                    <li style="width: 1.6rem;"><span class="my-header-img my-info"><img src="../image/head.png" class="border-none-img" /></span></li>
+                    <li class="my-head-name my-info">
+                        <span id="member_name"></span>
+                        <div class="h20"></div>
+                        <p>圈币<span id="member_points"></span> <span class="iconfont">&#xe62e;</span> </p>
+                    </li>
+                    <li style="float:right;"><div class="my-head-sign"> 每日签到 <span class="iconfont">&#xe62e;</span></div></li>
+                </ul>
+            </div>
+        </section>
+    </div>
+    <section>
+        <div class="my-order order-list order-list-btn  font-rem11" tag="" state_as="all" tagname="我的订单" style="font-weight: 700;font-size: 0.3rem;color: #000;">我的订单<span class="right-tag iconfont">&#xe62e;</span>
+        </div>
+        <div class="my-order-btn">
+            <ul>
+                <li class="order-list-btn" tag="10" state_as="waiting" tagname="待付款"><img src="../image/order_wat_pay.png" />
+                    <p>待付款</p>
+                </li>
+                <li class="order-list-btn" tag="20,30" state_as="payed" tagname="处理中"><img src="../image/order_handle.png" />
+                    <p>处理中</p>
+                </li>
+                <li class="order-list-btn" tag="40" state_as="complete" tagname="待评价"><img src="../image/order_comment.png" />
+                    <p>待评价</p>
+                </li>
+                <li class="order-list-btn" tag="0" state_as="cancel" tagname="已取消"><img src="../image/order_cancel.png" />
+                    <p>已取消</p>
+                </li>
+                <li class="order-list-btn" tag="50" state_as="refund" tagname="退换/售后"><img src="../image/order_wat_pay.png" />
+                    <p>退换/售后</p>
+                </li>
+            </ul>
+        </div>
+    </section>
+    <div class="h10" style="background: #f2f2f2;"></div>
+    <section class="mask-hidden">
+        <div class="my-appy-in">
+            <ul>
+                <li><span class="apply-agent font-rem11">圈在网代理
+                        <div class="h10"></div>
+                        <img src="../image/hotel.jpg" />
+                    </span></li>
+                <li><span class="apply-hotel font-rem11">圈在网入驻<div class="h10"></div>
+                        <img src="../image/hotel.jpg" />
+                    </span></li>
+            </ul>
+        </div>
+    </section>
+    <div class="h10" style="background: #f2f2f2;"></div>
+    <section>
+        <div class="my-order my-btn-list font-rem11 apply-agent" style="font-weight: 700;font-size: 0.3rem;color: #000;">我的服务</div>
+        <div class="my-order my-btn-list font-rem11 apply-agent">
+            <span class="iconfont">&#xec23;</span>
+            圈在网代理
+            <span class="right-tag iconfont">&#xe62e;</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11 apply-hotel">
+            <span class="iconfont">&#xec70;</span>
+            圈在网入驻
+            <span class="right-tag iconfont">&#xe62e;</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11" id="points">
+            <img src="../image/exchange.png" />
+            圈币明细
+            <span class="right-tag iconfont">&#xe62e;</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11" id="address">
+            <img src="../image/local.png" />
+            我的地址
+            <span class="right-tag iconfont">&#xe62e;</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11" id="favorite">
+            <img src="../image/favorite.png" />
+            我的收藏
+            <span class="right-tag iconfont">&#xe62e;</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11" id="feedback">
+            <img src="../image/service.png" />
+            意见反馈
+            <span class="right-tag iconfont">&#xe62e;</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11" id="shangwuhezuo">
+            <span class="iconfont">&#xe611;</span>
+            商务合作
+            <span class="right-tag iconfont">&#xe62e;</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11" id="setting">
+            <img src="../image/setting.png" />
+            设置<span class="right-tag iconfont">&#xe62e;</span>
+        </div>
+    </section>
+    <div class="h20"></div>
+</body>
+<script type="text/javascript" src="../script/api.js"></script>
+<script type="text/javascript" src="../script/swiper.min.js"></script>
+<script type="text/javascript" src="../script/jquery.min.js"></script>
+<script type="text/javascript" src="../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _memberName = '';
+apiready = function() {
+    setFixStatusBar();
+    getRouteData();
+    // getSiteData();
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'viewappear'
+    }, function(ret, err){
+        getRouteData();
+    });
+};
+
+function getRouteData() {
+    var _memberid = $api.getStorage("memberid");
+    $.ajax({
+        url: siteurl + 'v2/member/info',//'?do=getuserinfo',
+        data: {
+            memberid: _memberid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                _memberName = datas.data.member_truename ? datas.data.member_truename : datas.data.member_name;
+                $("#member_name").html(_memberName);
+                $("#member_points").html(datas.data.member_points);
+                if (datas.data.member_avatar) {
+                    $(".border-none-img").attr("src", datas.data.member_avatar);
+                }
+                if(datas.data.has_sign){
+                    $(".my-head-sign").html("您已签到");
+                }
+                $(".weui-gallery.nologin").hide();
+            } else {
+                if (datas.code == 2000) {
+                    $(".weui-gallery.nologin").show();
+                } else {
+                    errcode(datas, datas.code);
+                }
+            }
+        }
+    });
+}
+
+function getSiteData() {
+    $.ajax({
+        url: rooturl + '?do=getsiteconfig',
+        data: {},
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            $(".call-phone").html(datas.value + "&#xe62e;");
+        }
+    });
+}
+
+function redirectLogin() {
+    api.openWin({
+        name: 'login',
+        url: '../login.html',
+        bounces: false,
+        pageParam: {
+            keyid: true
+        }
+    });
+}
+
+function initmy() {
+    api.setStatusBarStyle({
+        style: 'light',
+        color: '#d9251c'
+    })
+}
+
+function initother() {
+    api.setStatusBarStyle({
+        style: 'dark',
+        color: '#fff'
+    })
+}
+
+$(".call-phone").on("tap", function() {
+    var _phone = $(this).text().replace("&#xe62e;", "");
+    api.call({
+        type: 'tel_prompt',
+        number: _phone
+    });
+    return false;
+})
+////
+$("#setting").on("tap", function() {
+    api.openWin({
+        name: 'syssetting',
+        url: './my/syssetting.html',
+        bounces: false
+    });
+    return false;
+})
+$(".apply-agent").on("tap", function() {
+    api.openWin({
+        name: 'appagent',
+        url: './my/appagent.html',
+        bounces: false
+    });
+    return false;
+})
+$(".apply-hotel").on("tap", function() {
+    api.openWin({
+        name: 'apphotel',
+        url: './my/apphotel.html',
+        bounces: false
+    });
+    return false;
+})
+$("#points").on("tap", function() {
+    api.openWin({
+        name: 'points',
+        url: './my/points.html',
+        bounces: false
+    });
+    return false;
+})
+$("#favorite").on("tap", function() {
+    api.openWin({
+        name: 'favorite',
+        url: './my/favorite.html',
+        bounces: false
+    });
+    return false;
+})
+$("#feedback").on("tap", function() {
+    api.openWin({
+        name: 'feedback',
+        url: './my/feedback.html',
+        bounces: false
+    });
+    return false;
+})
+$("#shangwuhezuo").on("tap", function() {
+    api.openWin({
+        name: 'feedback',
+        url: './my/shangwuhezuo.html',
+        bounces: false
+    });
+    return false;
+})
+$(".order-list-btn").on("tap", function() {
+    var _tag = $(this).attr("state_as");
+    var _tagname = $(this).attr("tagname");
+    if(_tag == 'refund'){
+      api.openWin({
+          name: 'refund_list',
+          url: './my/refund_list.html',
+          bounces: false
+      });
+    }else{
+      api.openWin({
+          name: 'orderlist',
+          url: './my/orderlist.html',
+          bounces: false,
+          pageParam: {
+              tag: _tag,
+              tagname: _tagname
+          }
+      });
+    }
+    return false;
+})
+$("#address").on("tap", function() {
+    api.openWin({
+        name: 'selectaddress',
+        url: './home/selectaddress.html',
+        bounces: false
+    });
+    return false;
+})
+$(".my-head-sign").on("tap", function() {
+    $.ajax({
+        url: siteurl + 'v1/member/point',
+        data: {
+            memberid: $api.getStorage("memberid"),
+            stage: 'sign'
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                api.toast({ msg: '签到成功!' });
+            } else {
+                api.toast({ msg: datas.msg });
+                $(".my-head-sign").html("您已签到");
+            }
+            getRouteData();
+        }
+    });
+    return false;
+})
+$(".my-info").on("tap", function() {
+    api.openWin({
+        name: 'setting',
+        url: './my/setting.html',
+        bounces: false
+    });
+    return false;
+})
+$(".my-msg").on("tap", function() {
+    api.openWin({
+        name: 'msglist',
+        url: './home/msglist.html',
+        bounces: false
+    });
+    return false;
+})
+</script>
+
+</html>

+ 313 - 0
html/home/addaddress.html

@@ -0,0 +1,313 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>title</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        html,body{width:100%;height:100%;}
+        .province-list{
+          width:100%;
+          position:absolute;
+          top:40%;
+          bottom:0px;
+          background:#ffffff;
+        
+        }
+        .province-title{
+          width:100%;
+          height:46px;
+          line-height:46px;
+          border-bottom:1px solid #e8e8e8;
+        }
+        #province-item{
+          overflow:auto;
+          -webkit-overflow-scrolling: touch;
+          position:absolute;
+          top:46px;bottom:0px;
+          left:10px;right:10px;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">添加地址</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="padding-top">
+        <div class="h10"></div>
+        <input class="bot-input" id="area" type="text" placeholder="省份、城市、区县" />
+        <div class="h2"></div>
+        <input class="bot-input" id="address_detail" type="text" placeholder="详细地址,如街道、楼牌号等" />
+        <div class="h2"></div>
+        <input class="bot-input" id="address_realname" type="text" placeholder="姓名" />
+        <div class="h2"></div>
+        <input class="bot-input" id="address_mob_phone" type="tel" placeholder="电话" />
+        <div class="weui-cell weui-cell_switch mask-hidden">
+            <div class="weui-cell__bd">设为默认地址</div>
+            <div class="weui-cell__ft">
+                <input class="weui-switch" id="switchCP" type="checkbox" />
+            </div>
+        </div>
+        <div class="h10" style="height: 1rem;"></div>
+        <div class="m-bottom">保 存</div>
+    </section>
+    <div class="mask mask-hidden" style="overflow: hidden;">
+        <div class="province-list">
+            <section style="height:100%;position:relative;">
+                <div class="province-title" style="">请选择 <span class="prov-name"></span> <span style="float:right">确 定</span></div>
+                <div id="province-item"></div>
+            </section>
+        </div>
+    </div>
+    <input type="hidden" id="province-id" value="" />
+    <input type="hidden" id="city-id" value="" />
+    <input type="hidden" id="county-id" value="" />
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _keyid = '0';
+var _phone = '0';
+var _name = '0';
+var _detail = '0';
+var _info = '0';
+var _area_id = '0';
+apiready = function() {
+    _keyid = api.pageParam.keyid;
+    _phone = api.pageParam.phone;
+    _name = api.pageParam.name;
+    _detail = api.pageParam.detail;
+    _info = api.pageParam.info;
+    _area_id = api.pageParam.area_id;
+    setFixStatusBar();
+    getRouteData();
+    getaddressinfo();
+};
+
+function getRouteData() {
+    $.ajax({
+        url: siteurl + 'v1/entry/area',
+        data: {},
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var _html = '';
+                $.each(datas.data.area_list, function(index, item) {
+                    _html += '<div class="province-title province-btn" areaid="' + item.area_id + '">' + item.area_name + '</div>';
+                })
+                $("#province-item").html(_html);
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+function getaddressinfo() {
+    if ( _keyid > 0 ) {
+        $(".back-header-title").html("编辑地址");
+        $("#address_mob_phone").val(_phone);
+        $("#address_realname").val(_name);
+        $("#address_detail").val(_detail);
+        $("#area").attr("placeholder", _info);
+    }
+}
+
+$("#area").on("tap", function() {
+    $(".mask").removeClass("mask-hidden");
+    $(".prov-name").text('');
+    $("#province-item").empty();
+    getRouteData();
+})
+$("#province-item").on("click", ".province-btn", function() {
+    $("#province-item").empty();
+    $(".prov-name").text($(this).text());
+    $("#area").val($(this).text());
+    var area_parent_id = $(this).attr("areaid");
+    $("#province-id").val($(this).attr("areaid"));
+    getCityRouteData(area_parent_id);
+})
+$("#province-item").on("click", ".city-btn", function() {
+    $("#province-item").empty();
+    $(".prov-name").text($(".prov-name").text() + " " + $(this).text());
+    $("#area").val($("#area").val() + " " + $(this).text());
+    var area_parent_id = $(this).attr("areaid");
+    $("#city-id").val($(this).attr("areaid"));
+    getCountyRouteData(area_parent_id);
+})
+$("#province-item").on("click", ".county-btn", function() {
+    $(".mask").addClass("mask-hidden");
+    $("#area").val($("#area").val() + " " + $(this).text());
+    $("#county-id").val($(this).attr("areaid"));
+})
+$(".m-bottom").on("tap", function() {
+    if (_keyid > 0 ) {
+        address_edit();
+        return false;
+    }
+    if ($("#area").val() == '') {
+        api.toast({ msg: '请选择城市!' });
+        return false;
+    }
+    if ($("#address_detail").val() == '') {
+        api.toast({ msg: '请输入详细地址!' });
+        return false;
+    }
+    if ($("#address_realname").val() == '') {
+        api.toast({ msg: '请输入收件人姓名!' });
+        return false;
+    }
+    var _is_default = $("#switchCP").is(":checked") ? '1':'0';
+    var phone = $("#address_mob_phone").val();
+    var reg_phone = /^1[3456789]\d{9}$/;
+    if (!reg_phone.test(phone)) {
+        api.toast({ msg: '请输入正确的收件人手机号!' });
+        return false;
+    }
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v1/member/address_add',
+        data: {
+            city_id: $("#city-id").val(),
+            area_id: $("#county-id").val(),
+            area_info: $("#area").val(),
+            address_detail: $("#address_detail").val(),
+            address_mob_phone: phone,
+            address_realname: $("#address_realname").val(),
+            memberid: $api.getStorage("memberid"),
+            address_is_default: _is_default,
+            isfree: 0
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                $('input').unbind('focus');
+                api.toast({ msg: '保存成功!' });
+                api.execScript({
+                    name: 'selectaddress',
+                    script: 'refreshData();'
+                });
+                api.closeWin();
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    return false;
+})
+
+function address_edit() {
+    var _area_idx = $("#county-id").val();
+    var _data = { address_id: _keyid, area_id: _area_id, address_detail: $("#address_detail").val(), address_mob_phone: $("#address_mob_phone").val(), address_realname: $("#address_realname").val() };
+    if (_area_idx > 0) {
+        _data = { address_id: _keyid, area_id: _area_idx, address_detail: $("#address_detail").val(), address_mob_phone: $("#address_mob_phone").val(), address_realname: $("#address_realname").val() };
+    }
+    $.ajax({
+        url: siteurl + 'v1/member/address_edit',
+        data: _data,
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $('input').unbind('focus');
+                api.toast({ msg: '保存成功!' });
+                api.execScript({
+                    name: 'selectaddress',
+                    script: 'refreshData();'
+                });
+                api.closeWin();
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+function getCityRouteData(area_parent_id) {
+    $.ajax({
+        url: siteurl + 'v1/entry/area',
+        data: {
+            area_parent_id: area_parent_id,
+            area_id: area_parent_id
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var _html = '';
+                $.each(datas.data.area_list, function(index, item) {
+                    _html += '<div class="province-title city-btn" areaid="' + item.area_id + '">' + item.area_name + '</div>';
+                })
+                $("#province-item").append(_html);
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+function getCountyRouteData(area_parent_id) {
+    $.ajax({
+        url: siteurl + 'v1/entry/area',
+        data: {
+            area_parent_id: area_parent_id,
+            area_id: area_parent_id
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var _html = '';
+                $.each(datas.data.area_list, function(index, item) {
+                    _html += '<div class="province-title county-btn" areaid="' + item.area_id + '">' + item.area_name + '</div>';
+                })
+                $("#province-item").append(_html);
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+</script>
+
+</html>

+ 438 - 0
html/home/buycar.html

@@ -0,0 +1,438 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/swiper.min.css" />
+    <style>
+        body{background:#f2f2f2;}
+        .active{
+            color: #eb4610;
+        }
+        .bottom-line{
+           border-bottom:1px solid #e8e8e8;
+        }
+        .border-none{
+          text-align: center;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+          margin-top: 3rem;
+          width: 1.73rem;
+          height:auto;
+        }
+        .buy-btn{
+		  width:100%;
+		  height: 1rem;
+		  background:#ffffff;
+		  border-top:1px solid #e8e8e8;
+		  position:fixed;
+		  bottom:0px;
+		}
+		.buy-btn li{
+		  float:left;
+		  /*width:50%;*/
+		  height: 1rem;
+		  line-height: 1rem;
+		  text-align:center;
+		  font-size: 0.28rem;
+		  border-right:1px solid #e8e8e8;
+		  box-sizing:border-box;
+		}
+        .order-list-right p {
+            font-size: 0.22rem;
+            color: #999;
+            /*height: 1.04rem;*/
+        }
+        .font-rem11 {
+            font-size: 0.28rem;
+        }
+		li.buy-btn-left{
+		  width: 5.3rem;
+		  text-align: left;
+		  padding-left: 0.2rem;
+		}
+		li.to-pay{
+		  color:#ffffff; 
+		  background: #d9251c;
+		  width: 2.2rem;
+		}
+		.to-pay span{
+		  color:#ffffff;
+		}
+		.check-all{
+		  width: 0.32rem;height: 0.32rem;vertical-align:middle;
+		}
+		.buycar-null{
+		  width:100%;text-align:center;background:#f2f2f2;
+		}
+		.buycar-null img{
+		  width:60px;
+		}
+		.buycar-price{
+		  font-size: 0.22rem;
+		}
+        .h2 {
+            border-bottom: 1px solid #e8e8e8;
+        }
+        .h2:last-child {
+            border-bottom: 0;
+        }
+      </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header bottom-line">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">购物车</li>
+            <li class="more-btn">编辑</li>
+        </ul>
+    </header>
+    <section class="border-none padding-top">
+        <img src="../../image/buycar-none.png" class="border-none-img" />
+        <p>去买点什么</p>
+    </section>
+    <section class="order-list mask-hidden white-back padding-top">
+    </section>
+    <div class="h50" style="height: 2rem"></div>
+    <div class="buy-btn" id="buy-cancel">
+        <ul>
+            <li class="buy-btn-left"><img src="../../image/checkun.png" class="check-all" /> 全选<span class="total" style="float:right;    padding-right: 0.2rem;">合计:¥<span class="total-money">0.00</span></span></li>
+            <li class="to-pay" style="border-right:none;"><span class="to-pay-text">结 算</span><span class="pay-total">(0)</span></li>
+        </ul>
+    </div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/swiper.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript">
+var _storeid = '';
+var _minid = '';
+var _page = '1';
+apiready = function() {
+    _storeid = api.pageParam.storeid;
+    setFixStatusBar();
+    getRouteData();
+};
+
+function getRouteData() {
+    $.ajax({
+        url: siteurl + 'v2/order/cart',//'?do=getbuycar',
+        data: {
+            buyer_id: $api.getStorage("memberid"),
+            store_id: _storeid,
+            page: _page
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            // console.log(datas)
+            if (datas.result) {
+                var _html = '';
+                if ( _page == 1 ) {
+                    _html += '<div class="order-list-title font-rem11"><img src="' + siteurl + "uploads/home/store/" + _storeid + "/" + datas.data.store.store_avatar + '"/> ' + datas.data.store.store_name + '</div>';
+                }
+                $.each(datas.data.cart_list, function(index, item2) {
+                    // $.each(item.goods, function(index2, item2) {
+                        var arr = item2.goods_name.split(" ");
+                        var name_arr = arr[0];
+                        var size_arr = item2.goods_name.replace(name_arr, "");
+                        var _goodsname = limitNumber(name_arr, 8);
+                        _html += '<div class="order-list-goods p'+item2.goods_id+'" keyid="' + item2.goods_id + '" style="position:relative;"><ul><li style="width: 0.5rem;line-height: 1.73rem;"><img src="../../image/checkun.png" class="check-btn" style="width: 0.3rem;height: 0.3rem;"/></li><li><img src="' + siteurl + "uploads/home/store/goods/" + item2.goods_image.substr(0, item2.goods_image.indexOf("\_")) + "/" + item2.goods_image + '"/></li>';
+                        _html += '<li class="order-list-right"><span class="font-rem11">' + _goodsname + '</span><p>' + size_arr + '  x <span class="goods_num">' + item2.goods_num + '</span></p>';
+                        _html += '<div class="buycar-price">¥<span class="goods_price">' + item2.goods_price + '<span></div></li></ul></div>';
+                        _html += '<div class="add-num" id="btn_n'+item2.goods_id+'" pid="p'+item2.goods_id+'"><ul><li class="num-down">-</li><li><input class="buy-num" id="buy-num" type="tel" value="' + item2.goods_num + '"/></li>';
+                        _html += '<li style="border-right:none;" class="num-up">+</li></ul></div></div>';
+                        _html += '<div class="h2"></div>';
+                    // });
+
+                });
+                if (_page == 1) {
+                    //
+                    $(".border-none").addClass("mask-hidden");
+                    $(".order-list").removeClass("mask-hidden");
+                    $(".order-list").html(_html);
+                } else {
+                    $(".order-list").append(_html);
+                }
+                getTotal();
+                function_name();
+                if (datas.data.cart_list.length == 0) {
+                    $(".order-list").addClass("mask-hidden");
+                }
+                if (datas.data.cart_list.length > 0) {
+                    // _minid = datas[datas.length - 1].order_id;
+                    _page++;
+                } else {
+                    api.toast({ msg: '没有更多数据...' });
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+var isEdit = false;
+$(".more-btn").on("tap", function() {
+    if (!isEdit) {
+        $(".more-btn").html("取消");
+        $(".total").addClass("mask-hidden");
+        $(".to-pay-text").html("删除");
+        isEdit = true;
+    } else {
+        $(".more-btn").html("编辑");;
+        $(".total").removeClass("mask-hidden");
+        $(".to-pay-text").html("结算");
+        isEdit = false;
+    }
+    return false;
+})
+
+$(".order-list").on("tap", ".num-up", function() {
+    var _addnum = $(this).parents(".add-num");
+    var _num = parseInt(_addnum.find("#buy-num").val()) + 1;
+    _addnum.find("#buy-num").val(_num);
+    var pid = '.'+$(this).parents(".add-num").attr("pid")+' .goods_num';
+    $(pid).html(_num);
+    getTotal();
+    changenum();
+    return false;
+})
+
+$(".order-list").on("tap", ".num-down", function() {
+    var _addnum = $(this).parents(".add-num");
+    var _num = 1;
+    if (parseInt(_addnum.find("#buy-num").val()) > 1) {
+        _num = parseInt(_addnum.find("#buy-num").val()) - 1;
+        _addnum.find("#buy-num").val(_num);
+    }
+    var pid = '.'+$(this).parents(".add-num").attr("pid")+' .goods_num';
+    $(pid).html(_num);
+    getTotal();
+    changenum();
+    return false;
+});
+
+function changenum(recid, num) {
+    $.ajax({
+        url: rooturl + '?do=changenum',
+        data: {
+            recid: recid,
+            num: num,
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            console.log(datas)
+            push_car_num();
+        }
+    });
+    
+}
+
+// chkfavorite()
+function push_car_num (){
+    api.execScript({
+        name: 'showgoods',
+        script: 'chkfavorite();'
+    })
+}
+
+function up_order_num (recid, num){
+    $.ajax({
+        url: siteurl + 'v1/order/og_num',
+        data: {
+            rec_id: recid,
+            num: num
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                //
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    })
+}
+
+function getcheckall(){
+    var no = $(".order-list-goods").length;
+    var nox = $(".order-list-goods [src$='checkun.png']").length;
+    var noc = $(".order-list-goods [src$='checked.png']").length;
+    if (no == noc) {
+        $(".check-all").attr("src", "../../image/checked.png");
+    } else {
+        $(".check-all").attr("src", "../../image/checkun.png");
+    }
+    $(".pay-total").html(noc);
+}
+
+$(".check-all").on("tap", function() {
+    if ($(this).attr("src") == "../../image/checkun.png") {
+        $(this).attr("src", "../../image/checked.png");
+        $(".check-btn").attr("src", "../../image/checked.png");
+    } else {
+        $(this).attr("src", "../../image/checkun.png");
+        $(".check-btn").attr("src", "../../image/checkun.png");
+    }
+    getTotal();
+    return false;
+})
+$(".order-list").on("tap", ".order-list-goods", function() {
+    if ($(this).find(".check-btn").attr("src") == "../../image/checkun.png") {
+        $(this).find(".check-btn").attr("src", "../../image/checked.png");
+    } else {
+        $(this).find(".check-btn").attr("src", "../../image/checkun.png");
+    }
+    getcheckall();
+    getTotal();
+    return false;
+})
+var _totalMoney = 0.00;
+var _len = 0;
+
+function getTotal() {
+    _totalMoney = 0.00;
+    _len = 0;
+    $(".total-money").html(_totalMoney);
+    $(".pay-total").html("(" + _len + ")");
+    $(".order-list-goods").each(function() {
+        if ($(this).find(".check-btn").attr("src") == "../../image/checked.png") {
+            _totalMoney = _totalMoney + parseFloat($(this).find(".goods_price").html()) * $(this).find(".goods_num").html();
+            _len += parseFloat($(this).find(".goods_num").html());
+        }
+        $(".total-money").html(_totalMoney.toFixed(2));
+        $(".pay-total").html("(" + _len + ")");
+    })
+    if ($(".order-list-goods").length == 0) {
+        $(".order-list").empty();
+        $(".border-none").removeClass("mask-hidden");
+    }
+}
+$(".to-pay").on("tap", function() {
+    var _ids = [];
+    if (_len == 0) {
+        api.toast({ msg: '请选择商品!' });
+        return false;
+    }
+    if (isEdit == true) {
+        $(".order-list-goods").each(function() {
+            if ($(this).find(".check-btn").attr("src") == "../../image/checked.png") {
+                $(this).remove();
+                _ids.push($(this).attr("keyid"));
+                $("#btn_n"+$(this).attr("keyid")).remove();
+            }
+        })
+        if ($(".order-list-goods").length == 0) {
+            $(".order-list").empty();
+            $(".order-list").addClass("mask-hidden");
+            $(".border-none").removeClass("mask-hidden");
+        }
+        toast_loding_show();
+        getcheckall()
+
+        $.ajax({
+            url: siteurl + 'v2/order/cart_drop',//'?do=delbuycar',
+            data: {
+                buyer_id: $api.getStorage("memberid"),
+                store_id: _storeid,
+                ids: _ids.toString()
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+            dataType: 'json',
+            type: 'post',
+            success: function(datas) {
+                toast_loding_hide();
+                if (datas.result) {
+                    api.toast({ msg: '删除成功!' });
+                    getTotal();
+                    push_car_num();
+                } else {
+                    errcode(datas, datas.code);
+                }
+            }
+        });
+    } else {
+        var date = new Date;
+        var year = date.getFullYear();
+        var timestamp = year + "" + (new Date()).valueOf();
+        var _goodsx = [];
+        if ($(".order-list-goods").length > 0) {
+            $(".order-list-goods").each(function() {
+                if ($(this).find(".check-btn").attr("src") == "../../image/checked.png") {
+                    _goodsx.push({"goods_id": $(this).attr("keyid"), "buy_num": $(this).find(".goods_num").text()});
+                }
+            })
+            $.ajax({
+                url: siteurl + 'v1/order/save_og',
+                data: {
+                    store_id: _storeid,
+                    goods: JSON.stringify(_goodsx)
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    console.log(datas)
+                    if (datas.result) {
+                        //
+                        api.openWin({
+                            name: 'postaddr',
+                            url: './postaddr.html',
+                            bounces: false,
+                            pageParam: {
+                                gorderid: datas.data.order_id,
+                                storeid: _storeid
+                            }
+                        });
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        } else {
+            api.toast({ msg: '请选择商品!' });
+        }
+    }
+    return false;
+})
+</script>
+
+</html>

+ 75 - 0
html/home/buydtl.html

@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <div class="goods-prev">
+        <img src="" />
+    </div>
+    <div>
+        <ul>
+            <li></li>
+            <li></li>
+            <li></li>
+        </ul>
+    </div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+apiready = function() {
+    setFixStatusBar();
+};
+
+function getRouteData(_keyid) {
+    $.ajax({
+        url: rooturl + '?do=getgoodsdtl',
+        data: {
+            keyid: _keyid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            $("#store_name").html(datas.store_name);
+            $("#store_description").html(datas.store_description);
+            $("#store_address").html(datas.store_address);
+            $("#store_phone").html(datas.store_phone);
+        }
+    });
+}
+</script>
+
+</html>

+ 349 - 0
html/home/feedback.html

@@ -0,0 +1,349 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css?v=1.2" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{}
+    	.back-item{
+    	  width:100%;
+    	  /*padding:10px;*/
+    	  text-align:center;
+    	  /*border-bottom: 1px solid #e8e8e8;*/
+    	  box-sizing: border-box;
+    	}
+    	.back-item img{
+    	  width:20px;
+    	}
+        textarea{
+         width:100%;
+         height: 2rem;
+         font-size: 0.28rem;
+         line-height: 0.38rem;
+         padding: 0.5em;
+         box-sizing: border-box;
+         -webkit-appearance: none;
+        }
+        .image-list{
+           width:100%;
+         }
+         .feed-btn{
+           width:100%;
+           position:fixed;
+           bottom:0px;
+           padding:15px;
+           box-sizing:border-box;
+         }
+        .jq-star {
+         	width: 0.35rem !important;
+         	height: 0.35rem !important;
+         	padding: 0.2rem 0.1rem;
+         }
+        .m-bottom {
+           height: 0.86rem;
+           line-height: 0.86rem;
+           border-radius: 0.15rem;
+        }
+        .close_btn {
+            position: absolute;
+            margin-left: -0.52rem;
+            color: #d9251c;
+        }
+        .image-list .img_item {
+            float: left;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">入住反馈</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="padding-top">
+        <div class="back-item" style="padding:10px;">满意度星级评价(完成此项送30圈币)</div>
+        <div class="back-item">
+            <p>您对酒店的整体满意度</p>
+            <div class="my-rating"></div>
+        </div>
+        <div class="back-item">
+            <p>您是否会再次入住或向他人介绍本酒店</p>
+            <div class="my-rating1"></div>
+        </div>
+        <div class="back-item">
+            <p>您对酒店设施是否满意</p>
+            <div class="my-rating2"></div>
+        </div>
+        <div class="back-item">
+            <p>您对员工的待客礼仪是否满意</p>
+            <div class="my-rating3"></div>
+        </div>
+        <div class="back-item">
+            <p>您对我们提供的网上购物的总体评价</p>
+            <div class="my-rating4"></div>
+        </div>
+        <div class="back-item">文字建议与评价(完成此项送20圈币)</div>
+        <div class="back-item" style="position:relative;" id="wordCount">
+            <textarea row="5" maxlength="300" id="content" placeholder="对我们的酒店设施与服务,您还有什么建议吗?对我们的服务人员您有什么批评或表扬吗?请告诉我们..."></textarea>
+            <!-- <span style="position:absolute;right:10px;bottom:10px;"><span id="count-txt">0</span>/300</span> -->
+            <span class="wordwrap" style="bottom: -0.32rem;"><var class="word">300</var>/ 300</span>
+        </div>
+        <div class="h10"></div>
+        <div style="font-size: 0.28rem;">添加图片(最多3张)</div>
+        <div class="h5"></div>
+        <div class="image-list">
+            <span></span>
+            <img id="select-image" src="../../image/addimg.png" style="width: 0.86rem;" />
+        </div>
+        </div>
+    </section>
+    <div class="h20" style="padding-bottom: 1.3rem;"></div>
+    <div class="feed-btn more-btn">
+        <div class="m-bottom">提 交</div>
+    </div>
+    <div class="h50"></div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
+<script type="text/javascript">
+var _imgArr = [];
+var _store_id = '';
+var _tImgArr = [];
+var _satisfaction = 0;
+var _recommend = 0;
+var _facilities = 0;
+var _ceremony = 0;
+var _shopping = 0;
+var _keyid = '';
+apiready = function() {
+    _keyid = api.pageParam.keyid;
+    setFixStatusBar();
+};
+
+$(function() {
+    var wordCount = $("#wordCount"), textArea = wordCount.find("textarea"), word = wordCount.find(".word");
+    statInputNum(textArea, word);
+})
+
+$(".more-btn").on("tap", function() {
+    if (_satisfaction == 0 || _recommend == 0 || _facilities == 0 || _ceremony == 0 || _shopping == 0) {
+        api.toast({ msg: '请完成星级评价!' });
+        return false;
+    }
+    if ($("#content").val() == "") {
+        api.toast({ msg: '请填写反馈内容!' });
+        return false;
+    }
+    if ($("#content").val().length < 20) {
+        api.toast({ msg: '反馈内容不能少于20个字!' });
+        return false;
+    }
+    _imgArr.splice(0, _imgArr.length);
+    $(".image-list .img_item").each(function() {
+        var _src = $(this).data("img");
+        _imgArr.push(_src);
+    });
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v2/store/feedback',//'v1/store/feedback',
+        data: {
+            store_id: _keyid,
+            satisfaction: _satisfaction,
+            recommend: _recommend,
+            facilities: _facilities,
+            ceremony: _ceremony,
+            shopping: _shopping,
+            content: $("#content").val(),
+            member_id: $api.getStorage("memberid"),
+            img_list: _imgArr.toString()
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                // setPoint();
+                api.toast({ msg: "提交成功,感谢您的反馈!" })
+                setTimeCloseWin("feedback");
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    return false;
+})
+
+$(".my-rating").starRating({
+    starSize: 23,
+    initialRating: 0,
+    useFullStars: true,
+    activeColor: '#d9251c',
+    starShape: 'rounded',
+    hoverColor: '#d9251c',
+    disableAfterRate: false,
+    callback: function(currentRating, $el) {
+        _satisfaction = currentRating;
+    }
+});
+$(".my-rating1").starRating({
+    starSize: 23,
+    initialRating: 0,
+    useFullStars: true,
+    activeColor: '#d9251c',
+    starShape: 'rounded',
+    hoverColor: '#d9251c',
+    disableAfterRate: false,
+    callback: function(currentRating, $el) {
+        _recommend = currentRating;
+    }
+});
+$(".my-rating2").starRating({
+    starSize: 23,
+    initialRating: 0,
+    useFullStars: true,
+    activeColor: '#d9251c',
+    starShape: 'rounded',
+    hoverColor: '#d9251c',
+    disableAfterRate: false,
+    callback: function(currentRating, $el) {
+        _facilities = currentRating;
+    }
+});
+$(".my-rating3").starRating({
+    starSize: 23,
+    initialRating: 0,
+    useFullStars: true,
+    activeColor: '#d9251c',
+    starShape: 'rounded',
+    hoverColor: '#d9251c',
+    disableAfterRate: false,
+    callback: function(currentRating, $el) {
+        _ceremony = currentRating;
+    }
+});
+$(".my-rating4").starRating({
+    starSize: 23,
+    initialRating: 0,
+    useFullStars: true,
+    activeColor: '#d9251c',
+    starShape: 'rounded',
+    hoverColor: '#d9251c',
+    disableAfterRate: false,
+    callback: function(currentRating, $el) {
+        _shopping = currentRating;
+    }
+});
+$("#select-image").on("tap", function() {
+    if (_tImgArr.length < 3) {
+        var has = hasPermission('storage');
+    if(!has || !has[0] || !has[0].granted){
+        api.confirm({
+            title: '提醒',
+            msg: "没有获得 存储 权限\n是否前往设置?",
+            buttons: ['去设置', '取消']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 1) {
+                reqPermission('storage');
+            } else {
+               api.toast({ msg: '获取存储权限失败...' }); 
+            }
+        });
+        // $(".border-none").removeClass("mask-hidden");
+        return false;
+    }
+        api.getPicture({
+            sourceType: 'album',
+            encodingType: 'jpg',
+            mediaValue: 'pic',
+            destinationType: 'url',
+            // allowEdit: true,
+            quality: 100,
+            targetWidth: 600,
+            targetHeight: 600,
+            saveToPhotoAlbum: false
+        }, function(ret, err) {
+            if (ret) {
+                upimg(ret.data);
+                // _tImgArr.push(ret.data);
+            }
+        });
+    } else {
+        api.toast({ msg: '上传不能超过3张图片' });
+    }
+    return false;
+})
+
+function upimg(files) {
+    if (files) {
+        api.ajax({
+            url: siteurl + 'v2/upload/tmp',//'?do=upfile',
+            method: 'post',
+            data: {
+                files: {
+                    file: files
+                }
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") }
+        }, function(ret, err) {
+            if (ret) {
+                _tImgArr.push(ret.data);
+                create_html(_tImgArr);
+            }
+        });
+    }
+}
+
+function create_html(list){
+    var html = '';
+    for(var i in list){
+        html += '<div class="img_item" data-img="'+list[i].file_name+'"><img id="select-image" class="select-image" src="' + list[i].url + '" style="width: 1.6rem;margin-right: 0.2rem;"/><span class="close_btn iconfont icon-guanbi" data-index="'+i+'"></span></div>'
+    }
+    $(".image-list span").html(html);
+}
+
+
+$(".image-list").on("tap", ".close_btn", function() {
+    // console.log(this)
+    _tImgArr.splice($(this).data('index')*1, 1);
+    create_html(_tImgArr);
+});
+
+</script>
+
+</html>

+ 164 - 0
html/home/feedgoods.html

@@ -0,0 +1,164 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css?v=1.2" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{}
+      .feed-item{
+        width:100%;
+        border-bottom:1px solid #e8e8e8;
+        position:relative;
+        padding-top: 0.2rem;
+      }
+      .feed-item ul{
+        width:100%;
+        clear: both;
+      }
+      .fl {
+       float:left;
+      }
+      .feed-item-right{
+        padding-left: 0.2rem;
+      }
+      .feed-item-titel{
+        font-size: 0.24rem;
+        color: #999;
+        padding: 0.2rem 0;
+      }
+      .user-head{
+        width: 0.7rem;
+        height: 0.7rem;
+        border-radius:50%;
+      }
+      .feed-img{
+        float: left;
+        width: 1.2rem;
+        height: 1.2rem;
+        padding-right: 0.3rem;
+      }
+      .my-rating{
+        position:absolute;
+        right: 0;
+        top: 0.2rem;
+      }
+      .my-rating .jq-star {
+        width: 0.3rem !important;
+        height: 0.3rem !important;
+      }
+        .weui-gallery {
+          z-index: 10000;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">评价</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="feed-list padding-top">
+        
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+apiready = function() {
+    _keyid = api.pageParam.keyid;
+    setFixStatusBar();
+    getRouteData();
+};
+///////////
+function getRouteData() {
+    $.ajax({
+        url: rooturl + '?do=getevaluategoods',
+        data: {
+            goodsid: _keyid
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.length > 0) {
+                $.each(datas, function(index, item) {
+                    var _html = '';
+                    if (item.geval_image) {
+                        var _imglist = item.geval_image.split(",");
+                    } else {
+                        var _imglist = '';
+                    }
+                    _html += '<div class="feed-item"><ul>';
+                    _html += '<li class="fl" style="width: 0.7rem;"><img src="' + item.member_avatar + '" class="user-head"/></li>';
+                    _html += '<li class="feed-item-right fl">' + item.member_truename + '<p class="feed-item-titel">' + item.geval_addtime +  '</p></li>';
+                    _html += '<li><div class="my-rating my-rating' + index + '"></div></li></ul>';
+                    _html += '<ul><li>' + item.geval_content + '</li></ul><ul style="margin-top: 0.25rem;"><li>';
+                    if (_imglist.length > 0) {
+                        for (var i = 0; i < _imglist.length; i++) {
+                            _html += '<img src="' + _imglist[i] + '" style="width: 1.2rem;height: 1.2rem;margin-right: 0.3rem;"/>';
+                        }
+                    }
+                    _html += '</li></ul><div class="h50"></div></div>';
+                    $(".feed-list").append(_html);
+                    $(".my-rating" + index).starRating({
+                        starSize: 24,
+                        activeColor: '#d9251c',
+                        starShape: 'rounded',
+                        hoverColor: '#d9251c',
+                        useGradient: false,
+                        initialRating: item.geval_scores,
+                        readOnly: true, 
+                        callback: function(currentRating, $el) {
+                            // make a server call here
+                        }
+                    });
+                })
+            } else {
+                _html = '<div class="data-null">暂时没有评价</div>';
+                $(".feed-list").append(_html);
+            }
+        }
+    });
+}
+
+$(".feed-list").on("tap", "img", function() {
+    // console.log($(this).attr("src"));
+    gallery_qz($(this).attr("src"));
+});
+
+</script>
+
+</html>

+ 620 - 0
html/home/goodssearch.html

@@ -0,0 +1,620 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        .hotel-top{
+       width:100%;
+       height: 4.03rem;
+       background: url('https://qdd.h.c638m.cn/uploads/home/store/goods/1/1_2019012314140410834_1280.jpg') ;
+       background-repeat:no-repeat; 
+       background-size:100% 100%;
+     }
+     .hotel-top-line{
+       width:100%
+     }
+     .hotel-top-line li{
+       float:left;
+     }
+     .hotel-title{
+       font-size: 0.33rem;
+       height: 1rem;
+       line-height: 1rem;
+       font-weight: 500;
+     }
+     .hotel-title span{
+        float:right;
+         font-size: 0.2rem;
+      }
+      .hotel-goods{
+        width:100%;
+        height: 1rem;
+        border-bottom:1px solid #e8e8e8;
+        position:relative;
+      }
+      .hotel-goods li{
+        width: 33.33%;
+        float:left;
+        height: 1rem;
+        line-height: 1rem;
+        text-align:center;
+      }
+      #store_description{
+        width: 100%;
+        overflow: hidden;
+        display: -webkit-box;
+        -webkit-line-clamp: 3;
+        -webkit-box-orient: vertical;
+        word-break: break-all;
+        font-size: 0.26rem;
+        color: #606266;
+      }
+      .hotel-goods-active{
+        color: #d9251c;
+      }
+      .goods-tag span{
+          margin-right: 0.17rem;
+          /*padding: 0.08rem;*/
+      }
+      .goods-price, .goods-tag {
+            margin-top: 0.1rem;
+      }
+      .category-item{
+        width:100%;
+        min-height: 0rem;
+        height:auto;
+        background:#ffffff;
+        position:absolute;
+        top: 2.01rem;
+        z-index:999;
+        border-bottom:1px solid #e8e8e8;
+        padding: 0.1em;
+        box-sizing:border-box;
+      }
+      .category-list{
+        padding:3px;
+        width:25%;
+        float:left;
+        box-sizing:border-box;
+      }
+      .sort-img,.sort-img2{
+        width:18px;
+        vertical-align:middle;
+      }
+       .category-list-span{
+          border:1px solid #e8e8e8;
+          width:90%;
+          border-radius:3px;
+          text-align:center;
+          padding-top:6px;
+          padding-bottom:6px;
+          padding-left:3px;
+          padding-right:3px;
+       }
+       .cate-active{
+         color:#D9251C;
+         border:1px solid #D9251C;
+       }
+       .share-item{
+         position:fixed;
+         left:0px;right:0px;
+         bottom:0px;
+         height: 3.9rem;
+         background:#f2f2f2;
+         border-top:1px solid #E8E8E8;
+         z-index:9999;
+       }
+       .share-item-tips{
+          height: 0.28rem;
+          line-height: 0.28rem;
+          width:100%;
+          text-align:center;
+          font-size: 0.28rem;
+          padding: 0.38rem 0;
+       }
+       .share-item-cent{
+          height: 1.8rem;
+          width: 100%;
+       }
+       .share-item-cent li{
+          width:33.3%;
+          text-align:center;
+          float:left;
+          font-size: 0.28rem;
+       }
+       .share-item-cent img{
+          width: 0.9rem;
+       }
+       .share-item-cancel{
+          height: 0.98rem;
+          line-height: 0.98rem;
+          width:100%;
+          text-align:center;
+          background:#ffffff;
+          font-size: 0.28rem;
+       }
+       .business-time{
+        width:100%;
+        padding: 0 0.32rem;
+         box-sizing:border-box;
+       }
+       .tag-item{
+            float: left;
+            max-width: 0.83rem;
+            height: 0.33rem;
+            line-height: 0.33rem;
+            overflow: hidden;
+            border: 1px solid #993333;
+            font-size: 0.18rem;
+            padding-left: 5px;
+            padding-right: 5px;
+            background: #ffffff;
+            color: #993333;
+            border-radius: 2px;
+            text-align: center;
+       }
+        .goods-title {
+            white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
+        }
+        .search-item img {
+            position: absolute;
+            left: 0.12rem;
+            top: 0.12rem;
+        }
+        #keyword {
+            font-size: 0.3rem;
+            padding-left: 0.2rem;
+            width: 100%;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header  back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">
+                <div class="search-item">
+                  <input id="keyword" type="text" placeholder="关键词搜索" />
+                  <img src="../../image/search.png" /> 
+                </div>
+            </li>
+            <li class="more-btn">搜索</li>
+        </ul>
+    </header>
+    <div class="hotel-goods padding-top">
+        <ul>
+            <li class="gsort hotel-goods-active goods-all" tag="praise">综合</li>
+            <li class="gsort goods-new" tag="goods_commonid">上新<img class="sort-img" src="../../image/sort.png" /></li>
+            <li class="gsort goods-sprice" tag="goods_price">价格<img class="sort-img" src="../../image/sort.png" /></li>
+            <li id="category-btn" class="mask-hidden">分类<img class="sort-img2" src="../../image/sort_down2.png" /></li>
+        </ul>
+        <div id="category-item" class="category-item mask-hidden">
+        </div>
+    </div>
+    <section>
+        <div class="h10"></div>
+        <div class="goods-list" page="1">
+        </div>
+    </section>
+</body>
+<div class="h50"></div>
+<div class="share-item mask-hidden">
+    <div class="share-item-tips">分享至</div>
+    <div class="h10"></div>
+    <div class="share-item-cent">
+        <ul>
+            <li class="share-item-friend"><img src="../../image/share_friend.png" />
+                <p>微信好友</p>
+            </li>
+            <li class="share-item-cale"><img src="../../image/share_cale.png" />
+                <p>微信朋友圈</p>
+            </li>
+            <li class="share-item-qq"><img src="../../image/share_qq.png" />
+                <p>QQ</p>
+            </li>
+        </ul>
+    </div>
+    <div class="share-item-cancel">取消</div>
+</div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript">
+var _storeid = '';
+var _cateid = '';
+var _sort = "id";
+var _minsort = '';
+var _desc = "desc";
+var _shareimg = '';
+var _description = '';
+var _title = '';
+var _page = '1';
+var _shareurl = '';
+var _keyword = 'NULL';
+apiready = function() {
+    _storeid = api.pageParam.storeid;
+    setFixStatusBar();
+    api.addEventListener({
+        name: 'swipeup'
+    }, function(ret, err) {
+        getRouteGoodsData()
+    });
+};
+
+$(".hotel-top-search").on("tap", function() {
+    api.openWin({
+        name: 'goodssearch',
+        url: './goodssearch.html',
+        bounces: false,
+        pageParam: {
+            storeid: _storeid
+        }
+    });
+    return false;
+})
+$(".hotel-item").on("tap", function() {
+    //var _storeid=$(this).attr("keyid");
+    api.openWin({
+        name: 'showhotel',
+        url: './showhotel.html',
+        bounces: false,
+        pageParam: {
+            keyid: _storeid
+        }
+    });
+    return false;
+})
+$(".goods-list").on("tap", ".goods-list-item", function() {
+    var _goodsid = $(this).attr("keyid");
+    api.openWin({
+        name: 'showgoods',
+        url: './showgoods.html',
+        bounces: false,
+        pageParam: {
+            keyid: _goodsid,
+            storeid: _storeid
+        }
+    });
+    return false;
+})
+//////////
+
+function getRouteGoodsData() {
+  // body...
+    _page = $(".goods-list").attr("page");
+    if (_page == 0) {
+        return false;
+    }
+    var _xdata = { store_id: _storeid, page: _page, praise: _desc, keyword: _keyword };
+    var _data_type = $(".hotel-goods-active").attr("tag");
+    if (_data_type == 'praise') {
+        _xdata = { store_id: _storeid, page: _page, praise: _desc, keyword: _keyword };
+    } else if (_data_type == 'goods_commonid') {
+        _xdata = { store_id: _storeid, page: _page, goods_commonid: _desc, keyword: _keyword };
+    } else if (_data_type == 'goods_price') {
+        _xdata = { store_id: _storeid, page: _page, goods_price: _desc, keyword: _keyword };
+    } else {
+        var catid = $("#category-item .cate-active").parent(".category-list").attr("catid");
+        console.log(catid)
+    }
+    $.ajax({
+        url: siteurl + 'v2/entry/storeGoods',
+        data: _xdata,
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var html = '';
+                if (datas.data.goods_list.length > 0) {
+                    var j = 0;
+                    $.each(datas.data.goods_list, function(index, item) {
+                        var _advarr = item.goods_advword.split("\n");
+                        var _taghtml = '';
+                        var _tagcolor = ['#006699', '#d9251c', '#e8e8e8'];
+                        if (_advarr.length > 0) {
+                            for (var i = 0; i < _advarr.length; i++) {
+                                if (_advarr[i]) {
+                                    _taghtml += '<span class="tag-item" style="">' + _advarr[i] + '</span>';
+                                }
+                            }
+                        }
+                        j++;
+                        html = '';
+                        if (j % 2 == 0) {
+                            html += '<div class="goods-list-item padl" ';
+                        } else {
+                            html += '<div class="goods-list-item" ';
+                        }
+                        html += 'keyid="' + item.goods_commonid + '" goods_li="' + j + '"><ul>';
+                        html += '<li><img src="' + siteurl + "uploads/home/store/goods/" + item.goods_image.substr(0, item.goods_image.indexOf("\_")) + "/" + item.goods_image + '" class="goods-image"/></li>';
+                        html += '<li class="goods-title font-rem11">' + item.goods_name + '</li>';
+                        html += '<li class="goods-price">¥' + item.goods_price + ' <span class="line-through">' + item.goods_marketprice + '</span></li>';
+                        html += '<li class="goods-tag">' + _taghtml + '</li>';
+                        html += '</ul></div>';
+                        if (j % 2 == 0) {
+                            html += '<div class="h10"></div>';
+                        }
+                        if (_page == 1 && index == 0) {
+                            $(".goods-list").html(html);
+                        } else {
+                            $(".goods-list").append(html);
+                        }
+                        function_name();
+                    });
+                    _page++;
+                    $(".goods-list").attr("page", _page);
+                } else {
+                    html = '<div class="data-null">暂时没有更多商品</div>';
+                    $(".goods-list").attr("page", '0');
+                    if (_page == 1) {
+                        $(".goods-list").html(html);
+                    } else {
+                        $(".goods-list").append(html);
+                    }
+                }
+            } else {
+                errcode(datas, datas.code)
+            }
+        }
+    })
+}
+
+
+/////
+function getCategoryData() {
+    $.ajax({
+        url: siteurl + 'v1/entry/storeCategory',
+        data: {
+            store_id: _storeid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var html = '';
+                $("#category-item").empty();
+                $("#category-item").append('<div class="category-list" catid="all"><span class="category-list-span">全部</span></div>');
+                $.each(datas.data.category_list, function(index, item) {
+                    html = '<div class="category-list" catid="' + item.gc_id + '"><span class="category-list-span">' + item.gc_name + '</span></div>';
+                    $("#category-item").append(html);
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+$("#category-btn").on("tap", function() {
+    $(".gsort").removeClass("hotel-goods-active");
+    $(".gsort").find("img").attr("src", "../../image/sort.png");
+    getCategoryData();
+    if (!$(".category-item").hasclass("mask-hidden")) {
+        $(".category-item").addClass("mask-hidden");
+        $("#category-btn").removeClass("hotel-goods-active");
+        $(this).find("img").attr("src", "../../image/sort.png");
+        $("#category-btn img").attr("src", "../../image/sort_down2.png");
+    } else {
+        $(".category-item").removeClass("mask-hidden");
+        $("#category-btn").addClass("hotel-goods-active");
+        $(this).find("img").attr("src", "../../image/sort_up.png");
+        $("#category-btn img").attr("src", "../../image/sort_down2_up.png");
+    }
+    return false;
+})
+
+function hiddenCate() {
+    $(".category-item").addClass("mask-hidden");
+    $("#category-btn").removeClass("hotel-goods-active");
+    $("#category-btn").find("img").attr("src", "../../image/sort.png");
+}
+
+function shorNewGoods() {
+    _minsort = '';
+    $(".goods-list").empty();
+    $(".goods-list").attr("page", '1');
+    getRouteGoodsData();
+}
+///
+$(".category-item").on("tap", ".category-list", function() {
+    $(this).find("span").addClass("cate-active");
+    hiddenCate();
+    _cateid = $(this).attr("catid");
+    _minsort = '';
+    shorNewGoods();
+    setTimeout(function() { $(".category-item").addClass("mask-hidden"); }, 300);
+    return false;
+})
+///
+$(".goods-all").on("tap", function() {
+    hiddenCate();
+    _sort = $(this).attr("tag");
+    $(".gsort").removeClass("hotel-goods-active");
+    $(this).addClass("hotel-goods-active");
+    $(".gsort").find("img").attr("src", "../../image/sort.png");
+    $("#category-btn img").attr("src", "../../image/sort_down2.png");
+    _desc = "desc";
+    shorNewGoods();
+    return false;
+})
+////
+$(".goods-new").on("tap", function() {
+    hiddenCate();
+    _sort = $(this).attr("tag");
+    $(".gsort").removeClass("hotel-goods-active");
+    $(this).addClass("hotel-goods-active");
+    $(".goods-sprice").find("img").attr("src", "../../image/sort.png");
+    $(this).find("img").attr("src", $(this).find("img").attr("src") == "../../image/sort_up.png" ? "../../image/sort_down.png" : "../../image/sort_up.png");
+    if ($(this).find("img").attr("src") == "../../image/sort_up.png") {
+        _desc = "asc";
+    } else {
+        _desc = "desc";
+    }
+    $("#category-btn img").attr("src", "../../image/sort_down2.png");
+    shorNewGoods();
+    return false;
+})
+////
+$(".goods-sprice").on("tap", function() {
+    hiddenCate();
+    _sort = $(this).attr("tag");
+    $(".gsort").removeClass("hotel-goods-active");
+    $(this).addClass("hotel-goods-active");
+    $(".goods-new").find("img").attr("src", "../../image/sort.png");
+    $(this).find("img").attr("src", $(this).find("img").attr("src") == "../../image/sort_up.png" ? "../../image/sort_down.png" : "../../image/sort_up.png");
+    if ($(this).find("img").attr("src") == "../../image/sort_up.png") {
+        _desc = "asc";
+    } else {
+        _desc = "desc";
+    }
+    $("#category-btn img").attr("src", "../../image/sort_down2.png");
+    shorNewGoods();
+    return false;
+})
+$(".share-item-cancel").on("tap", function() {
+    $(".share-item").slideUp(500, function() {});
+    _show = false;
+    return false;
+})
+///
+$(".share-item-friend").on("tap", function() {
+    api.download({
+        url: _shareimg,
+        report: false,
+        savePath: 'widget://share' + _storeid + '.png',
+        cache: true,
+        allowResume: true
+    }, function(ret, err) {
+        var wx = api.require('wx');
+        wx.shareWebpage({
+            scene: 'session',
+            title: _title,
+            description: _description,
+            thumb: 'widget://share' + _storeid + '.png',
+            contentUrl: _shareurl
+        }, function(ret, err) {
+            if (ret.status) {
+                //alert("分享成功!");
+                setPoint();
+            } else {
+                alert(err.code);
+            }
+        });
+    });
+    $(".share-item").slideUp(500, function() {});
+    _show = false;
+    return false;
+})
+$(".share-item-cale").on("tap", function() {
+    api.download({
+        url: _shareimg,
+        report: false,
+        savePath: 'widget://share' + _storeid + '.png',
+        cache: true,
+        allowResume: true
+    }, function(ret, err) {
+        var wx = api.require('wx');
+        wx.shareWebpage({
+            scene: 'timeline',
+            title: _title,
+            description: _description,
+            thumb: 'widget://share' + _storeid + '.png',
+            contentUrl: _shareurl
+        }, function(ret, err) {
+            if (ret.status) {
+                //alert("分享成功!");
+                setPoint();
+            } else {
+                alert(err.code);
+            }
+        });
+    });
+    $(".share-item").slideUp(500, function() {});
+    _show = false;
+    return false;
+})
+$(".share-item-qq").on("tap", function() {
+    var qq = api.require('QQPlus');
+    qq.shareNews({
+        url: _shareurl,
+        title: _title,
+        description: _description,
+        imgUrl: _shareimg
+    }, function(ret, err) {
+        if (ret.status) {
+            //alert("分享成功!");
+            setPoint();
+        } else {
+            api.alert({ msg: JSON.stringify(err) });
+        }
+    });
+    $(".share-item").slideUp(500, function() {});
+    _show = false;
+    return false;
+})
+var _show = false;
+$("#share-btn").on("tap", function() {
+    if (_show == false) {
+        $(".share-item").slideDown(500, function() {});
+        _show = true;
+    } else {
+        $(".share-item").slideUp(500, function() {});
+        _show = false;
+    }
+    return false;
+})
+
+
+
+$(".more-btn").on("tap", function() {
+    $(".goods-list").empty();
+    if ($("#keyword").val() == '') {
+        api.toast({
+            msg: '关键词不能为空!'
+        });
+        return false;
+    }
+    _keyword = $("#keyword").val();
+    _cateid = '';
+    _sort = "id";
+    _minsort = '';
+    _desc = "desc";
+    $(".goods-list").attr("page", '1');
+    getRouteGoodsData();
+    return false;
+})
+</script>
+
+</html>

+ 1174 - 0
html/home/hoteldtl.html

@@ -0,0 +1,1174 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/swiper.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css?v=1.2" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        .feed-item{
+        width: 99%;
+        border-bottom:1px solid #e8e8e8;
+        position:relative;
+        padding-top: 0.2rem;
+      }
+      .feed-item ul{
+        width:100%;
+        clear: both;
+      }
+      .fl {
+       float:left;
+      }
+      .feed-item-right{
+        padding-left: 0.2rem;
+      }
+      .feed-item-titel{
+        font-size: 0.24rem;
+        color: #999;
+        padding: 0.2rem 0;
+      }
+      .user-head{
+        width: 0.7rem;
+        height: 0.7rem;
+        border-radius:50%;
+      }
+      .feed-img{
+        float: left;
+        width: 1.2rem;
+        height: 1.2rem;
+        padding-right: 0.3rem;
+      }
+      .my-rating{
+        position:absolute;
+        right: 0;
+        top: 0.2rem;
+      }
+      .my-rating .jq-star {
+        width: 0.3rem !important;
+        height: 0.3rem !important;
+      }
+        .hotel-top{
+       width:100%;
+       height: 4.03rem;
+       background: url('../../image/881649.jpg') ;
+       background-repeat:no-repeat; 
+       background-size:100% 100%;
+     }
+     .hotel-top-line{
+       width:100%
+     }
+     .hotel-top-line li{
+       float:left;
+     }
+     .weui-tab.tabh {
+      height: 2.7rem;
+     }
+     .hotel-title{
+       font-size: 0.38rem;
+       height: 1rem;
+       line-height: 1rem;
+       font-weight: 500;
+       color: #000;
+     }
+     .hotel-title span{
+        float:right;
+         font-size: 0.2rem;
+      }
+      .hotel-title span img {
+        width: 0.38rem;
+      }
+      .hotel-goods{
+        width:100%;
+        height: 1rem;
+        border-bottom:1px solid #e8e8e8;
+        position:relative;
+      }
+      .hotel-goods li{
+        width:25%;
+        float:left;
+        height: 1rem;
+        line-height: 1rem;
+        text-align:center;
+      }
+      #store_description{
+        width: 100%;
+        overflow: hidden;
+        display: -webkit-box;
+        -webkit-line-clamp: 2;
+        -webkit-box-orient: vertical;
+        word-break: break-all;
+        font-size: 0.26rem;
+        color: #606266;
+      }
+      #store_descriptionx img {
+          width: 100%;
+      }
+      .hotel-goods-active{
+        color: #d9251c;
+      }
+      .goods-tag span{
+          margin-right: 0.17rem;
+          padding: 0.01rem 0.1rem;
+          margin-top: 0.2rem;
+      }
+      .goods-title {
+          height: auto;
+          line-height: unset;
+          white-space: nowrap;
+          overflow: hidden;
+          text-overflow: ellipsis;
+      }
+      .goods-price, .goods-tag, .goods-title {
+            margin-top: 0.2rem;
+      }
+      .category-item{
+        width:100%;
+        min-height: 0rem;
+        height:auto;
+        background:#ffffff;
+        position:absolute;
+        top: 1.01rem;
+        z-index:999;
+        border-bottom:1px solid #e8e8e8;
+        padding: 0.1em;
+        box-sizing:border-box;
+      }
+      .category-list{
+        padding:3px;
+        width:25%;
+        float:left;
+        box-sizing:border-box;
+      }
+      .sort-img,.sort-img2{
+        width:18px;
+        vertical-align:middle;
+      }
+       .category-list-span{
+          border:1px solid #e8e8e8;
+          width:90%;
+          border-radius:3px;
+          text-align:center;
+          padding-top:6px;
+          padding-bottom:6px;
+          padding-left:3px;
+          padding-right:3px;
+       }
+       .cate-active{
+         color:#D9251C;
+         border:1px solid #D9251C;
+       }
+       .share-item{
+         position:fixed;
+         left:0px;right:0px;
+         bottom:0px;
+         height: 3.9rem;
+         background:#f2f2f2;
+         border-top:1px solid #E8E8E8;
+         z-index:9999;
+       }
+       .share-item-tips{
+          height: 0.28rem;
+          line-height: 0.28rem;
+          width:100%;
+          text-align:center;
+          font-size: 0.28rem;
+          padding: 0.38rem 0;
+       }
+       .share-item-cent{
+          height: 1.8rem;
+          width: 100%;
+       }
+       .share-item-cent li{
+          width:33.3%;
+          text-align:center;
+          float:left;
+          font-size: 0.28rem;
+       }
+       .share-item-cent img{
+          width: 0.9rem;
+       }
+       .share-item-cancel{
+          height: 0.98rem;
+          line-height: 0.98rem;
+          width:100%;
+          text-align:center;
+          background:#ffffff;
+          font-size: 0.28rem;
+       }
+       .business-time{
+        width:100%;
+        padding: 0 0.32rem;
+         box-sizing:border-box;
+       }
+       .padl {
+        padding-left: 0.13rem;
+       }
+       .tag-item{
+           float: left;
+           line-height: normal;
+           font:inherit;
+           padding:0.01rem 0.1rem;
+           background: #ffffff;
+           color: #d9251c;
+           font-size:0.24rem;
+           font-weight: normal;
+           text-align: center;
+           position: relative;
+       }
+
+        .tag-item:after {
+            content: ' ';
+            position: absolute;
+            pointer-events: none;
+            box-sizing: border-box;
+            -webkit-border-radius: 0.1rem;
+            -moz-border-radius: 0.1rem;
+            border-radius: 0.1rem;
+            top: -50%;
+            left: -50%;
+            right: -50%;
+            bottom: -55%;
+            -webkit-transform: scale(0.5);
+            transform: scale(0.5);
+            border: 1px solid #d9251c;
+        }
+       .iconfont {
+        color: #ffffff;
+       }
+       .weui-mask {
+          position: fixed;
+          z-index: 1000;
+          top: 0;
+          right: 0;
+          left: 0;
+          bottom: 0;
+          background: rgba(0, 0, 0, .6);
+      }
+
+      .weui-mask_transparent{
+          position: fixed;
+          z-index: 1000;
+          top: 0;
+          right: 0;
+          left: 0;
+          bottom: 0;
+      }
+        .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
+            bottom: 0;
+        }
+        .swiper-pagination-bullet {
+            background: #fff;
+            opacity: .8;
+        }
+        .swiper-pagination-bullet-active {
+            background: #d9251c;
+        }
+        .weui-bar__item_on span {
+          color: #d9251c;
+          border-bottom: 0.2em solid;
+          padding-bottom: 0.2rem;
+        }
+        .weui-navbar__item {
+          padding: 0.1rem 0;
+          font-size: 0.28rem;
+          padding-bottom: 0;
+        }
+        .placeholder {
+          text-align: center;
+          padding: 0.3rem 0;
+          line-height: 0;
+        }
+        .placeholder img {
+          padding-bottom: 0.3rem;
+        }
+        .placeholder p {
+            font-size: 0.26rem;
+        }
+        .weui-cell:before {
+          left: 0;
+        }
+        .weui-cell {
+          padding: 0.16rem 0;
+          font-size: 0.3rem;
+        }
+        .weui-navbar__item.weui-bar__item_on {
+          background-color: #ffffff;
+        }
+        .fixed_top {
+            position: fixed;
+            z-index: 501;
+            background-color: #fff;
+            padding-bottom: 0.2rem;
+        }
+        .weui-gallery {
+          z-index: 10000;
+        }
+        .weui-navbar__item:after {
+          border-right: 0;
+        }
+        #store_phone a, #store_phone a:hover {
+          color: #d9251c;
+        }
+        .m-bottom {
+           height: 0.86rem;
+           line-height: 0.86rem;
+           border-radius: 0.15rem;
+        }
+        .fixed_top .hotel-top-search, .fixed_top .hotel-top-back {
+           background-color: rgba(0, 0, 0, 0.5);
+        }
+        .swiper-container {
+            width: 100% !important;
+            height: 4.03rem;
+            position: absolute;
+            z-index: 0;
+        }
+        .swiper-slide img {
+            width: 100%;
+        }
+        .bg-full {
+          background-size: cover !important;
+          -webkit-background-size: cover !important;
+          -o-background-size: cover !important;
+          background-position: center 0;
+          background-repeat: no-repeat !important;
+          height: auto;
+          width: 100% !important;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <div class="hotel-top" id="div_top">
+            <div class="swiper-container">
+                <div class="swiper-wrapper">
+                </div>
+                <div class="swiper-pagination"></div>
+            </div>
+        <section style="padding: 0;padding-bottom: 0.2rem;">
+            <div class="h20"></div>
+            <div class="hotel-top-line">
+                <ul>
+                    <li style="width: 0.61rem;padding-left: 0.04rem;" class="back-btn">
+                        <div class="hotel-top-back"><span class="iconfont">&#xe61e;</span></div>
+                    </li>
+                    <li style="width: 6rem;padding: 0 0.1rem;">
+                        <div class="hotel-top-search"><img src="../../image/search_2.png" style="" /> 搜索商品</div>
+                    </li>
+                    <li style="width: 0.61rem;padding-right: 0.04rem;">
+                        <div class="hotel-top-back" id="share-btn" style="float:right;"><span class="iconfont">&#xe648;</span></div>
+                    </li>
+                </ul>
+            </div>
+        </section>
+    </div>
+    <section class="hotel-item">
+        <div class="hotel-title font-rem11">
+            <h id="store_name">乐辰酒店</h> <span onclick="chkfavorite()"><img id="favorite" src="../../image/goods_buy_favorite.png"></span>
+        </div>
+        <div id="store_description"></div>
+    </section>
+    <div class="h10"></div>
+    <!-- <div class="business-time" style="padding-bottom: 0.3rem;"></div> -->
+    <!-- <div class="back-h10" style="height: 0.2rem;"></div> -->
+    <div class="weui-tab tabh" style="padding: 0;">
+        <div class="weui-navbar">
+            <div class="weui-navbar__item weui-bar__item_on" href="#tab1">
+                <span>服务项目</span>
+            </div>
+            <div class="weui-navbar__item" href="#tab2">
+                <span>评价</span>
+            </div>
+            <div class="weui-navbar__item" href="#tab3">
+                <span>酒店信息</span>
+            </div>
+        </div>
+        <div class="weui-tab__panel">
+            <div id="tab1" class="weui_tab_bd_item weui_tab_bd_item_active"></div>
+            <div id="tab2" class="weui_tab_bd_item feed-list" page="1" style="padding-top: 0.2rem;padding: 0 0.32rem;"></div>
+            <div id="tab3" class="weui_tab_bd_item" style="padding: 0 0.32rem;">
+                <div style="background:#ffffff;width:100%;padding-bottom: 1.2rem;">
+                    <section style="padding: 0;">
+                        <div class="hotel-title">
+                            <h id="store_namex" style="font-size: 0.3rem;color: #606266;">商家信息</h>
+                        </div>
+                        <div id="store_descriptionx"></div>
+                        <div class="h10"></div>
+                        <div class="weui-cells">
+                            <div class="weui-cell">
+                                <div class="weui-cell__bd">
+                                    <p>酒店地址</p>
+                                </div>
+                                <div class="weui-cell__ft" id="store_address"></div>
+                            </div>
+                            <div class="weui-cell">
+                                <div class="weui-cell__bd">
+                                    <p>联系酒店</p>
+                                </div>
+                                <div class="weui-cell__ft" id="store_phone"></div>
+                            </div>
+                        </div>
+                        <div class="h20"></div>
+                    </section>
+                </div>
+                <div class="m-bottom" feedback="false" style="position: fixed;bottom: 0.2rem;width: 6.86rem;">您的入住意见反馈(反馈送圈币)</div>
+            </div>
+        </div>
+    </div>
+    <div class="hotel-goods">
+        <ul>
+            <li class="gsort hotel-goods-active goods-all" tag="praise">综合</li>
+            <li class="gsort goods-new" tag="goods_commonid">上新<img class="sort-img" src="../../image/sort.png" /></li>
+            <li class="gsort goods-sprice" tag="goods_price">价格<img class="sort-img" src="../../image/sort.png" /></li>
+            <li id="category-btn" tag="gc_id_1">分类<img class="sort-img2" src="../../image/sort_down2.png" /></li>
+        </ul>
+        <div id="category-item" class="category-item mask-hidden">
+        </div>
+    </div>
+    <section>
+        <div class="h10"></div>
+        <div class="goods-list" page="1"></div>
+    </section>
+</body>
+<div class="h50"></div>
+<div class="share-item mask-hidden">
+    <div>
+        <div class="share-item-tips">分享至</div>
+        <div class="share-item-cent">
+            <ul>
+                <li class="share-item-friend"><img src="../../image/share_friend.png" />
+                    <p>微信好友</p>
+                </li>
+                <li class="share-item-cale"><img src="../../image/share_cale.png" />
+                    <p>微信朋友圈</p>
+                </li>
+                <li class="share-item-qq"><img src="../../image/share_qq.png" />
+                    <p>QQ</p>
+                </li>
+            </ul>
+        </div>
+        <div class="share-item-cancel">取消</div>
+    </div>
+</div>
+<div class="back-top mask-hidden" id="fix1"></div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/swiper.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
+<script type="text/javascript">
+var _storeid = '';
+var _cateid = '';
+var _sort = "id";
+var _minsort = '';
+var _desc = "desc";
+var _shareimg = '';
+var _description = '';
+var _title = '';
+var _shareurl = '';
+var _page = '1';
+var _data_toggle = "#tab1";
+apiready = function() {
+    _storeid = api.pageParam.keyid;
+    $(".goods-list").attr("page", "1");
+    setIosTopBar();
+    getstoreCategory();
+    getRouteData(_storeid);
+    getRouteGoodsData();
+    getstorefeedbackList();
+    api.addEventListener({
+        name: 'scrolltobottom',
+        extra: {
+            threshold: 200
+        }
+    }, function(ret, err) {
+        if (_data_toggle == "#tab1") {
+            getRouteGoodsData();
+        }
+        if (_data_toggle == "#tab2") {
+            getstorefeedbackList();
+        }
+    });
+};
+///////////
+
+$(function() {
+    $('.weui-navbar__item').on('click', function() {
+        $(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
+        $(".weui-tab__panel .weui_tab_bd_item_active").removeClass('weui_tab_bd_item_active');
+        _data_toggle = jQuery(this).attr("href");
+        $(_data_toggle).addClass("weui_tab_bd_item_active");
+        if (_data_toggle == "#tab1") {
+            $(".hotel-goods").show();
+            $(".goods-list").fadeIn('1500');
+            // $(".weui-tab").css("height", "2.2rem");
+        } else {
+            $(".hotel-goods").fadeOut('1500');
+            $(".goods-list").fadeOut('1500');
+            $(".weui-tab").css("height", "auto");
+        }
+        if (_data_toggle == "#tab2") {
+            $("#tab2").attr('page', '1');
+        }
+    });
+    $(window).scroll(function() {
+        var a = document.getElementById("div_top").offsetTop;
+        if (a >= $(window).scrollTop() && a < ($(window).scrollTop() + $(window).height())) {
+            $("#div_top section").removeClass("fixed_top");
+        }
+        if ($("#div_top").outerHeight() <= $(window).scrollTop()) {
+            $("#div_top section").addClass("fixed_top");
+        }
+    });
+    
+    $('img').error(function(){
+        $(this).attr('src', '/image/logo2.png');
+    })
+});
+
+function getRouteData(_storeid) {
+    // toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v1/store/info',
+        data: {
+            store_id: _storeid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+          // toast_loding_hide();
+            if (datas.result) {
+                $("#store_name").html(datas.data.store_name);
+                $("#store_description").html(datas.data.store_summary);
+                $(".hotel-top").css("background-image", "url(" + siteurl + "uploads/home/store/" + datas.data.store_id + "/" + datas.data.store_banner + ")");
+                _shareimg = siteurl + "uploads/home/store/" + datas.data.store_id + "/" + datas.data.store_logo;
+                // _description = limitNumber(datas.data.store_description, 30);
+                _title = datas.data.store_name;
+                // $(".business-time").html("营业时间:" + datas.store_keywords);
+                _shareurl = siteurl + 'v1/view/market.html';
+                // api.hideProgress();
+                datas.data.has_collected ? $("#favorite").attr("src", "../../image/favorite_hl.png") : $("#favorite").attr("src", "../../image/goods_buy_favorite.png");
+                $(".m-bottom").attr("feedback", datas.data.can_feedback);
+                // $("#store_namex").html(datas.data.store_name); can_feedback
+                $(".weui-tab.tabh .weui-navbar__item:nth-child(2)").append(datas.data.feedback_count);
+                $("#store_descriptionx").html(datas.data.store_description);
+                $("#store_address").html(datas.data.store_address);
+                if (datas.data.store_phone) {
+                  $("#store_phone").html('<a href="tel:' + datas.data.store_phone + '">' + datas.data.store_phone + '</a>');
+                }else{
+                  $("#store_phone").html('<a style="color: rgba(0,0,0,.5);">暂无</a>');
+                }
+                //
+                if (datas.data.store_slide.length > 0) {
+                    $.each(datas.data.store_slide, function(index, item) {
+                        // $(".swiper-wrapper").append('<div class="swiper-slide"><img src="'+ item + '"/></div>');
+                        $(".swiper-wrapper").append('<div class="swiper-slide bg-full" style="background: url('+ item + ');">');
+                        // _images.push(siteurl + "uploads/home/store/goods/" + datas.data.store_id + "/" + item.goodsimage_url);
+                    })
+                }
+                var swiper = new Swiper('.swiper-container', {
+                    allowSlidePrev: true,
+                    width: window.innerWidth,
+                    autoplay: {
+                      disableOnInteraction: false
+                    },
+                    loop : true,
+                    pagination: {
+                        el: '.swiper-pagination',
+                    },
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+
+function chkfavorite() {
+    $("#favorite").removeAttr("style", "");
+    $.ajax({
+        url: siteurl + 'v1/favorites/collect',
+        data: {
+            type: 'store',
+            fav_id: _storeid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            $("#favorite").css("animation", "bounceOut 2s");
+            if (datas.result) {
+                datas.data.action == 'add' ? $("#favorite").attr("src", "../../image/favorite_hl.png") : $("#favorite").attr("src", "../../image/goods_buy_favorite.png");
+                var _msg = datas.data.action == 'add' ? "收藏成功" : "取消收藏";
+                // console.log(_msg);
+                api.toast({ msg: _msg });
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+function getstoreCategory() {
+    $.ajax({
+        url: siteurl + 'v1/entry/storeCategory',
+        data: {
+            type: 'store',
+            store_id: _storeid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var _html = '<div class="weui-flex">';
+                var xx = datas.data.category_list;
+                for (var i = 0; i < 10; i++) {
+                    if (i == 5 && !xx[i]) {
+                        _html += '</div>';
+                        break;
+                    }
+                    if (i == 5) {
+                        _html += '</div><div class="weui-flex">';
+                        $(".weui-tab").css("height", "4.7rem");
+                    }
+                    // console.log(xx[i])
+                    if (xx[i]) {
+                        _html += '<div class="weui-flex__item"><div class="placeholder" gcid="' + xx[i].gc_id + '"><img style="height: 1rem;" src="' + xx[i].pic + '" /><p>' + xx[i].gc_name + '</p></div></div>';
+                    } else {
+                        _html += '<div class="weui-flex__item"><div class="placeholder"></div></div>';
+                    }
+                }
+                $(_data_toggle).html(_html);
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+
+$(".hotel-top-search").on("tap", function() {
+    api.openWin({
+        name: 'goodssearch',
+        url: './goodssearch.html',
+        bounces: false,
+        pageParam: {
+            storeid: _storeid
+        }
+    });
+    return false;
+})
+$(".hotel-itemx").on("tap", function() {
+    //var _storeid=$(this).attr("keyid");
+    api.openWin({
+        name: 'showhotel',
+        url: './showhotel.html',
+        bounces: false,
+        pageParam: {
+            keyid: _storeid
+        }
+    });
+    return false;
+})
+$("#tab1").on("tap", ".placeholder", function() {
+    var _gcid = $(this).attr("gcid");
+    var _categoryname = $(this).children("p").html();
+    // console.log(_categoryname, _gcid);return false;
+    if (!_gcid) {
+        return false;
+    }
+    api.openWin({
+        name: 'storecategory',
+        url: './storecategory.html',
+        bounces: false,
+        pageParam: {
+            keyid: _gcid,
+            storeid: _storeid,
+            categoryname: _categoryname
+        }
+    });
+    return false;
+})
+
+$("#tab2").on("tap", "img", function() {
+    // console.log($(this).attr("src"));
+    gallery_qz($(this).attr("src"));
+});
+
+$(".goods-list").on("tap", ".goods-list-item", function() {
+    var _goodsid = $(this).attr("keyid");
+    var _spot = $(this).attr("spot");
+    api.openWin({
+        name: 'showgoods',
+        url: './showgoods.html',
+        bounces: false,
+        pageParam: {
+            keyid: _goodsid,
+            storeid: _storeid,
+            spot: _spot
+        }
+    });
+    return false;
+})
+//////////
+
+function getRouteGoodsData() {
+    _page = $(".goods-list").attr("page");
+    if (_page == 0) {
+        return false;
+    }
+    var _xdata = { store_id: _storeid, page: _page, praise: _desc };
+    var _data_type = $(".hotel-goods-active").attr("tag");
+    if (_data_type == 'praise') {
+        _xdata = { store_id: _storeid, page: _page, praise: _desc };
+    } else if (_data_type == 'goods_commonid') {
+        _xdata = { store_id: _storeid, page: _page, goods_commonid: _desc };
+    } else if (_data_type == 'goods_price') {
+        _xdata = { store_id: _storeid, page: _page, goods_price: _desc };
+    } else {
+        var catid = $("#category-item .cate-active").parent(".category-list").attr("catid");
+        if (catid == 'all') {
+            _xdata = { store_id: _storeid, page: _page };
+        } else {
+            _xdata = { store_id: _storeid, page: _page, gc_id_1: catid };
+        }
+    }
+    // toast_loding_show();
+    $(".goods-list").attr("page", "0");
+    $.ajax({
+        url: siteurl + 'v2/entry/storeGoods',//'v2/entry/storeGoods'
+        data: _xdata,
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+          // toast_loding_hide();
+            if (datas.result) {
+                var html = '';
+                if (datas.data.goods_list.length > 0) {
+                    var j = 0;
+                    $.each(datas.data.goods_list, function(index, item) {
+                        var _advarr = item.goods_advword.split("\n");
+                        var _taghtml = '';
+                        var _tagcolor = ['#006699', '#d9251c', '#e8e8e8'];
+                        if (_advarr.length > 0) {
+                            for (var i = 0; i < _advarr.length; i++) {
+                                if (_advarr[i]) {
+                                    _taghtml += '<span class="tag-item" style="">' + _advarr[i] + '</span>';
+                                }
+                            }
+                        }
+                        j++;
+                        html = '';
+                        if (j % 2 == 0) {
+                            html += '<div class="goods-list-item padl" ';
+                        } else {
+                            html += '<div class="goods-list-item" ';
+                        }
+                        html += 'keyid="' + item.goods_commonid + '" spot="'+item.spot+'" goods_li="' + j + '"><ul>';
+                        html += '<li><img src="' + siteurl + "uploads/home/store/goods/" + item.goods_image.substr(0, item.goods_image.indexOf("\_")) + "/" + item.goods_image + '" class="goods-image"/></li>';
+                        html += '<li class="goods-title font-rem11">' + item.goods_name + '</li>';
+                        html += '<li class="goods-price">¥' + item.goods_price + ' <span class="line-through">' + item.goods_marketprice + '</span></li>';
+                        html += '<li class="goods-tag" style="margin-top: 0;">' + _taghtml + '</li>';
+                        html += '</ul></div>';
+                        if (j % 2 == 0) {
+                            html += '<div class="h10"></div>';
+                        }
+                        if (_page == 1 && index == 0) {
+                            $(".goods-list").html(html);
+                        } else {
+                            $(".goods-list").append(html);
+                        }
+                    });
+                    _page++;
+                    $(".goods-list").attr("page", _page);
+                } else {
+                    html = '<div class="data-null">暂时没有更多商品</div>';
+                    $(".goods-list").attr("page", '0');
+                    if (_page == 1) {
+                        $(".goods-list").html(html);
+                    } else {
+                        $(".goods-list").append(html);
+                    }
+                }
+            } else {
+                errcode(datas, datas.code)
+            }
+            function_name();
+        }
+    });
+}
+/////
+function getCategoryData() {
+    $.ajax({
+        url: siteurl + 'v1/entry/storeCategory',
+        data: {
+            store_id: _storeid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var html = '';
+                $("#category-item").empty();
+                $("#category-item").append('<div class="category-list" catid="all"><span class="category-list-span">全部</span></div>');
+                $.each(datas.data.category_list, function(index, item) {
+                    html = '<div class="category-list" catid="' + item.gc_id + '"><span class="category-list-span">' + item.gc_name + '</span></div>';
+                    $("#category-item").append(html);
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+
+function getstorefeedbackList() {
+    _pagex = $("#tab2").attr('page');
+    if (_pagex == 0) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v1/store/feedbackList',
+        data: {
+            store_id: _storeid,
+            page: _pagex
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.feedback_list.length > 0) {
+                    $.each(datas.data.feedback_list, function(index, item) {
+                        var _html = '';
+                        if (item.img_list) {
+                            var _imglist = item.img_list;
+                        } else {
+                            var _imglist = '';
+                        }
+                        _html += '<div class="feed-item"><ul>';
+                        _html += '<li class="fl" style="width: 0.7rem;"><img src="' + item.member_avatar + '" class="user-head"/></li>';
+                        _html += '<li class="feed-item-right fl">' + item.member_truename + '<p class="feed-item-titel">' + item.add_time + '</p></li>';
+                        _html += '<li><div class="my-rating my-rating' + index + '"></div></li></ul>';
+                        _html += '<ul><li>' + item.content + '</li></ul><ul style="margin-top: 0.25rem;"><li>';
+                        if (_imglist.length > 0) {
+                            for (var i = 0; i < _imglist.length; i++) {
+                                _html += '<img src="' + _imglist[i] + '" style="width: 1.2rem;height: 1.2rem;margin-right: 0.3rem;"/>';
+                            }
+                        }
+                        _html += '</li></ul><div class="h50"></div></div>';
+                        if (_pagex == 1 && index == 0) {
+                            $("#tab2").html(_html);
+                        } else {
+                            $("#tab2").append(_html);
+                        }
+                        $(".my-rating" + index).starRating({
+                            starSize: 17,
+                            initialRating: item.satisfaction,
+                            readOnly: true,
+                            starShape: 'rounded',
+                            emptyColor: 'lightgray',
+                            hoverColor: 'salmon',
+                            activeColor: '#d9251c',
+                            useGradient: false,
+                            callback: function(currentRating, $el) {
+                                // make a server call here #d9251c
+                            }
+                        });
+                    })
+                    _pagex++;
+                    $("#tab2").attr('page', _pagex);
+                } else {
+                    $("#tab2").attr('page', '0');
+                    if (_pagex == 1) {
+                        $("#tab2").html('<div class="data-null">暂时没有更多评价</div>');
+                    } else {
+                        $("#tab2").append('<div class="data-null">暂时没有更多评价</div>');
+                    }
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+
+$("#category-btn").on("tap", function() {
+    $(".gsort").removeClass("hotel-goods-active");
+    $(".gsort").find("img").attr("src", "../../image/sort.png");
+    getCategoryData();
+    if (!$(".category-item").hasClass("mask-hidden")) {
+        $(".category-item").addClass("mask-hidden");
+        $("#category-btn").removeClass("hotel-goods-active");
+        $(this).find("img").attr("src", "../../image/sort.png");
+        $("#category-btn img").attr("src", "../../image/sort_down2.png");
+    } else {
+        $(".category-item").removeClass("mask-hidden");
+        $("#category-btn").addClass("hotel-goods-active");
+        $(this).find("img").attr("src", "../../image/sort_up.png");
+        $("#category-btn img").attr("src", "../../image/sort_down2_up.png");
+    }
+    return false;
+})
+
+function hiddenCate() {
+    $(".category-item").addClass("mask-hidden");
+    $("#category-btn").removeClass("hotel-goods-active");
+    $("#category-btn").find("img").attr("src", "../../image/sort.png");
+    $("#category-btn img").attr("src", "../../image/sort_down2.png");
+}
+
+function shorNewGoods() {
+    _minsort = '';
+    $(".goods-list").empty();
+    $(".goods-list").attr("page", '1');
+    getRouteGoodsData();
+}
+///
+$(".category-item").on("tap", ".category-list", function() {
+    $(this).find("span").addClass("cate-active");
+    hiddenCate();
+    _cateid = $(this).attr("catid");
+    _minsort = '';
+    shorNewGoods();
+    setTimeout(function() { $(".category-item").addClass("mask-hidden"); }, 300);
+    return false;
+})
+///
+$(".goods-all").on("tap", function() {
+    hiddenCate();
+    _sort = $(this).attr("tag");
+    $(".gsort").removeClass("hotel-goods-active");
+    $(this).addClass("hotel-goods-active");
+    $(".gsort").find("img").attr("src", "../../image/sort.png");
+    _desc = "desc";
+    shorNewGoods();
+    return false;
+})
+////
+$(".goods-new").on("tap", function() {
+    hiddenCate();
+    _sort = $(this).attr("tag");
+    $(".gsort").removeClass("hotel-goods-active");
+    $(this).addClass("hotel-goods-active");
+    $(".goods-sprice").find("img").attr("src", "../../image/sort.png");
+    $(this).find("img").attr("src", $(this).find("img").attr("src") == "../../image/sort_up.png" ? "../../image/sort_down.png" : "../../image/sort_up.png");
+    if ($(this).find("img").attr("src") == "../../image/sort_up.png") {
+        _desc = "asc";
+    } else {
+        _desc = "desc";
+    }
+    shorNewGoods();
+    return false;
+})
+////
+$(".goods-sprice").on("tap", function() {
+    hiddenCate();
+    _sort = $(this).attr("tag");
+    $(".gsort").removeClass("hotel-goods-active");
+    $(this).addClass("hotel-goods-active");
+    $(".goods-new").find("img").attr("src", "../../image/sort.png");
+    $(this).find("img").attr("src", $(this).find("img").attr("src") == "../../image/sort_up.png" ? "../../image/sort_down.png" : "../../image/sort_up.png");
+    if ($(this).find("img").attr("src") == "../../image/sort_up.png") {
+        _desc = "asc";
+    } else {
+        _desc = "desc";
+    }
+    shorNewGoods();
+    return false;
+})
+$(".share-item-cancel").on("tap", function() {
+    $(".share-item").slideUp(500, function() {});
+    $(".weui-mask").remove();
+    _show = false;
+    return false;
+})
+///
+$(".share-item-friend").on("tap", function() {
+    
+        var wx = api.require('wx');
+        wx.shareWebpage({
+            scene: 'session',
+            title: _title,
+            description: _description,
+            thumb: 'widget://image/logo2.png',
+            contentUrl: _shareurl
+        }, function(ret, err) {
+            // $("#store_description").html(JSON.stringify(err) + JSON.stringify(ret));
+            if (ret.status) {
+                api.toast({ msg: '分享成功!' });
+                setPoint();
+            } else {
+                if (err.code == 2) {
+                    api.toast({ msg: '用户取消' });
+                } else if (err.code == 3) {
+                    api.toast({ msg: '发送失败' });
+                } else if (err.code == 4) {
+                    api.toast({ msg: '授权拒绝' });
+                } else {
+                    api.toast({ msg: '发送失败!' });
+                }
+            }
+        });
+    $(".share-item").slideUp(500, function() {});
+    $(".weui-mask").remove();
+    _show = false;
+    return false;
+})
+$(".share-item-cale").on("tap", function() {
+    
+        var wx = api.require('wx');
+        wx.shareWebpage({
+            scene: 'timeline',
+            title: _title,
+            description: _description,
+            thumb: 'widget://image/logo2.png',//'widget://share' + _storeid + '.png',
+            contentUrl: _shareurl
+        }, function(ret, err) {
+            if (ret.status) {
+                //alert("分享成功!");
+                api.toast({ msg: '分享成功!' });
+                setPoint();
+            } else {
+                // alert(err.code);
+                api.toast({ msg: err.msg });
+            }
+        });
+    $(".share-item").slideUp(500, function() {});
+    $(".weui-mask").remove();
+    _show = false;
+    return false;
+})
+$(".share-item-qq").on("tap", function() {
+    var qq = api.require('QQPlus');
+    qq.shareNews({
+        url: _shareurl,
+        title: _title,
+        description: _description,
+        imgUrl: _shareimg
+    }, function(ret, err) {
+        if (ret.status) {
+            //alert("分享成功!");
+            api.toast({ msg: '分享成功!' });
+            setPoint();
+        } else {
+            // alert(err.code);
+            api.toast({ msg: err.msg });
+        }
+    });
+    $(".share-item").slideUp(500, function() {});
+    $(".weui-mask").remove();
+    _show = false;
+    return false;
+})
+var _show = false;
+$("#share-btn").on("tap", function() {
+    if (_show == false) {
+        $(".share-item").slideDown(500, function() {});
+        $("body").append('<div class="weui-mask"></div>');
+        _show = true;
+    } else {
+        $(".share-item").slideUp(500, function() {});
+        _show = false;
+    }
+    return false;
+})
+
+function setPoint() {
+    $.ajax({
+        url: siteurl + 'v1/member/point',
+        data: {
+            memberid: $api.getStorage("memberid"),
+            stage: 'share'
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+              //
+            } else {
+              errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+$(".m-bottom").on("tap", function() {
+    if ( $(".m-bottom").attr("feedback") == 1 ) {
+        api.openWin({
+            name: 'feedback',
+            url: './feedback.html',
+            bounces: false,
+            pageParam: {
+                keyid: _storeid
+            }
+        })
+    } else {
+        api.toast({ msg: '入住客人才可以反馈' });
+    }
+    return false;
+})
+
+$(".back-top").on("tap", function() {
+    $('html , body').animate({ scrollTop: 0 }, 'slow');
+    return false;
+});
+
+$.fn.fixedDiv = function(actCls) {
+    var that = $(this),
+        offsetTop = that.offset().top,
+        scrollTop;
+
+    function fix() {
+        scrollTop = $(document).scrollTop();
+        if (scrollTop > offsetTop) {
+            that.removeClass(actCls);
+        } else {
+            that.addClass(actCls);
+        }
+    }
+    fix();
+    $(window).scroll(fix);
+}
+$('#fix1').fixedDiv('mask-hidden')
+</script>
+
+</html>

+ 231 - 0
html/home/hotelsearch.html

@@ -0,0 +1,231 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css?v=1.2" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        body{}
+        #keyword {
+            font-size: 0.3rem;
+            padding-left: 0.2rem;
+            width: 100%;
+        }
+        .back-header li.more-btn {
+            font-size: 0.3rem;
+        }
+        .home-hotel-title {
+            font-size: 0.33rem;
+            overflow: hidden;
+            white-space: nowrap;
+            text-overflow: ellipsis;
+        }
+        .border-none{
+          text-align:center;font-size: 0.28rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img {
+            margin-top: 3rem;
+            width: 1.73rem;
+            height: auto;
+        }
+        .search-item img {
+            position: absolute;
+            left: 0.12rem;
+            top: 0.12rem;
+        }
+        .home-nearby .weui-cell {
+            padding: 16px 3px;
+        }
+        .home-nearby weui-cell__bd p {
+            font-size: 0.35rem;
+        }
+        .home-top-left {
+            width: 4.9rem;
+        }
+        .local-name {
+            width: 4.2rem;
+        }
+        .weui-cell__ft {
+            font-size: 0.25rem;
+        }
+        .home-hotel-left img {
+            height: auto;
+        }
+        .home-hotel-dsc {
+            -webkit-line-clamp: 1;
+        }
+        .home-hotel-title {
+            font-size: 0.27rem;
+            overflow: hidden;
+            white-space: nowrap;
+            text-overflow: ellipsis;
+            color: #000;
+            font-weight: 700;
+        }
+        .home-hotel-list {
+            margin-bottom: 0.2rem;
+        }
+        .hotel_credit {
+            font-size: 0.47rem;
+            position: absolute;
+            margin-top: -0.2rem;
+            color: #000000;
+            font-family: Medium;
+            font-weight: 500;
+        }
+        .hotel_credit:after {
+            position: absolute;
+            top: 0.45rem;
+            width: 100%;
+            height: 0.13rem;
+            content: "";
+            /*background: #ffdb26;*/
+            margin-left: -100%;
+            z-index: -1;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <!-- <section> -->
+        <header class="back-header  back-header-bottom">
+            <ul>
+                <li class="padding-20 back-btn" style="width: 0.42rem;"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+                <li class="back-header-title">
+                    <div class="search-item">
+                        <input id="keyword" type="text" placeholder="关键词搜索" />
+                        <img src="../../image/search.png" /> 
+                    </div>
+                </li>
+                <li class="more-btn" style="width: 0.6rem;white-space: nowrap;">搜索</li>
+            </ul>
+        </header>
+        <!-- <div class="h50"></div> -->
+        <section class="new-list">
+        </section>
+        <section class="border-none"></section>
+    <!-- </section> -->
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
+<script type="text/javascript">
+var _keyword = 'null';
+var _lon = '1';
+var _lat = '1';
+var _page = '1';
+apiready = function() {
+    _lon = api.pageParam.lon;
+    _lat = api.pageParam.lat;
+    setFixStatusBar();
+};
+
+function getRouteData() {
+    $.ajax({
+        url: siteurl + 'v2/entry/storeList',//'?do=gethomehotel',
+        data: {
+            keyword: _keyword,
+            page: _page,
+            lon: _lon,
+            lat: _lat
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var html = '';
+                $(".new-list").empty();
+                var i = 0;
+                if (datas.data.store_list.length > 0) {
+                    var html;
+                    $.each(datas.data.store_list, function(index, item) {
+                        html += '<div class="home-hotel-list" keyid="' + item.store_id + '"><div class="home-hotel-left"><img src="' + siteurl + 'uploads/home/store/' + item.store_id + '/' + item.store_banner + '"/></div>';
+                        html += '<div class="home-hotel-right"><div class="home-hotel-title">' + item.store_name + '</div>';
+                        html += '<div class="home-hotel-dtl"><ul><li style="width:40%"><div class="hotel_credit my-rating' + i + '">'+intToFloat(item.store_servicecredit)+'</div></li>';
+                        html += '<li style="text-align:center;"> 月访客' + item.store_visitor + '</li><li style="float:right;"> ' + item.distance + '</li>';
+                        html += '</ul></div>';
+                        html += '<div class="home-hotel-dsc">' + item.store_summary + '</div></div></div>';
+                        i++;
+                    });
+                    $(".new-list").html(html);
+                    $(".border-none").addClass("mask-hidden");
+                    // _minid = datas[datas.length - 1].store_id;
+                } else {
+                    $(".border-none").html('<img src="../../image/notfound.png" class="border-none-img" /><p>抱歉,没有搜到相关内容</p>')
+                    $(".border-none").removeClass("mask-hidden");
+                }
+                if (datas.length < 10) {
+                    _isload = true;
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+$(".more-btn").on("tap", function() {
+    $(".new-list").empty();
+    if ($("#keyword").val() == '') {
+        api.toast({
+            msg: '关键词不能为空!'
+        });
+        return false;
+    }
+    _keyword = $("#keyword").val();
+    getRouteData();
+    return false;
+})
+
+
+function intToFloat(val) {
+    // body...
+    return new Number(val).toFixed(1);
+}
+
+$(".new-list").on("tap", ".home-hotel-list", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'hoteldtl',
+        url: '../home/hoteldtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+</script>
+
+</html>

+ 70 - 0
html/home/local.html

@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>title</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <style>
+    	body{
+    		
+    	}
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+<body>
+	
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript">
+	apiready = function(){
+		getAddress();
+	};
+	
+	function getAddress(){
+	 var aMap = api.require('aMap');
+	 aMap.open({
+		    rect: {
+		        x: 0,
+		        y: 0,
+		        w: 320,
+		        h: 300
+		    },
+		    showUserLocation: true,
+		    zoomLevel: 11,
+		    center: {
+		        lon: 116.4021310000,
+		        lat: 39.9994480000
+		    },
+		    fixedOn: api.frameName,
+		    fixed: true
+		}, function(ret, err) {
+		    if (ret.status) {
+		        alert(JSON.stringify(ret));
+		    } else {
+		        alert(JSON.stringify(err));
+		    }
+		});
+	}
+</script>
+</html>

+ 368 - 0
html/home/msglist.html

@@ -0,0 +1,368 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body { background: #f2f2f2; }
+        .msg-list {
+           background: #f2f2f2;
+           padding-top: 1.2rem;
+           box-sizing: border-box;
+        }
+        .msg-cent-list{
+           width:100%;
+           display: flex;
+           background:#ffffff;
+           border-radius: 0.2em;
+           padding: 0.17rem;
+           box-sizing:border-box;
+           position:relative;
+        }
+        .msg-cent-list li{
+          float:left;
+        }
+        .back-h10 {
+            height: 0.5em;
+        }
+        .msg-cent-list img{
+            width: 1.5rem;
+            height: 1.5rem;
+        }
+        .msg-cent-right{
+            padding-left: 0.3rem;
+            width: 4.6rem;
+        }
+        .msg-cent-right-title{
+          font-size: 0.28rem;
+          line-height: 0.28rem;
+        }
+        .msg-cent-right-dtl{
+            width:100%;
+            font-size: 0.22rem;
+            overflow:hidden;
+            display: -webkit-box;
+            -webkit-box-orient: vertical;
+            word-break: break-all;
+        }
+        .msg-time{
+          float: right;
+          color:#cccccc;
+        }
+        .border-none-img{
+            margin-top: 3rem;
+            width: 1.73rem;
+            height: auto;
+        }
+        .is_read div {
+            /*background: #ddd;*/
+            color: #ccc;
+        }
+        .buy-btn{
+          width:100%;
+          height: 1rem;
+          background:#ffffff;
+          border-top:1px solid #e8e8e8;
+          position:fixed;
+          bottom:0px;
+        }
+        .buy-btn li{
+          float:left;
+          /*width:50%;*/
+          height: 1rem;
+          line-height: 1rem;
+          text-align:center;
+          font-size: 0.28rem;
+          border-right:1px solid #e8e8e8;
+          box-sizing:border-box;
+        }
+        li.buy-btn-left{
+          width: 5.3rem;
+          text-align: left;
+          padding-left: 0.2rem;
+        }
+        .to-del{
+          color:#ffffff;
+          background: #D9251C;
+        }
+        .to-del span{
+          color:#ffffff;
+        }
+        .check-all{
+            width: 0.4rem;
+            height: 0.4rem;
+            vertical-align: middle;
+        }
+        .buycar-null{
+          width:100%;text-align:center;background:#f2f2f2;
+        }
+        .buycar-null img{
+          width:60px;
+        }
+        .weui-swiped-btn .iconfont {
+            font-size: 0.48rem;
+            color: #d9251c;
+        }
+        .weui-swiped-btn_warn {
+            background-color: rgb(255, 255, 255);
+        }
+        li.check_li {
+            position: absolute;
+            right: 0.32rem;
+        }
+        li.check_li img {
+            width: 0.44rem;
+            height: auto;
+            vertical-align: middle;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section style="background:#ffffff;">
+        <header class="back-header">
+            <ul>
+                <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+                <li class="back-header-title">消息通知</li>
+                <li class="more-btn">管理</li>
+            </ul>
+        </header>
+    </section>
+    <section class="msg-list padding-top"></section>
+    <section class="border-none data-null" style="padding-bottom: 1rem;">
+        <img src="../../image/msg_null.png" class="border-none-img" />
+        <p>还没有任何消息</p>
+    </section>
+    <div class="h50"></div>
+    <!-- xx -->
+    <div class="buy-btn mask-hidden" id="buy-cancel">
+        <ul>
+            <li class="buy-btn-left" style="width:70%;"><img src="../../image/checkun.png" class="check-all"> 全选</li>
+            <li class="to-del" onclick="btn_warn()" style="width:30%;border-right:none;"><span class="to-pay-text">删除</span><span class="pay-total"></span></li>
+        </ul>
+    </div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _page = '1';
+var lastpage = false;
+apiready = function() {
+    setFixStatusBar();
+    getRouteData();
+    api.addEventListener({
+        name: 'scrolltobottom',
+        extra: {
+            threshold: 200
+        }
+    }, function(ret, err) {
+        getRouteData();
+    });
+};
+var _minid = '';
+
+function getRouteData() {
+    if ( lastpage ) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v2/shop/msg_list',//'?do=getordermsg',
+        data: {
+            member_id: $api.getStorage("memberid"),
+            minid: _minid,
+            page: _page,
+            page_size: '10'
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.msg_list.length > 0) {
+                    $.each(datas.data.msg_list, function(index, item) {
+                        var _html = '';
+                        _html += '<div class="msg-cent-list is_read" msgid="'+ item.id +'" keyid="' + item.order_id + '"><ul><li><img src="' + siteurl + "uploads/home/store/goods/" + item.goods_image.substr(0, item.goods_image.indexOf("\_")) + "/" + item.goods_image + '"/></li>';
+                        _html += '<li class="msg-cent-right"><div class="msg-cent-right-title">' + item.status + '</div>';
+                        _html += '<div class="h2"></div>';
+                        _html += '<div class="msg-cent-right-dtl">' + item.content + '</div><div class="h2"></div>';
+                        _html += '<div style="font-size: 0.24rem">订单号:' + item.order_sn + ' <span class="msg-time">' + item.add_time + '</span></div></li><li class="check_li"><img class="check-btn mask-hidden" src="../../image/checkun.png"/></li>';
+                        _html += '</ul></div><div class="back-h10"></div>';
+                        $(".msg-list").append(_html);
+                    });
+                    // _minid = datas[datas.length - 1].id;
+                    _page++;
+                    $(".data-null").addClass("mask-hidden");
+                } else {
+                    lastpage = true;
+                    if ( _page == 1 ) {
+                        $(".data-null").removeClass("mask-hidden");
+                    }
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+            // push_msg_status();
+        }
+    });
+}
+
+function push_msg_status (){
+    api.execScript({
+        name: 'frame0',
+        script: 'getmsgtotal();'
+    })
+}
+
+$(".msg-list").on("tap", ".msg-cent-list", function() {
+    if (isEdit) {
+        if ($(this).find(".check-btn").attr("src") == "../../image/checkun.png") {
+            $(this).find(".check-btn").attr("src", "../../image/checked.png");
+            // $(".check-btn").attr("src", "../../image/checked.png");
+        } else {
+            $(this).find(".check-btn").attr("src", "../../image/checkun.png");
+            // $(".check-btn").attr("src", "../../image/checkun.png");
+        }
+        getcheckall();
+        return false;
+    }
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'orderdtl',
+        url: '../order/orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+
+var isEdit = false;
+$(".more-btn").on("tap", function() {
+    if (!isEdit) {
+        $(".more-btn").html("取消");
+        $(".m-bottom").addClass("mask-hidden");
+        $(".buy-btn").removeClass("mask-hidden");
+        $(".check-btn").removeClass("mask-hidden");
+        $(".weui-swiped-btn_warn").addClass("mask-hidden");
+        isEdit = true;
+    } else {
+        $(".more-btn").html("管理");;
+        $(".m-bottom").removeClass("mask-hidden");
+        $(".buy-btn").addClass("mask-hidden");
+        $(".check-btn").addClass("mask-hidden");
+        $(".weui-swiped-btn_warn").removeClass("mask-hidden");
+        isEdit = false;
+    }
+    getcheckall();
+    return false;
+})
+
+$(".check-all").on("tap", function() {
+    if ($(this).attr("src") == "../../image/checkun.png") {
+        $(this).attr("src", "../../image/checked.png");
+        $(".check-btn").attr("src", "../../image/checked.png");
+    } else {
+        $(this).attr("src", "../../image/checkun.png");
+        $(".check-btn").attr("src", "../../image/checkun.png");
+    }
+    getcheckall();
+    return false;
+})
+
+$(".buy-btn-left").on("tap", function() {
+    if ($(this).find(".check-all").attr("src") == "../../image/checkun.png") {
+        $(this).find(".check-all").attr("src", "../../image/checked.png");
+        $(".check-btn").attr("src", "../../image/checked.png");
+    } else {
+        $(this).find(".check-all").attr("src", "../../image/checkun.png");
+        $(".check-btn").attr("src", "../../image/checkun.png");
+    }
+    getcheckall();
+    return false;
+})
+
+function getcheckall() {
+    var no = $(".msg-list .msg-cent-list").length;
+    var nox = $(".msg-list [src$='checkun.png']").length;
+    var noc = $(".msg-list [src$='checked.png']").length;
+    console.log(no,nox,noc)
+    if (no == noc) {
+        $(".check-all").attr("src", "../../image/checked.png");
+    } else {
+        $(".check-all").attr("src", "../../image/checkun.png");
+    }
+}
+
+function btn_warn() {
+    var _keyid = [];
+    $(".msg-list [src$='checked.png']").each(function() {
+        _keyid.push($(this).parent().parent().parent().attr("msgid"));
+    });
+    $.ajax({
+        url: siteurl + 'v1/order/drop_msg',
+        data: {
+            ids: _keyid.toString()
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.code == 1000) {
+                    $(".msg-list [src$='checked.png']").parent().parent().parent().remove();
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+function btn_primary() {
+    // body...
+    var _keyid = $("#iosActionsheet").attr("order_id");
+    api.openWin({
+        name: 'orderdtl',
+        url: '../order/orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+}
+
+
+</script>
+
+</html>

+ 308 - 0
html/home/paymode.html

@@ -0,0 +1,308 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>title</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{background:#f2f2f2;}
+    	.pay-item{
+    	  width:100%;
+    	}
+    	.pay-item li{
+    	  width:100%;
+    	  height: 1.08rem;
+    	  line-height: 1.08rem;
+    	  border-bottom:1px solid #e8e8e8;
+    	  font-size: 0.28rem;
+    	}
+    	.pay-item img{
+    	  width: 0.44rem;
+    	  height: 0.44rem;
+    	  margin-right: 0.2rem;
+    	  vertical-align: middle;
+    	}
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">支付方式</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="white-back padding-top">
+        <div class="pay-item">
+            <ul>
+                <li><img class="pay-btn" tag="wx" src="../../image/checked.png" />微信支付</li>
+            </ul>
+            <ul>
+                <li><img class="pay-btn" tag="zfb" src="../../image/checkun.png" />支付宝支付</li>
+            </ul>
+            <ul>
+                <li style="border-bottom:none;"><img id="pay-btn" tag="point" src="../../image/checkun.png" />圈币支付</li>
+            </ul>
+        </div>
+    </section>
+    <section style="position:fixed;bottom:10px;width:100%;">
+        <div class="m-bottom">支 付</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _dftPay = 'wx';
+var _orderId = '';
+var _money = '0.00';
+var _ratio_points = '';
+apiready = function() {
+    _orderId = api.pageParam.keyid;
+    setFixStatusBar();
+    getRouteData(_orderId);
+    //http://qdd.cms.g107.com/api/wxpay/pay.php?body=test&total_fee=10
+    //http://qdd.cms.g107.com/api/alipay/pay.php?user_id=100001&amount=1
+};
+
+function getRouteData(_keyid) {
+    $.ajax({
+        url: siteurl + 'v2/order/info',
+        data: {
+            order_id: _keyid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                _money = datas.data.order_amount;
+                _ratio_points = datas.data.ratio_points;
+                if (_ratio_points == 0) {
+                    $("#pay-btn").parent().parent().hide();
+                    $(".pay-btn").parent().css("border-bottom", "none");
+                }
+                $(".m-bottom").html("支 付 ( "+_money+" )");
+            } else{
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+function getWxData() {
+    var _datas = '';
+    var _body = "订单支付";
+    var _wxmoney = 0.00;
+    _wxmoney = _money * 100;
+    $.ajax({
+        url: siteurl + 'v1/payment/pay',
+        data: {
+            pay_code: 'wx',
+            order_id: _orderId
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        async: false,
+        success: function(datas) {
+            if (datas.result) {
+                _datas = datas.data.wx;
+                var wxPay = api.require('wxPay');
+                wxPay.payOrder({
+                    apiKey: _datas.appid,
+                    orderId: _datas.prepayid,
+                    mchId: _datas.partnerid,
+                    nonceStr: _datas.noncestr,
+                    timeStamp: _datas.timestamp,
+                    package: _datas.package,
+                    sign: _datas.sign
+                }, function(ret, err) {
+                    if (ret.status) {
+                        api.toast({msg: datas.msg});
+                        setOrderStatus();
+                    } else {
+                        api.toast({ msg: '支付失败!' });
+                    }
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+            
+        }
+    });
+    
+}
+
+function getAliData() {
+    var _orderInfo = '';
+    $.ajax({
+        url: siteurl + 'v1/payment/pay',
+        data: {
+            pay_code: 'zfb',
+            order_id: _orderId
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        async: false,
+        success: function(datas) {
+            if (datas.result) {
+                _orderInfo = datas.data.zfb;
+                var aliPay = api.require('aliPayPlus');
+                aliPay.payOrder({
+                    orderInfo: _orderInfo
+                }, function(ret, err) {
+                    if (ret.code == 9000) {
+                        api.toast({msg: datas.msg});
+                        setOrderStatus();
+                    } else {
+                        api.toast({ msg: '支付失败!'+ ret.code });
+                    }
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+$(".pay-item").on("tap", "ul", function() {
+    $(".pay-item").find("img").attr("src", "../../image/checkun.png");
+    $(this).find("img").attr("src", "../../image/checked.png");
+    _dftPay = $(this).find("img").attr("tag");
+    if ( _dftPay == 'point' ) {
+        $(".m-bottom").html("支 付 ( 圈币 "+_money * _ratio_points+" )");
+    }else{
+        $(".m-bottom").html("支 付 ( ¥"+_money+" )");
+    }
+    return false;
+});
+$(".m-bottom").on("tap", function() {
+    if (!_money) {
+        return false;
+    }
+    if (_dftPay == "wx") {
+        getWxData();
+    } else if (_dftPay == "zfb") {
+        getAliData();
+    } else if (_dftPay == "point") {
+        var _pointsmoney = '0';
+        _pointsmoney = _money * _ratio_points;
+        api.confirm({
+            title: '圈币支付',
+            msg: '使用圈币支付,支付圈币:'+_pointsmoney,
+            buttons: ['支付', '取消']
+        }, function(ret, err) {
+            var index = ret.buttonIndex;
+            if (index === 1) {
+                toast_loding_show();
+                $.ajax({
+                    url: siteurl + 'v1/payment/pay',
+                    data: {
+                        pay_code: 'point',
+                        order_id: _orderId
+                    },
+                    headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                    dataType: 'json',
+                    type: 'post',
+                    success: function(datas) {
+                        // paySuccess(_dftPay, _money);
+                        if (datas.result) {
+                            api.toast({msg: datas.msg});
+                            setOrderStatus();
+                        } else {
+                            errcode(datas, datas.code);
+                            toast_loding_hide();
+                        }
+                    }
+                })
+            }
+        })
+    }
+    return false;
+})
+
+function setOrderStatus() {
+    api.openWin({
+        name: 'paysuccess',
+        url: './paysuccess.html',
+        bounces: false,
+        pageParam: {
+            keyid: _orderId
+        }
+    });
+    // setPoint();
+    api.addEventListener({
+        name: 'viewdisappear'
+    }, function() {
+        api.closeWin({ name: api.winName });
+    });
+    api.closeWin();
+}
+
+function paySuccess(_dftPay, _money) {
+    $.ajax({
+        url: rooturl + '?do=setpoint',
+        data: {
+            memberid: $api.getStorage("memberid"),
+            money: _money,
+            keyid: _orderId,
+            dftpay: _dftPay
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.code === 1) {
+                api.openWin({
+                    name: 'paysuccess',
+                    url: './paysuccess.html',
+                    bounces: false,
+                    pageParam: {
+                        keyid: _orderId
+                    }
+                });
+                // setPoint();
+                api.addEventListener({
+                    name: 'viewdisappear'
+                }, function() {
+                    api.closeWin({ name: api.winName });
+                });
+            } else {
+                // api.hideProgress();
+                api.toast({ msg: datas.msg });
+            }
+        }
+    });
+}
+
+</script>
+
+</html>

+ 94 - 0
html/home/paysuccess.html

@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>title</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{background:#f2f2f2;}
+        .pay-success{
+          text-align:center;
+          font-size: 0.28rem;
+          color: #666666;
+        }
+        .pay-success img{
+          width: 1.69rem;
+          height: 1.69rem;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">支付成功</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="padding-top">
+        <div class="h50"></div>
+        <div class="pay-success">
+            <img src="../../image/paysuccess.png" />
+            <p>订单支付成功</p>
+        </div>
+    </section>
+    <div class="h50"></div>
+    <section>
+        <div class="m-bottom to-order" style="background:#ffffff;border: 1px solid #D9251C;color: #D9251C;">查看订单详情</div>
+        <div class="h20"></div>
+        <div class="m-bottom to-buy">继续购物</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+apiready = function() {
+    _keyid = api.pageParam.keyid;
+    setFixStatusBar();
+};
+$(".to-order").on("tap", function() {
+    var _tag = $(this).attr("tag");
+    api.openWin({
+        name: 'orderdtl',
+        url: '../order/orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+})
+$(".to-buy").on("tap", function() {
+    setTimeCloseWin("paysuccess");
+})
+</script>
+
+</html>

+ 769 - 0
html/home/postaddr.html

@@ -0,0 +1,769 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{
+            background:#f2f2f2;
+        }
+        .addr-room, .addr-roomx {
+          color: #666666;
+          width: 100%;
+          padding: 0.2rem 0;
+        }
+        .addr-room2 {
+          font-size:16px;
+          color:#666666;
+          width:100%;
+          position:relative;
+          padding-top:10px;
+          padding-bottom:10px;
+        }
+        .addr-room-realname{
+          width:80%;overflow: hidden;height:48px;
+        }
+        .addr-room span, .addr-roomx span {
+          float:right;
+        }
+        .addr-room img, .addr-roomx img {
+          width: 0.4rem;
+          vertical-align:middle;
+        }
+        .addr-data{
+           width:100%;
+          height: 1rem;
+          line-height: 1rem;
+          border-bottom:1px solid #e8e8e8;
+        }
+        .addr-data div{
+          float:left;
+        }
+        .addr-data-title{
+          width:100px;
+           /*font-size:18px;*/
+          color:#666666;
+        }
+        .addr-conf{
+          width:100%;
+          border-top:1px solid #e8e8e8;
+          position:fixed;
+          bottom:0px;
+          float: left;
+          height: 1rem;
+          line-height: 1rem;
+          text-align: center;
+          font-size: 0.28rem;
+          /*border-right: 1px solid #e8e8e8;*/
+          box-sizing: border-box;
+        }
+        .pay-total{
+            float: left;
+            height: 1rem;
+            line-height: 1rem;
+            text-align: center;
+            font-size: 0.28rem;
+            box-sizing: border-box;
+            padding-left: 0.2rem;
+        }
+        .pay-btn{
+            float: right;
+            color: #ffffff;
+            background: #d9251c;
+            width: 2.2rem;
+        }
+        .order-dtl{
+          width:100%;
+        }
+        .order-dtl-title{
+          width:100%;
+          padding: 0.15rem 0;
+          font-size: 0.28rem;
+          border-bottom:1px solid #e8e8e8;
+        }
+        .order-dtl-title img{
+          width: 0.31rem;
+          height: 0.31rem;
+          border-radius:50%;
+          vertical-align:middle;
+        }
+        .order-dtl-item{
+          width:100%;
+          /*height:90px;*/
+        }
+        .order-dtl-item img{
+          width: 1.73rem;
+          height: 1.73rem;
+        }
+        .order-item{
+           position: relative;
+        }
+        .order-item div{
+           float:left;
+        }
+        .order-dtl-item li{
+          float:left;
+          width:100%;
+          /*height:80px;*/
+        }
+        .order-item-list{
+            padding-left: 0.3rem;
+            overflow: hidden;
+            width: 4.8rem;
+        }
+        .order-item-title{
+          /*font-size:18px;*/
+          width:100%;
+          /*height:26px;*/
+          overflow: hidden;
+        }
+        .add-num{
+          float:right;
+          width: 2rem;
+          border:1px solid #e8e8e8;
+          border-radius:5px;
+          position:absolute;
+          right:0px;
+          bottom: 0;
+          background: #FFFFFF;
+        }
+        .add-num li{
+          float:left;
+          width:33.3%;
+          text-align:center;
+          border-right:1px solid #e8e8e8;
+          box-sizing:border-box;
+        }
+        .add-num input{
+          text-align:center;
+          width:100%;
+          color:#666666;
+        }
+        .add-num li {
+            height: 0.6rem;
+            line-height: 0.6rem;
+        }
+        .add-addr{
+          border-bottom: none; font-size:18px;
+        }
+        .order-freight{
+          width:100%;
+          height:40px;
+          line-height:40px;
+          border-top:1px solid #e8e8e8;
+          background:#ffffff;
+        }
+        .nav_fixed {
+            position: fixed;
+            margin-top: 0.86rem;
+            top: 0;
+        }
+        .m-bottom {
+            margin: 0 0.2rem 0.2rem 0.2rem;
+        }
+        .weui-dialog__bd:after {
+            bottom: 0;
+            border-bottom: 1px solid rgba(0,0,0,.1);
+            -webkit-transform-origin: 0 100%;
+            transform-origin: 0 100%;
+            -webkit-transform: scaleY(.5);
+            transform: scaleY(.5);
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">确认订单</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="white-back padding-top">
+        <div class="addr-room">请送到我的房间<span><img class="change-room" tag="set-addr" src="../../image/checked.png" /></span></div>
+        <div class="addr-room">快递到我的地址<span><img class="change-room" tag="select-addr" src="../../image/checkun.png" /></span></div>
+        <div class="addr-room">处理我的客房预订<span><img class="change-room" tag="room-addr" src="../../image/checkun.png" /></span></div>
+    </section>
+    <div class="back-h50"></div>
+
+    <section class="white-back addr-info" id="set-addr">
+        <div class="addr-data white-back">
+            <div class="addr-data-title">酒店</div>
+            <div class="addr-data-input"><input id="hotel-name" type="text" placeholder="酒店名称" readonly="readonly" /></div>
+        </div>
+        <div class="addr-data">
+            <div class="addr-data-title">房间号</div>
+            <div class="addr-data-input"><input id="hotel-room" type="text" tag="1" placeholder="填写房间号" /></div>
+        </div>
+        <div class="addr-data">
+            <div class="addr-data-title">收货人</div>
+            <div class="addr-data-input"><input id="address_realname" type="text" placeholder="填写收货人" /></div>
+        </div>
+        <div class="addr-data" style="border-bottom:none;">
+            <div class="addr-data-title">手机号</div>
+            <div class="addr-data-input"><input id="address_mob_phone" maxlength="11" type="tel" placeholder="填写收货人手机号" /></div>
+        </div>
+    </section>
+
+    <section class="white-back addr-info mask-hidden" id="room-addr">
+        <div class="addr-data white-back">
+            <div class="addr-data-title">预订酒店</div>
+            <div class="addr-data-input"><input id="hotel-namex" class="hotel-name" type="text" placeholder="酒店名称" readonly="readonly" /></div>
+        </div>
+        <div class="addr-data">
+            <div class="addr-data-title">入住人</div>
+            <div class="addr-data-input"><input id="address_realnamex" class="address_realname" type="text" placeholder="填写入住人" /></div>
+        </div>
+        <div class="addr-data">
+            <div class="addr-data-title">手机号</div>
+            <div class="addr-data-input"><input id="address_mob_phonex" class="address_mob_phone" maxlength="11" type="tel" placeholder="填写手机号" /></div>
+        </div>
+        <div class="addr-data" style="border-bottom:none;">
+            <div class="addr-data-title">备注</div>
+            <div class="addr-data-input"><input id="hotel-roomx" class="hotel-room" type="text" tag="1" placeholder="" /></div>
+        </div>
+    </section>
+
+    <section class="white-back addr-info mask-hidden" id="select-addr">
+        <div class="my-order add-addr"> 选择地址<span class="right-tag iconfont">&#xe62e;</span></div>
+    </section>
+    <div id="select-addr-info">
+    </div>
+    <div class="back-h50"></div>
+    <section class="white-back">
+        <div class="addr-roomx mask-hidden" data-role="page" id="buy_notice" isnotice="false">我已阅读并同意<a href="javascript:notice_btn();">《预订须知》</a><span><img class="change-room" data-role="page" id="xuzhi_btn" tag="notice-addr" src="../../image/checkun.png" /></span></div>
+        <div class="order-dtl">
+            <div class="order-dtl-title"><img id="store-logo" src="../../image/hotel01.jpg" /> <span id="store-name"></span></div>
+        </div>
+    </section>
+    <div class="h50"></div>
+    <div class="h20" style="padding-bottom: 1rem;"></div>
+    <div class="addr-conf white-back">
+        <div class="pay-total">应付 ¥<span class="count-price"></span></div>
+        <div class="pay-btn">付 款</div>
+    </div>
+    <input type="hidden" id="address_id" value="" />
+    <input type="hidden" id="city-id" value="" />
+    <input type="hidden" id="county-id" value="" />
+    <input type="hidden" id="area-info" value="" />
+    <div class="js_dialog" id="iosDialog2" style="display: none;">
+        <div class="weui-mask"></div>
+        <div class="weui-dialog">
+            <div class="weui-dialog__hd" style="padding: 10px 27px;"><strong class="weui-dialog__title">预订须知</strong><span class="iconfont icon-guanbi weui-dialog__btnx" style="float: right;"></span></div>
+            <div class="weui-dialog__bd" style="text-align: left;max-height: 7rem;overflow-y: auto;"></div>
+            <div class="weui-dialog__ft mask-hidden">
+                <a href="javascript:;" class="weui-dialog__btn weui-dialog__btn_primary">知道了</a>
+            </div>
+        </div>
+    </div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript">
+var _gorderid = '';
+var _store_id = '';
+var _isfree = 1; //免邮费
+var _totalFreight = 0.00;
+var _address_id = '';
+apiready = function() {
+    _gorderid = api.pageParam.gorderid;
+    _store_id = api.pageParam.storeid;
+    _address_id = api.pageParam.address_id;
+    setFixStatusBar();
+    getRouteData();
+    getUserData();
+};
+
+
+function getRouteData() {
+    $.ajax({
+        url: siteurl + 'v2/order/og',
+        data: {
+            order_id: _gorderid,
+            store_id: _store_id
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var _html = '';
+                // getStoreData(_store_id);
+                // $("#city-id").val(datas.city_id),
+                $("#county-id").val(datas.data.store.region_id),
+                $("#area-info").val(datas.data.store.area_info),
+                $("#hotel-name").val(datas.data.store.store_name);
+                $("#hotel-namex").val(datas.data.store.store_name);
+                $("#store-name").html(datas.data.store.store_name);
+                $("#store-logo").attr('src', siteurl + 'uploads/home/store/' + datas.data.store.store_id + '/' + datas.data.store.store_avatar);
+                if (datas.data.store.buy_notice) {
+                    $("#buy_notice").attr("isnotice", "true");
+                    $(".weui-dialog__bd").html(datas.data.store.buy_notice);
+                }
+                $.each(datas.data.og_list, function(index, item) {
+                    var _storeid_url = '1';
+                    if (item.public_type == 'self') {
+                        _storeid_url = item.store_id;
+                    } else {
+                        _storeid_url = item.public_store_id;
+                    }
+                    var arr = item.goods_name.split(" ");
+                    var name_arr = arr[0];
+                    var size_arr = item.goods_name.replace(name_arr, "");
+                    _html += '<div class="order-dtl-item" recid="' + item.rec_id + '"><ul><li class="order-item"><div><div class="h10"></div><img src="' + siteurl + "uploads/home/store/goods/" + item.goods_image.substr(0, item.goods_image.indexOf("\_")) + "/" + item.goods_image + '"></div><div>';
+                    _html += '<div class="order-item-list"><div class="h5"></div>';
+                    _html += '<div class="order-item-title">' + name_arr + '</div><div style="font-size: 0.22rem;color: #999">' + size_arr + '</div><div class="h2"></div>';
+                    _html += '<div class="order-item-title">¥ <span class="total-price" souc_price="' + item.goods_price + '">' + item.goods_price + ' x '+item.goods_num+'</span></div></div>';
+                    _html += '<div class="add-num mask-hidden"><ul><li class="num-down">-</li><li><input class="buy-num" id="buy-num" type="tel" value="' + item.goods_num + '"/></li>';
+                    _html += '<li style="border-right:none;" class="num-up">+</li></ul></div></div>';
+                    _html += '</li></ul></div><div class="h10"></div>';
+                    _html += '<div class="order-freight mask-hidden" goodsid="' + item.goods_id + '">运费  <span class="freight">0.00</span></div>';
+                });
+                $(".order-dtl").append(_html);
+                function_name();
+                if (datas.data.is_traffic == 0) {
+                    $("#set-addr").before('<div class="weui-cells__title is_traffic" style="color: #ffffff;margin: 0 auto;background-color: #d9251c;">酒店现在是休息时间,可能无法及时为您配送</div>');
+                }
+                countPrice();
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+
+function getUserData() {
+    var _memberid = $api.getStorage("memberid");
+    $.ajax({
+        url: siteurl + 'v2/member/info',//'?do=getuserinfo',
+        data: {
+            memberid: _memberid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $("#address_realname").val(datas.data.member_truename);
+                $("#address_realnamex").val(datas.data.member_truename);
+                $("#address_mob_phone").val(datas.data.member_mobile);
+                $("#address_mob_phonex").val(datas.data.member_mobile);
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+/// del
+function getStoreData(store_id) {
+    if (store_id != "") {
+        $.ajax({
+            url: rooturl + '?do=getstore',
+            data: {
+                storeid: store_id
+            },
+            dataType: 'json',
+            type: 'post',
+            success: function(datas) {
+                $("#city-id").val(datas.city_id),
+                $("#county-id").val(datas.region_id),
+                $("#area-info").val(datas.area_info),
+                $("#hotel-name").val(datas.store_name);
+                $("#store-name").html(datas.store_name);
+                $("#store-logo").attr('src', siteurl + 'uploads/home/store/' + datas.store_id + '/' + datas.store_avatar);
+            }
+        });
+    }
+}
+$(".add-addr,#select-addr-info").on("tap", function() {
+    api.openWin({
+        name: 'selectaddress',
+        url: './selectaddress.html',
+        bounces: false,
+        pageParam: {
+            isselect: true
+        }
+    });
+    return false;
+});
+
+function getAddress(address_realname, address_mob_phone, area_info, address_id, address_detail) {
+    var _html = '';
+    _address_id = address_id;
+    $("#select-addr-info").empty();
+    _html += '<section class="white-back"><div class="addr-room2"><div class="addr-room-realname">' + address_realname + '';
+    _html += '&nbsp;&nbsp;' + address_mob_phone + '';
+    _html += ' <p>' + area_info +'&nbsp;&nbsp;'+ address_detail + '</p></div>';
+    _html += '</section>';
+    $("#select-addr-info").append(_html);
+    $("#address_id").val(address_id);
+    $("#select-addr").addClass("mask-hidden");
+    setfreight();
+}
+
+function mobile_check() {
+    var reg_phone = /^1[3456789]\d{9}$/;
+    var phone = $("#address_mob_phone").val();
+    if (!reg_phone.test(phone)) {
+        $("#address_mob_phone").parent().parent().addClass("error-k");
+        return false;
+    } else {
+        $("#address_mob_phone").parent().parent().removeClass("error-k");
+    }
+}
+
+$(".order-dtl").on("tap", ".num-up", function() {
+    var _addnum = $(this).parents(".add-num");
+    var _num = parseInt(_addnum.find("#buy-num").val()) + 1;
+    _addnum.find("#buy-num").val(_num);
+    var _orderitem = $(this).parents(".order-dtl-item");
+    var _total_price = _orderitem.find(".total-price").text();
+    var _souc_price = _orderitem.find(".total-price").attr("souc_price");
+    var _ntotal_price = parseFloat(_souc_price) * _num;
+    //_orderitem.find(".total-price").text(_ntotal_price.toFixed(2));
+    var _recid = _orderitem.attr("recid");
+    console.log(_num);
+    changenum(_recid, _num);
+    // setfreight();
+    return false;
+})
+$(".order-dtl").on("tap", ".num-down", function() {
+    var _addnum = $(this).parents(".add-num");
+    var _num = 1;
+    if (parseInt(_addnum.find("#buy-num").val()) > 1) {
+        _num = parseInt(_addnum.find("#buy-num").val()) - 1;
+        _addnum.find("#buy-num").val(_num);
+    }
+    var _orderitem = $(this).parents(".order-dtl-item");
+    var _total_price = _orderitem.find(".total-price").text();
+    var _souc_price = _orderitem.find(".total-price").attr("souc_price");
+    var _ntotal_price = parseFloat(_souc_price) * _num;
+    //_orderitem.find(".total-price").text(_ntotal_price.toFixed(2));
+    var _recid = _orderitem.attr("recid");
+    console.log(_num);
+    changenum(_recid, _num);
+    // setfreight();
+    return false;
+})
+///
+function changenum(recid, num) {
+    $.ajax({
+        url: rooturl + '?do=changenum',
+        data: {
+            recid: recid,
+            num: num,
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                _totalFreight = getfreight();
+                $(".order-freight:last-child .freight").html((_totalFreight * 1).toFixed(2));
+                if (_isfree) {
+                    $(".order-freight:last-child").addClass("mask-hidden");
+                } else {
+                    $(".order-freight:last-child").removeClass("mask-hidden");
+                }
+                countPrice();
+            }
+        }
+    });
+}
+////
+function getfreight() {
+    var _freight = 0.00;
+    // _address_id = $("#address_id").val();
+    if ( typeof(_address_id) == 'undefined' || _address_id == '' || _address_id < 1 ) {
+        return false;
+    }
+    // $("#hotel-roomx").val(_address_id + 'xx');
+    $.ajax({
+        url: siteurl + 'v2/entry/orderFreight',//'?do=calculatefreight',
+        data: {
+            order_id: _gorderid,
+            address_id: _address_id,
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        async: false,
+        success: function(datas) {
+            if ( datas.result ) {
+                _freight = datas.data.shipping_fee;
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    return _freight;
+}
+
+function setfreight() {
+    _totalFreight = getfreight();
+    console.log(_totalFreight);
+    $(".order-freight:last-child .freight").html((_totalFreight * 1).toFixed(2));
+    if (_isfree) {
+        $(".order-freight:last-child").addClass("mask-hidden");
+    } else {
+        $(".order-freight:last-child").removeClass("mask-hidden");
+    }
+    countPrice();
+}
+///
+function countPrice() {
+    var _count_price = 0.00;
+    $(".total-price").each(function(index, item) {
+        //_count_price=_count_price+parseFloat($(this).text());
+        var _pcs = $(".order-dtl-item").find("input").eq(index).val();
+        console.log(_pcs);
+        var _total = parseFloat($(this).text()) * _pcs;
+        _count_price += _total;
+    })
+    if (_isfree) {
+        _count_price = _count_price;
+    } else {
+        _count_price = (_count_price * 1) + (_totalFreight * 1);
+    }
+    $(".count-price").text((_count_price * 1).toFixed(2));
+}
+////
+
+$("#xuzhi_btn").on("touchstart", function() {
+    console.log($(this).attr("src"))
+    // $(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
+    if ( $(this).attr("src") == '../../image/checked.png' ) {
+        $(this).attr("src", "../../image/checkun.png");
+    } else {
+        $(this).attr("src", "../../image/checked.png");
+    }
+});
+
+function notice_btn() {
+    // body...
+    $("#iosDialog2").fadeIn('200');
+}
+
+$("#iosDialog2 .weui-dialog__btnx").on("tap", function() {
+    $("#iosDialog2").fadeOut('200');
+});
+
+$(".addr-room").on("tap", function() {
+    var isnotice = $("#buy_notice").attr("isnotice");
+    $(".change-room").attr("src", "../../image/checkun.png");
+    $(this).find("img").attr("src", "../../image/checked.png");
+    $(".addr-info").addClass("mask-hidden");
+    $("#buy_notice").addClass("mask-hidden");
+    if ($(this).find("img").attr("tag") == "select-addr") {
+        $("#select-addr-info").removeClass("mask-hidden");
+        // $(".order-freight").removeClass("mask-hidden");
+        if ($("#select-addr-info").html().length < 10) {
+            $("#select-addr:last").removeClass("mask-hidden");
+        }
+        $(".is_traffic").fadeOut();
+        _isfree = 0;
+        setfreight();
+    } else {
+        $("#" + $(this).find("img").attr("tag")).removeClass("mask-hidden");
+        $("#select-addr-info").addClass("mask-hidden");
+        $("#select-addr").addClass("mask-hidden");
+        $(".order-freight").addClass("mask-hidden");
+        _isfree = 1;
+        // toast_weui($("#store-name").html()); buy_notice
+        if ( $(this).find("img").attr("tag") == 'set-addr' ) {
+            $(".is_traffic").fadeIn();
+        } else {
+            if ( isnotice ) {
+                $("#buy_notice").removeClass("mask-hidden");
+            }
+            $(".is_traffic").fadeOut();
+            _isfree = 2;
+        }
+        setfreight();
+    }
+    return false;
+});
+
+$('#set-addr').on("tap", "#hotel-room", function(){
+    var tag = $(this).attr("tag");
+    console.log(tag)
+    if (tag == '1') {
+        $(this).attr("tag", '0');
+        toast_weui($("#store-name").html());
+    }
+});
+
+
+///
+$(".pay-btn").on("tap", function() {
+    // var _address_id = '';
+    if (_isfree == 1) {
+        if ($("#hotel-room").val() == '') {
+            api.toast({ msg: '请填写房间号码' });
+            return false;
+        }
+        var phone = $("#address_mob_phone").val();
+        if ( $("#address_realname").val() == "") {
+            api.toast({ msg: '请填写完整收货人信息!' });
+            return false;
+        }
+        var reg_phone = /^1[3456789]\d{9}$/;
+        if (!reg_phone.test(phone)) {
+            api.toast({ msg: '请填写正确的手机号码!' });
+            return false;
+        }
+        $.ajax({
+            url: siteurl + 'v2/address/add',//'?do=saveaddress',
+            data: {
+                memberid: $api.getStorage("memberid"),
+                city_id: $("#city-id").val(),
+                area_id: $("#county-id").val(),
+                area_info: $("#area-info").val(),
+                address_detail: $("#hotel-name").val() + $("#hotel-room").val(),
+                address_mob_phone: phone,
+                address_realname: $("#address_realname").val(),
+                is_free: 1
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+            dataType: 'json',
+            type: 'post',
+            async: false,
+            success: function(datas) {
+                if (datas.result) {
+                    _address_id = datas.data.address_id;
+                    suborder(_address_id);
+                } else {
+                    errcode(datas, datas.code);
+                }
+            }
+        });
+    } else if (_isfree == 2) {
+        if ( $("#xuzhi_btn").attr("src") == '../../image/checked.png' ) {
+            //
+        } else {
+            api.toast({ msg: '请阅读并同意须知' });
+            return false;
+        }
+        var phone = $("#address_mob_phonex").val();
+        if ( $("#address_realnamex").val() == "" ) {
+            api.toast({ msg: '请填写入住信息!' });
+            return false;
+        }
+        var reg_phone = /^1[3456789]\d{9}$/;
+        if (!reg_phone.test(phone)) {
+            api.toast({ msg: '请填写正确的手机号码!' });
+            return false;
+        }
+        $.ajax({
+            url: siteurl + 'v2/address/add',//'?do=saveaddress',
+            data: {
+                memberid: $api.getStorage("memberid"),
+                city_id: $("#city-id").val(),
+                area_id: $("#county-id").val(),
+                area_info: $("#area-info").val(),
+                address_detail: $("#hotel-namex").val(),// + $("#hotel-roomx").val(),
+                address_mob_phone: phone,
+                address_realname: $("#address_realnamex").val(),
+                is_free: 1,
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+            dataType: 'json',
+            type: 'post',
+            async: false,
+            success: function(datas) {
+                if (datas.result) {
+                    _address_id = datas.data.address_id;
+                    suborder(_address_id);
+                } else {
+                    errcode(datas, datas.code);
+                }
+            }
+        });
+    } else {
+        _address_id = $("#address_id").val();
+        if(_address_id * 1 <= 0){
+            api.toast({ msg: '请选择收货地址!' });
+            return false;
+        }
+        suborder(_address_id);
+    }
+    if (_address_id == "") {
+        api.toast({ msg: '请选择收货人信息!' });
+        return false;
+    }
+
+    return false;
+});
+
+function suborder(address_id) {
+    $.ajax({
+        url: siteurl + 'v2/order/create',
+        data: {
+            gorderid: _gorderid,
+            address_id: _address_id,
+            buyer_id: $api.getStorage("memberid"),
+            store_id: _store_id,
+            count_price: $(".count-price").text(),
+            shipping_fee: _totalFreight,
+            shipping_type: _isfree,
+            remark: $("#hotel-roomx").val()
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                api.openWin({
+                    name: 'paymode',
+                    url: 'paymode.html',
+                    bounces: false,
+                    pageParam: {
+                        keyid: datas.data.order_id
+                    }
+                });
+                api.addEventListener({
+                    name: 'viewdisappear'
+                }, function() {
+                    api.closeWin({ name: api.winName });
+                });
+                api.closeWin();
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+</script>
+
+</html>

+ 354 - 0
html/home/selectaddress.html

@@ -0,0 +1,354 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>title</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{background: #F2F2F2;}
+    	.addr-room{
+    	  font-size: 0.28rem;
+    	  color:#666666;
+    	  width:100%;
+    	  position:relative;
+    	}
+    	.addr-room-realname{
+    	  width: 6.2rem;
+    	  overflow: hidden;
+    	  padding: 0.28rem 0;
+    	}
+        .border-none {
+            text-align: center;
+            font-size: 0.28rem;
+        }
+        .border-none-img {
+            margin-top: 3rem;
+            width: 1.73rem;
+            height: auto;
+        }
+    	.addr-room-realname p {
+    		padding-top: 0.2rem;
+    	}
+    	.addr-room-check{
+    	  position:absolute;
+    	  right:0px;
+    	  top: 50%;
+          -webkit-transform: translateY(-50%);
+          -ms-transform: translateY(-50%);
+          transform: translateY(-50%);
+    	}
+    	.addr-room img{
+    	  width: 0.44rem;
+    	  vertical-align:middle;
+    	}
+    	.addr-default{
+    	  color:#A13532;
+    	  border:1px solid #A13532;
+    	  border-radius:3px;
+    	  font-size:13px;
+    	  margin-left:5px;
+    	  padding-left:3px;
+    	  padding-right:3px;
+    	}
+    	#addr-list{
+    	  width:100%;
+    	  
+    	}
+    	.buy-btn{
+		  width:100%;
+		  height: 1rem;
+		  background:#ffffff;
+		  border-top:1px solid #e8e8e8;
+		  position:fixed;
+		  bottom:0px;
+		}
+		.buy-btn li{
+		  float:left;
+		  /*width:50%;*/
+		  height: 1rem;
+		  line-height: 1rem;
+		  text-align:center;
+		  font-size: 0.28rem;
+		  border-right:1px solid #e8e8e8;
+		  box-sizing:border-box;
+		}
+		li.buy-btn-left{
+		  width: 5.3rem;
+		  text-align: left;
+		  padding-left: 0.2rem;
+		}
+		.to-del{
+		  color:#ffffff;
+          background: #D9251C;
+		}
+		.to-del span{
+		  color:#ffffff;
+		}
+		.check-all{
+		    width: 0.4rem;
+            height: 0.4rem;
+            vertical-align: middle;
+		}
+		.buycar-null{
+		  width:100%;text-align:center;background:#f2f2f2;
+		}
+		.buycar-null img{
+		  width:60px;
+		}
+        .weui-swiped-btn .iconfont {
+            font-size: 0.48rem;
+            color: #d9251c;
+        }
+        .weui-swiped-btn_warn {
+            background-color: rgb(255, 255, 255);
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">我的地址</li>
+            <li class="more-btn">管理</li>
+        </ul>
+    </header>
+    <div class="back-h10"></div>
+    <div id="addr-list"></div>
+    <section class="border-none">
+        <img src="../../image/address.png" class="border-none-img" />
+        <p>地址为空</p>
+    </section>
+    <section style="position:fixed;bottom:10px;width:100%;">
+        <div class="m-bottom ">添加地址</div>
+    </section>
+    <div class="buy-btn mask-hidden" id="buy-cancel">
+        <ul>
+            <li class="buy-btn-left" style="width:70%;"><img src="../../image/checkun.png" class="check-all" /> 全选</span></li>
+            <li class="to-del" style="width:30%;border-right:none;"><span class="to-pay-text">删除</span><span class="pay-total"></span></li>
+        </ul>
+    </div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _memberid = '';
+var _isselect = false;
+var _page = '1';
+apiready = function() {
+    _isselect = api.pageParam.isselect;
+    _isselect ? $(".more-btn").html('') : '';
+    setFixStatusBar();
+    getRouteData();
+    api.addEventListener({
+        name:'swipeup'
+    }, function(ret, err){        
+       getRouteData();
+    });
+};
+
+function getRouteData() {
+    $.ajax({
+        url: siteurl + 'v1/member/address',
+        data: {
+            memberid: $api.getStorage("memberid")
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.address_list.length > 0) {
+                    var _html = '';
+                    $.each(datas.data.address_list, function(index, item) {
+                        _html += '<section class="white-back" addressid=' + item.address_id + '><div class="addr-room"><div class="addr-room-realname">' + item.address_realname + '';
+                        _html += '&nbsp;&nbsp;' + item.address_mob_phone + '';
+                        _html += ' <p>' + item.area_info + ' ' + item.address_detail + '</p><span address_id=' + item.address_id + ' address_realname="' + item.address_realname + '" address_detail="' + item.address_detail + '" address_mob_phone="' + item.address_mob_phone + '" area_info="' + item.area_info +'" area_id="' + item.area_id + '"  class="addr-room-check"><img class="check-btn mask-hidden" src="../../image/checkun.png"/><a class="weui-swiped-btn weui-swiped-btn_warn" href="javascript:;"><span class="iconfont">&#xe606;</span></a></span></div>';
+                        _html += '</section><div class="back-h50"></div>';
+                    })
+                    if (_page == 1) {
+                        $("#addr-list").html(_html);
+                    } else {
+                        $("#addr-list").append(_html);
+                    }
+                    $(".border-none").addClass("mask-hidden");
+                } else {
+                    $(".border-none").html("<p style='background: #f2f2f2;margin: 0 -0.32rem;'>加载完成</p>");
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+function refreshData() {
+    $("#addr-list").empty();
+    getRouteData();
+}
+$(".m-bottom").on("tap", function() {
+    api.openWin({
+        name: 'addaddress',
+        url: './addaddress.html',
+        bounces: false
+    });
+    return false;
+});
+$("#addr-list").on("tap", ".weui-swiped-btn_warn", function() {
+    var _keyid = $(this).parent(".addr-room-check").attr("address_id");
+    var _phone = $(this).parent(".addr-room-check").attr("address_mob_phone");
+    var _name = $(this).parent(".addr-room-check").attr("address_realname");
+    var _detail = $(this).parent(".addr-room-check").attr("address_detail");
+    var _info = $(this).parent(".addr-room-check").attr("area_info");
+    var _area_id = $(this).parent(".addr-room-check").attr("area_id");
+    // console.log(_keyid)
+    api.openWin({
+        name: 'addaddress',
+        url: './addaddress.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid,
+            phone: _phone,
+            name: _name,
+            detail: _detail,
+            info: _info,
+            area_id: _area_id
+        }
+    });
+    return false;
+});
+$("#addr-list").on("tap", ".addr-room", function() {
+        var _imgsrc = $(this).find("img");
+        if (_isselect) {
+             $(".addr-room").find("img").attr("src", '../../image/checkun.png');
+        }
+        _imgsrc.attr("src", _imgsrc.attr("src") == '../../image/checkun.png' ? '../../image/checked.png' : '../../image/checkun.png');
+        /////选择地址
+        getcheckall();
+        var address_realname = $(this).find(".addr-room-check").attr("address_realname");
+        var address_mob_phone = $(this).find(".addr-room-check").attr("address_mob_phone");
+        var area_info = $(this).find(".addr-room-check").attr("area_info");
+        var address_id = $(this).find(".addr-room-check").attr("address_id");
+        var address_detail = $(this).find(".addr-room-check").attr("address_detail");
+    if (_isselect) {
+        console.log('asdfasdf')
+        api.execScript({
+            name: 'postaddr',
+            script: 'getAddress("' + address_realname + '","' + address_mob_phone + '","' + area_info + '","' + address_id + '","' + address_detail + '");'
+        });
+        toast_loding_show();
+        setTimeout(function() { api.closeWin(); }, 1000);
+        $(".more-btn").html("");
+    }
+        return false;
+});
+
+var isEdit = false;
+$(".more-btn").on("tap", function() {
+    if (!isEdit) {
+        $(".more-btn").html("取消");
+        $(".m-bottom").addClass("mask-hidden");
+        $(".buy-btn").removeClass("mask-hidden");
+        $(".check-btn").removeClass("mask-hidden");
+        $(".weui-swiped-btn_warn").addClass("mask-hidden");
+        isEdit = true;
+    } else {
+        $(".more-btn").html("管理");;
+        $(".m-bottom").removeClass("mask-hidden");
+        $(".buy-btn").addClass("mask-hidden");
+        $(".check-btn").addClass("mask-hidden");
+        $(".weui-swiped-btn_warn").removeClass("mask-hidden");
+        isEdit = false;
+    }
+    getcheckall();
+    return false;
+})
+$(".check-all").on("tap", function() {
+    if ($(this).attr("src") == "../../image/checkun.png") {
+        $(this).attr("src", "../../image/checked.png");
+        $(".check-btn").attr("src", "../../image/checked.png");
+    } else {
+        $(this).attr("src", "../../image/checkun.png");
+        $(".check-btn").attr("src", "../../image/checkun.png");
+    }
+    getcheckall();
+    return false;
+})
+function getcheckall(){
+    var no = $(".addr-room").length;
+    var nox = $(".addr-room [src$='checkun.png']").length;
+    var noc = $(".addr-room [src$='checked.png']").length;
+    // console.log(no,nox,noc)
+    if (no == noc) {
+        $(".check-all").attr("src", "../../image/checked.png");
+    } else {
+        $(".check-all").attr("src", "../../image/checkun.png");
+    }
+}
+
+$(".to-del").on("tap", function() {
+    api.confirm({
+        title: '删除收件地址',
+        msg: '是否要删除选中的收件地址?',
+        buttons: ['确定', '取消']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 1) {
+            $(".white-back").each(function() {
+                if ($(this).find("img").attr("src") == "../../image/checked.png") {
+                    var _addressid = $(this).attr("addressid");
+                    $.ajax({
+                        url: siteurl + 'v1/member/address_drop',
+                        data: {
+                            address_ids: _addressid
+                        },
+                        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                        dataType: 'json',
+                        type: 'post',
+                        success: function(datas) {
+                            if (datas.result) {
+                                refreshData();
+                                api.toast({ msg: '删除成功!' });
+                            } else {
+                                errcode(datas, datas.code);
+                            }
+                        }
+                    });
+                    
+                }
+            })
+        }
+    });
+    return false;
+})
+</script>
+
+</html>

+ 1525 - 0
html/home/showgoods.html

@@ -0,0 +1,1525 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/swiper.min.css" />
+    <style>
+        body, html{
+
+        }
+        .back-header {
+            background: rgb(0, 0, 0, 0);
+        }
+       .swiper-container {
+          width: 100% !important;
+          height: 7.5rem;
+        }
+        .swiper-slide img {
+          width: 7.5rem;
+          height: 7.5rem;
+          object-fit:cover;
+        }
+        .goods-btn{
+           margin:auto;
+           width:60%;
+        }
+        .goods-btn span{
+          height:100%;
+          width:50%;
+          float:left;
+        }
+        .goods-btn-active{
+           border-bottom:2px solid #D9251C;
+        }
+        .goods-desc{
+          /*height:86px;*/
+        }
+        .font-rem11 {
+            color: #000;
+        }
+        .goods-costprice {
+            color: #999;
+        }
+        .goods-desc li{
+          float:left;
+          /*width:50%;*/
+        }
+        .buy-btn{
+          width:100%;
+          height: 1rem;
+          /*border-top: 0.02rem solid #e8e8e8;*/
+          position:fixed;
+          bottom:0px;
+          background:#ffffff;
+          z-index: 9;
+        }
+        .buy-btn-wid{
+          width:50px;
+        }
+        .buy-btn li{
+          float: right;
+          border-right: 0.01rem solid #e8e8e8;
+          text-align:center;
+          height: 1rem;
+          line-height: 1rem;
+        }
+        .home-ads {
+            height: auto;
+        }
+        .buy-btn img{
+            width: 0.42rem;
+            vertical-align: middle;
+        }
+        .buy-btn-item{
+          width:50%;
+          float:right;
+          background: #d9251c;
+          color:#ffffff;
+        }
+        .goods-desc-right{
+          /*width:120px;height:100%;*/
+          float:right;
+        }
+        .goods-desc-right ul{
+          width:100%;
+          margin:0px;
+        }
+        .goods-desc-right li{
+          float:right;
+        }
+        .goods-desc-tag{
+
+        }
+        .goods-desc-mtotal {
+          /*width:100%;*/
+          text-align:right;
+          padding: 0.5rem 0 0.3rem 0;
+          clear:both;
+          font-size: 0.24rem;
+          color: #999;
+        }
+      span#goods_name.goods-desc-item.font-rem11 {
+          white-space: nowrap;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          height: auto;
+          line-height: unset;
+          width: inherit;
+      }
+        .goods-desc-mtotal span#sale-number {
+            color: #999;
+        }
+        .goods-desc-percentage{
+            text-align: right;
+            border-left: 0.01rem solid #e8e8e8;
+            width: auto;
+            padding: 0 0.07rem 0px 15px;
+            font-size: 0.24rem;
+        }
+        .mask-goods{
+          position:fixed;
+          left:0px;right:0px;bottom: 1.001rem;
+          background: rgba(0, 0, 0, 0.5);
+          z-index:999999;
+        }
+        .goods-size{
+           width:100%;
+           position:absolute;
+           left:0px;right:0px;
+           bottom:0px;
+           background:#ffffff;
+           padding: 0 0.32rem 0.48rem 0.32rem;
+           box-sizing:border-box;
+            z-index:9999;
+        }
+        .goods-size-title li img#goods_image {
+            width: 1.76rem;
+            /*height: 1.76rem;*/
+            position: absolute;
+            top: -0.33rem;
+            border-radius: 0.2em;
+        }
+        .goods-size-title li{
+          float:left;
+        }
+        #regoods_price {
+            font-size: 0.28rem;
+            color: #000;
+            padding: 0.28rem 0;
+        }
+        #goods-size-item {
+            color: #777;
+            font-size: 0.22rem;
+        }
+
+        .goods-tag-item{
+           font-size: 0.24rem;
+           width:100%;
+           line-height: 0.6rem;
+           height: 0.6rem;
+        }
+       .iconfont {
+        color: #ffffff;
+       }
+        .goods-tag{
+          font-size: 0.28rem;
+          padding:8px;
+          border:1px solid #e8e8e8;
+          border-radius:3px;
+          margin-right:5px;
+          margin-top:5px;
+        }
+        .goods-tag-active{
+          border:1px solid #d9251c;
+          color:#d9251c;
+        }
+        .close-goods-size{
+          font-size: 0.4rem;
+          position:absolute;
+          right: 0.32rem;
+          top: 0rem;
+          color:#999999;
+          font-weight: 300;
+          padding-top: 0.28rem;
+        }
+        .goods-tab-b-line{
+            width: 100%;
+            height: 0.8rem;
+            line-height: 0.8rem;
+            background: #fafafa;
+            /*position: fixed;*/
+            z-index: 3;
+        }
+        .goods-tab2 {
+            padding-bottom: 1rem;
+            /*padding-top: 0.7rem;*/
+        }
+        .goods-tab-b-line div{
+          float:left;
+          width:50%;
+          text-align:center;
+          box-sizing:border-box;
+        }
+        .goods-tab-active{
+           color:#D9251C;
+           border-bottom:2px solid #D9251C;
+        }
+        #goods-content img{
+            width: 100%;
+            margin-bottom: -0.03rem;
+        }
+        .add-num li {
+            height: 0.6rem;
+            line-height: 0.6rem;
+        }
+        .goods-tab-btn2{
+          min-width:60px;
+        }
+        .chances{
+          color:#d9251c;
+        }
+        .back-imgs{
+          position: absolute;
+          left:15px;
+          top:15px;
+        }
+        #goods-issue{
+         width: 100%;
+         word-wrap:break-word;
+        }
+       .share-item{
+         position:fixed;
+         left:0px;right:0px;
+         bottom:0px;
+         height: 3.9rem;
+         background:#f2f2f2;
+         border-top:1px solid #E8E8E8;
+         z-index:9999;
+       }
+       .share-item-tips{
+          height: 0.28rem;
+          line-height: 0.28rem;
+          width:100%;
+          text-align:center;
+          font-size: 0.28rem;
+          padding: 0.38rem 0;
+       }
+       .share-item-cent{
+          height: 1.8rem;
+          width: 100%;
+       }
+       .share-item-cent li{
+          width:33.3%;
+          text-align:center;
+          float:left;
+          font-size: 0.28rem;
+       }
+       .share-item-cent img{
+          width: 0.9rem;
+       }
+       .share-item-cancel{
+          height: 0.98rem;
+          line-height: 0.98rem;
+          width:100%;
+          text-align:center;
+          background:#ffffff;
+          font-size: 0.28rem;
+       }
+        .header-mask{
+          position:fixed;width:100%;height:70px;z-index:2;background:#ffffff;
+        }
+       .weui-mask {
+          position: fixed;
+          z-index: 3;
+          top: 0;
+          right: 0;
+          left: 0;
+          bottom: 0;
+          background: rgba(0, 0, 0, .6);
+      }
+
+      .weui-mask_transparent{
+          position: fixed;
+          z-index: 3;
+          top: 0;
+          right: 0;
+          left: 0;
+          bottom: 0;
+      }
+        .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
+            bottom: 0;
+        }
+        .swiper-pagination-bullet {
+            background: #fff;
+            opacity: .8;
+        }
+        .swiper-pagination-bullet-active {
+            background: #d9251c;
+        }
+        #goods_price_span span.down {
+            color: #d9251c;
+            padding-left: 0.2rem;
+            font-size: 0.24rem;
+        }
+        .feed-item{
+        /*width:100%;*/
+        border-bottom: 1px solid #e8e8e8;
+        position:relative;
+        padding: 0.2rem 0.32rem;
+      }
+      .feed-item ul{
+        width:100%;
+        clear: both;
+      }
+      .fl {
+       float:left;
+      }
+      .feed-item-right{
+        padding-left: 0.2rem;
+      }
+      .feed-item-titel{
+        font-size: 0.24rem;
+        color: #999;
+        padding: 0.2rem 0;
+      }
+      .user-head{
+        width: 0.7rem;
+        height: 0.7rem;
+        border-radius:50%;
+      }
+      .feed-img{
+        float: left;
+        width: 1.2rem;
+        height: 1.2rem;
+        padding-right: 0.3rem;
+      }
+      .my-rating{
+        position: absolute;
+        right: 0.32rem;
+        top: 0.2rem;
+      }
+      .my-rating .jq-star {
+        width: 0.3rem !important;
+        height: 0.3rem !important;
+      }
+      .no_active {
+        border: #eee 1px solid;
+        color: #aaa;
+      }
+      .back-top {
+        bottom: 60px;
+      }
+        .nav_fixed {
+            position: fixed;
+            margin-top: 0.86rem;
+            top: 0;
+        }
+        .goods-tab-b.goods-tab img {
+          max-width: 100% !important;
+          height: auto !important;
+        }
+        .buy-kuc-tip {
+          display: none;
+        }
+    </style>
+    <script>
+        (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body class="box">
+    <div class="topbar"></div>
+    <header class="back-header" id="fix1">
+        <ul>
+            <li style="width: 0.66rem;" class="back-btn">
+                <div class="hotel-top-back"><span class="iconfont">&#xe61e;</span></div>
+            </li>
+            <li style="width: 5.5rem;">
+                <div class="goods-btn font-rem11" style="text-align: center;margin: auto;">
+                    <span class="goods-btn-active goods-tab-btn font-rem11 goods-tab-btn-a" tag="goods-tab-a">商品</span>
+                    <span class="goods-tab-btn font-rem11 goods-tab-btn-b" tag="goods-tab-b">详情</span>
+                </div>
+            </li>
+            <li style="width: 0.66rem;">
+                <div class="hotel-top-back" id="share-btn" style="float:right;"><span class="iconfont">&#xe648;</span></div>
+            </li>
+        </ul>
+    </header>
+    <div class="goods-tab-a goods-tab">
+        <div class="home-ads">
+            <div class="swiper-container">
+                <div class="swiper-wrapper">
+                </div>
+                <div class="swiper-pagination"></div>
+            </div>
+        </div>
+        <div class="h10"></div>
+        <section>
+            <div class="goods-desc">
+                <ul>
+                    <li style="width: 5.1rem;">
+                        <span class="goods-desc-item font-rem11" id="goods_name"></span>
+                        <p style="font-size: 0.26rem;color: #999;padding: 0.2rem 0 0.2rem 0px;">购买得<span class="goods-costprice">0</span>圈币</p>
+                        <p class="goods-desc-item color-red" id="goods_price_span" style="color: #d9251c;">¥<span id="goods_price" class="color-red" style="color: #d9251c;"></span> <span class="line-through"></span></p>
+                    </li>
+                    <li style="width: 1.7rem;">
+                        <div class="goods-desc-right">
+                            <ul class="show-feedgoods">
+                                <li style="line-height: 0.58rem;"><span class="iconfont" style="color: #999;">&#xe62e;</span></li>
+                                <li class="goods-desc-percentage"><span class="goods-desc-item color-red" style="color: #d9251c;"><span id="praise" style="color: #d9251c;">0</span>%</span>
+                                    <p>好评率</p>
+                                </li>
+                            </ul>
+                            <div class="goods-desc-mtotal">月销售 <span id="sale-number">0</span></div>
+                        </div>
+                    </li>
+                </ul>
+            </div>
+        </section>
+        <div class="back-h50"></div>
+        <div class="my-order padding-08 select-goods-size font-rem11" style="border-bottom: none;">规格数量选择<span class="right-tag iconfont" style="color: #999;">&#xe62e;</span></div>
+        <div class="back-h50"></div>
+        <div class="feed-list">
+            <div class="my-order padding-08 feedgoods font-rem11" style="border-bottom: none;">
+                评价<span class="right-tag iconfont" style="color: #999;">&#xe62e;</span>
+            </div>
+        </div>
+        <div class="back-h50"></div>
+    </div>
+    <div class="mask-goods mask-hidden">
+        <div class="goods-size mask-hidden">
+            <div class="goods-size-title">
+                <ul>
+                    <li style="position: relative;"><img id="goods_image" src="../../image/0002.jpg" /></li>
+                    <li style="margin-left: 1.95rem;color: #000;">¥<span id="regoods_price"></span>
+                        <p id="goods-size-item">
+                            <span class="default-item1">请选择规格数量</span>
+                        </p>
+                    </li>
+                    <li><span class="close-goods-size iconfont">&#xeb6a;</span></li>
+                </ul>
+            </div>
+            <div class="h2" style="padding-top: 0.33rem;"></div>
+            <div class="goods-size-item">
+            </div>
+            <div class="goods-tag-item"><span>数量</span>
+                <div class="add-num">
+                    <ul>
+                        <li class="num-down">-</li>
+                        <li><input class="buy-num" id="buy-num" data-kuc="1" type="tel" value="1" /></li>
+                        <li style="border-right:none;" class="num-up">+</li>
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="goods-tab-b goods-tab">
+        <div class="goods-tab-b-line" id="nav_fixed">
+            <div><span class="goods-tab-active font-rem11 goods-tab-btn2" tag="goods-tab-c">详情</span></div>
+            <div><span class="font-rem11 goods-tab-btn2" tag="goods-tab-d">常见问题</span></div>
+        </div>
+        <section>
+            <div id="goods-content" class="goods-tab2 goods-tab-c"></div>
+            <div id="goods-issue" class="mask-hidden goods-tab2 goods-tab-d"></div>
+        </section>
+    </div>
+    <div class="share-item mask-hidden">
+        <div>
+            <div class="share-item-tips">分享至</div>
+            <div class="share-item-cent">
+                <ul>
+                    <li class="share-item-friend"><img src="../../image/share_friend.png" />
+                        <p>微信好友</p>
+                    </li>
+                    <li class="share-item-cale"><img src="../../image/share_cale.png" />
+                        <p>微信朋友圈</p>
+                    </li>
+                    <li class="share-item-qq"><img src="../../image/share_qq.png" />
+                        <p>QQ</p>
+                    </li>
+                </ul>
+            </div>
+            <div class="share-item-cancel">取消</div>
+        </div>
+    </div>
+    <div class="buy-btn">
+        <ul>
+            <li class="buy-btn-item" style="width: 2.2rem;border-right:0px;">立即购买</li>
+            <li class="add-buycar" style="width: 2.2rem">加入购物车</li>
+            <li style="width: 1rem;" class="go-buycar">
+                <img src="../../image/goods_buy_car.png" />
+                <span class="msg-total mask-hidden" style="position: absolute;transform: translateY(75%) translateX(-37%);animation: bounceOut 2s;">10</span>
+            </li>
+            <li style="width: 1rem;" class="add-favorite"><img id="favorite" src="../../image/goods_buy_favorite.png" /></li>
+            <li style="width: 1rem;" class="go-home"><img src="../../image/goods_buy_home.png" /></li>
+        </ul>
+    </div>
+    <div class="weui-mask mask-hidden"></div>
+    <div class="back-top mask-hidden" id="fix2"></div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/swiper.min.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+var _size_item = new Array();
+var _single_price = '0.00';
+var _goods_id = '';
+var _sku_open = false;
+var _spot = '1';
+var _storeid = '';
+var _freight = '';
+var _images = [];
+var _isfavorite = false;
+var _shareimg = '';
+var _description = '';
+var _title = '';
+var _shareurl = '';
+var _storeid_url = '';
+var _sku_data = {};
+var _sku_spec_map = {};
+apiready = function() {
+    _keyid = api.pageParam.keyid;
+    _storeid = api.pageParam.storeid;
+    // _spot = api.pageParam.spot;
+    setIosTopBar();
+    getRouteData(_keyid, _storeid);
+    // chkfavorite();
+    getfeed();
+    api.addEventListener({
+        name: 'longpress'
+    }, function(ret, err) {
+        save_img();
+    });
+};
+
+function getRouteData(_keyid, _storeid) {
+    $.ajax({
+        url: siteurl + 'v2/goods/detail',
+        data: {
+            goods_commonid: _keyid,
+            store_id: _storeid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.is_platform_store == '1') {
+                    _storeid_url = datas.data.store_id;
+                    _spot = '2';//公共商品,未进货
+                } else {
+                    _storeid_url = datas.data.public_store_id;
+                }
+                $("#goods_name").html(datas.data.goods_name);
+                _title = datas.data.goods_name;
+                // _spot = datas.data.is_platform_store;
+                _description = datas.data.goods_name;
+                _shareurl = siteurl + 'v1/view/market.html'; //'home/goods/index/goods_id/' + datas.data.goods_commonid + '.html';
+                $("#goods_price").html(datas.data.goods_price);
+                $("#goods_image").attr("src", siteurl + "uploads/home/store/goods/" + datas.data.goods_image.substr(0, datas.data.goods_image.indexOf("\_")) + "/" + datas.data.goods_image);
+                _shareimg = siteurl + "uploads/home/store/goods/" + datas.data.goods_image.substr(0, datas.data.goods_image.indexOf("\_")) + "/" + datas.data.goods_image;
+                $("#regoods_price").html(datas.data.goods_price);
+                $(".line-through").html(datas.data.goods_marketprice);
+                $("#goods-content").html('<p></p>'+datas.data.goods_body);
+                $("#goods-issue").html(datas.data.issue);
+                $(".msg-total").html(datas.data.cart);
+                if ( datas.data.cart > 0 ) {
+                    $(".msg-total").html(datas.data.cart);
+                    $(".msg-total").removeClass("mask-hidden");
+                }
+                if ( datas.data.has_collected == 1 ) {
+                    $("#favorite").attr("src", "../../image/favorite2.png");
+                }
+                if ( datas.data.hide_collect == 1 ) {
+                    $("#favorite").parent(".add-favorite").attr("nofav", true);
+                }
+                if (datas.data.store_id == 1) {//goods_storage
+                        $("#goods_price_span").append('<span class="down"> 已下架</span>');
+                        $(".add-buycar").data('state', '0');
+                        $(".buy-btn-item").data('state', '0');
+                        _spot = 2;
+                } else {
+                    if ( datas.data.goods_state != 1 || datas.data.goods_storage < 1 ) {
+                        $("#goods_price_span").append('<span class="down"> 已下架</span>');
+                        $(".add-buycar").data('state', '0');
+                        $(".buy-btn-item").data('state', '0');
+                        _spot = 2;
+                    }
+                }
+                if (datas.data.points == 0) {
+                    //rgba(0, 0, 0, 0)
+                    $(".goods-costprice").css("color", "rgba(0, 0, 0, 0)");
+                    $(".goods-costprice").parent("p").css("color", "rgba(0, 0, 0, 0)");
+                } else {
+                    $(".goods-costprice").html(datas.data.points);
+                }
+                $("#sale-number").html(datas.data.sale_number);
+                $("#praise").html(datas.data.praise);
+                $("#goods-costprice").html(datas.data.goods_costprice);
+                var _html = '';
+                if ( datas.data.spec_list.length > 0 ) {
+                  _sku_data = datas.data.goods_list;
+                  _sku_spec_map = datas.data.spec_map;
+                    var i = 0;
+                    $.each(datas.data.spec_name, function(index, item) {
+                        _html += '<div class="goods-tag-item" ptag="item' + index + '">' + item + '</div><div class="h2"></div><div class="tag_item">';
+                        $.each(datas.data.spec_value, function(index2, item2) {
+                            if (index == index2) {
+                                // var x = 0;
+                                $.each(item2, function(index3, item3) {
+                                    // console.log(i)
+                                    // console.log(index3)
+                                    // if ( item2.length == 1 ) {
+                                      _html += '<span class="goods-tag" id="sku_'+i+'_'+index3+'" ptag="item' + index + '" index="' + index2 + '" tag="' + index3 + '" spec_goods_image="" spec_goods_price="" spec_id="">' + item3 + '</span>';
+                                    // } else {
+                                    // if ( datas.data.goods_list[x].goods_storage > 0 ) {
+                                        // _html += '<span class="goods-tag" ptag="item' + index + '" index="' + index2 + '" tag="' + index3 + '" spec_goods_image="'+datas.data.goods_list[x].goods_image+'" spec_goods_price="'+datas.data.goods_list[x].goods_price+'" spec_id="'+datas.data.goods_list[x].goods_id+'">' + item3 + '</span>';
+                                    // } else {
+                                        // _html += '<span class="goods-tag no_active" ptag="item' + index + '" index="' + index2 + '" tag="' + index3 + '" spec_goods_image="'+datas.data.goods_list[x].goods_image+'" spec_goods_price="'+datas.data.goods_list[x].goods_price+'" spec_id="'+datas.data.goods_list[x].goods_id+'">' + item3 + '</span>';
+                                    // }
+                                    // console.log(x)
+                                    // x++;
+                                  // }
+                                })
+                                // console.log(index, index2)
+                            }
+                        })
+                        _html += '</div><div class="h10"></div>';
+                        $("#goods-size-item").append('<span tag="" class="size-item item' + index + '"></span> ');
+                        i++;
+
+                    })
+                    $("#goods-size-item").append('<span class="buy-num-tip"></span><span class="buy-kuc-tip"></span>');
+                } else {
+                  $("#goods-size-item").html('<span class="buy-num-tip"></span><span class="buy-kuc-tip"></span>');
+                  // 无规格
+                    $.each(datas.data.goods_list, function (index_n_spec, item_n_p) {
+                      // body...
+                        $("#regoods_price").html(item_n_p.goods_price);
+                        _goods_id = item_n_p.goods_id;
+                        _sku_open = true;
+                        _single_price = item_n_p.goods_price;
+                        if (item_n_p.goods_image) {
+                            $("#goods_image").attr("src", siteurl + "uploads/home/store/goods/" + item_n_p.goods_image.substr(0, item_n_p.goods_image.indexOf("\_")) + "/" + item_n_p.goods_image);
+                        }
+                        $("#buy-num").data("kuc", item_n_p.goods_storage);
+                        function_name();
+                        $(".buy-num-tip").text("x" + $("#buy-num").val());
+                        $(".buy-kuc-tip").text(' ( 库存 '+ item_n_p.goods_storage +' ) ');
+                        var _num = parseInt($("#buy-num").val());
+                        var _goods_price = _single_price * _num;
+                        $("#regoods_price").html(_goods_price.toFixed(2));
+                    });
+                }
+                if (datas.data.images.length > 0) {
+                    $.each(datas.data.images, function(index_b, item_b) {
+                        $(".swiper-wrapper").append('<div class="swiper-slide"><img src="' + siteurl + "uploads/home/store/goods/" + item_b.goodsimage_url.substr(0, item_b.goodsimage_url.indexOf("\_")) + "/" + item_b.goodsimage_url + '"/></div>');
+                        _images.push(siteurl + "uploads/home/store/goods/" + item_b.goodsimage_url.substr(0, item_b.goodsimage_url.indexOf("\_")) + "/" + item_b.goodsimage_url);
+                    })
+                }
+                var swiper = new Swiper('.swiper-container', {
+                    allowSlidePrev: true,
+                    pagination: {
+                        el: '.swiper-pagination',
+                    },
+                });
+                $(".goods-size-item").append(_html);
+                set_checked_list();
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+
+$(function() {
+
+    $(window).scroll(function() {
+        var a = document.getElementById("nav_fixed").offsetTop;
+        var b = document.getElementById("fix1").offsetTop;
+        if (a > $(window).scrollTop() && a < ($(window).scrollTop() + $(window).height())) {
+            $("#nav_fixed").removeClass("nav_fixed");
+        }
+        if (($("#nav_fixed").outerHeight() + a) <= $(window).scrollTop()) {
+            $("#nav_fixed").removeClass("mask-hidden");
+            $("#nav_fixed").addClass("nav_fixed");
+            $(".goods-tab-b-line.nav_fixed").css("top", (b - 1) + 'px');
+        }
+        if ( a === 0 || a == b ) {
+            $("#nav_fixed").addClass("mask-hidden");
+            $(".goods-tab-a").removeClass("mask-hidden");
+        }
+    });
+
+    var aa = [];
+    var i = 0;
+    var src = [];
+    var json = null;
+    aa = $('img');
+    for (i = 1; i < aa.length; i++) {
+        src[i] = aa[i].src;
+    }
+    $("img").click(function() {
+        var index = $('img').index(this);
+        // imagePreview(src[index],src);
+    });
+})
+
+function spot_msg() {
+  // body...
+  if ( _spot == 2 ) {
+      api.toast({ msg: '商品已下架' });
+      return false;
+  }
+}
+
+
+function get_checked_list() {
+    var ret = [];
+    $('.tag_item').each(function (index,element) {
+      var ac = $(this).find('.goods-tag-active');
+      if(ac.length > 0){
+        var tag = ac.attr('tag');
+        ret.push({
+          line:index, key: tag
+        });
+      }
+    })
+    return ret;
+  }
+
+function get_sku(goods_list, spec_map, checked_list) {
+  var list = [];
+  for (var i in spec_map) {
+    list.push({"spec_map": i.split("_"), "key": spec_map[i]})
+  }
+  var ret = [];
+  var checked_spec = [];
+  var checked_neer = [];
+
+  for (var i in checked_list) {
+    checked_spec.push(checked_list[i].key);
+  }
+
+  for (var j in list) {
+    var flag = [];
+    var all_spec_key = [];
+    for (var i in checked_list) {
+      checked_neer.push(list[j].spec_map[checked_list[i].line]);
+      if (list[j].spec_map.indexOf(checked_list[i].key.toString()) === checked_list[i].line * 1) {
+        flag.push(list[j]);
+        all_spec_key = (list[j].spec_map)
+
+      }
+    }
+
+    if (checked_list.length == flag.length) {
+      var goods_info = goods_list[list[j].key]
+      if (goods_info.goods_storage > 0) {
+        ret.push(all_spec_key)
+      }
+    }
+  }
+  return ret;
+}
+
+function spec_map_check(goods_list, spec_map, line, key, checked_list) {
+
+  for(var i in checked_list){
+    if(checked_list[i].key != key && checked_list[i].line == line){
+      checked_list[i].key = key
+    }
+  }
+  var e = get_sku(goods_list, spec_map, checked_list);
+  if(e.length > 0){
+    return true;
+  }else{
+    return false;
+  }
+}
+
+
+
+
+
+$(".home-ads").on("tap", "img", function() {
+    // console.log($(this).attr("src"));
+    gallery_qz($(this).attr("src"));
+});
+$(".feed-list").on("tap", "img", function() {
+    // console.log($(this).attr("src"));
+    gallery_qz($(this).attr("src"));
+});
+$(".goods-content").on("tap", "img", function() {
+    // console.log($(this).attr("src"));
+    gallery_qz($(this).attr("src"));
+});
+
+
+function getfeed() {
+    $.ajax({
+        url: rooturl + '?do=getevaluategoods',
+        data: {
+            goodsid: _keyid
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.length > 0) {
+                $.each(datas, function(index, item) {
+                    if (index == 1) {
+                        return false;
+                    }
+                    var _html = '';
+                    if (item.geval_image) {
+                        var _imglist = item.geval_image.split(",");
+                    } else {
+                        var _imglist = '';
+                    }
+                    _html += '<div class="feed-item"><ul>';
+                    _html += '<li class="fl" style="width: 0.7rem;"><img src="' + item.member_avatar + '" class="user-head"/></li>';
+                    _html += '<li class="feed-item-right fl">' + item.member_truename + '<p class="feed-item-titel">' + item.geval_addtime + '</p></li>';
+                    _html += '<li><div class="my-rating my-rating' + index + '"></div></li></ul>';
+                    _html += '<ul><li>' + item.geval_content + '</li></ul><ul style="margin-top: 0.25rem;"><li>';
+                    if (_imglist.length > 0) {
+                        for (var i = 0; i < _imglist.length; i++) {
+                            _html += '<img src="' + _imglist[i] + '" style="width: 1.2rem;height: 1.2rem;margin-right: 0.3rem;"/>';
+                        }
+                    }
+                    _html += '</li></ul><div class="h50"></div></div>';
+                    $(".feed-list").append(_html);
+                    $(".my-rating" + index).starRating({
+                        starSize: 24,
+                        activeColor: '#d9251c',
+                        starShape: 'rounded',
+                        hoverColor: '#d9251c',
+                        useGradient: false,
+                        initialRating: item.geval_scores,
+                        readOnly: true,
+                        callback: function(currentRating, $el) {
+                            // make a server call here
+                        }
+                    });
+                })
+            }
+        }
+    });
+}
+
+
+function openPhotoBrowser(_index) {
+    var UIPhotoViewer = api.require('UIPhotoViewer');
+    UIPhotoViewer.open({
+        images: _images,
+        activeIndex: _index,
+        placeholderImg: 'widget://image/loading_more.gif',
+        bgColor: '#000'
+    }, function(ret, err) {
+        api.openFrame({
+            name: 'TEST',
+            url: './photoSwiperJson_frm.html',
+            rect: {
+                x: 0,
+                marginTop: 10,
+                w: 'auto',
+                h: 100,
+                marginBottom: 50
+            }
+        });
+        api.bringFrameToFront({
+            from: 'TEST'
+        });
+    });
+}
+
+function closePhotoViewer() {
+    var UIPhotoViewer = api.require('UIPhotoViewer');
+    UIPhotoViewer.close();
+}
+$(".share-item-friend").on("tap", function() {
+
+    var wx = api.require('wx');
+
+    wx.shareProgram({
+        apiKey: '',
+        scene: 'session',
+        title: _title,
+        description: _description,
+        thumb: 'widget://image/logo2.png',
+        webpageUrl: _shareurl,
+        userName: 'gh_344fb21bce0f',
+        path: 'pages/index/shop?id='+_keyid+'&store_id'+_storeid,
+    }, function(ret, err) {
+        if (ret.status) {
+            alert('分享成功');
+        } else {
+            alert(err.code);
+        }
+    });
+
+    /*wx.shareWebpage({
+        scene: 'session',
+        title: _title,
+        description: _description,
+        thumb: 'widget://image/logo2.png',
+        contentUrl: _shareurl
+    }, function(ret, err) {
+        if (ret.status) {
+            //alert("分享成功!");
+            api.toast({ msg: '分享成功!' });
+            setPoint();
+        } else {
+            // alert(err.code);
+            api.toast({ msg: err.msg });
+        }
+    });*/
+    $(".share-item").slideUp(500, function() {});
+    $(".weui-mask").addClass("mask-hidden");
+    _show = false;
+    return false;
+})
+$(".share-item-cale").on("tap", function() {
+
+    var wx = api.require('wx');
+    wx.shareWebpage({
+        scene: 'timeline',
+        title: _title,
+        description: _description,
+        thumb: 'widget://image/logo2.png',
+        contentUrl: _shareurl
+    }, function(ret, err) {
+        if (ret.status) {
+            //alert("分享成功!");
+            api.toast({ msg: '分享成功!' });
+            setPoint();
+        } else {
+            // alert(err.code);
+            api.toast({ msg: err.msg });
+        }
+    });
+    $(".share-item").slideUp(500, function() {});
+    $(".weui-mask").addClass("mask-hidden");
+    _show = false;
+    return false;
+})
+$(".share-item-qq").on("tap", function() {
+    var qq = api.require('QQPlus');
+    qq.shareNews({
+        url: _shareurl,
+        title: _title,
+        description: _description,
+        imgUrl: _shareimg
+    }, function(ret, err) {
+        if (ret.status) {
+            //alert("分享成功!");
+            api.toast({ msg: '分享成功!' });
+            setPoint();
+        } else {
+            // alert(err.code);
+            api.toast({ msg: err.msg });
+        }
+    });
+    $(".share-item").slideUp(500, function() {});
+    $(".weui-mask").addClass("mask-hidden");
+    _show = false;
+    return false;
+})
+
+var _show = false;
+$("#share-btn").on("tap", function() {
+    if (_show == false) {
+        $(".share-item").slideDown(500, function() {});
+        $(".weui-mask").removeClass("mask-hidden");
+        _show = true;
+    } else {
+        $(".share-item").slideUp(500, function() {});
+        _show = false;
+    }
+    return false;
+})
+
+$(".share-item-cancel").on("tap", function() {
+    $(".share-item").slideUp(500, function() {});
+    $(".weui-mask").addClass("mask-hidden");
+    _show = false;
+    return false;
+})
+
+$(".goods-size-item").on("tap", ".goods-tag", function() {
+    // $(this).addClass('goods-tag-active').siblings('.goods-tag-active').removeClass('goods-tag-active');
+    if ( $(this).hasClass("no_active") ) {
+        return false;
+    }
+    var _index = $(this).attr("index");
+    $(".goods-tag").each(function() {
+        if ($(this).attr("index") == _index) {
+            $(this).removeClass("goods-tag-active");
+        }
+    })
+    $(this).addClass("goods-tag-active");
+    $(".default-item1").empty();
+    $("." + $(this).attr("ptag")).text($(this).text());
+    $("." + $(this).attr("ptag")).attr("tag", $(this).attr("tag"));
+    _size_item = [];
+    var _sku_spec_map_index = '';
+    $(".size-item").each(function(xind) {
+        if ($(this).text() != "") {
+            var _item = $(this).attr("tag") + ":" + $(this).text();
+            if (xind == 0) {
+              _sku_spec_map_index += $(this).attr("tag");
+            } else {
+              _sku_spec_map_index += '_' + $(this).attr("tag");
+            }
+            _size_item.push(_item);
+        }
+    })
+    // console.log(_sku_spec_map_index)
+    // console.log(_sku_spec_map[_sku_spec_map_index])
+    // console.log(_sku_data[_sku_spec_map[_sku_spec_map_index]].spec_img)
+    set_checked_list();
+    if (_size_item.length == $(".size-item").length) {
+        _single_price = _sku_data[_sku_spec_map[_sku_spec_map_index]].goods_price;//$(this).attr("spec_goods_price");
+        _goods_id = _sku_data[_sku_spec_map[_sku_spec_map_index]].goods_id;//$(this).attr("spec_id");
+        $("#goods_image").attr("src", _sku_data[_sku_spec_map[_sku_spec_map_index]].spec_img);
+        $("#buy-num").data("kuc", _sku_data[_sku_spec_map[_sku_spec_map_index]].goods_storage);
+        function_name();
+        $(".buy-num-tip").text("x" + $("#buy-num").val());
+        $(".buy-kuc-tip").text(' ( 库存'+_sku_data[_sku_spec_map[_sku_spec_map_index]].goods_storage+' )');
+        var _num = parseInt($("#buy-num").val());
+        var _goods_price = _single_price * _num;
+        $("#regoods_price").html(_goods_price.toFixed(2));
+    }
+    return false;
+})
+
+
+function set_checked_list() {
+    $('.tag_item').each(function (index, element) {
+      $(this).find('.goods-tag').each(function (i,e) {
+        var is_checked = spec_map_check( _sku_data, _sku_spec_map, index, $(e).attr('tag'), get_checked_list());
+        if(!is_checked){
+          $(e).addClass('no_active');
+        }else{
+          $(e).removeClass('no_active');
+        }
+      })
+    })
+}
+
+
+
+
+$(".select-goods-size").on("tap", function() {
+    showGoodsSize();
+    return false;
+})
+
+function showGoodsSize() {
+    $(".mask-goods").show();
+    $(".goods-size").show(100);
+    $(".weui-mask").removeClass("mask-hidden");
+}
+$(".close-goods-size").on("tap", function() {
+    $(".mask-goods").hide();
+    $(".goods-size").hide();
+    $(".weui-mask").addClass("mask-hidden");
+    return false;
+})
+$(".num-up").on("tap", function() {
+    if ( _spot == 2 ) {
+        api.toast({ msg: '商品已下架' });
+        return false;
+    }
+    var _num = parseInt($(".buy-num").val()) + 1;
+    var _kucun = $("#buy-num").data("kuc");
+    if (_num > _kucun) {
+        api.toast({ msg: '库存不足' });
+        return false;
+    }
+    $("#buy-num").val(_num);
+    $(".buy-num-tip").text("x" + $(".buy-num").val());
+    var _goods_price = _single_price * _num;
+    $("#regoods_price").html(_goods_price.toFixed(2));
+    return false;
+})
+$(".num-down").on("tap", function() {
+    if ( _spot == 2 ) {
+        api.toast({ msg: '商品已下架' });
+        return false;
+    }
+    if (parseInt($("#buy-num").val()) > 1) {
+        var _num = parseInt($(".buy-num").val()) - 1;
+        $("#buy-num").val(_num);
+
+        $(".buy-num-tip").text("x" + $(".buy-num").val());
+        var _goods_price = _single_price * _num;
+        $("#regoods_price").html(_goods_price.toFixed(2));
+    }
+    return false;
+})
+$(".buy-btn-item").on("tap", function() {
+    if ( _spot == 2 ) {
+        api.toast({ msg: '商品已下架' });
+        return false;
+    }
+  //   if ($(".buy-btn-item").data("state") == 0) {
+  //       api.toast({ msg: '商品已下架!' });
+  //       return false;
+  //   }
+    if (_goods_id == "") {
+        //api.toast({ msg:'请选择商品参数!'});
+        showGoodsSize();
+        return false;
+    }
+    if (_sku_open) {
+        showGoodsSize();
+        _sku_open = false;
+        return false;
+    }
+    var _goodsx = [];
+    _goodsx.push({"goods_id": _goods_id, "buy_num": $("#buy-num").val() });
+    $.ajax({
+        url: siteurl + 'v1/order/save_og',//'?do=saveordergoods',
+        data: {
+            store_id: _storeid,
+            goods: JSON.stringify(_goodsx),
+            goods_id: _goods_id,
+            buy_num: $("#buy-num").val(),
+            buyer_id: $api.getStorage("memberid")
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                // var _gorderid = datas.gorderid;
+                api.openWin({
+                    name: 'postaddr',
+                    url: 'postaddr.html',
+                    bounces: false,
+                    pageParam: {
+                        gorderid: datas.data.order_id,
+                        storeid: _storeid
+                    }
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+
+    return false;
+})
+$(".feedgoods,.show-feedgoods").on("tap", function() {
+    api.openWin({
+        name: 'feedgoods',
+        url: 'feedgoods.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$(".go-home").on("tap", function() {
+    api.openWin({
+        name: 'hoteldtl',
+        url: 'hoteldtl.html',
+        bounces: false,
+        animation: {
+            type: 'push',
+            subType: 'from_left'
+        },
+        pageParam: {
+            keyid: _storeid
+        }
+    });
+    setTimeCloseWin("showgoods");
+    return false;
+})
+
+$(".go-buycar").on("tap", function() {
+    // if ( _spot == 2 ) {
+    //     api.toast({ msg: '商品已下架' });
+    //     return false;
+    // }
+    api.openWin({
+        name: 'buycar',
+        url: 'buycar.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid,
+            storeid: _storeid
+        }
+    });
+    return false;
+})
+$(".add-buycar").on("tap", function() {
+    if ( _spot == 2 ) {
+        api.toast({ msg: '商品已下架' });
+        return false;
+    }
+    // if ($(".add-buycar").data("state") == 0) {
+    //     api.toast({ msg: '商品已下架' });
+    //     return false;
+    // }
+    if (_goods_id == "") {
+        showGoodsSize();
+        return false;
+    }
+    if (_sku_open) {
+        showGoodsSize();
+        _sku_open = false;
+        return false;
+    }
+    $(".msg-total").css("animation", "");
+    $.ajax({
+        url: siteurl + 'v2/order/add_cart',//'?do=addbuycar',
+        data: {
+            goods_id: _goods_id,
+            store_id: _storeid,
+            goods_num: $("#buy-num").val(),
+            buyer_id: $api.getStorage("memberid")
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $(".msg-total").css("animation", "bounceOut 2s");
+                var num_car = $(".msg-total").html()*1 + $("#buy-num").val()*1;
+                $(".msg-total").removeClass("mask-hidden");
+                $(".msg-total").html(num_car);
+                api.toast({ msg: datas.msg });
+                // chkfavorite();
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    return false;
+})
+$(".add-favorite").on("tap", function() {
+    var xx = $(this).attr("nofav");
+    $("#favorite").css("animation", "");
+    if (xx) {
+        api.toast({ msg: "该商品暂不支持收藏" });
+        return false;
+    }
+    // if (!_isfavorite) {
+        $.ajax({
+            url: siteurl + 'v1/favorites/collect',//'?do=addfavorite',
+            data: {
+                fav_id: _keyid,
+                buyer_id: $api.getStorage("memberid"),
+                type: 'goods'
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+            dataType: 'json',
+            type: 'post',
+            success: function(datas) {
+                if (datas.result) {
+                    // api.toast({ msg: '加入收藏成功!' });
+                    $("#favorite").css("animation", "bounceOut 2s");
+                    if (datas.data.action == 'add') {
+                        _isfavorite = true;
+                        $("#favorite").attr("src", "../../image/favorite2.png");
+                    } else {
+                        _isfavorite = false;
+                        $("#favorite").attr("src", "../../image/goods_buy_favorite.png");
+                    }
+                } else {
+                    errcode(datas, datas.code);
+                }
+            }
+        });
+    // } else {
+    //     $.ajax({
+    //         url: rooturl + '?do=delfavorite',
+    //         data: {
+    //             goods_id: _keyid,
+    //             buyer_id: $api.getStorage("memberid")
+    //         },
+    //         dataType: 'json',
+    //         type: 'post',
+    //         success: function(datas) {
+    //             if (datas.result) {
+    //                 //api.toast({ msg:'删除收藏!'});
+    //                 _isfavorite = false;
+    //                 $("#favorite").attr("src", "../../image/goods_buy_favorite.png");
+    //             }
+    //         }
+    //     });
+    // }
+    return false;
+})
+
+$(".goods-tab-btn").on("tap", function() {
+    $(".goods-tab").addClass("mask-hidden");
+    $(".header-mask").addClass("mask-hidden");
+    $("." + $(this).attr("tag")).removeClass("mask-hidden");
+    $(".goods-tab-btn").removeClass("goods-btn-active");
+    $(this).addClass("goods-btn-active");
+    $(".goods-tab-b-line").addClass("nav_fixed");
+    $(".goods-tab-b-line").addClass("mask-hidden");
+    // $(".goods-tab").removeClass("mask-hidden");
+    var tag = $(this).attr("tag");
+    console.log(tag)
+    if (tag == 'goods-tab-a') {
+        $(".goods-tab-b").removeClass("mask-hidden");
+    }
+    $('html , body').animate({ scrollTop: 0 }, 'slow');
+    return false;
+})
+
+$(".goods-tab-btn2").on("tap", function() {
+    $(".goods-tab2").addClass("mask-hidden");
+    $("." + $(this).attr("tag")).removeClass("mask-hidden");
+    $(".goods-tab-btn2").removeClass("goods-tab-active");
+    $(this).addClass("goods-tab-active");
+    return false;
+})
+
+function touch() {
+    $("body").on('touchstart', function(e) {
+        var touch = e.originalEvent;
+        startX = e.originalEvent.changedTouches[0].pageX;
+        startY = e.originalEvent.changedTouches[0].pageY;
+        $(".box").on('touchmove', function(e) {
+            e.preventDefault();
+            touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
+            if (touch.pageX - startX > 10) {
+
+            } else if (touch.pageX - startX < -10) {
+
+            };
+            if (touch.pageY - startY > 3) {
+                if ($(window).scrollTop() <= 30) {
+                    $(".goods-tab").addClass("mask-hidden");
+                    $(".header-mask").addClass("mask-hidden");
+                    $(".goods-tab-a").removeClass("mask-hidden");
+                    $(".goods-tab-btn").removeClass("goods-btn-active");
+                    $(".goods-tab-btn-a").addClass("goods-btn-active");
+                }
+            } else if (touch.pageY - startY < -5) {
+                $(".goods-tab").addClass("mask-hidden");
+                $(".header-mask").removeClass("mask-hidden");
+                $(".goods-tab-b").removeClass("mask-hidden");
+                $(".goods-tab-btn").removeClass("goods-btn-active");
+                $(".goods-tab-btn-b").addClass("goods-btn-active");
+            };
+            $(".box").off('touchmove');
+        });
+        return false;
+    }).on('touchend', function() {
+        $(".box").off('touchmove');
+    })
+}
+
+function chkfavorite() {
+    $(".msg-total").addClass("mask-hidden");
+    $.ajax({
+        url: rooturl + '?do=chkfavorite',
+        data: {
+            goods_id: _keyid,
+            store_id: _storeid,
+            buyer_id: $api.getStorage("memberid")
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.fav) {
+                _isfavorite = true;
+                $("#favorite").attr("src", "../../image/favorite2.png");
+            }
+            $(".msg-total").html(datas.cart);
+            $(".msg-total").removeClass("mask-hidden");
+        }
+    });
+}
+
+function save_img() {
+    // body...
+    var _img_url = $("body .weui-gallery").data("imgurl");
+    if ( typeof(_img_url) == "undefined" ) {
+        console.log(_img_url)
+    } else {
+        var _img_arr = '';
+        // alert(_img_url);
+        _img_arr = _img_url.substr((_img_url.lastIndexOf("/")+1));
+        console.log(_img_arr)
+        console.log(_img_url)
+        api.confirm({
+            title: '保存图片',
+            buttons: ['取消', '确定']
+        }, function (ret, err) {
+          // body...
+            // alert(JSON.stringify(ret))
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                download_img(_img_url, _img_arr)
+            }
+        })
+    }
+}
+
+function download_img(img_url, save_name) {
+  // body...
+  api.download({
+      url: img_url,
+      encode: false,
+      cache: true,
+      savePath: 'fs://' + save_name,
+  }, function (ret, err) {
+      // body...
+      if (ret.state == 1) {
+          api.saveMediaToAlbum({
+              path: 'fs://' + save_name
+          }, function (ret, err) {
+              // body...
+              if (ret && ret.status) {
+                  api.toast({msg: '保存成功'})
+              } else {
+                  api.toast({msg: '保存失败'})
+              }
+          })
+      } else {
+          api.toast({msg: '下载失败' })
+      }
+  })
+}
+
+function setPoint() {
+    $.ajax({
+        url: siteurl + 'v1/member/point',
+        data: {
+            memberid: $api.getStorage("memberid"),
+            stage: 'share'
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                //
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+
+$(".back-top").on("tap", function() {
+    $('html , body').animate({ scrollTop: 0 }, 'slow');
+    return false;
+});
+
+$.fn.fixedDiv = function(actCls) {
+    var that = $(this),
+        offsetTop = that.offset().top,
+        scrollTop;
+
+    function fix() {
+        scrollTop = $(document).scrollTop();
+        if (scrollTop > offsetTop) {
+            that.addClass(actCls);
+            $("#nav_fixed").removeClass("mask-hidden");
+        } else {
+            that.removeClass(actCls);
+        }
+    }
+    fix();
+    $(window).scroll(fix);
+}
+$.fn.fixedDivx = function(actCls) {
+    var that = $(this),
+        offsetTop = that.offset().top,
+        scrollTop;
+
+    function fix() {
+        scrollTop = $(document).scrollTop();
+        if (scrollTop > offsetTop) {
+            that.removeClass(actCls);
+        } else {
+            that.addClass(actCls);
+        }
+    }
+    fix();
+    $(window).scroll(fix);
+}
+$('#fix1').fixedDiv('white-back');
+$('#fix2').fixedDivx('mask-hidden');
+</script>
+
+</html>

+ 201 - 0
html/home/showhotel.html

@@ -0,0 +1,201 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{
+      background: #f5f5f5;
+    }
+    a {
+        color: #666;
+    }
+    .hotel-top{
+       width:100%;
+       height: 4.08rem;
+       background: url(../../image/hotel01.jpg) ;
+       background-repeat:no-repeat; 
+       background-size: cover;
+     }
+     .hotel-top-line{
+       width:100%
+     }
+     .hotel-top-line li{
+       float:left;
+     }
+     
+     .hotel-top-search{
+       width:100%;
+       opacity:0.5;
+        height:2.2rem;
+       line-height:2.2rem;
+       background:#000000;
+       border-radius:10px;
+       color:#ffffff;
+       padding-left:10px;
+       box-sizing:border-box;
+     }
+     .hotel-top-search img{
+       width:1.3rem;
+       vertical-align:middle;
+     }
+     .hotel-title{
+       font-size: 0.35rem;
+       padding: 0.3rem 0;
+     }
+     .hotel-title span{
+        float:right;
+         font-size: 0.17rem;
+      }
+      .hotel-contact{
+        font-size: 0.28rem;
+        padding-bottom: 0.42rem;
+      }
+      
+      #store_description img {
+          width: 100%;
+      }
+      #store_description {
+        font-size: 0.28rem;
+        color: #999;
+        line-height: 0.4rem;
+      }
+      .iconfont {
+        color: #ffffff;
+      }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <div class="hotel-top">
+        <section>
+            <div class="h20"></div>
+            <div class="hotel-top-line">
+                <ul>
+                    <li style="width: 0.66rem;" class="back-btn">
+                        <div class="hotel-top-back"><span class="iconfont">&#xe61e;</span></div>
+                    </li>
+                    <li style="width: 5.5rem;"></li>
+                    <li style="width: 0.66rem;"></li>
+                </ul>
+            </div>
+        </section>
+    </div>
+    <div style="background:#ffffff;width:100%;padding-bottom: 1.2rem;">
+        <section>
+            <div class="hotel-title">
+                <h id="store_name"></h>
+            </div>
+            <div id="store_description"></div>
+            <div class="h10"></div>
+            <div class="weui-cells">
+                            <div class="weui-cell">
+                                <div class="weui-cell__bd">
+                                    <p>酒店地址</p>
+                                </div>
+                                <div class="weui-cell__ft" id="store_address"></div>
+                            </div>
+                            <div class="weui-cell">
+                                <div class="weui-cell__bd">
+                                    <p>联系酒店</p>
+                                </div>
+                                <div class="weui-cell__ft" id="store_phone"></div>
+                            </div>
+                        </div>
+            <div class="h20"></div>
+        </section>
+    </div>
+    <div class="m-bottom mask-hidden" style="position: fixed;bottom: 0.2rem;margin: 0 0.32rem;width: 6.86rem;">您的入住意见反馈(反馈送圈币)</div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+apiready = function() {
+    _keyid = api.pageParam.keyid;
+    setIosTopBar();
+    getRouteData(_keyid);
+};
+///////////
+function getRouteData(_keyid) {
+    $.ajax({
+        url: siteurl + 'v1/agent/storeInfo',
+        data: {
+            store_id: _keyid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $("#store_name").html(datas.data.store_name);
+                $("#store_description").html(datas.data.store_description);
+                $("#store_address").html(datas.data.area_info +' '+datas.data.store_address);
+                $("#store_phone").html('<a href="tel:'+datas.data.store_phone+'">'+datas.data.store_phone+'</a>');
+                $(".hotel-top").css("background-image", "url(" + siteurl + "uploads/home/store/" + datas.data.store_id + "/" + datas.data.store_banner + ")");
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+$(".m-bottom").on("tap", function() {
+    toast_loding_show();
+    $.ajax({
+        url: rooturl + '?do=checkfeed',
+        data: {
+            store_id: _keyid,
+            member_id: $api.getStorage("memberid")
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                api.openWin({
+                    name: 'feedback',
+                    url: './feedback.html',
+                    bounces: false,
+                    pageParam: {
+                        keyid: _keyid
+                    }
+                });
+            } else {
+                api.toast({ msg: datas.msg });
+            }
+        }
+    });
+    return false;
+})
+</script>
+
+</html>

+ 675 - 0
html/home/storecategory.html

@@ -0,0 +1,675 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/swiper.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        .hotel-top{
+       width:100%;
+       height: 4.03rem;
+       background: url('https://www.qzaiwang.com/uploads/home/store/goods/1/1_2019012314140410834_1280.jpg') ;
+       background-repeat:no-repeat; 
+       background-size:100% 100%;
+     }
+     .hotel-top-line{
+       width:100%
+     }
+     .hotel-top-line li{
+       float:left;
+     }
+     .hotel-title{
+       font-size: 0.33rem;
+       height: 1rem;
+       line-height: 1rem;
+       font-weight: 500;
+     }
+     .hotel-title span{
+        float:right;
+         font-size: 0.2rem;
+      }
+      .hotel-goods{
+        width:100%;
+        /*height: 1rem;*/
+        border-top:1px solid #e8e8e8;
+        position:relative;
+      }
+      .hotel-goods li{
+        width:25%;
+        float:left;
+        height: 1rem;
+        line-height: 1rem;
+        text-align:center;
+      }
+      #store_description{
+        width: 100%;
+        overflow: hidden;
+        display: -webkit-box;
+        -webkit-line-clamp: 3;
+        -webkit-box-orient: vertical;
+        word-break: break-all;
+        font-size: 0.26rem;
+        color: #606266;
+      }
+      .hotel-goods-active{
+        color:#A13532;
+      }
+      .goods-tag span{
+          margin-right: 0.17rem;
+          /*padding: 0.08rem;*/
+          margin-top: 0.2rem;
+      }
+      .goods-price, .goods-tag {
+            margin-top: 0.1rem;
+      }
+      .category-item{
+        width:100%;
+        min-height: 0rem;
+        height:auto;
+        background:#ffffff;
+        position:absolute;
+        top: 1rem;
+        z-index:999;
+        border-bottom:1px solid #e8e8e8;
+        padding: 0.1em;
+        box-sizing:border-box;
+      }
+      .category-list{
+        padding:3px;
+        width:25%;
+        float:left;
+        box-sizing:border-box;
+      }
+      .sort-img,.sort-img2{
+        width:18px;
+        vertical-align:middle;
+      }
+       .category-list-span{
+          border:1px solid #e8e8e8;
+          width:90%;
+          border-radius:3px;
+          text-align:center;
+          padding-top:6px;
+          padding-bottom:6px;
+          padding-left:3px;
+          padding-right:3px;
+       }
+       .cate-active{
+         color:#D9251C;
+         border:1px solid #D9251C;
+       }
+       .share-item{
+         position:fixed;
+         left:0px;right:0px;
+         bottom:0px;
+         height: 3.9rem;
+         background:#f2f2f2;
+         border-top:1px solid #E8E8E8;
+         z-index:9999;
+       }
+       .share-item-tips{
+          height: 0.28rem;
+          line-height: 0.28rem;
+          width:100%;
+          text-align:center;
+          font-size: 0.28rem;
+          padding: 0.38rem 0;
+       }
+       .share-item-cent{
+          height: 1.8rem;
+          width: 100%;
+       }
+       .share-item-cent li{
+          width:33.3%;
+          text-align:center;
+          float:left;
+          font-size: 0.28rem;
+       }
+       .share-item-cent img{
+          width: 0.9rem;
+       }
+       .share-item-cancel{
+          height: 0.98rem;
+          line-height: 0.98rem;
+          width:100%;
+          text-align:center;
+          background:#ffffff;
+          font-size: 0.28rem;
+       }
+       .business-time{
+        width:100%;
+        padding: 0 0.32rem;
+         box-sizing:border-box;
+       }
+      .goods-title {
+          white-space: nowrap;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          height: auto;
+          line-height: unset;
+      }
+       .tag-item{
+            float: left;
+            max-width: 0.83rem;
+            height: 0.33rem;
+            line-height: 0.33rem;
+            overflow: hidden;
+            border: 1px solid #D9251C;
+            font-size: 0.18rem;
+            padding-left: 5px;
+            padding-right: 5px;
+            background: #ffffff;
+            color: #D9251C;
+            border-radius: 2px;
+            text-align: center;
+       }
+       .search-item {
+          text-align: center;
+          background: #ffffff;
+       }
+        .swiper-container {
+        width: 100%;
+        height: 100%;
+      }
+       .swiper-container{
+            width: 100%;
+            height: 0.5rem;
+        }
+        .swiper-slide{
+            text-align: center;
+            line-height: 0.5rem;
+            font-size: 0.28rem;
+        }
+        .active, .active span{
+            color: #d9251c;
+        }
+        .active span {
+          border-bottom: 0.1em solid;
+        }
+        .back-header-bottom {
+          border-bottom: none;
+        }
+        .back-header li {
+            font-size: 0.28rem;
+        }
+        .search-item {
+          font-size: 0.32rem;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header  back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">
+                <div class="search-item"></div>
+            </li>
+            <li class="more-btn"></li>
+        </ul>
+        <div class="hotel-goods" style="margin-top: 0.8rem;">
+            <!-- <div class="swiper-container" style="padding-bottom: 0.1em;">
+                <div class="swiper-wrapper"></div>
+            </div>
+            <div id="category-item" class="category-item mask-hidden">
+            </div> --> 
+            <ul>
+                <li class="gsort hotel-goods-active goods-all" tag="praise">综合</li>
+                <li class="gsort goods-new" tag="goods_commonid">上新<img class="sort-img" src="../../image/sort.png" /></li>
+                <li class="gsort goods-sprice" tag="goods_price">价格<img class="sort-img" src="../../image/sort.png" /></li>
+                <li id="category-btn" tag="gc_id_1">分类<img class="sort-img2" src="../../image/sort_down2.png" /></li>
+            </ul>
+            <div id="category-item" class="category-item mask-hidden">
+            </div>
+        </div>
+    </header>
+    <section style="padding-top: 1.6rem;">
+        <div class="h10"></div>
+        <div class="goods-list" page="1">
+        </div>
+    </section>
+</body>
+<div class="h50"></div>
+<div class="share-item mask-hidden">
+    <div class="share-item-tips">分享至</div>
+    <div class="h10"></div>
+    <div class="share-item-cent">
+        <ul>
+            <li class="share-item-friend"><img src="../../image/share_friend.png" />
+                <p>微信好友</p>
+            </li>
+            <li class="share-item-cale"><img src="../../image/share_cale.png" />
+                <p>微信朋友圈</p>
+            </li>
+            <li class="share-item-qq"><img src="../../image/share_qq.png" />
+                <p>QQ</p>
+            </li>
+        </ul>
+    </div>
+    <div class="share-item-cancel">取消</div>
+</div>
+<div class="back-top mask-hidden" id="fix1"></div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/swiper.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript">
+var _storeid = '';
+var _cateid = '';
+var _sort = "id";
+var _minsort = '';
+var _desc = "desc";
+var _shareimg = '';
+var _description = '';
+var _title = '';
+var _page = '1';
+var _shareurl = '';
+var _gc_id = '';
+var _keyword = 'NULL';
+var _catid = '0';
+apiready = function() {
+    _storeid = api.pageParam.storeid;
+    _gc_id = api.pageParam.keyid;
+    _categoryname = api.pageParam.categoryname;
+    $(".search-item").html(_categoryname);
+    setFixStatusBar();
+    getRouteGoodsData();
+    // getCatogoryData();
+    api.addEventListener({
+        name: 'scrolltobottom',
+        extra: {
+            threshold: 200
+        }
+    }, function(ret, err) {
+        getRouteGoodsData();
+    });
+};
+
+$(".hotel-top-search").on("tap", function() {
+    api.openWin({
+        name: 'goodssearch',
+        url: './goodssearch.html',
+        bounces: false,
+        pageParam: {
+            storeid: _storeid
+        }
+    });
+    return false;
+})
+$(".hotel-item").on("tap", function() {
+    //var _storeid=$(this).attr("keyid");
+    api.openWin({
+        name: 'showhotel',
+        url: './showhotel.html',
+        bounces: false,
+        pageParam: {
+            keyid: _storeid
+        }
+    });
+    return false;
+})
+$(".goods-list").on("tap", ".goods-list-item", function() {
+    var _goodsid = $(this).attr("keyid");
+    var _spot = $(this).attr("spot");
+    api.openWin({
+        name: 'showgoods',
+        url: './showgoods.html',
+        bounces: false,
+        pageParam: {
+            keyid: _goodsid,
+            storeid: _storeid,
+            spot: _spot
+        }
+    });
+    return false;
+})
+//////////
+
+function getRouteGoodsData() {
+    _page = $(".goods-list").attr("page");
+    if (_page == 0) {
+        return false;
+    }
+    var _xdata = { store_id: _storeid, page: _page, praise: _desc, gc_id_1: _gc_id };
+    var _data_type = $(".hotel-goods-active").attr("tag");
+    var _catid = $("#category-item .cate-active").parent(".category-list").attr("catid");
+    if (_data_type == 'praise') {
+      if ( _catid && _catid > 0 ) {
+        _xdata = { store_id: _storeid, page: _page, praise: _desc, gc_id_2: _catid };
+      } else {
+        _xdata = { store_id: _storeid, page: _page, praise: _desc, gc_id_1: _gc_id };
+      }
+    } else if (_data_type == 'goods_commonid') {
+      if ( _catid && _catid > 0 ) {
+        _xdata = { store_id: _storeid, page: _page, goods_commonid: _desc, gc_id_2: _catid };
+      } else {
+        _xdata = { store_id: _storeid, page: _page, goods_commonid: _desc, gc_id_1: _gc_id };
+      }
+    } else if (_data_type == 'goods_price') {
+      if ( _catid && _catid > 0 ) {
+        _xdata = { store_id: _storeid, page: _page, goods_price: _desc, gc_id_2: _catid };
+      } else {
+        _xdata = { store_id: _storeid, page: _page, goods_price: _desc, gc_id_1: _gc_id };
+      }
+    } else {
+        if ( _catid && _catid > 0 ) {
+            _xdata = { store_id: _storeid, page: _page, gc_id_2: _catid };
+        } else {
+            _xdata = { store_id: _storeid, page: _page, gc_id_1: _gc_id };
+        }
+    }
+    // toast_loding_show();
+    $(".goods-list").attr("page", "0");
+    $.ajax({
+        url: siteurl + 'v2/entry/storeGoods',
+        data: _xdata,
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+          // toast_loding_hide();
+            if (datas.result) {
+                var html = '';
+                if (datas.data.goods_list.length > 0) {
+                    var j = 0;
+                    $.each(datas.data.goods_list, function(index, item) {
+                        var _advarr = item.goods_advword.split("\n");
+                        var _taghtml = '';
+                        var _tagcolor = ['#006699', '#A13532', '#e8e8e8'];
+                        if (_advarr.length > 0) {
+                            for (var i = 0; i < _advarr.length; i++) {
+                                if (_advarr[i]) {
+                                    _taghtml += '<span class="tag-item" style="">' + _advarr[i] + '</span>';
+                                }
+                            }
+                        }
+                        j++;
+                        html = '';
+                        if (j % 2 == 0) {
+                            html += '<div class="goods-list-item padl" ';
+                        } else {
+                            html += '<div class="goods-list-item" ';
+                        }
+                        html += 'keyid="' + item.goods_commonid + '" spot="'+item.spot+'" goods_li="' + j + '"><ul>';
+                        html += '<li><img src="' + siteurl + "uploads/home/store/goods/" + item.goods_image.substr(0, item.goods_image.indexOf("\_")) + "/" + item.goods_image + '" class="goods-image"/></li>';
+                        html += '<li class="goods-title font-rem11">' + item.goods_name + '</li>';
+                        html += '<li class="goods-price">¥' + item.goods_price + ' <span class="line-through">' + item.goods_marketprice + '</span></li>';
+                        html += '<li class="goods-tag" style="margin-top:0">' + _taghtml + '</li>';
+                        html += '</ul></div>';
+                        if (j % 2 == 0) {
+                            html += '<div class="h10"></div>';
+                        }
+                        if (_page == 1 && index == 0) {
+                            $(".goods-list").html(html);
+                        } else {
+                            $(".goods-list").append(html);
+                        }
+                        function_name();
+                    });
+                    _page++;
+                    $(".goods-list").attr("page", _page);
+                } else {
+                    html = '<div class="data-null">暂时没有更多商品</div>';
+                    $(".goods-list").attr("page", '0');
+                    if (_page == 1) {
+                        $(".goods-list").html(html);
+                    } else {
+                        $(".goods-list").append(html);
+                    }
+                }
+            } else {
+                errcode(datas, datas.code)
+            }
+        }
+    });
+}
+
+function getCatogoryDataxx() {
+    $.ajax({
+        url: siteurl + 'v1/entry/storeCategory2',
+        data: {
+            store_id: _storeid,
+            gc_id: _gc_id
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            // console.log(datas)
+            if (datas.result) {
+                var _html = '<div class="swiper-slide active" keyid="0"><span>全部</span></div>';
+                $.each(datas.data.category_list, function(index, item) {
+                    _html += '<div class="swiper-slide" keyid="' + item.gc_id + '"><span>' + item.gc_name + '</span></div>';
+                });
+                $(".swiper-wrapper").html(_html);
+                var swiper = new Swiper('.swiper-container', {
+                    slidesPerView: 4,
+                    spaceBetween: 10,
+                    pagination: {
+                        el: '.swiper-pagination',
+                        clickable: true,
+                    },
+                });
+            } else {
+                errcode(datas, datas.code)
+            }
+            return false;
+        }
+    });
+}
+/////
+function getCategoryData() {
+    $.ajax({
+        url: siteurl + 'v1/entry/storeCategory2',
+        data: {
+            store_id: _storeid,
+            gc_id: _gc_id
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var html = '';
+                $("#category-item").empty();
+                $("#category-item").append('<div class="category-list" catid="0"><span class="category-list-span">全部</span></div>');
+                $.each(datas.data.category_list, function(index, item) {
+                    html = '<div class="category-list" catid="' + item.gc_id + '"><span class="category-list-span">' + item.gc_name + '</span></div>';
+                    $("#category-item").append(html);
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+$("#category-btn").on("tap", function() {
+    $(".gsort").removeClass("hotel-goods-active");
+    $(".gsort").find("img").attr("src", "../../image/sort.png");
+    getCategoryData();
+    if (!$(".category-item").hasClass("mask-hidden")) {
+        $(".category-item").addClass("mask-hidden");
+        $("#category-btn").removeClass("hotel-goods-active");
+        $(this).find("img").attr("src", "../../image/sort.png");
+        $("#category-btn img").attr("src", "../../image/sort_down2.png");
+    } else {
+        $(".category-item").removeClass("mask-hidden");
+        $("#category-btn").addClass("hotel-goods-active");
+        $(this).find("img").attr("src", "../../image/sort_up.png");
+        $("#category-btn img").attr("src", "../../image/sort_down2_up.png");
+    }
+    return false;
+})
+
+$(".swiper-wrapper").on("tap", ".swiper-slide", function() {
+    _catid = $(this).attr("keyid");
+    _minid = 1;
+    $(".goods-list").attr("page", '1');
+    getRouteGoodsData()
+    return false;
+});
+
+
+$(".swiper-wrapper").on("tap", ".swiper-slide", function() {
+    $(".swiper-slide").removeClass("active");
+    $(this).addClass("active");
+    return false;
+});
+
+function hiddenCate() {
+    $(".category-item").addClass("mask-hidden");
+    $("#category-btn").removeClass("hotel-goods-active");
+    $("#category-btn").find("img").attr("src", "../../image/sort_down2_up.png");
+}
+
+function shorNewGoods() {
+    _minsort = '';
+    // console.log('shorNewGoods');
+    _catid = $(this).attr("keyid");
+    $(".goods-list").attr("page", '1');
+    getRouteGoodsData();
+}
+///
+$(".category-item").on("tap", ".category-list", function() {
+    $(this).find("span").addClass("cate-active");
+    hiddenCate();
+    _cateid = $(this).attr("catid");
+    _minsort = '';
+    shorNewGoods();
+    setTimeout(function() { $(".category-item").addClass("mask-hidden"); }, 300);
+    return false;
+})
+///
+$(".goods-all").on("tap", function() {
+    hiddenCate();
+    _sort = $(this).attr("tag");
+    $(".gsort").removeClass("hotel-goods-active");
+    $(this).addClass("hotel-goods-active");
+    $(".gsort").find("img").attr("src", "../../image/sort.png");
+    $("#category-btn img").attr("src", "../../image/sort_down2.png");
+    _desc = "desc";
+    shorNewGoods();
+    return false;
+})
+////
+$(".goods-new").on("tap", function() {
+    hiddenCate();
+    _sort = $(this).attr("tag");
+    $(".gsort").removeClass("hotel-goods-active");
+    $(this).addClass("hotel-goods-active");
+    $(".goods-sprice").find("img").attr("src", "../../image/sort.png");
+    $(this).find("img").attr("src", $(this).find("img").attr("src") == "../../image/sort_up.png" ? "../../image/sort_down.png" : "../../image/sort_up.png");
+    if ($(this).find("img").attr("src") == "../../image/sort_up.png") {
+        _desc = "asc";
+    } else {
+        _desc = "desc";
+    }
+    $("#category-btn img").attr("src", "../../image/sort_down2.png");
+    shorNewGoods();
+    return false;
+})
+////
+$(".goods-sprice").on("tap", function() {
+    hiddenCate();
+    _sort = $(this).attr("tag");
+    $(".gsort").removeClass("hotel-goods-active");
+    $(this).addClass("hotel-goods-active");
+    $(".goods-new").find("img").attr("src", "../../image/sort.png");
+    $(this).find("img").attr("src", $(this).find("img").attr("src") == "../../image/sort_up.png" ? "../../image/sort_down.png" : "../../image/sort_up.png");
+    if ($(this).find("img").attr("src") == "../../image/sort_up.png") {
+        _desc = "asc";
+    } else {
+        _desc = "desc";
+    }
+    $("#category-btn img").attr("src", "../../image/sort_down2.png");
+    shorNewGoods();
+    return false;
+})
+$(".share-item-cancel").on("tap", function() {
+    $(".share-item").slideUp(500, function() {});
+    _show = false;
+    return false;
+})
+
+var _show = false;
+$("#share-btn").on("tap", function() {
+    if (_show == false) {
+        $(".share-item").slideDown(500, function() {});
+        _show = true;
+    } else {
+        $(".share-item").slideUp(500, function() {});
+        _show = false;
+    }
+    return false;
+})
+
+$(".back-top").on("tap", function() {
+    $('html , body').animate({ scrollTop: 0 }, 'slow');
+    return false;
+});
+$.fn.fixedDiv = function(actCls) {
+    var that = $(this),
+        offsetTop = that.offset().top,
+        scrollTop;
+
+    function fix() {
+        scrollTop = $(document).scrollTop();
+        if (scrollTop > offsetTop) {
+            that.removeClass(actCls);
+        } else {
+            that.addClass(actCls);
+        }
+    }
+    fix();
+    $(window).scroll(fix);
+}
+$('#fix1').fixedDiv('mask-hidden');
+
+$(".more-btn").on("tap", function() {
+    $(".goods-list").empty();
+    if ($("#keyword").val() == '') {
+        api.toast({
+            msg: '关键词不能为空!'
+        });
+        return false;
+    }
+    _keyword = $("#keyword").val();
+    _cateid = '';
+    _sort = "id";
+    _minsort = '';
+    _desc = "desc";
+    getRouteGoodsData();
+    return false;
+})
+</script>
+
+</html>

+ 150 - 0
html/home/vender.html

@@ -0,0 +1,150 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>title</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+    	.back-header li {
+    		font-size: 0.33rem;
+    	}
+    	.goods_img {
+    		max-height: 4rem;
+    		margin: 0 auto;
+    		max-width: 100%;
+    		display: block;
+    	}
+    	.goods_price {
+    		line-height: 2rem
+    	}
+    	.mui-h1 {
+    		font-size: 0.82rem
+    	}
+    	.centerText {
+    		text-align: center;
+    	}
+    	.mui-pull-right {
+    		float: right;
+    	}
+    	p {
+    		font-size: 0.32rem;
+    		margin-top: 0;
+    		margin-bottom: 0.2rem;
+    		color: #8f8f94;
+    	}
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+<body>
+    <div class="topbar"></div>
+    <header class="back-header bottom-line">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">扫一扫支付</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <div class="h50" style="height: 1rem"></div>
+	<section class="order">
+        
+    </section>
+    <section onclick="btn_bender_pay()" style="position:fixed;bottom:10px;width:100%;">
+        <div class="m-bottom">支 付</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+apiready = function() {
+    setIosTopBar();
+	_keyid = api.pageParam.keyid;
+	getRouteData(_keyid);
+};
+
+function getRouteData() {
+	// body...
+	toast_loding_show();
+	$.ajax({
+        url: siteurl + 'api/Payment/get_order_info_bysn',
+        data: {
+            order_sn: _keyid
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+        	toast_loding_hide();
+        	if(datas.code === 1){
+        		$(".order").html('<div class="goods_warp"><div class="imgs"><img class="goods_img" src="'+datas.data.image+'" alt="goods_img"></div><p class="mui-h1 centerText blackT goods_price"><span>'+datas.data.total_price+'</span></p><p><span>编号</span><span class="mui-pull-right">'+datas.data.order_sn+'</span></p><p><span>名称</span><span class="mui-pull-right">'+datas.data.goods_name+'</span></p></div>');
+        		$(".m-bottom").removeClass("mask-hidden");
+        	} else {
+        		$(".m-bottom").addClass("mask-hidden");
+        		api.toast({
+                    msg: datas.msg,
+                    duration: 3000,
+                    location: 'bottom'
+                });
+        	}
+        }
+    })
+}
+function btn_bender_pay() {
+	api.confirm({
+		msg: "圈币支付"
+	}, function(ret, err){
+		var index = ret.buttonIndex;
+		if (index === 2) {
+			//
+			$.ajax({
+				url: siteurl + 'api/Payment/pay',
+				data: {
+		            qr_data: _keyid
+		        },
+		        dataType: 'json',
+		        type: 'post',
+		        success: function(datas) {
+		        	// alert(JSON.stringify(datas));
+		        	if (datas.code === 1) {
+		        		api.openWin({
+		        			name: 'points',
+		        			url: '../my/points.html',
+		        			bounces: false
+		        		});
+		        	} else {
+		        		api.toast({
+		        			msg: datas.msg
+		        		})
+		        	}
+		        }
+			})
+		}
+	})
+}
+</script>
+
+</html>

+ 437 - 0
html/hotel/frame0.html

@@ -0,0 +1,437 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        body {
+            background: #f2f2f2;
+        }
+        .msg-list{
+           height: 100%
+        }
+        .bgf2{
+            background: #f2f2f2;
+            height: auto;
+            padding-bottom: 1rem;
+        }
+        .msg-cent-list{
+           width: 100%;
+           /*height: 2.4rem;*/
+           background: #ffffff;
+           border-radius: 0.1rem;
+           padding: 0.3rem;
+           box-sizing: border-box;
+           position: relative;
+           /*box-shadow: darkgrey 0.1rem 0.1rem 0.3rem 0.05rem;*/
+        }
+        .msg-cent-right-title {
+            font-size: 0.3rem;
+            color: #333;
+        }
+        .msg-cent-list ul {
+            width: 100%;
+            display: inline-block;
+        }
+        .msg-cent-list li{
+          float: left;
+          width: 100%;
+        }
+        .msg-cent-right-dtl{
+          font-size: 0.26rem;
+          color: #999;
+        }
+        .msg-time{
+          color: #bbb;
+          width: 100%;
+          text-align:center;
+          padding: 0.3rem 0;
+          /*font-size: 0.22rem;*/
+        }
+        .member-avatar{
+          width: 0.3rem;
+          height: 0.3rem;
+          border-radius:50%;
+          vertical-align:middle;
+          margin-bottom: 0.05rem;
+        }
+        button.el-button {
+            background: #f2f2f2;
+            margin-left: 0.2rem;
+        }
+        button.el-button, .feed-btn,.tel-btn {
+          float:right;
+          font-size: 0.24rem;
+          padding: 0.12rem 0.23rem;
+        }
+        .el-button.is-round {
+            border-radius: 0.5rem;
+            margin-top: -0.1rem;
+            padding: 0;
+        }
+        .back-header li.back-header-title {
+            width: 100%;
+        }
+        .is_read div {
+            color: #ccc;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section style="background:#ffffff;">
+        <header class="back-header">
+            <ul>
+                <!-- <li class="padding-20"></li> -->
+                <li class="back-header-title" id="header-title"></li>
+                <!-- <li class="more-btn"></li> -->
+            </ul>
+        </header>
+    </section>
+    <section class="msg-list padding-top"></section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _storeid = '';
+var _minid = '';
+var _myalias = '';
+var lastpage = false;
+var _reload = false;
+var _page = '1';
+apiready = function() {
+    setFixStatusBar();
+    getRouteData2();
+    getRouteData();
+    // set_height();
+    //setInterval(function(){getRouteData();},8000);
+    _myalias = "store" + $api.getStorage("storeid");
+    jpushInit();
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        // $(".msg-list").empty();
+        _reload = true;
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'viewappear'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        // $(".msg-list").empty();
+        _reload = true;
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'scrolltobottom'
+    }, function(ret, err){
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'swipedown'
+    }, function(ret, err){
+        toRefrash();
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        _reload = true;
+        setRefrashHeader();
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'online'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        _reload = true;
+        getRouteData();
+    });
+    api.addEventListener({
+        name: 'swipeup'
+    }, function(ret, err) {
+        api.refreshHeaderLoadDone()
+    });
+};
+
+function getRouteData2() {
+    $.ajax({
+        url: siteurl + 'v2/shop/info',//'?do=getstore',
+        data: {
+            store_id: $api.getStorage("storeid"),
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $("#header-title").html(datas.data.store_name);
+            } else {
+                errcode(datas, datas.code);
+            }
+            set_height();
+        }
+    });
+}
+
+function getRouteData() {
+    if (lastpage) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v2/shop/msg_list',//'?do=gethotelmsg',
+        data: {
+            store_id: $api.getStorage("storeid"),
+            minid: _minid,
+            page: _page
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.msg_list.length > 0) {
+                    var _html = '';
+                    $.each(datas.data.msg_list, function(index, item) {
+                        _html += '<div class="msg-time" keyid="' + item.order_id + '">' + item.add_time + '</div>';
+                        if (item.is_read == 0) {
+                            _html += '<div class="msg-cent-list" keyid="' + item.order_id + '" tag="' + item.types + '"><ul>';
+                        }else{
+                            _html += '<div class="msg-cent-list is_read" keyid="' + item.order_id + '" tag="' + item.types + '"><ul>';
+                        }
+                        _html += '<li class="msg-cent-right"><div class="msg-cent-right-title">' + item.status + '</div>';
+                        _html += '<div class="h50"></div>';
+                        _html += '<div class="msg-cent-right-dtl">订单号:' + item.order_sn + ' </div>';
+                        _html += '<div class="msg-cent-right-dtl" style="padding-top: 0.1rem;">' + item.content + '</div>';
+                        _html += '<div class="h50"></div>';
+                        _html += '<div style="font-size: 0.24rem;"><img src="' + item.member_avatar + '" class="member-avatar" /> ' + item.member_truename + '<button type="button" class="el-button el-button--default is-round"><span class="feed-btn" keyid="' + item.order_id + '" msgid="' + item.id + '" memberid="' + item.member_id + '">回复</span></button><button type="button" class="el-button el-button--default is-round"><span class="tel-btn" tel="' + item.member_mobile + '">致电</span></button></div>';
+                        _html += ' </li></ul></div>';
+                    });
+                    if ( _reload || _page == 1 ) {
+                        $(".msg-list").html(_html);
+                        _reload = false;
+                    }else{
+                        $(".msg-list").append(_html);
+                    }
+                    if (datas.data.msg_list.length > 0) {
+                        // _minid = datas[datas.length - 1].id;
+                        _page++;
+                    } else {
+                        lastpage = true
+                    }
+                    $(".msg-list").addClass('bgf2');
+                } else {
+                    lastpage = true;
+                    api.toast({ msg: '没有更多数据...' });
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+
+function set_height() {
+    api.execScript({
+        name: 'hotelindex',
+        script: 'set_height();'
+    })
+}
+
+$(".msg-list").on("tap", ".feed-btn", function() {
+    var _keyid = $(this).attr("keyid");
+    var _memberid = $(this).attr("memberid");
+    var _msgid = $(this).attr("msgid");
+    api.openWin({
+        name: 'urge',
+        url: './urge.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid,
+            memberid: _memberid,
+            msgid: _msgid
+        }
+    });
+    return false;
+})
+
+$(".msg-list").on("tap", ".tel-btn", function() {
+    var _tel = $(this).attr("tel");
+    api.call({
+        type: 'tel_prompt',
+        number: _tel
+    });
+    return false;
+})
+
+$(".msg-list").on("tap", ".msg-cent-list", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'orderdtl',
+        url: './orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+
+function setRefrashHeader(){
+    api.setCustomRefreshHeaderInfo({
+        //bgColor: '#00FF00',
+         image: {
+            pull: 'widget://image/logo.png',
+            transform: [
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png'
+            ],
+            load: [
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png'
+            ]
+        }
+    }, function( ret, err ){
+        // alert('下拉刷新事件触发了,请开始加载数据刷新页面,然后停止加载状态');
+        setTimeout(stopRefrash(), 3000);
+    });
+}
+
+function toRefrash(){
+    api.refreshHeaderLoading();
+}
+
+function stopRefrash(){
+    getRouteData();
+    api.refreshHeaderLoadDone();
+}
+
+
+function jpushInit() {
+    jpush = api.require('ajpush');
+    initJPush();
+    /*api.addEventListener({name:'appintent'}, function(ret,err) {//anz noticeclicked
+        //alert('通知被点击,收到数据:\n' + JSON.stringify(ret));//监听通知被点击后收到的数据
+       _minid='';$(".msg-list").empty();getRouteData();
+    })*/
+    api.addEventListener({ name: 'noticeclicked' }, function(ret, err) { //ios noticeclicked
+        var _value = ret.value.replace(/\\/g, "");
+        var obj = eval('(' + _value + ')');
+        if (obj.jump == "neworder") {
+            api.openWin({
+                name: 'frame1',
+                url: './frame1.html',
+                bounces: false
+            });
+        }
+    })
+    api.addEventListener({ name: 'pause' }, function(ret, err) {
+        onPause(); //监听应用进入后台,通知jpush暂停事件
+    })
+
+    api.addEventListener({ name: 'resume' }, function(ret, err) {
+        onResume(); //监听应用恢复到前台,通知jpush恢复事件
+    })
+
+    api.addEventListener({ name: 'noticeclicked' }, function(ret, err) { //ios noticeclicked
+        _minid = '';
+        _page = '1';
+        // $(".msg-list").empty();
+        _reload = true;
+        getRouteData();
+    })
+    api.removeEventListener({
+        name: 'noticeclicked'
+    });
+    jpush.setListener(function(ret, err) {
+        if (ret) {
+            notify(ret.content, ret.extra);
+        }
+    });
+}
+
+function initJPush() {
+    jpush.init(function(ret, err) {
+        if (ret && ret.status) {
+            bindAliasAndTags();
+        } else {
+            api.toast({ msg: '操作失败!' });
+        }
+    });
+}
+//统计-app恢复
+function onResume() {
+    jpush.onResume();
+}
+
+//统计-app暂停
+function onPause() {
+    jpush.onPause();
+}
+
+function bindAliasAndTags() {
+    var param = { alias: _myalias, tags: ['tag1', 'qddstore'] };
+    jpush.bindAliasAndTags(param, function(ret) {
+        var statusCode = ret.statusCode;
+        // alert(JSON.stringify(ret));
+    });
+}
+
+
+function notify(content, extras) {
+    api.notification({
+        vibrate: [100, 500, 200, 500, 300, 500],
+        sound: 'widget://res/horse.ogg',
+        notify: {
+            title: '您有一条新的消息...',
+            content: content,
+            extra: extras,
+            updateCurrent: false
+        }
+    }, function(ret, err) {
+        //alert(JSON.stringify(extras));
+    });
+}
+</script>
+
+</html>

+ 301 - 0
html/hotel/frame1.html

@@ -0,0 +1,301 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/swiper.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        body{background:#f2f2f2;}
+        .swiper-slide{
+            text-align: center;
+            height: 0.76rem;
+            line-height: 0.76rem;
+            font-size: 0.28rem;
+        }
+        .active, .active span{
+            color: #d9251c;
+        }
+        .active span {
+            border-bottom: 3em solid;
+        }
+        .bottom-line{
+           border-bottom:1px solid #e8e8e8;
+        }
+        .border-none{
+          text-align:center;font-size: 0.28rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+            margin-top: 3rem;
+            width: 1.73rem;
+            height: auto;
+        }
+        .order-list-right p {
+            font-size: 0.22rem;
+            color: #999;
+            height: 1.04rem;
+        }
+        p.font-size-18 {
+            color: #666;
+            height: auto;
+        }
+        .h5 {
+            background: #f2f2f2;
+            margin: 0 0 0 -0.32rem;
+            width: 7.5rem;
+            margin-top: 0.5em;
+        }
+        .h5:first-child {
+            margin-top: 0
+        }
+        .back-header li.back-header-title {
+            width: 100%;
+        }
+      </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header bottom-line">
+        <ul>
+            <!-- <li class="padding-20"></li> -->
+            <li class="back-header-title">订单列表</li>
+            <!-- <li class="more-btn"></li> -->
+        </ul>
+    </header>
+    <section class="white-back" style="position: fixed;z-index: 2;margin-top: 0.81rem;">
+        <div class="swiper-container" style="padding-bottom: 0.1em;width: 6.86rem;">
+            <div class="swiper-wrapper">
+                <div class="swiper-slide active" state="100" state_as="all"><span>全部</span></div>
+                <div class="swiper-slide" state="10" state_as="waiting"><span>待付款</span></div>
+                <div class="swiper-slide" state="20,30" state_as="payed"><span>处理中</span></div>
+                <div class="swiper-slide" state="40" state_as="complete"><span>已收货</span></div>
+                <div class="swiper-slide" state="0" state_as="cancel"><span>已取消</span></div>
+                <div class="swiper-slide" state="50" state_as="refund"><span>退换/售后</span></div>
+            </div>
+        </div>
+    </section>
+    <section class="order-list white-back" style="padding-top: 1.6rem;">
+    </section>
+    <section class="border-none">
+        <img src="../../image/border_none.png" class="border-none-img" />
+        <p>暂无订单</p>
+    </section>
+    <div class="back-h10"></div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/swiper.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _state = 'all';
+var _minid = '';
+var _page = '1';
+var lastpage = false;
+var _htmlstatus = false;
+apiready = function() {
+    // _state = api.pageParam.tag;
+    setFixStatusBar();
+    getRouteData();
+    api.addEventListener({
+        name: 'scrolltobottom',
+        extra: {
+            threshold: 200
+        }
+    }, function(ret, err) {
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        // $(".order-list").empty();
+        _htmlstatus = true;
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'online'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        // $(".order-list").empty();
+        _htmlstatus = true;
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'viewappear'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        // $(".order-list").empty();
+        _htmlstatus = true;
+        getRouteData();
+    });
+};
+
+function getRouteData() {
+    if (lastpage) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v2/order/orders',//'?do=gethotelorder',
+        data: {
+            storeid: $api.getStorage("storeid"),
+            minid: _minid,
+            state: _state,
+            page: _page
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var _html = '';
+                if (datas.data.order_list.length > 0) {
+                    $.each(datas.data.order_list, function(index, item) {
+                        var _a_img = '';
+                        var _a_name = '';
+                        item.member_avatar ? _a_img = item.member_avatar : _a_img ='../../image/head.png';
+                        item.member_truename ? _a_name = item.member_truename : _a_name = item.member_name;
+                        _html += '<div class="h5"></div><div class="order-list-title" state="' + item.order_state + '" keyid="' + item.order_id + '"><img src="' +_a_img+ '"/> ' + _a_name + '<span class="order-list-status">' + item.status + '</span></div>';
+                        if (item.goods) {
+                            $.each(item.goods, function(index2, item2) {
+                                var arr = item2.goods_name.split(" ");
+                                var name_arr = arr[0];
+                                var size_arr = item2.goods_name.replace(name_arr, "");
+                                _html += '<div class="order-list-goods" state="' + item.order_state + '" keyid="' + item.order_id + '"><ul><li><img src="' + siteurl + "uploads/home/store/goods/" + item2.goods_image.substr(0, item2.goods_image.indexOf("\_")) + "/" + item2.goods_image + '"/></li>';
+                                _html += '<li class="order-list-right"><span class="font-rem11">' + name_arr + '</span><p>' + size_arr + '  x' + item2.goods_num + '</p>';
+                                _html += '<p class="font-size-18">¥' + item2.goods_price + '</p></li>';
+                                _html += '</ul></div><div class="h2"></div>';
+                            });
+                        }
+                        _html += '<div class="order-list-title" style="border-bottom:none;">合计:¥' + item.order_amount + '</div>';
+                    });
+                    // console.log(_htmlstatus,_state)
+                    if (_htmlstatus) {
+                        $(".order-list").html(_html);
+                        _htmlstatus = false;
+                    }else{
+                        $(".order-list").append(_html);
+                    }
+                    $(".border-none").addClass("mask-hidden");
+                    if (datas.data.order_list.length > 0) {
+                        // _minid = datas[datas.length - 1].order_id;
+                        _page++;
+                    }
+                }else{
+                    lastpage = true;
+                    // api.toast({ msg: '没有更多数据...' });
+                    // console.log(_htmlstatus,_state)
+                    if (_htmlstatus) {
+                        $(".order-list").empty();
+                        $(".border-none").removeClass("mask-hidden");
+                    }
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+var swiper = new Swiper('.swiper-container', {
+    slidesPerView: 5,
+    spaceBetween: 10,
+    pagination: {
+        el: '.swiper-pagination',
+        clickable: true,
+    },
+});
+////
+$(".order-list").on("tap", ".order-list-title", function() {
+    var _keyid = $(this).attr("keyid");
+    var _state = $(this).attr("state");
+    api.openWin({
+        name: 'orderdtl',
+        url: './orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid,
+            state: _state
+        }
+    });
+    return false;
+})
+$(".order-list").on("tap", ".order-list-goods", function() {
+    var _keyid = $(this).attr("keyid");
+    var _state = $(this).attr("state");
+    api.openWin({
+        name: 'orderdtl',
+        url: './orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid,
+            state: _state
+        }
+    });
+    return false;
+})
+$(".border-none").on("tap", function() {
+    api.openWin({
+        name: 'goodssearch',
+        url: '../../home/goodssearch.html',
+        bounces: false,
+        pageParam: {
+            orderid: _keyid
+        }
+    });
+    return false;
+})
+$(".swiper-slide").on("tap", function() {
+    lastpage = false;
+    $(".swiper-slide").removeClass("active");
+    $(this).addClass("active");
+    _state = $(this).attr("state_as");
+    _minid = '';
+    _page = '1';
+    // $(".order-list").empty();
+    _htmlstatus = true;
+    $(".border-none").addClass("mask-hidden");
+    getRouteData();
+    return false;
+})
+
+function refreshData() {
+    getRouteData();
+}
+</script>
+
+</html>

+ 254 - 0
html/hotel/frame2.html

@@ -0,0 +1,254 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/border.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/reset.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/swiper.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        .swiper-container {
+	      width: 100%;
+	      height: 100%;
+	    }
+	     .swiper-container{
+            width: 100%;
+            height: 0.5rem;
+        }
+        .swiper-slide{
+            text-align: center;
+            line-height: 0.5rem;
+            font-size: 0.28rem;
+        }
+        .active, .active span{
+            color: #d9251c;
+        }
+        .active span {
+        	border-bottom: 0.1em solid;
+        }
+        .white-back {
+            position: fixed;
+            z-index: 1;
+        }
+        .home-hotel-left img {
+            width: 100%;
+            height: auto;
+        }
+      </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section style="width:100%;" class="white-back">
+        <div class="home-search" style="margin-top: 0.26rem;">
+            <img src="../../image/search.png"> 搜索文章
+        </div>
+        <div style="padding-top: 0.2rem;">
+            <div class="swiper-container" style="padding-bottom: 0.1em;">
+                <div class="swiper-wrapper">
+                </div>
+            </div>
+    </section>
+    <section class="new-list" page="1" style="padding-top: 1.6rem"></section>
+    <div class="back-top mask-hidden" id="fix1"></div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/swiper.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _acid = '';
+var _minid = 1;
+apiready = function() {
+    setIosTopBar();
+    getCatogoryData();
+    getRouteData();
+    api.addEventListener({
+        name: 'scrolltobottom',
+        extra: {
+            threshold: 200
+        }
+    }, function(ret, err) {
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        $(".new-list").attr("page", "1");
+        getRouteData();
+    });
+};
+
+function getRouteData() {
+    var _page = $(".new-list").attr("page");
+    console.log(_page);
+    if ( _page == 'false' ) {
+        return false;
+    }
+    toast_loding_show();
+    $(".new-list").attr("page", "false");
+    $.ajax({
+        url: siteurl + 'v1/entry/news',
+        data: {
+            page: _page,
+            type: 'store',
+            ac_id: _acid,
+            page_size: 10
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                var _html = '';
+                $.each(datas.data.new_list, function(index, item) {
+                    _html += '<div class="h10"></div>';
+                    _html += '<div class="home-hotel-list" keyid="' + item.article_id + '"><div class="home-hotel-left"><img src="' + siteurl + "/" + item.article_thumb + '"/></div>';
+                    _html += '<div class="home-hotel-right"><div class="h2"></div>';
+                    _html += '<div class="find-list-dsc">' + item.article_title + '</div>';
+                    _html += ' <div class="find-list-time">' + item.article_time + '</div></div> </div>';
+                });
+                if ( _page == 1 ) {
+                    $(".new-list").html(_html);
+                }else{
+                    $(".new-list").append(_html);
+                }
+                if ( datas.data.new_list.length <= 0) {
+                    $(".new-list").attr("page", "false");
+                } else {
+                    _page++;
+                    $(".new-list").attr("page", _page);
+                }
+            }else{
+                errcode(datas, datas.code)
+            }
+            function_name();
+            return false;
+        }
+    });
+}
+
+function getCatogoryData() {
+    $.ajax({
+        url: siteurl + 'v1/entry/news_cate',
+        data: {
+            type: 'store'
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            // console.log(datas)
+            if (datas.result) {
+                var _html = '<div class="swiper-slide active" keyid=""><span>全部</span></div>';
+                $.each(datas.data, function(index, item) {
+                    _html += '<div class="swiper-slide" keyid="' + item.ac_id + '"><span>' + item.ac_name + '</span></div>';
+                });
+                $(".swiper-wrapper").html(_html);
+                var swiper = new Swiper('.swiper-container', {
+                    slidesPerView: 4,
+                    spaceBetween: 10,
+                    pagination: {
+                        el: '.swiper-pagination',
+                        clickable: true,
+                    },
+                });
+            }else{
+                errcode(datas, datas.code)
+            }
+            return false;
+        }
+    });
+}
+
+$(".swiper-wrapper").on("tap", ".swiper-slide", function() {
+    _acid = $(this).attr("keyid");
+    $(".new-list").attr("page", "1");
+    getRouteData();
+    return false;
+})
+$(".new-list").on("tap", ".home-hotel-list", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'finddetails',
+        url: '../find/finddetails.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+/////
+$(".home-search").on("tap", function() {
+    api.openWin({
+        name: 'findsearch',
+        url: '../find/findsearch.html',
+        bounces: false,
+        pageParam: {
+            keyid: 'store'
+        }
+    });
+    return false;
+})
+
+$(".back-top").on("tap", function() {
+    $('html , body').animate({ scrollTop: 0 }, 'slow');
+    return false;
+});
+
+$.fn.fixedDiv = function(actCls) {
+    var that = $(this),
+        offsetTop = that.offset().top,
+        scrollTop;
+
+    function fix() {
+        scrollTop = $(document).scrollTop();
+        if (scrollTop > offsetTop) {
+            that.removeClass(actCls);
+        } else {
+            that.addClass(actCls);
+        }
+    }
+    fix();
+    $(window).scroll(fix);
+}
+
+$('#fix1').fixedDiv('mask-hidden')
+
+$(".swiper-wrapper").on("tap", ".swiper-slide", function() {
+    $(".swiper-slide").removeClass("active");
+    $(this).addClass("active");
+    return false;
+})
+</script>
+
+</html>

+ 211 - 0
html/hotel/frame3.html

@@ -0,0 +1,211 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+      .border-none{
+          text-align:center;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+          width: 1.3rem;
+          height: 1.3rem;
+          border-radius:50%;
+          vertical-align:middle;
+        }
+        .setting-item{
+          height: 1rem;
+          line-height: 1rem;
+          font-size: 0.28rem;
+          width:100%;
+          border-bottom:1px solid #e8e8e8;
+          text-align:left;
+        }
+        .setting-item img{
+          width: 0.28rem;
+          vertical-align:middle;
+          margin-bottom:3px;
+        }
+         .setting-item input{
+           width:60%;
+           border-bottom:none;
+         }
+         .hotel-info{
+           width: 100%;
+           height: 3.5rem;
+           background: #D9251C;
+           position:relative;
+         }
+         .section-hotel{
+          border-top-right-radius: 0.2rem;
+          border-top-left-radius: 0.2rem;
+          background: #ffffff;
+          /*height: 100%*/
+         }
+         .hotel-info-cnt img{
+          width: 1.3rem;
+          height: 1.3rem;
+          border-radius: 50%;
+          vertical-align:middle;
+         }
+         .hotel-info-cnt{
+            padding: 1.1rem 0.45rem;
+            height: 1.3rem;
+            line-height: 1.3rem;
+
+         }
+         .store-name{
+            color: #FFFFFF;
+            padding-left: 0.3rem;
+            font-size: 0.35rem;
+         }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <div class="hotel-info">
+        <div class="hotel-info-cnt">
+          <img src="../../image/head.png" class="store-avatar" />
+          <span class="store-name"></span>
+        </div>
+    </div>
+    <section class="border-none section-hotel" style="">
+        <div class="setting-item" id="history">
+            历史消息 <span style="float:right;color:#cccccc;" class="iconfont">&#xe62e;</span>
+        </div>
+        <div class="setting-item" id="about">
+            关于我们 <span style="float:right;color:#cccccc;" class="iconfont">&#xe62e;</span>
+        </div>
+        <div class="setting-item" id="feed-back">
+            意见反馈 <span style="float:right;color:#cccccc;" class="iconfont">&#xe62e;</span>
+        </div>
+        <div class="h50"></div>
+        <div class="m-bottom" style="position: fixed;bottom: 0.5rem;width: 91.47%;">退出登录</div>
+        <div class="h20"></div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+apiready = function() {
+    setIosTopBar();
+    getRouteData();
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'scrolltobottom'
+    }, function(ret, err){
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'online'
+    }, function(ret, err){
+        getRouteData();
+    });
+};
+
+function getRouteData() {
+    $.ajax({
+        url: siteurl + 'v2/shop/info',//'?do=getstore',
+        data: {
+            store_id: $api.getStorage("storeid"),
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $(".store-avatar").attr("src", siteurl + "uploads/home/store/" + datas.data.store_id + "/" + datas.data.store_avatar);
+                $(".store-name").html(datas.data.store_name);
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+$("#about").on("tap", function() {
+    api.openWin({
+        name: 'about',
+        url: '../my/about.html',
+        bounces: false
+    });
+    return false;
+})
+$("#history").on("tap", function() {
+    api.openWin({
+        name: 'history',
+        url: 'history.html',
+        bounces: false
+    });
+    return false;
+})
+$("#feed-back").on("tap", function() {
+    api.openWin({
+        name: 'feedback',
+        url: '../my/feedback.html',
+        bounces: false
+    });
+    return false;
+})
+$(".m-bottom").on("tap", function() {
+    api.confirm({
+        title: '退出登录',
+        msg: '是否要退出登录?',
+        buttons: ['确定', '取消']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 1) {
+            $api.rmStorage("storeid");
+            $api.rmStorage("agent_id");
+            $api.rmStorage("accesstoken");
+            $api.rmStorage("memberid");
+            api.openWin({
+                name: 'login',
+                url: '../../login.html',
+                bounces: false
+            });
+            setTimeCloseWin("index");
+            setTimeCloseWin("hotelindex");
+            setTimeCloseWin("agentindex");
+            api.closeWin();
+        }
+    });
+    return false;
+})
+</script>
+
+</html>

+ 429 - 0
html/hotel/history.html

@@ -0,0 +1,429 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body {
+            background: #f2f2f2;
+        }
+        .msg-list{
+           height: 100%
+        }
+        .bgf2{
+            background: #f2f2f2;
+            height: auto;
+            padding-bottom: 1rem;
+        }
+        .msg-cent-list{
+           width: 100%;
+           /*height: 2.4rem;*/
+           background: #ffffff;
+           border-radius: 0.1rem;
+           padding: 0.3rem;
+           box-sizing: border-box;
+           position: relative;
+           /*box-shadow: darkgrey 0.1rem 0.1rem 0.3rem 0.05rem;*/
+        }
+        .msg-cent-right-title {
+            font-size: 0.3rem;
+            color: #333;
+        }
+        .msg-cent-list ul {
+            width: 100%;
+            display: inline-block;
+        }
+        .msg-cent-list li{
+          float: left;
+          width: 100%;
+        }
+        .msg-cent-right-dtl{
+          font-size: 0.26rem;
+          color: #999;
+        }
+        .msg-time{
+          color: #bbb;
+          width: 100%;
+          text-align:center;
+          padding: 0.3rem 0;
+          /*font-size: 0.22rem;*/
+        }
+        .member-avatar{
+          width: 0.3rem;
+          height: 0.3rem;
+          border-radius:50%;
+          vertical-align:middle;
+          margin-bottom: 0.05rem;
+        }
+        button.el-button {
+            background: #f2f2f2;
+            margin-left: 0.2rem;
+        }
+        button.el-button, .feed-btn,.tel-btn{
+          float:right;
+          font-size: 0.24rem;
+        }
+        .el-button.is-round {
+            border-radius: 0.5rem;
+            margin-top: -0.1rem;
+        }
+        .is_read div {
+            color: #ccc;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section style="background:#ffffff;">
+        <header class="back-header">
+            <ul>
+                <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+                <li class="back-header-title" id="header-title">历史消息</li>
+                <li class="more-btn"></li>
+            </ul>
+        </header>
+    </section>
+    <section class="msg-list padding-top">
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _storeid = '';
+var _minid = '';
+var _page = '1';
+var _myalias = '';
+var lastpage = false;
+var _reload = false;
+apiready = function() {
+    setFixStatusBar();
+    // getRouteData2();
+    getRouteData();
+    // set_height();
+    //setInterval(function(){getRouteData();},8000);
+    _myalias = "store" + $api.getStorage("storeid");
+    // jpushInit();
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        // $(".msg-list").empty();
+        _reload = true;
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'viewappear'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        // $(".msg-list").empty();
+        _reload = true;
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'scrolltobottom'
+    }, function(ret, err){
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'swipedown'
+    }, function(ret, err){
+        toRefrash();
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        _reload = true;
+        setRefrashHeader();
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'online'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        _reload = true;
+        getRouteData();
+    });
+    api.addEventListener({
+        name: 'swipeup'
+    }, function(ret, err) {
+        api.refreshHeaderLoadDone()
+    });
+};
+
+
+//del
+function getRouteData2() {
+    $.ajax({
+        url: rooturl + '?do=getstore',
+        data: {
+            storeid: $api.getStorage("storeid"),
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas) {
+                $("#header-title").html(datas.store_name);
+            }
+            set_height();
+        }
+    });
+}
+
+function getRouteData() {
+    if (lastpage) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v2/shop/msg_list',//'?do=gethotelmsg',
+        data: {
+            store_id: $api.getStorage("storeid"),
+            minid: _minid,
+            page: _page
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.data.msg_list.length > 0) {
+                    var _html = '';
+                    $.each(datas.data.msg_list, function(index, item) {
+                        _html += '<div class="msg-time" keyid="' + item.order_id + '">' + item.add_time + '</div>';
+                        if (item.is_read == 0) {
+                            _html += '<div class="msg-cent-list" keyid="' + item.order_id + '" tag="' + item.types + '"><ul>';
+                        }else{
+                            _html += '<div class="msg-cent-list is_read" keyid="' + item.order_id + '" tag="' + item.types + '"><ul>';
+                        }
+                        _html += '<li class="msg-cent-right"><div class="msg-cent-right-title">' + item.status + '</div>';
+                        _html += '<div class="h50"></div>';
+                        _html += '<div class="msg-cent-right-dtl">订单号:' + item.order_sn + ' </div>';
+                        _html += '<div class="msg-cent-right-dtl" style="padding-top: 0.1rem;">' + item.content + '</div>';
+                        _html += '<div class="h50"></div>';
+                        _html += '<div style="font-size: 0.24rem;"><img src="' + item.member_avatar + '" class="member-avatar" /> ' + item.member_truename + '<button type="button" class="el-button el-button--default is-round"><span class="feed-btn" keyid="' + item.order_id + '" msgid="' + item.id + '" memberid="' + item.member_id + '">回复</span></button><button type="button" class="el-button el-button--default is-round"><span class="tel-btn" tel="' + item.member_mobile + '">致电</span></button></div>';
+                        _html += ' </li></ul></div>';
+                    });
+                    if (_reload) {
+                        $(".msg-list").html(_html);
+                        _reload = false;
+                    }else{
+                        $(".msg-list").append(_html);
+                    }
+                    if (datas.data.msg_list.length > 0) {
+                        // _minid = datas[datas.length - 1].id;
+                        _page++;
+                    }
+                    $(".msg-list").addClass('bgf2');
+                } else {
+                    lastpage = true;
+                    api.toast({ msg: '没有更多数据...' });
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+
+function set_height() {
+    api.execScript({
+        name: 'hotelindex',
+        script: 'set_height();'
+    })
+}
+
+$(".msg-list").on("tap", ".feed-btn", function() {
+    var _keyid = $(this).attr("keyid");
+    var _memberid = $(this).attr("memberid");
+    var _msgid = $(this).attr("msgid");
+    api.openWin({
+        name: 'urge',
+        url: './urge.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid,
+            memberid: _memberid,
+            msgid: _msgid
+        }
+    });
+    return false;
+})
+
+$(".msg-list").on("tap", ".tel-btn", function() {
+    var _tel = $(this).attr("tel");
+    api.call({
+        type: 'tel_prompt',
+        number: _tel
+    });
+    return false;
+})
+
+$(".msg-list").on("tap", ".msg-cent-list", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'orderdtl',
+        url: './orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+
+function setRefrashHeader(){
+    api.setCustomRefreshHeaderInfo({
+        //bgColor: '#00FF00',
+         image: {
+            pull: 'widget://image/logo.png',
+            transform: [
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png'
+            ],
+            load: [
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png',
+                'widget://image/logo.png'
+            ]
+        }
+    }, function( ret, err ){
+        // alert('下拉刷新事件触发了,请开始加载数据刷新页面,然后停止加载状态');
+        setTimeout(stopRefrash(), 3000);
+    });
+}
+
+function toRefrash(){
+    api.refreshHeaderLoading();
+}
+
+function stopRefrash(){
+    api.refreshHeaderLoadDone();
+}
+        
+
+function jpushInit() {
+    jpush = api.require('ajpush');
+    initJPush();
+    /*api.addEventListener({name:'appintent'}, function(ret,err) {//anz noticeclicked
+        //alert('通知被点击,收到数据:\n' + JSON.stringify(ret));//监听通知被点击后收到的数据
+       _minid='';$(".msg-list").empty();getRouteData();
+    })*/
+    api.addEventListener({ name: 'noticeclicked' }, function(ret, err) { //ios noticeclicked
+        var _value = ret.value.replace(/\\/g, "");
+        var obj = eval('(' + _value + ')');
+        if (obj.jump == "neworder") {
+            api.openWin({
+                name: 'frame1',
+                url: './frame1.html',
+                bounces: false
+            });
+        }
+    })
+    api.addEventListener({ name: 'pause' }, function(ret, err) {
+        onPause(); //监听应用进入后台,通知jpush暂停事件
+    })
+
+    api.addEventListener({ name: 'resume' }, function(ret, err) {
+        onResume(); //监听应用恢复到前台,通知jpush恢复事件
+    })
+
+    api.addEventListener({ name: 'noticeclicked' }, function(ret, err) { //ios noticeclicked
+        _minid = '';
+        // $(".msg-list").empty();
+        _page = '1';
+        _reload = true;
+        getRouteData();
+    })
+    api.removeEventListener({
+        name: 'noticeclicked'
+    });
+    jpush.setListener(function(ret, err) {
+        if (ret) {
+            notify(ret.content, ret.extra);
+        }
+    });
+}
+
+function initJPush() {
+    jpush.init(function(ret, err) {
+        if (ret && ret.status) {
+            bindAliasAndTags();
+        } else {
+            api.toast({ msg: '操作失败!' });
+        }
+    });
+}
+//统计-app恢复
+function onResume() {
+    jpush.onResume();
+}
+
+//统计-app暂停
+function onPause() {
+    jpush.onPause();
+}
+
+function bindAliasAndTags() {
+    var param = { alias: _myalias, tags: ['tag1', 'qdduser'] };
+    jpush.bindAliasAndTags(param, function(ret) {
+        var statusCode = ret.statusCode;
+        // alert(JSON.stringify(ret));
+    });
+}
+
+
+function notify(content, extras) {
+    api.notification({
+        vibrate: [100, 500, 200, 500, 300, 500],
+        sound: 'widget://res/horse.ogg',
+        notify: {
+            title: '您有一条新的消息...',
+            content: content,
+            extra: extras,
+            updateCurrent: false
+        }
+    }, function(ret, err) {
+        //alert(JSON.stringify(extras));
+    });
+}
+</script>
+
+</html>

+ 165 - 0
html/hotel/index.html

@@ -0,0 +1,165 @@
+<!doctype html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>底部导航</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        header{ background-color: #f2f2f2; }
+        header ul li { height: 50px; line-height: 50px; text-align: center; display: none; color: #323237; position: relative;font-size: 18px;  }
+        header ul li.active{ display: block; }
+        #footer ul li.active{ color: #D9251C; }
+        #footer ul li:nth-child(1){ background-image: url(../../image/bottombtn0101.png); }
+        #footer ul li:nth-child(2){ background-image: url(../../image/bottombtn0301.png); }
+        #footer ul li:nth-child(3){ background-image: url(../../image/bottombtn0201.png); }
+        #footer ul li:nth-child(4){ background-image: url(../../image/bottombtn0401.png); }
+        #footer ul li:nth-child(1).active{ background-image: url(../../image/bottombtn0102.png); }
+        #footer ul li:nth-child(2).active{ background-image: url(../../image/bottombtn0302.png); }
+        #footer ul li:nth-child(3).active{ background-image: url(../../image/bottombtn0202.png); }
+        #footer ul li:nth-child(4).active{ background-image: url(../../image/bottombtn0402.png); }
+        .flex-con{
+            overflow: auto
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div id="wrap" class="flex-wrap flex-vertical">
+        <header style="display: none;">
+            <ul>
+                <li class="border-b active"></li>
+                <li class="border-b"></li>
+                <li class="border-b"></li>
+                <li class="border-b"></li>
+            </ul>
+        </header>
+        <div id="main" class="flex-con">
+        </div>
+        <div id="footer" class="border-t">
+            <ul class="flex-wrap">
+                <li tapmode="hover" onclick="randomSwitchBtn( this );" class="flex-con active">首页</li>
+                <li tapmode="hover" onclick="randomSwitchBtn( this );" class="flex-con">订单</li>
+                <li tapmode="hover" onclick="randomSwitchBtn( this );" class="flex-con">发现</li>
+                <li tapmode="hover" onclick="randomSwitchBtn( this );" class="flex-con">我的</li>
+            </ul>
+        </div>
+    </div>
+</body>
+
+</html>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript">
+apiready = function() {
+    $api.fixStatusBar($api.dom('header'));
+    api.setStatusBarStyle({
+        style: 'dark',
+        color: '#fff'
+    });
+    funIniGroup();
+    setBackDisable();
+    //$api.setStorage("storeid",2);
+}
+
+function funIniGroup() {
+    var eHeaderLis = $api.domAll('header li'),
+        frames = [];
+    for (var i = 0, len = eHeaderLis.length; i < len; i++) {
+        if (i == 0) {
+            frames.push({
+                name: 'frame' + i,
+                url: './frame' + i + '.html',
+                bgColor: 'rgba(0,0,0,.2)',
+                customRefreshHeader: 'UIPullRefresh',
+                bounces: true,
+                vScrollBarEnabled: false,
+                hScrollBarEnabled: false,
+                slidBackEnabled: false
+            })
+        } else {
+            frames.push({
+                name: 'frame' + i,
+                url: './frame' + i + '.html',
+                bgColor: 'rgba(0,0,0,.2)',
+                bounces: false,
+                vScrollBarEnabled: false,
+                hScrollBarEnabled: false,
+                slidBackEnabled: false
+            })
+        }
+    }
+    api.openFrameGroup({
+        name: 'group',
+        scrollEnabled: false,
+        rect: {
+            x: 0,
+            // y: $api.dom('header').offsetHeight,
+            y: document.querySelector( 'header' ).offsetHeight,
+            // w: 'auto',//api.winWidth,
+            // h: 'auto'//$api.dom('#main').offsetHeight
+            h: api.winHeight - document.querySelector( 'header' ).offsetHeight
+        },
+        index: 0,
+        frames: frames
+    }, function(ret, err) {
+
+    });
+}
+
+function set_height() {
+    api.setFrameGroupAttr({
+        name: 'group',
+        rect: {
+            x: 0,
+            y: $api.dom('header').offsetHeight,
+            w: api.winWidth,
+            h: $api.dom('#main').offsetHeight
+        }
+    })
+}
+
+// 随意切换按钮
+function randomSwitchBtn(tag) {
+    if (tag == $api.dom('#footer li.active')) return;
+    var eFootLis = $api.domAll('#footer li'),
+        eHeaderLis = $api.domAll('header li'),
+        index = 0;
+    for (var i = 0, len = eFootLis.length; i < len; i++) {
+        if (tag == eFootLis[i]) {
+            index = i;
+        } else {
+            $api.removeCls(eFootLis[i], 'active');
+            $api.removeCls(eHeaderLis[i], 'active');
+        }
+    }
+    $api.addCls(eFootLis[index], 'active');
+    $api.addCls(eHeaderLis[index], 'active');
+    api.setFrameGroupIndex({
+        name: 'group',
+        index: index
+    });
+}
+</script>

+ 415 - 0
html/hotel/orderdtl.html

@@ -0,0 +1,415 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{background: #f2f2f2;}
+        .order-status{
+            font-size: 0.26rem;
+            width: 100%;
+            padding: 0.21rem 0;
+            margin-bottom: 0.17rem;
+        }
+        .order-postaddr{
+            width: 100%;
+            padding: 0.32rem 0;
+        }
+
+        #state-btn{
+          width:100%;
+        }
+        .order-btn{
+          width:100%;
+          background:#ffffff;
+          border-top:1px solid #e8e8e8;
+          position:fixed;
+          bottom:0px;
+        }
+        .order-btn li{
+          float:left;
+          width:50%;
+          height: 0.9rem;
+          line-height: 0.9rem;
+          text-align:center;
+          font-size: 0.32rem;
+          border-right:1px solid #e8e8e8;
+          box-sizing:border-box;
+        }
+		.to-pay{
+		  color:#ffffff; background:#A13532;
+		}
+        .order-list {
+            margin-bottom: 0.9rem;
+        }
+        .order-list-right p {
+            font-size: 0.22rem;
+            color: #999;
+            /*height: 1.04rem;*/
+        }
+        p.font-size-18 {
+            color: #666;
+            height: auto;
+        }
+        .hx {
+            background: #f2f2f2;
+            margin: 0 0 0 -0.32rem;
+            width: 7.5rem;
+            height: 0.2rem;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">订单详情</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="white-back padding-top">
+        <div id="order-status" class="order-status"></div>
+    </section>
+    <section class="white-back" style="margin-bottom: 0.17rem;">
+        <div class="order-postaddr">
+            <span id="contact-name"></span>
+            <p id="contact-addr"></p>
+        </div>
+    </section>
+    <section class="order-list white-back">
+    </section>
+    <div id="state-btn">
+    </div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+apiready = function() {
+    _keyid = api.pageParam.keyid;
+    setIosTopBar();
+    if (_keyid) {
+        getRouteData(_keyid);
+        // getAddrData(_keyid);
+    } else {
+        api.toast({ msg: '参数错误' });
+    }
+};
+
+function getRouteData(_keyid) {
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v2/order/info',//'?do=getorder',
+        data: {
+            // store_id: $api.getStorage("storeid"),
+            order_id: _keyid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                toast_loding_hide();
+                var _html = '';
+                var item = datas.data;
+                // $.each(datas.data, function(index, item) {
+                    var _a_img = '';
+                        var _a_name = '';
+                        item.member_avatar ? _a_img = item.member_avatar : _a_img ='../../image/head.png';
+                        item.member_truename ? _a_name = item.member_truename : _a_name = item.buyer_name;
+                    _html += '<div class="order-list-title" state="' + item.order_state + '" keyid="' + item.order_id + '"><img src="' + _a_img + '"/> ' + _a_name + '</div>';
+                    $.each(item.goods, function(index2, item2) {
+                        var arr = item2.goods_name.split(" ");
+                        var name_arr = arr[0];
+                        var size_arr = item2.goods_name.replace(name_arr, "");
+                        _html += '<div class="order-list-goods"><ul><li><img src="' + siteurl + "uploads/home/store/goods/" + item2.goods_image.substr(0, item2.goods_image.indexOf("\_")) + "/" + item2.goods_image + '"/></li>';
+                        _html += '<li class="order-list-right"><span>' + name_arr + '</span><p>' + size_arr + '  x' + item2.goods_num + '</p>';
+                        _html += '<p class="font-size-18">¥' + item2.goods_price + '</p></li>';
+                        _html += '</ul></div><div class="h2"></div>';
+                    });
+                    _html += '<div class="order-list-title" style="border-bottom:none;border-top: 1px solid #e8e8e8;">合计:¥' + item.order_amount + '</div>';
+                    _html += '<div class="hx"></div>';
+                    if (item.shipping_code) {
+                        _html += '<div class="order-list-title" style="border-bottom:none;">快递单号:' + item.shipping_code + '&nbsp;&nbsp;(&nbsp;'+item.express_name +'&nbsp;)</div><div class="hx"></div>';
+                    }
+                    $("#contact-name").html(datas.data.reciver_name + " " + datas.data.reciver_info.phone);
+                    $("#contact-addr").html(datas.data.reciver_info.address);
+                    item.payment_time = item.payment_time ? item.payment_time : '未支付';
+                    item.delay_time = item.delay_time ? item.delay_time : '未发货';
+                    item.finnshed_time = item.finnshed_time ? item.finnshed_time : '未确认';
+                    _html += '<div class="order-list-title" style="border-bottom:none;">下单时间:' + item.add_time + '</div>';
+                    _html += '<div class="order-list-title" style="border-bottom:none;">支付订单:' + item.payment_time + '</div>';
+                    _html += '<div class="order-list-title" style="border-bottom:none;">商家发货:' + item.delay_time + '</div>';
+                    _html += '<div class="order-list-title" style="border-bottom:none;">订单完成:' + item.finnshed_time + '</div>';
+                    // _html += '</section>';
+                // });
+                $(".order-list").append(_html);
+                $("#order-status").html(datas.data.status);
+                    $("#state-btn").append('<div class="order-btn"><ul><li style="width: 100%;" class="tel-btn" tel="' + datas.data.reciver_info.phone + '">联系买家</li></ul></div>');
+                if (datas.data.order_state == 10) {
+                    //$("#state-btn").append('<div class="order-btn"><ul><li  id="order-cancel" >取消订单</li><li class="to-pay" keyid="'+datas[0].order_id+'">去付款(¥'+datas[0].order_amount+')</li></ul></div>');
+                }
+                if (datas.data.order_state == 20) {
+                    if (datas.data.shipping_type == 0) {
+                        //$("#state-btn").append('<div  class="order-btn"  id="order-cancel" ><ul><li>取消订单</li><li class="urge" keyid="'+datas[0].order_id+'">催单</li></ul></div>');
+                    } else if (datas.data.shipping_type == 1) {
+                        //$("#state-btn").append('<div  class="order-btn"  id="order-cancel" ><ul><li>取消订单</li><li class="contacthotel" keyid="'+datas[0].order_id+'">联系酒店</li></ul></div>');
+                        $("#state-btn").append('<div  class="order-btn"  id="order-deliver" ><ul><li style="width:100%;border-right:none;">发货</li></ul></div>');
+                    }
+                }
+                if (datas.data.order_state == 30) {
+                    ///$("#state-btn").append('<div  class="order-btn"  id="order-cancel" ><ul><li>取消订单</li><li class="confirm">确认收货</li></ul></div>');
+                }
+                if (datas.data.order_state == 40) {
+                    //$("#state-btn").append('<div  class="order-btn"  id="order-cancel" ><ul><li>退货退款</li><li class="evaluate">去评价</li></ul></div>');
+                }
+                if (datas.data.order_state == 0) {
+                    // $("#state-btn").append('<div  class="order-btn"  id="order-del" ><ul><li style="width:100%;border-right:none;">删除订单</li></ul></div>');
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+///
+function getAddrData(_keyid) {
+    $.ajax({
+        url: rooturl + '?do=getordercommon',
+        data: {
+            order_id: _keyid
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            $("#contact-name").html(datas.reciver_name + " " + datas.reciver_info.phone);
+            $("#contact-addr").html(datas.reciver_info.address);
+        }
+    });
+}
+///
+$("#state-btn").on("tap", ".to-pay", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'paymode',
+        url: '../home/paymode.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$("#state-btn").on("tap", ".urge", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'urge',
+        url: './urge.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$("#state-btn").on("tap", ".contacthotel", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'contacthotel',
+        url: './contacthotel.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$("#state-btn").on("tap", "#order-cancel", function() {
+    api.confirm({
+        title: '是否取消订单',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            toast_loding_show();
+            $.ajax({
+                url: siteurl + 'v2/order/cancel',
+                data: {
+                    order_id: _keyid,
+                    memberid: $api.getStorage("memberid"),
+                    type: 'hotel'
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    toast_loding_hide();
+                    if (datas.result) {
+                        api.toast({ msg: '操作成功!' });
+                        refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+
+$("#state-btn").on("tap", ".tel-btn", function() {
+    var _tel = $(this).attr("tel");
+    api.call({
+        type: 'tel_prompt',
+        number: _tel
+    });
+    return false;
+})
+////////
+$("#state-btn").on("tap", "#order-return", function() {
+    api.confirm({
+        title: '是否同意退换货',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            toast_loding_show();
+            $.ajax({
+                url: siteurl + 'v2/order/refund',
+                data: {
+                    order_id: _keyid,
+                    memberid: $api.getStorage("memberid"),
+                    type: 'user'
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    toast_loding_hide();
+                    if (datas.result) {
+                        api.toast({ msg: '操作成功!' });
+                        refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+///////
+$("#state-btn").on("tap", "#order-deliver", function() {
+    api.confirm({
+        title: '是否确认发货',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            $.ajax({
+                url: siteurl + 'v2/order/deliver',//'?do=orderdeliver',
+                data: {
+                    order_id: _keyid
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    if (datas.result) {
+                        api.toast({ msg: '操作成功!' });
+                        ///refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+$("#state-btn").on("tap", ".evaluate", function() {
+    api.openWin({
+        name: 'evaluate',
+        url: './evaluate.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$("#state-btn").on("tap", "#order-del", function() {
+    api.confirm({
+        title: '是否要删除订单',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            $.ajax({
+                url: siteurl + 'v2/order/drop',//'?do=orderdel',
+                data: {
+                    order_id: _keyid,
+                    memberid: $api.getStorage("memberid")
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    if (datas.result) {
+                        api.toast({ msg: '操作成功!' });
+                        refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+
+function refreshData() {
+    api.execScript({
+        name: 'index',
+        frameName: 'frame1',
+        script: 'getRouteData();'
+    });
+}
+</script>
+
+</html>

+ 141 - 0
html/hotel/urge.html

@@ -0,0 +1,141 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css?v=1.2" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{}
+        .evaluate-item{
+             height:50px;
+             line-height:50px;
+             font-size:18px;
+             background:#ffffff;
+             /*border-bottom:1px solid #e8e8e8;*/
+             position:relative;
+        }
+        .my-rating{
+            position:absolute;
+            left:50px;
+            top:5px;
+        }
+        .back-item{
+          width:100%;
+          padding:10px;
+          text-align:center;
+          /*border-bottom: 1px solid #e8e8e8;*/
+          box-sizing: border-box;
+        }
+        .back-item img{
+          width:20px;
+        }
+        textarea{
+         width:100%;
+         height: 2rem;
+         font-size: 0.28rem;
+         line-height: 0.38rem;
+         padding: 0.5em;
+         box-sizing: border-box;
+         -webkit-appearance: none;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">回复</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="white-back padding-top">
+        <div class="back-item" style="position:relative;" id="wordCount">
+            <textarea row="5" id="content" maxlength="100" placeholder="填写回复内容"></textarea>
+            <!-- <span style="position:absolute;right:10px;bottom:5px;"><span id="count-txt">0</span>/100</span> -->
+            <span class="wordwrap"><var class="word">100</var>/ 100</span>
+        </div>
+        <div class="h5"></div>
+        <div class="m-bottom">提交</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
+<script type="text/javascript">
+var _geval_orderid = '';
+var _member_id = '';
+var _msgid = '';
+apiready = function() {
+    _geval_orderid = api.pageParam.keyid;
+    _member_id = api.pageParam.memberid;
+    _msgid = api.pageParam.msgid;
+    setFixStatusBar();
+};
+$(function() {
+    var wordCount = $("#wordCount"), textArea = wordCount.find("textarea"), word = wordCount.find(".word");
+    statInputNum(textArea, word);
+})
+$(".m-bottom").on("tap", function() {
+    if ($("#content").val() == "") {
+        api.toast({ msg: '请填写回复内容!' });
+        return false;
+    }
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v2/shop/msg_reply',//'?do=savehotelurge',
+        data: {
+            order_id: _geval_orderid,
+            member_id: _member_id,
+            id: _msgid,
+            content: $("#content").val(),
+            store_id: $api.getStorage("storeid")
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                api.toast({ msg: "提交成功,回复通知已发出!" });
+                setTimeCloseWin("urge");
+            } else {
+                // api.toast({ msg: '提交失败!' });
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    return false;
+})
+
+</script>
+
+</html>

+ 112 - 0
html/my/about.html

@@ -0,0 +1,112 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        .about-img{
+          width:100%;
+          /*height:100%;*/
+          text-align:center;
+          overflow:hidden;
+        }
+        .login-logo {
+            margin-top: 27%;
+        }
+        .copyright{
+          position:absolute;
+          bottom: 0.33rem;
+          left:0px;right:0px;
+          font-size: 0.28rem;
+        }
+        .weui-btn_plain-default {
+            color: #606266;
+            border: 1px solid #606266;
+        }
+    </style>
+    <script>
+    (function(window) {
+        var winW = document.documentElement.clientWidth || window.innerWidth || document.body.clientWidth;
+        if (winW > 750) {
+            winW = 750;
+        }
+        document.documentElement.style.fontSize = winW / 7.5 + "px";
+        window.onresize = function() {
+            var winW = document.documentElement.clientWidth || window.innerWidth || document.body.clientWidth;
+            // document.body.clientWidth;
+            if (winW > 750) {
+                winW = 750;
+            }
+            document.documentElement.style.fontSize = winW / 7.5 + "px";
+        }
+    }(window));
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">关于我们</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <div class="about-img padding-top">
+        <div class="login-logo">
+            <img src="../../image/logo2.png" />
+            <p>版本号:<span class="version">1.0.00</span></p>
+            <a href="javascript:qz_update();" id="is_update_btn" class="weui-btn weui-btn_plain-default" style="margin-top: 3rem;">检查更新</a>
+            <a href="javascript:go_privacy();" class="weui-btn weui-btn_plain-default" id="privacy">隐私声明</a>
+        </div>
+        <div class="copyright">Copyright@2019 Qzaiwang All Rights Reserved</div>
+    </div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+apiready = function() {
+    var appVersion = api.appVersion;
+    setFixStatusBar();
+    is_ios();
+    $(".version").text(appVersion);
+};
+
+function go_privacy() {
+    api.openWin({
+        name: 'privacy',
+        url: './privacy.html',
+        bounces: false
+    });
+    return false;
+}
+
+function is_ios() {
+    // body...
+    if ( api.systemType == "android" ) {
+        var mam = api.require('mam');
+        mam.checkUpdate(function(ret, err){
+            if (ret) {
+                var result = ret.result;
+                if (result.update == true && result.closed == false) {
+                    $("#is_update_btn").append('<span class="weui-badge weui-badge_dot" style="margin-top: -22px;"></span>');
+                }
+            }
+        })
+    } else {
+        $("#is_update_btn").html('');
+        $("#is_update_btn").removeClass("weui-btn");
+        $("#is_update_btn").removeClass("weui-btn_plain-default");
+    }
+}
+
+</script>
+
+</html>

+ 268 - 0
html/my/appagent.html

@@ -0,0 +1,268 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        .border-none{
+          text-align:center;font-size: 0.28rem;padding-top: 1.3rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+          padding-top: 0.8rem;
+          width:80px;
+          height:80px;
+          height:auto;
+          border-radius:50%;
+        }
+        .setting-item{
+          height: 1rem;
+          line-height: 1rem;
+          width:100%;
+          border-bottom:1px solid #e8e8e8;
+          text-align:left;
+          font-size: 0.28rem;
+          text-indent: 0.5em;
+        }
+        .setting-item img{
+          width:19px;
+          vertical-align:middle;
+          margin-bottom:3px;
+        }
+         .setting-item input{
+           width:68%;
+           border-bottom:none;
+         }
+         .apply-title{
+           width: 1.55rem;
+           float:left;
+           font-size: 0.28rem;;
+         }
+         .image-list{
+           width:100%;
+         }
+         .setting-item p{
+            font-size: 0.28rem;;
+         }
+         .back-header-title {
+         	font-size:  0.38rem;
+         }
+         .bot-input {
+         	padding: 0 0 0 0.25rem;
+         }
+         .bot-input {
+         	font-size: 0.28rem;
+         }
+        .close_btn {
+            position: absolute;
+            margin-left: -0.52rem;
+            color: #d9251c;
+        }
+        .image-list .img_item {
+            float: left;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+<body>
+    <div class="topbar"></div>
+ <header class="back-header back-header-bottom">
+	<ul>
+		<li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png"/></li>
+		<li class="back-header-title">申请代理</li>
+		<li class="more-btn"></li>
+	</ul>
+</header>
+ <section class="border-none padding-top">
+	<div class="setting-item">
+	<span class="apply-title">姓名 </span><input class="bot-input" id="contacts_name" type="text" placeholder="请输入您的姓名"/>
+	</div>
+	<div class="setting-item">
+	 <span class="apply-title">手机号码</span><input class="bot-input" id="contacts_phone" type="tel" placeholder="请输入您的手机号码"/>
+	</div>
+	<div class="setting-item">
+	 <span class="apply-title">身份证号</span><input class="bot-input" id="contacts_number" type="text" placeholder="请输入您的身份证号"/>
+	</div>
+	<div class="setting-item">
+	 <span class="apply-title">联系地址</span><input class="bot-input" id="contacts_address" type="text" placeholder="请输入联系地址"/>
+	</div>
+	<div class="setting-item" style="height: auto;border-bottom:none;">
+	  <div class="h5"></div>
+	 <div class="image-list">
+	 	<span></span>
+	 	<img id="select-image" src="../../image/addimg.png" style="width: 0.86rem;" />
+	 </div>
+	 	<p>须上传营业执照和手持身份证照</p>
+	</div>
+     <div class="h50"></div>
+     <div class="m-bottom">申请代理</div>
+     <div class="h10"></div>
+     <div class="setting-item" style="text-align: center;font-size: 0.28rem;border-bottom:none;display: none;">申请即代表同意《用户注册协议》</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+    var _imgArr=[];
+    var _tImgArr = [];
+	apiready = function(){
+		setFixStatusBar();
+	};
+	$(".m-bottom").on("tap",function(){
+	    if($("#contacts_name").val()==""){
+	       api.toast({msg:'您的姓名不能为空!'}); return false;
+	    }
+	    var phone = $("#contacts_phone").val();
+	    if(!(/^1[3456789]\d{9}$/.test(phone))){
+	    	api.toast({msg:'您的手机号不正确!'}); return false;
+	    }
+	     if($("#contacts_number").val()==""){
+	       api.toast({msg:'您的身份证号不能为空!'}); return false;
+	    }
+	     if($("#contacts_address").val()==""){
+	       api.toast({msg:'联系地址不能为空!'}); return false;
+	    }
+	    _imgArr.splice(0, _imgArr.length);
+	    $(".image-list .img_item").each(function(){
+	    	var _src = $(this).data("img");
+	    	_imgArr.push(_src);
+	    });
+	    if(_imgArr.length<2){
+	        api.toast({msg:'须上传营业执照和手持身份证照'});return false;
+	    }
+	    toast_loding_show();
+		$.ajax({
+			url: siteurl + 'v2/member/application',//'?do=appagent',
+			data : {
+			   contacts_name: $("#contacts_name").val(),
+			   contacts_phone: $("#contacts_phone").val(),
+			   contacts_number: $("#contacts_number").val(),
+			   contacts_address: $("#contacts_address").val(),
+			   memberid: $api.getStorage("memberid"),
+			   licence_image: _imgArr.toString(),
+			   join_type: 0
+			},
+			headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+			dataType : 'json', 
+			type : 'post', 
+			success : function(datas) {
+				toast_loding_hide();
+		    	if(datas.result){
+					api.alert({
+					    title: '提交成功',
+					    msg: '申请已提交,我们在3个工作日内完成审核,有什么问题也可以联系客服',
+					}, function(ret, err) {
+					    api.closeWin();
+					});
+		    	} else {
+		    		errcode(datas, datas.code);
+		    	}
+			}
+		});
+		return false;
+	})
+	$("#select-image").on("tap",function(){
+        if (_tImgArr.length < 3) {
+        var has = hasPermission('storage');
+    if(!has || !has[0] || !has[0].granted){
+        api.confirm({
+            title: '提醒',
+            msg: "没有获得 存储 权限\n是否前往设置?",
+            buttons: ['去设置', '取消']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 1) {
+                reqPermission('storage');
+            } else {
+               api.toast({ msg: '获取存储权限失败...' }); 
+            }
+        });
+        // $(".border-none").removeClass("mask-hidden");
+        return false;
+    }
+	  api.getPicture({
+		    sourceType: 'album',
+		    encodingType: 'jpg',
+		    mediaValue: 'pic',
+		    destinationType: 'url',
+		    allowEdit: false,
+		    quality: 100,
+		    // targetWidth: 600,
+		    // targetHeight: 600,
+		    saveToPhotoAlbum: false
+		}, function(ret, err) {
+		    if (ret) {
+		       upimg(ret.data);
+		    }
+		});
+        } else {
+            api.toast({ msg: '上传不能超过3张图片' });
+        }
+	})
+	
+function upimg(files) {
+    if (files) {
+        api.ajax({
+            url: siteurl + 'v2/upload/tmp',//'?do=upfile',
+            method: 'post',
+            data: {
+                files: {
+                    file: files
+                }
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") }
+        }, function(ret, err) {
+            if (ret) {
+                _tImgArr.push(ret.data);
+                create_html(_tImgArr);
+            }
+        });
+    }
+}
+
+function create_html(list){
+    var html = '';
+    for(var i in list){
+        html += '<div class="img_item" data-img="'+list[i].file_name+'"><img id="select-image" class="select-image" src="' + list[i].url + '" style="width: 1.6rem;margin-right: 0.2rem;"/><span class="close_btn iconfont icon-guanbi" data-index="'+i+'"></span></div>'
+    }
+    $(".image-list span").html(html);
+}
+
+
+$(".image-list").on("tap", ".close_btn", function() {
+    // console.log(this)
+    _tImgArr.splice($(this).data('index')*1, 1);
+    create_html(_tImgArr);
+});
+
+</script>
+</html>

+ 285 - 0
html/my/apphotel.html

@@ -0,0 +1,285 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        .border-none{
+          text-align:center;font-size: 0.28rem;padding-top: 1.3rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+          padding-top: 0.8rem;
+          width:80px;
+          height:80px;
+          height:auto;
+          border-radius:50%;
+        }
+        .setting-item{
+          height: 1rem;
+          line-height: 1rem;
+          width:100%;
+          border-bottom:1px solid #e8e8e8;
+          text-align:left;
+          font-size: 0.28rem;
+          text-indent: 0.5em;
+        }
+        .setting-item img{
+          width:19px;
+          vertical-align:middle;
+          margin-bottom:3px;
+        }
+         .setting-item input{
+           width:68%;
+           border-bottom:none;
+         }
+         .apply-title{
+           width: 1.55rem;
+           float:left;
+           font-size: 0.28rem;;
+         }
+         .image-list{
+           width:100%;
+         }
+         .setting-item p{
+            font-size: 0.28rem;;
+         }
+         .back-header-title {
+            font-size:  0.38rem;
+         }
+         .bot-input {
+            padding: 0 0 0 0.25rem;
+         }
+         .bot-input {
+            font-size: 0.28rem;
+         }
+        .close_btn {
+            position: absolute;
+            margin-left: -0.52rem;
+            color: #d9251c;
+        }
+        .image-list .img_item {
+            float: left;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn" style="width:20%"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title" style="width:60%">申请酒店入驻</li>
+            <li class="more-btn" style="width:20%"></li>
+        </ul>
+    </header>
+    <section class="border-none padding-top">
+        <div class="setting-item">
+            <span class="apply-title">酒店名称 </span><input class="bot-input" id="hotel_name" type="text" placeholder="请输入酒店名称" />
+        </div>
+        <div class="setting-item">
+            <span class="apply-title">酒店地址 </span><input class="bot-input" id="contacts_address" type="text" placeholder="请输入酒店地址" />
+        </div>
+        <div class="setting-item">
+            <span class="apply-title">负责人</span><input class="bot-input" id="contacts_name" type="text" placeholder="请输入负责人姓名" />
+        </div>
+        <div class="setting-item">
+            <span class="apply-title">手机号码</span><input class="bot-input" id="contacts_phone" type="text" placeholder="请输入负责人手机号码" />
+        </div>
+        <div class="setting-item">
+            <span class="apply-title">身份证号</span><input class="bot-input" id="contacts_number" type="text" placeholder="请输入负责人身份证号" />
+        </div>
+        <div class="setting-item" style="height: auto;border-bottom:none;">
+            <div class="h5"></div>
+            <div class="image-list">
+                <span></span>
+                <img id="select-image" src="../../image/addimg.png" style="width: 0.86rem;;" />
+            </div>
+            <p>须上传营业执照和手持身份证照</p>
+        </div>
+        <div class="h50"></div>
+        <div class="m-bottom">申请入驻</div>
+        <div class="h10"></div>
+        <div class="setting-item" style="text-align: center;font-size: 0.28rem;border-bottom:none;display: none;">申请即代表同意《用户注册协议》</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _imgArr = [];
+var _tImgArr = [];
+apiready = function() {
+    setFixStatusBar();
+};
+$(".m-bottom").on("tap", function() {
+    if ($("#hotel_name").val() == "") {
+        api.toast({ msg: '酒店名称不能为空!' });
+        return false;
+    }
+    if ($("#contacts_address").val() == "") {
+        api.toast({ msg: '酒店地址不能为空!' });
+        return false;
+    }
+    if ($("#contacts_name").val() == "") {
+        api.toast({ msg: '负责人姓名不能为空!' });
+        return false;
+    }
+    var phone = $("#contacts_phone").val();
+    if(!(/^1[3456789]\d{9}$/.test(phone))){
+        api.toast({msg:'您的手机号不正确!'});
+        return false;
+    }
+    if ($("#contacts_number").val() == "") {
+        api.toast({ msg: '负责人身份证号不能为空!' });
+        return false;
+    }
+    _imgArr.splice(0, _imgArr.length);
+    $(".image-list .img_item").each(function() {
+        var _src = $(this).data("img");
+        _imgArr.push(_src);
+    });
+    if (_imgArr.length < 2) {
+        api.toast({ msg: '须上传营业执照和手持身份证照' });
+        return false;
+    }
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v2/member/application',//'?do=appagent',
+        data: {
+            hotel_name: $("#hotel_name").val(),
+            contacts_name: $("#contacts_name").val(),
+            contacts_phone: $("#contacts_phone").val(),
+            contacts_number: $("#contacts_number").val(),
+            contacts_address: $("#contacts_address").val(),
+            memberid: $api.getStorage("memberid"),
+            licence_image: _imgArr.toString(),
+            join_type: 1
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                api.alert({
+                    title: '提交成功',
+                    msg: '申请已提交,我们在3个工作日内完成审核,有什么问题也可以联系客服',
+                }, function(ret, err) {
+                    api.closeWin();
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    return false;
+})
+$("#select-image").on("tap", function() {
+    if (_tImgArr.length < 3) {
+        var has = hasPermission('storage');
+        if(!has || !has[0] || !has[0].granted){
+            api.confirm({
+                title: '提醒',
+                msg: "没有获得 存储 权限\n是否前往设置?",
+                buttons: ['去设置', '取消']
+            }, function (ret, err) {
+                var index = ret.buttonIndex;
+                if (index == 1) {
+                    reqPermission('storage');
+                } else {
+                   api.toast({ msg: '获取存储权限失败...' }); 
+                }
+            });
+            // $(".border-none").removeClass("mask-hidden");
+            return false;
+        }
+        api.getPicture({
+            sourceType: 'album',
+            encodingType: 'jpg',
+            mediaValue: 'pic',
+            destinationType: 'url',
+            allowEdit: false,
+            quality: 100,
+            // targetWidth: 600,
+            // targetHeight: 600,
+            saveToPhotoAlbum: false
+        }, function(ret, err) {
+            if (ret) {
+                upimg(ret.data);
+            }
+        });
+    } else {
+        api.toast({ msg: '上传不能超过3张图片' });
+    }
+})
+
+
+function upimg(files) {
+    if (files) {
+        api.ajax({
+            url: siteurl + 'v2/upload/tmp',//'?do=upfile',
+            method: 'post',
+            data: {
+                files: {
+                    file: files
+                }
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") }
+        }, function(ret, err) {
+            if (ret) {
+                _tImgArr.push(ret.data);
+                create_html(_tImgArr);
+            }
+        });
+    }
+}
+
+function create_html(list){
+    var html = '';
+    for(var i in list){
+        html += '<div class="img_item" data-img="'+list[i].file_name+'"><img id="select-image" class="select-image" src="' + list[i].url + '" style="width: 1.6rem;margin-right: 0.2rem;"/><span class="close_btn iconfont icon-guanbi" data-index="'+i+'"></span></div>'
+    }
+    $(".image-list span").html(html);
+}
+
+
+$(".image-list").on("tap", ".close_btn", function() {
+    // console.log(this)
+    _tImgArr.splice($(this).data('index')*1, 1);
+    create_html(_tImgArr);
+});
+
+
+</script>
+
+</html>

+ 155 - 0
html/my/bindmobile.html

@@ -0,0 +1,155 @@
+<!doctype html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        body{
+    		
+    	}
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">绑定手机号</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="padding-top">
+        <div class="login-logo" style="font-size:20px;"></div>
+        <div class="h10"></div>
+        <div style="position: relative;">
+            <input class="bot-input" id="mobile" maxlength="11" type="number" placeholder="输入手机号" />
+            <input class="bot-input" id="code" type="text" placeholder="短信验证码" />
+            <input class="get-code" type="button" value="获取验证码" />
+            <div class="h20"></div>
+            <div class="h20"></div>
+            <div class="m-bottom">绑 定</div>
+            <div class="h20"></div>
+        </div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+    var countdown = 60;
+apiready = function() {
+    setFixStatusBar();
+};
+$(".back-header").on("click", function() {
+    api.closeWin();
+})
+
+$(".get-code").on("tap", function() {
+    var phone = $("#mobile").val();
+    var reg_phone = /^1[3456789]\d{9}$/;
+    if ( !reg_phone.test(phone) ) {
+        api.toast({ msg: '手机号不正确!' });
+        return false;
+    }
+    if (countdown != 60) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v1/entry/sms',
+        data: {
+            mobile: phone,
+            scenes: 'bind'
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            api.toast({ msg: datas.msg });
+            if (datas.result) {
+                var obj = $(".get-code");
+                settime(obj);
+            }
+        }
+    });
+    return false;
+})
+
+function settime(obj) {
+    if (countdown == 0) {
+        obj.attr('disabled',false);
+        obj.val("获取验证码");
+        countdown = 60; 
+    } else {
+        obj.attr('disabled',true);
+        obj.val("重新发送(" + countdown + ")");
+        countdown--;
+        setTimeout(function() {
+            settime(obj)
+        }, 1000)
+    }
+}
+
+$(".m-bottom").on("tap", function() {
+    getRouteData();
+    return false;
+})
+
+function getRouteData() {
+    var phone = $("#mobile").val();
+    var reg_phone = /^1[3456789]\d{9}$/;
+    if(!reg_phone.test(phone)) {
+        api.toast({ msg: '请填写正确的手机号码!' });
+        return false;
+    }
+    if ($("#code").val() == "") {
+        api.toast({ msg: '验证码不能为空!' });
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v1/member/bind_mobile',
+        data: {
+            mobile: phone,
+            code: $("#code").val()
+        },
+        headers: { 'X-TOKEN': $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                if (datas.result) {
+                    setTimeCloseWin("bindmobile");
+                }
+            } else {
+                errcode(datas, datas.code)
+            }
+        }
+    });
+}
+</script>
+
+</html>

+ 122 - 0
html/my/editpad.html

@@ -0,0 +1,122 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2"/>
+    <style>
+    	body{}
+        .editpad-item{
+          float:left;
+          width:100px;
+        }
+        .setting-item{
+          height: 1rem;
+          line-height: 1rem;
+          width:100%;
+          /*border-bottom:1px solid #e8e8e8;*/
+          text-align:left;
+          font-size: 0.28rem;
+          text-indent: 0.5em;
+        }
+        .setting-item input{
+          width:100%;
+        }
+        .bot-input {
+           padding: 0 0 0 0.25rem;
+           font-size: 0.28rem;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+<body>
+    <div class="topbar"></div>
+ <header class="back-header back-header-bottom">
+	<ul>
+		<li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png"/></li>
+		<li class="back-header-title">修改密码</li>
+		<li class="more-btn"></li>
+	</ul>
+</header>
+<section class="white-back padding-top">
+<div class="h20"></div>
+	<div class="setting-item">
+	 <input class="bot-input" placeholder="旧密码" id="old-password" type="password" value=""/>
+	</div>
+	<div class="setting-item">
+	 <input class="bot-input" placeholder="新密码" id="new-password" type="password" value=""/>
+	</div>
+	<div class="setting-item">
+	 <input class="bot-input" placeholder="确认密码" id="cfg-password" type="password" value=""/>
+	</div>
+<div class="h50" style="height: 0.5rem;"></div>
+<div class="m-bottom">提 交</div>
+</section>
+
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+	apiready = function(){
+		setFixStatusBar();
+	};
+	$(".m-bottom").on("tap",function(){
+	    if($("#old-password").val()==""){
+	      api.toast({msg:'旧密码不能为空!'}); return false;
+	    }
+	    if($("#new-password").val()==""){
+	      api.toast({msg:'新密码不能为空!'}); return false;
+	    }
+	    if($("#new-password").val()!=$("#cfg-password").val()){
+	      api.toast({msg:'新密码和确认密码不一致'}); return false;
+	    }
+	    toast_loding_show();
+		$.ajax({
+			url : siteurl + 'v2/member/update',//'?do=editpad',
+			data : {
+			   old_password: $("#old-password").val(),
+			   new_password: $("#new-password").val(),
+			   memberid: $api.getStorage("memberid")
+			},
+			headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+			dataType : 'json', 
+			type : 'post', 
+			success : function(datas) {
+				toast_loding_hide();
+		    	if(datas.result){
+					api.toast({msg:'操作成功!'});
+					setTimeCloseWin("editpad");
+		    	}else{
+		    	   errcode(datas, datas.code);
+		    	}
+			}
+		});
+		return false;
+	})
+	
+</script>
+</html>

+ 242 - 0
html/my/favorite.html

@@ -0,0 +1,242 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body {
+            background: #f2f2f2;
+        }
+        .bottom-line{
+           border-bottom:1px solid #e8e8e8;
+        }
+        .border-none{
+          text-align:center;font-size: 0.28rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+            margin-top: 3rem;
+            width: 1.73rem;
+            height: auto;
+        }
+        .order-list-right p {
+            font-size: 0.22rem;
+            color: #999;
+            height: 1.04rem;
+        }
+        p.font-size-18 {
+            color: #666;
+            height: auto;
+            padding-bottom: 0.4rem;
+        }
+        .h5 {
+            background: #f2f2f2;
+            margin: 0 0 0 -0.32rem;
+            width: 7.5rem;
+            margin-top: 0.5em;
+        }
+        .weui-navbar__item {
+          padding: 0.1rem 0;
+          font-size: 0.28rem;
+        }
+        .weui-tab__panel {
+            padding: 0 0.32rem;
+        }
+        .weui-bar__item_on span {
+          color: #d9251c;
+          border-bottom: 0.1em solid;
+        }
+        .order-list-right {
+            width: 4.7rem;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">我的收藏</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <div class="weui-tab" style="padding-top: 0.87rem;">
+        <div class="weui-navbar">
+            <div class="weui-navbar__item weui-bar__item_on" href="#tab1">
+                <span>酒店</span>
+            </div>
+            <div class="weui-navbar__item" href="#tab2">
+                <span>商品</span>
+            </div>
+        </div>
+        <div class="weui-tab__panel order-list white-back">
+            <div id="tab1" page="1" class="weui_tab_bd_item weui_tab_bd_item_active"></div>
+            <div id="tab2" page="1" class="weui_tab_bd_item"></div>
+        </div>
+    </div>
+    <!-- <div style="padding-top: 1.15rem;"></div>
+    <section class="order-list white-back">
+    </section>
+    <section class="border-none">
+        <img src="../../image/goods_buy_favorite.png" class="border-none-img" /><p>收藏为空</p>
+    </section>
+    <div class="h10"></div> -->
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript">
+var _type = "store";
+var _page = "1";
+var _data_toggle = '#tab1';
+apiready = function() {
+    setFixStatusBar();
+    getRouteData();
+    api.addEventListener({
+        name: 'viewappear'
+    }, function(ret, err) {
+        getRouteData();
+    });
+};
+
+$(function() {
+    $('.weui-navbar__item').on('click', function() {
+        $(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
+        $(".weui-tab__panel .weui_tab_bd_item_active").removeClass('weui_tab_bd_item_active');
+        _data_toggle = jQuery(this).attr("href");
+        $(_data_toggle).addClass("weui_tab_bd_item_active");
+        _type = _data_toggle == "#tab2" ? "goods" : "store";
+        getRouteData();
+    });
+});
+
+function getRouteData() {
+    _page = $(_data_toggle).attr('page');
+    if (_page == 0) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v1/favorites/get',
+        data: {
+            type: _type,
+            page: _page
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var list = datas.data;
+                if (list[_type + '_list'].length > 0) {
+                    var _html = '';
+                    if (_data_toggle == "#tab1") {
+                        $.each(list[_type + '_list'], function(index, item) {
+                            _html += '<div class="order-list-title"><img src="' + siteurl + "uploads/home/store/" + item.store_id + "/" + item.store_avatar + '"/> ' + item.store_name + '</div>';
+                            _html += '<div class="order-list-goods" goodsid="' + item.store_id + '"><ul><li><img src="' + siteurl + "uploads/home/store/" + item.store_id + "/" + item.store_avatar + '"/></li>';
+                            _html += '<li class="order-list-right"><span class="font-rem11">' + item.store_name + '</span><p style="overflow: hidden;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;word-break: break-all;height: 1.2rem;line-height: 0.4rem;">' + item.store_summary + '</p>';
+                            // _html += '<p class="font-size-18"></p></li>';
+                            _html += '</ul></div><div class="h5"></div>';
+                        })
+                    } else {
+                        $.each(list[_type + '_list'], function(index, item) {
+                            _html += '<div class="order-list-title" keyid="' + item.fav_id + '"><img src="' + siteurl + "uploads/home/store/" + item.store_id + "/" + item.store_avatar + '"/> ' + item.store_name + '</div>';
+                            var arr = item.goods_name.split(" ");
+                            var name_arr = arr[0];
+                            var size_arr = item.goods_name.replace(name_arr, "");
+                            _html += '<div class="order-list-goods" goodsid="' + item.fav_id + '"><ul><li><img src="' + siteurl + "uploads/home/store/goods/" + item.goods_image.substr(0, item.goods_image.indexOf("\_")) + "/" + item.goods_image + '"/></li>';
+                            _html += '<li class="order-list-right"><span class="font-rem11">' + name_arr + '</span><p style="height: 0.6rem;">' + size_arr + '</p>';
+                            _html += '<p class="font-size-18">¥' + item.favlog_price + '</p></li>';
+                            _html += '</ul></div><div class="h5"></div>';
+                        })
+                    }
+                    if (_page == 1) {
+                        $(_data_toggle).html(_html);
+                    } else {
+                        $(_data_toggle).append(_html);
+                    }
+                    _page++;
+                    $(_data_toggle).attr('page', _page);
+                } else {
+                    if (_page == 1) {
+                        $(_data_toggle).html('<div class="border-none"><img src="../../image/goods_buy_favorite.png" class="border-none-img" /><p>收藏为空</p></div>');
+                    }
+                    $(_data_toggle).attr('page', '0');
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+///
+$(".order-list").on("tap", ".order-list-goods", function() {
+    var _keyid = $(this).attr("goodsid");
+    $.ajax({
+        url: rooturl + '?do=chkfavoritemy',
+        data: {
+            goods_id: _keyid,
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (_type == 'store') {
+                api.openWin({
+                    name: 'hoteldtl',
+                    url: '../home/hoteldtl.html',
+                    bounces: false,
+                    pageParam: {
+                        keyid: _keyid
+                    }
+                })
+            } else {
+                if (datas.result) {
+                    api.openWin({
+                        name: 'showgoods',
+                        url: '../home/showgoods.html',
+                        bounces: false,
+                        pageParam: {
+                            keyid: _keyid,
+                            storeid: datas.msg
+                        }
+                    });
+                } else {
+                    api.toast({ msg: datas.msg });
+                }
+            }
+        }
+    });
+    return false;
+})
+</script>
+
+</html>

+ 234 - 0
html/my/feedback.html

@@ -0,0 +1,234 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        .back-item{
+          width:100%;
+          padding:10px;
+          text-align:center;
+          /*border-bottom: 1px solid #e8e8e8;*/
+          box-sizing: border-box;
+        }
+        .back-item img{
+          width:20px;
+        }
+        textarea{
+         width:100%;
+         height: 2rem;
+         font-size: 0.28rem;
+         line-height: 0.38rem;
+         padding: 0.5em;
+         box-sizing: border-box;
+         -webkit-appearance: none;
+        }
+        .close_btn {
+            position: absolute;
+            margin-left: -0.52rem;
+            color: #d9251c;
+        }
+        .image-list .img_item {
+            float: left;
+        }
+        .my-order.my-btn-list.font-rem11.apply-agent {
+            line-height: 0.7rem;
+        }
+        .my-order.my-btn-list.font-rem11.apply-agent span.span_emil {
+            line-height: 0;
+            position: absolute;
+            padding-left: 0.35rem;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">意见反馈</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="border-none padding-top">
+        <div class="back-item" style="position:relative;" id="wordCount">
+            <textarea row="5" id="content" maxlength="100" placeholder="您有什么意见或反馈,请告诉我们..."></textarea>
+            <!-- <span style="position:absolute;right:10px;bottom:5px;"><span id="count-txt">0</span>/100</span> -->
+            <span class="wordwrap" style="bottom: -0.32rem;"><var class="word">100</var>/ 100</span>
+        </div>
+        <div class="h50"></div>
+        <div style="font-size: 0.28rem;">添加图片(最多3张)</div>
+        <div class="h5"></div>
+        <div class="image-list">
+            <span></span>
+            <img id="select-image" src="../../image/addimg.png" style="width: 0.86rem;" />
+        </div>
+        <div class="h20" style="padding-bottom: 0.3rem;"></div>
+        <div class="m-bottom">提 交</div>
+        <div class="h20" style="height: 0.5rem;"></div>
+        <div class="setting-item" style="text-align: center;font-size: 0.28rem;border-bottom:none;">
+            <img src="../../image/tel.png" style="width: 0.36rem;vertical-align: middle;" >
+            <span> 客服电话:400-8233-289</span>
+        </div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _imgArr = [];
+var _tImgArr = [];
+apiready = function() {
+    setFixStatusBar();
+};
+$(function() {
+    var wordCount = $("#wordCount"), textArea = wordCount.find("textarea"), word = wordCount.find(".word");
+    statInputNum(textArea, word);
+})
+$(".m-bottom").on("tap", function() {
+    if ($("#content").val() == "") {
+        api.toast({ msg: '请填写反馈内容!' });
+        return false;
+    }
+    _imgArr.splice(0, _imgArr.length);
+    $(".image-list .img_item").each(function() {
+        var _src = $(this).data("img");
+        _imgArr.push(_src);
+    });
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v2/member/feedback',//'v1/member/feedback',
+        data: {
+            member_id: $api.getStorage("memberid"),
+            content: $("#content").val(),
+            images: _imgArr.toString()
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            api.toast({ msg: datas.msg });
+        }
+    });
+    return false;
+})
+
+
+$("#select-image").on("tap", function() {
+    if (_tImgArr.length < 3) {
+        var has = hasPermission('storage');
+    if(!has || !has[0] || !has[0].granted){
+        api.confirm({
+            title: '提醒',
+            msg: "没有获得 存储 权限\n是否前往设置?",
+            buttons: ['去设置', '取消']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 1) {
+                reqPermission('storage');
+            } else {
+               api.toast({ msg: '获取存储权限失败...' });
+            }
+        });
+        // $(".border-none").removeClass("mask-hidden");
+        return false;
+    }
+        api.getPicture({
+            sourceType: 'album',
+            encodingType: 'jpg',
+            mediaValue: 'pic',
+            destinationType: 'url',
+            allowEdit: false,
+            quality: 100,
+            targetWidth: 600,
+            targetHeight: 600,
+            saveToPhotoAlbum: false
+        }, function(ret, err) {
+            if (ret) {
+                upimg(ret.data);
+                // _tImgArr.push(ret.data);
+            }
+        });
+    } else {
+        api.toast({ msg: '上传不能超过3张图片' });
+    }
+    return false;
+})
+
+//setting-item
+$(".setting-item").on("tap", function() {
+    var _phone = '4008233289';
+    api.call({
+        type: 'tel_prompt',
+        number: _phone
+    });
+    return false;
+})
+
+function upimg(files) {
+    if (files) {
+        api.ajax({
+            url: siteurl + 'v2/upload/tmp',//'?do=upfile',
+            method: 'post',
+            data: {
+                files: {
+                    file: files
+                }
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") }
+        }, function(ret, err) {
+            if (ret) {
+                _tImgArr.push(ret.data);
+                create_html(_tImgArr);
+            }
+        });
+    }
+}
+
+function create_html(list){
+    var html = '';
+    for(var i in list){
+        html += '<div class="img_item" data-img="'+list[i].file_name+'"><img id="select-image" class="select-image" src="' + list[i].url + '" style="width: 1.6rem;margin-right: 0.2rem;"/><span class="close_btn iconfont icon-guanbi" data-index="'+i+'"></span></div>'
+    }
+    $(".image-list span").html(html);
+}
+
+
+$(".image-list").on("tap", ".close_btn", function() {
+    // console.log(this)
+    _tImgArr.splice($(this).data('index')*1, 1);
+    create_html(_tImgArr);
+});
+
+</script>
+
+</html>

+ 357 - 0
html/my/orderlist.html

@@ -0,0 +1,357 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/swiper.min.css" />
+    <style>
+        body{background:#f2f2f2;}
+      .swiper-container {
+	      width: 100%;
+	      height: 100%;
+	    }
+	     .swiper-container{
+            width: 100%;
+            height: 50px;
+            border-bottom: 1px solid #e8e8e8;
+        }
+        .swiper-slide{
+            text-align: center;
+            line-height: 50px;
+            font-size: 15px;
+        }
+        .active{
+            color: #eb4610;
+        }
+        .bottom-line{
+           border-bottom:1px solid #e8e8e8;
+        }
+        .border-none{
+          text-align:center;font-size: 0.28rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+            margin-top: 3rem;
+            width: 1.73rem;
+            height: auto;
+        }
+        .order-list-right p {
+            font-size: 0.22rem;
+            color: #999;
+            height: 1.04rem;
+        }
+        p.font-size-18 {
+            color: #666;
+            height: auto;
+        }
+        .h5 {
+            background: #f2f2f2;
+            margin: 0 0 0 -0.32rem;
+            width: 7.5rem;
+            margin-top: 0.5em;
+        }
+      </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header bottom-line">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title"></li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="order-list white-back" style="padding-top: 1rem;"></section>
+    <section class="border-none">
+        <img src="../../image/border_none.png" class="border-none-img" />
+        <p>去买点什么</p>
+    </section>
+    <div class="back-h10"></div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/swiper.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _state = 'all';
+var _tagname = '';
+var _minid = '';
+var lastpage = false;
+var _page = '1';
+apiready = function() {
+    _state = api.pageParam.tag;
+    _tagname = api.pageParam.tagname;
+    $(".back-header-title").html(_tagname);
+    setFixStatusBar();
+    getRouteData();
+    api.addEventListener({
+        name: 'scrolltobottom',
+        extra: {
+            threshold: 200
+        }
+    }, function(ret, err) {
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'viewappear'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        getRouteData();
+    });
+};
+
+function getRouteData() {
+    if (lastpage) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v2/order/orders',//'?do=getorder',
+        data: {
+            memberid: $api.getStorage("memberid"),
+            minid: _minid,
+            state: _state,
+            page: _page
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var _html = '';
+                console.log(JSON.stringify(datas.data.order_list))
+                if (datas.data.order_list.length > 0) {
+                    $.each(datas.data.order_list, function(index, item) {
+                        _html += '<div class="order-dtl-btn" state="' + item.order_state + '" keyid="' + item.order_id + '"><div class="order-list-title font-rem11"><img src="' + siteurl + 'uploads/home/store/' + item.storeid + '/' + item.store_avatar + '"/> ' + item.store_name + '<span class="order-list-status font-rem11">' + item.status + '</span></div>';
+                        if (typeof(item.goods) !== 'undefined') {
+                            $.each(item.goods, function(index2, item2) {
+                                var arr = item2.goods_name.split(" ");
+                                var name_arr = arr[0];
+                                var size_arr = item2.goods_name.replace(name_arr, "");
+                                _html += '<div class="order-list-goods"><ul><li><img src="' + siteurl + "uploads/home/store/goods/" + item2.goods_image.substr(0, item2.goods_image.indexOf("\_")) + "/" + item2.goods_image + '"/></li>';
+                                _html += '<li class="order-list-right"><span class="font-rem11">' + name_arr + '</span><p>' + size_arr + '  x' + item2.goods_num + '</p>';
+                                _html += '<p class="font-size-18">¥' + item2.goods_price + '</p></li>';
+                                _html += '</ul></div><div class="h2"></div>';
+                            });
+                        }
+                        if (item.evaluation_state == 1) {
+                            _html += '<div class="order-list-title" style="border-bottom:none;">合计:¥' + item.order_amount + '</div></div>';
+                        } else {
+                            if(item.order_state == 60){
+                                _html += '<div class="order-list-title" style="border-bottom:none;">合计:¥' + item.order_amount + '</div></div><div class="h5"></div>';
+                            }else{
+                                _html += '<div class="order-list-title" style="border-bottom:none;">合计:¥' + item.order_amount + '<span class="order-list-action" state="' + item.order_state + '"  keyid="' + item.order_id + '" shippingtype="' + item.shipping_type + '">' + item.operate + '</span></div></div><div class="h5"></div>';
+                            }
+
+                        }
+                    });
+                    if ( _page == 1 ){
+                        $(".order-list").html(_html);
+                    } else {
+                        $(".order-list").append(_html);
+                    }
+                    if (datas.data.order_list.length > 0) {
+                        // _minid = datas[datas.length - 1].order_id;
+                        _page++;
+                    }
+                    $(".border-none").addClass("mask-hidden");
+                } else {
+                    lastpage = true;
+                    // _html = '<div class="data-null" style="background:#f2f2f2;">订单加载完成</div>';
+                    // $(".order-list").append(_html);
+                    if ( $(".order-list .order-dtl-btn").length > 0 ) {
+                        $(".border-none").html("<p style='background: #f2f2f2;margin: 0 -0.32rem;'>订单加载完成</p>");
+                    }
+                    $(".border-none").removeClass("mask-hidden");
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+
+var swiper = new Swiper('.swiper-container', {
+    slidesPerView: 5,
+    spaceBetween: 10,
+    pagination: {
+        el: '.swiper-pagination',
+        clickable: true,
+    },
+});
+////
+$(".order-list").on("tap", ".order-dtl-btn", function() {
+    var _keyid = $(this).attr("keyid");
+    var _state = $(this).attr("state");
+    api.openWin({
+        name: 'orderdtl',
+        url: '../order/orderdtl.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid,
+            state: $(this).attr("state")
+        }
+    });
+    return false;
+})
+///
+$(".order-list").on("tap", ".order-list-action", function() {
+    var _state = $(this).attr("state");
+    var _keyid = $(this).attr("keyid");
+    var _shippingtype = $(this).attr("shippingtype");
+    if (_state == 10) {
+        api.openWin({
+            name: 'paymode',
+            url: '../home/paymode.html',
+            bounces: false,
+            pageParam: {
+                keyid: _keyid
+            }
+        });
+    }
+    if (_state == 20) {
+        if (_shippingtype == 0) {
+            api.openWin({
+                name: 'urge',
+                url: '../order/urge.html',
+                bounces: false,
+                pageParam: {
+                    keyid: _keyid
+                }
+            });
+        } else {
+            api.openWin({
+                name: 'contacthotel',
+                url: '../order/contacthotel.html',
+                bounces: false,
+                pageParam: {
+                    keyid: _keyid
+                }
+            });
+        }
+    }
+    if (_state == 30) {
+        api.confirm({
+            title: '是否确认收货',
+            buttons: ['取消', '确定']
+        }, function(ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                $.ajax({
+                    url: siteurl + 'v2/order/confirm',//'?do=orderconfirm',
+                    data: {
+                        memberid: $api.getStorage("memberid"),
+                        order_id: _keyid
+                    },
+                    headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                    dataType: 'json',
+                    type: 'post',
+                    success: function(datas) {
+                        if (datas.result) {
+                            api.toast({ msg: '操作成功!' });
+                            refreshData();
+                        } else {
+                            errcode(datas, datas.code);
+                        }
+                    }
+                });
+            }
+        })
+    }
+    if (_state == 40) {
+        api.openWin({
+            name: 'evaluate',
+            url: '../order/evaluate.html',
+            bounces: false,
+            pageParam: {
+                keyid: _keyid
+            }
+        });
+    }
+    if (_state == 0) {
+        api.confirm({
+            title: '是否要删除订单',
+            buttons: ['取消', '确定']
+        }, function(ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                $.ajax({
+                    url: siteurl + 'v2/order/drop',//'?do=orderdel',
+                    data: {
+                        order_id: _keyid
+                    },
+                    headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                    dataType: 'json',
+                    type: 'post',
+                    success: function(datas) {
+                        if (datas.result) {
+                            api.toast({ msg: '操作成功!' });
+                            refreshData();
+                        } else {
+                            errcode(datas, datas.code);
+                        }
+                    }
+                });
+            }
+        })
+    }
+    return false;
+})
+
+$(".swiper-slide").on("tap", function() {
+    $(".swiper-slide").removeClass("active");
+    $(this).addClass("active");
+    _state = $(this).attr("state");
+    _minid = '';
+    $(".order-list").empty();
+    $(".border-none").addClass("mask-hidden");
+    getRouteData();
+    return false;
+})
+
+function refreshData() {
+    _minid = '';
+    getRouteData();
+}
+</script>
+
+</html>

+ 316 - 0
html/my/points.html

@@ -0,0 +1,316 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>title</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{}
+        .integral-top{
+          width: 100%;
+          height: 3.5rem;
+          background: #d9251c;
+          /*padding-top: 0.85rem;*/
+        }
+        .integral-total{
+          width:100%;
+          font-size: 0.6rem;
+          text-align:center;
+          color:#ffffff;
+        }
+        .integral-item{
+          height: 1rem;
+          width: 100%;
+          padding-top: 10px;
+          padding-bottom: 10px;
+          border-bottom: 1px solid #e8e8e8;
+          font-size: 0.28rem;
+          position:relative;
+        }
+        .integral-item p{
+          line-height: 0.6rem;
+        }
+        .integral-right{
+           position:absolute;
+           right: 0.2rem;
+           top: 0.4rem;
+        }
+        .integral-select{
+          width:46px;
+          text-align:center;
+        }
+        .integral-select img{
+          width:23px;
+          margin-bottom:5px;
+        }
+        .integral-del-btn{
+          width:100%;
+          height: 1rem;
+          line-height: 1rem;
+          border-top:1px solid #e8e8e8;
+          position:fixed;
+          bottom:0px;
+          background:#ffffff;
+        }
+        .integral-del-btn li{
+          float:left;
+        }
+        .integral-del-btn img{
+          width: 0.33rem;
+          vertical-align:middle;
+        }
+        .integral-del-btn-left{
+          width:70%;
+          border-right:1px solid #e8e8e8;
+          box-sizing:border-box;
+          padding-left: 0.33rem;
+        }
+        .integral-del-btn-right{
+          width:30%;
+          text-align:center;
+          background: #d9251c;
+          color:#ffffff;
+        }
+        #member_points{
+          color: #ffffff;
+          padding-top: 1rem;
+        }
+        .no-data{
+          text-align:center;
+          margin-top: 1rem;
+          color: #999999;
+        }
+        .data-list {
+            margin-bottom: 1.2rem;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <div class="integral-top">
+        <header class="back-header back-btn" style="background: #d9251c;">
+            <ul>
+                <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default2.png" /></li>
+                <li class="back-header-title" style="color:#ffffff;">圈币明细</li>
+                <li class="more-btn" style="color:#ffffff;">编辑</li>
+            </ul>
+        </header>
+        <div class="h20"></div>
+        <div class="h20"></div>
+        <div class="integral-total"><span id="member_points"></span>
+            <p style="font-size: 0.29rem;">我的圈币</p>
+        </div>
+    </div>
+    <section class="data-list">
+    </section>
+    <div class="no-data"><img src="../../image/order-null.png" style="width:80px;" />
+        <p>去兑换点什么吧</p>
+    </div>
+    <div class="integral-del-btn mask-hidden">
+        <ul>
+            <li class="integral-del-btn-left"><img class="check-all" src="../../image/checkun.png" /> 已选(<span class="total">0</span>)</li>
+            <li class="integral-del-btn-right">删除所选</li>
+        </ul>
+    </div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _page = '1';
+apiready = function() {
+    getMyRouteData();
+    setFixStatusBar();
+    getRouteData();
+    api.addEventListener({
+        name: 'scrolltobottom',
+        extra: {
+            threshold: 200
+        }
+    }, function(ret, err) {
+        getRouteData();
+    });
+};
+
+function getMyRouteData() {
+    var _memberid = $api.getStorage("memberid")
+    $.ajax({
+        url: siteurl + 'v2/member/info',//'?do=getuserinfo',
+        data: {
+            memberid: _memberid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $("#member_points").html(datas.data.member_points);
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+var _minid = ''; //$api.getStorage("memberid")
+function getRouteData() {
+    $.ajax({
+        url: siteurl + 'v2/member/points',//'?do=getpoints',
+        data: {
+            minid: _minid,
+            pl_memberid: $api.getStorage("memberid"),
+            page: _page,
+            page_size: 15
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            var _html = '';
+            if (datas.result) {
+                $.each(datas.data.point_list, function(index, item) {
+                    item.pl_stage = item.pl_stage == "system_reduce" ? "payment" : item.pl_stage;
+                    var _outin = item.pl_stage == "payment" ? "-" : "+";
+                    _html += '<div class="integral-item"><span class="integral-select mask-hidden"><img keyid=' + item.pl_id + ' class="check-img" src="../../image/checkun.png"/></span><span>圈币来源:' + item.pl_desc + '<p style="font-size:13px;">' + item.pl_addtime + '</p></span><span class="integral-right">' + _outin + item.pl_points + '</span></div>';
+                });
+                if (_page == '1') {
+                    $(".no-data").addClass("mask-hidden");
+                    $(".data-list").html(_html);
+                } else {
+                    $(".data-list").append(_html);
+                }
+                _page++;
+                // _minid = datas[datas.length - 1].pl_id;
+            } else {
+                errcode(datas, datas.code)
+            }
+        }
+    });
+}
+
+var _isEdit = false
+$(".more-btn").on("tap", function() {
+    $(".more-btn").html($(".more-btn").text() == "编辑" ? "完成" : "编辑");
+    _isEdit = _isEdit == false ? true : false;
+    if (_isEdit) {
+        $(".integral-select").removeClass("mask-hidden");
+        $(".integral-del-btn").removeClass("mask-hidden");
+    } else {
+        $(".integral-select").addClass("mask-hidden");
+        $(".integral-del-btn").addClass("mask-hidden");
+    }
+    return false;
+});
+
+function getcheckall(){
+    var no = $(".integral-item").length;
+    var nox = $(".integral-item [src$='checkun.png']").length;
+    var noc = $(".integral-item [src$='checked.png']").length;
+    if (no == noc) {
+        $(".check-all").attr("src", "../../image/checked.png");
+    } else {
+        $(".check-all").attr("src", "../../image/checkun.png");
+    }
+    $(".total").html(noc);
+}
+
+$(".data-list").on("tap", ".integral-item", function() {
+    if (_isEdit) {
+        $(this).find(".check-img").attr("src", $(this).find(".check-img").attr("src") == "../../image/checkun.png" ? "../../image/checked.png" : "../../image/checkun.png");
+    }
+    getcheckall()
+    return false;
+});
+var _isAll = false;
+$(".check-all").on("tap", function() {
+    $(this).attr("src", $(this).attr("src") == "../../image/checkun.png" ? "../../image/checked.png" : "../../image/checkun.png");
+    _isAll = _isAll == false ? true : false;
+    if (_isAll) {
+        $(".check-img").attr("src", "../../image/checked.png");
+    } else {
+        $(".check-img").attr("src", "../../image/checkun.png");
+    }
+    var _t = 0;
+    $(".check-img").each(function() {
+        if ($(this).attr("src") == "../../image/checked.png") {
+            _t++;
+        }
+    })
+    $(".total").text(_t);
+    return false;
+});
+$(".no-data").on("tap", function() {
+    /*api.openWin({
+		       name: 'addaddress',
+		       url: './addaddress.html',
+		        bounces: false
+	     });*/
+    return false;
+});
+$(".integral-del-btn-right").on("tap", function() {
+    api.confirm({
+        title: '删除圈币记录',
+        msg: '是否要删除选定的圈币记录?',
+        buttons: ['确定', '取消']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 1) {
+            $(".check-img").each(function() {
+                var _that = $(this);
+                if ($(this).attr("src") == "../../image/checked.png") {
+                    var _keyid = $(this).attr("keyid");
+                    // alert(_keyid);
+                    $.ajax({
+                        url: rooturl + '?do=delintegral',
+                        data: {
+                            keyid: _keyid,
+                            memberid: $api.getStorage("memberid"),
+                        },
+                        dataType: 'json',
+                        type: 'post',
+                        success: function(datas) {
+                            if (datas.result) {
+                                _that.parents(".integral-item").remove();
+                                api.toast({ msg: "删除成功" });
+                                $(".more-btn").html("编辑");
+                                _isEdit = false;
+                                $(".integral-select").addClass("mask-hidden");
+                                $(".integral-del-btn").addClass("mask-hidden");
+                                return false;
+                            }
+                        }
+                    });
+                }
+            })
+        }
+    });
+    return false;
+});
+</script>
+
+</html>

+ 86 - 0
html/my/privacy.html

@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        .find-dtl-time {
+            color: #999;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section>
+        <header class="back-header  back-header-bottom">
+            <ul>
+                <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+                <li class="back-header-title">用户协议</li>
+                <li class="more-btn"></li>
+            </ul>
+        </header>
+        <div class="find-dtl-title font-rem11"></div>
+        <div class="find-dtl-time"></div>
+        <div class="find-dtl-content"></div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+apiready = function() {
+    getRouteData();
+    setFixStatusBar();
+};
+
+function getRouteData() {
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v1/entry/register_protocol',
+        data: {
+            article_id: ''
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                $(".find-dtl-content").html(datas.data.protocol);
+            }else{
+                errcode(datas, datas.code)
+            }
+            return false;
+        }
+    });
+}
+</script>
+
+</html>

+ 86 - 0
html/my/private.html

@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        .find-dtl-time {
+            color: #999;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <section>
+        <header class="back-header  back-header-bottom">
+            <ul>
+                <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+                <li class="back-header-title">隐私政策</li>
+                <li class="more-btn"></li>
+            </ul>
+        </header>
+        <div class="find-dtl-title font-rem11"></div>
+        <div class="find-dtl-time"></div>
+        <div class="find-dtl-content"></div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+apiready = function() {
+    getRouteData();
+    setFixStatusBar();
+};
+
+function getRouteData() {
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v2/entry/private_protocol',
+        data: {
+            article_id: ''
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                $(".find-dtl-content").html(datas.data.protocol);
+            }else{
+                errcode(datas, datas.code)
+            }
+            return false;
+        }
+    });
+}
+</script>
+
+</html>

+ 364 - 0
html/my/refund_list.html

@@ -0,0 +1,364 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/swiper.min.css" />
+    <style>
+        body{background:#f2f2f2;}
+      .swiper-container {
+	      width: 100%;
+	      height: 100%;
+	    }
+	     .swiper-container{
+            width: 100%;
+            height: 50px;
+            border-bottom: 1px solid #e8e8e8;
+        }
+        .swiper-slide{
+            text-align: center;
+            line-height: 50px;
+            font-size: 15px;
+        }
+        .active{
+            color: #eb4610;
+        }
+        .bottom-line{
+           border-bottom:1px solid #e8e8e8;
+        }
+        .border-none{
+          text-align:center;font-size: 0.28rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+            margin-top: 3rem;
+            width: 1.73rem;
+            height: auto;
+        }
+        .order-list-right p {
+            font-size: 0.22rem;
+            color: #999;
+            height: 1.04rem;
+        }
+        p.font-size-18 {
+            color: #666;
+            height: auto;
+        }
+        .h5 {
+            background: #f2f2f2;
+            margin: 0 0 0 -0.32rem;
+            width: 7.5rem;
+            margin-top: 0.5em;
+        }
+      </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header bottom-line">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title"></li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="order-list white-back" style="padding-top: 1rem;"></section>
+    <section class="border-none">
+        <img src="../../image/border_none.png" class="border-none-img" />
+        <p>没有售后记录</p>
+    </section>
+    <div class="back-h10"></div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/swiper.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _state = 'all';
+var _tagname = '';
+var _minid = '';
+var lastpage = false;
+var _page = '1';
+apiready = function() {
+    _state = api.pageParam.tag;
+    _tagname = api.pageParam.tagname;
+    $(".back-header-title").html('退货/售后');
+    setFixStatusBar();
+    getRouteData();
+    api.addEventListener({
+        name: 'scrolltobottom',
+        extra: {
+            threshold: 200
+        }
+    }, function(ret, err) {
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'viewappear'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        getRouteData();
+    });
+    api.addEventListener({
+        name:'resume'
+    }, function(ret, err){
+        _minid = '';
+        _page = '1';
+        lastpage = false;
+        getRouteData();
+    });
+};
+
+function getRouteData() {
+    if (lastpage) {
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v3/order/refund_list',//'?do=getorder',
+        data: {
+            memberid: $api.getStorage("memberid"),
+            minid: _minid,
+            state: _state,
+            page: _page
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                var _html = '';
+                if (datas.data.refund_list.length > 0) {
+                    $.each(datas.data.refund_list, function(index, item) {
+                        _html += '<div class="order-dtl-btn" state="' + item.order_state + '" keyid="' + item.id + '" goods_id="'+item.goods_id+'" order_id="'+item.order_id+'">';
+
+
+                                var arr = item.goods_name.split(" ");
+                                var name_arr = arr[0];
+                                var size_arr = item.goods_name.replace(name_arr, "");
+                                _html += '<div class="order-list-goods"><ul><li><img src="' + siteurl + "uploads/home/store/goods/" + item.goods_image.substr(0, item.goods_image.indexOf("\_")) + "/" + item.goods_image + '"/></li>';
+                                _html += '<li class="order-list-right"><span class="font-rem11">' + name_arr + '</span><p>' + size_arr + '  x' + item.goods_num + '</p>';
+                                _html += '<p class="font-size-18">¥' + item.goods_price + '</p></li>';
+                                _html += '</ul></div><div class="h2"></div>';
+
+
+                        if (item.evaluation_state == 1) {
+                            _html += '<div class="order-list-title" style="border-bottom:none;">合计:¥' + item.total_price + '</div></div>';
+                        } else {
+                            _html += '<div class="order-list-title" style="border-bottom:none;">合计:¥' + item.total_price;
+                            var status_mark = '';
+                            if(item.status == 1){
+                              status_mark = '待处理'
+                            }else if(item.status == 2){
+                              status_mark = '已退款'
+                            }else if(item.status == 3){
+                              status_mark = '不同意'
+                            }
+                            _html += '<span class="order-list-action" state="' + item.order_state + '"  keyid="' + item.order_id + '" shippingtype="' + item.shipping_type + '">' + status_mark + '</span></div></div><div class="h5"></div>';
+                        }
+                    });
+                    if ( _page == 1 ){
+                        $(".order-list").html(_html);
+                    } else {
+                        $(".order-list").append(_html);
+                    }
+                    if (datas.data.refund_list.length > 0) {
+                        // _minid = datas[datas.length - 1].order_id;
+                        _page++;
+                    }
+                    $(".border-none").addClass("mask-hidden");
+                } else {
+                    lastpage = true;
+                    // _html = '<div class="data-null" style="background:#f2f2f2;">订单加载完成</div>';
+                    // $(".order-list").append(_html);
+                    if ( $(".order-list .order-dtl-btn").length > 0 ) {
+                        $(".border-none").html("<p style='background: #f2f2f2;margin: 0 -0.32rem;'>订单加载完成</p>");
+                    }
+                    $(".border-none").removeClass("mask-hidden");
+                }
+            } else {
+                errcode(datas, datas.code);
+            }
+            function_name();
+        }
+    });
+}
+
+var swiper = new Swiper('.swiper-container', {
+    slidesPerView: 5,
+    spaceBetween: 10,
+    pagination: {
+        el: '.swiper-pagination',
+        clickable: true,
+    },
+});
+////
+$(".order-list").on("tap", ".order-dtl-btn", function() {
+    var _keyid = $(this).attr("keyid");
+    var goods_id = $(this).attr("goods_id");
+    var order_id = $(this).attr('order_id')
+    var _state = $(this).attr("state");
+    api.openWin({
+        name: 'refund_orderdtl',
+        url: '../order/refund_orderdtl.html',
+        bounces: false,
+        pageParam: {
+          goods_id: goods_id,
+          order_id: order_id,
+          keyid: _keyid,
+          state: $(this).attr("state")
+        }
+    });
+    return false;
+})
+///
+$(".order-list").on("tap", ".order-list-action", function() {
+    var _state = $(this).attr("state");
+    var _keyid = $(this).attr("keyid");
+    var _shippingtype = $(this).attr("shippingtype");
+    if (_state == 10) {
+        api.openWin({
+            name: 'paymode',
+            url: '../home/paymode.html',
+            bounces: false,
+            pageParam: {
+                keyid: _keyid
+            }
+        });
+    }
+    if (_state == 20) {
+        if (_shippingtype == 0) {
+            api.openWin({
+                name: 'urge',
+                url: '../order/urge.html',
+                bounces: false,
+                pageParam: {
+                    keyid: _keyid
+                }
+            });
+        } else {
+            api.openWin({
+                name: 'contacthotel',
+                url: '../order/contacthotel.html',
+                bounces: false,
+                pageParam: {
+                    keyid: _keyid
+                }
+            });
+        }
+    }
+    if (_state == 30) {
+        api.confirm({
+            title: '是否确认收货',
+            buttons: ['取消', '确定']
+        }, function(ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                $.ajax({
+                    url: siteurl + 'v2/order/confirm',//'?do=orderconfirm',
+                    data: {
+                        memberid: $api.getStorage("memberid"),
+                        order_id: _keyid
+                    },
+                    headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                    dataType: 'json',
+                    type: 'post',
+                    success: function(datas) {
+                        if (datas.result) {
+                            api.toast({ msg: '操作成功!' });
+                            refreshData();
+                        } else {
+                            errcode(datas, datas.code);
+                        }
+                    }
+                });
+            }
+        })
+    }
+    if (_state == 40) {
+        api.openWin({
+            name: 'evaluate',
+            url: '../order/evaluate.html',
+            bounces: false,
+            pageParam: {
+                keyid: _keyid
+            }
+        });
+    }
+    if (_state == 0) {
+        api.confirm({
+            title: '是否要删除订单',
+            buttons: ['取消', '确定']
+        }, function(ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                $.ajax({
+                    url: siteurl + 'v2/order/drop',//'?do=orderdel',
+                    data: {
+                        order_id: _keyid
+                    },
+                    headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                    dataType: 'json',
+                    type: 'post',
+                    success: function(datas) {
+                        if (datas.result) {
+                            api.toast({ msg: '操作成功!' });
+                            refreshData();
+                        } else {
+                            errcode(datas, datas.code);
+                        }
+                    }
+                });
+            }
+        })
+    }
+    return false;
+})
+
+$(".swiper-slide").on("tap", function() {
+    $(".swiper-slide").removeClass("active");
+    $(this).addClass("active");
+    _state = $(this).attr("state");
+    _minid = '';
+    $(".order-list").empty();
+    $(".border-none").addClass("mask-hidden");
+    getRouteData();
+    return false;
+})
+
+function refreshData() {
+    _minid = '';
+    getRouteData();
+}
+</script>
+
+</html>

+ 276 - 0
html/my/setting.html

@@ -0,0 +1,276 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        .border-none{
+          text-align:center;font-size: 0.28rem;
+        }
+        .border-none p{
+          color:#999999;
+        }
+        .border-none-img{
+          width: 1.5rem;
+          height: 1.5rem;
+          border-radius: 50%;
+          margin: 0.4rem 0;
+        }
+        .setting-item{
+          height: 1rem;
+          line-height: 1rem;
+          font-size: 0.28rem;
+          width: 100%;
+          border-bottom: 1px solid #e8e8e8;
+          text-align:left;
+        }
+        .setting-item label {
+          position: relative;
+          width: 1.2rem;
+          text-align: justify;
+          float: left;
+          height: 1em;
+        }
+
+        .setting-item label::after{
+          content: '';
+          display: inline-block;
+          width: 100%;
+        }
+        .setting-item img{
+          width: 0.28rem;
+          vertical-align:middle;
+          margin-bottom:3px;
+        }
+        .setting-item input{
+          width: 60%;
+          border-bottom: none;
+          font-size: 0.28rem;
+         }
+        .bot-input {
+           padding: 0 0 0 0.25rem;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">个人信息</li>
+            <li class="more-btn">保存</li>
+        </ul>
+    </header>
+    <section class="border-none padding-top">
+        <img src="../../image/head.png" class="border-none-img" />
+        <p>点击修改头像</p>
+    </section>
+    <div class="h20" style="height: 0.4rem"></div>
+    <div class="back-h10" style="height: 0.3rem"></div>
+    <section class="border-none">
+        <div class="setting-item">
+            <label class="el-form-item__label">用户ID</label>
+            <input class="bot-input" id="member_name" type="text" value="" readonly="readonly" />
+        </div>
+        <div class="setting-item">
+            <label class="el-form-item__label">用户姓名</label>
+            <input class="bot-input" id="member_truename" type="text" placeholder="请输入姓名" />
+        </div>
+        <div class="setting-item">
+            <label class="el-form-item__label">性别</label>
+            <span class="member-sex" tag="1" style="margin-left: 0.24rem;"><img src="../../image/checkun.png" /> 男 </span><span class="member-sex" tag="0" style="margin-left: 0.24rem;"><img src="../../image/checkun.png" /> 女</span>
+        </div>
+        <div class="setting-item editpad">
+            <label class="el-form-item__label">修改密码</label>
+            <span style="float:right;color:#cccccc;" class="iconfont">&#xe62e;</span>
+        </div>
+        <div class="setting-item bindmobile">
+            <label class="el-form-item__label">绑定手机</label>
+            <span style="float:right;color:#cccccc;" class="iconfont">&#xe62e;</span>
+        </div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _member_avatar = '';
+var _member_sex = 0;
+apiready = function() {
+    setFixStatusBar();
+    getRouteData();
+};
+
+function getRouteData() {
+    var _memberid = $api.getStorage("memberid")
+    $.ajax({
+        url: siteurl + 'v2/member/info',//'?do=getuserinfo',
+        data: {
+            memberid: _memberid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                $("#member_name").val(datas.data.member_name);
+                $("#member_truename").val(datas.data.member_truename);
+                if (datas.data.member_avatar) {
+                    $(".border-none-img").attr("src", datas.data.member_avatar);
+                    _member_avatar = datas.data.member_avatar;
+                }
+                $(".member-sex").each(function() {
+                    if ($(this).attr("tag") == datas.data.member_sex) {
+                        $(this).find("img").attr("src", "../../image/checkon.png");
+                    }
+                })
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+}
+$(".border-none-img").on("tap", function() {
+    var has = hasPermission('storage');
+    if(!has || !has[0] || !has[0].granted){
+        api.confirm({
+            title: '提醒',
+            msg: "没有获得 存储 权限\n是否前往设置?",
+            buttons: ['去设置', '取消']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 1) {
+                reqPermission('storage');
+            } else {
+               api.toast({ msg: '获取存储权限失败...' }); 
+            }
+        });
+        // $(".border-none").removeClass("mask-hidden");
+        return false;
+    }
+    api.getPicture({
+        sourceType: 'album',
+        encodingType: 'jpg',
+        mediaValue: 'pic',
+        destinationType: 'url',
+        allowEdit: false,
+        quality: 100,
+        targetWidth: 600,
+        targetHeight: 600,
+        saveToPhotoAlbum: false
+    }, function(ret, err) {
+        if (ret) {
+            upimg(ret.data);
+        }
+    });
+    return false;
+})
+
+function upimg(files) {
+    if (files) {
+        api.ajax({
+            url: siteurl + 'v2/upload/tmp',//'?do=upfile',
+            method: 'post',
+            data: {
+                files: {
+                    file: files
+                }
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") }
+        }, function(ret, err) {
+            if (ret) {
+                $(".border-none-img").attr("src", ret.data.url);
+                _member_avatar = ret.data.file_name;
+            }
+        });
+    }
+}
+$(".more-btn").on("tap", function() {
+    if (_member_avatar == "") {
+        api.toast({ msg: '请上传头像!' });
+        return false;
+    }
+    if ($("#member_truename").val() == "") {
+        api.toast({ msg: '用户姓名不能为空!' });
+        return false;
+    }
+    $.ajax({
+        url: siteurl + 'v2/member/update',//'?do=edituserinfo',
+        data: {
+            memberid: $api.getStorage("memberid"),
+            member_truename: $("#member_truename").val(),
+            member_sex: _member_sex,
+            member_avatar: _member_avatar
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            if (datas.result) {
+                api.execScript({
+                    name: 'index',
+                    frameName: 'frame3',
+                    script: 'getRouteData()'
+                });
+                api.toast({ msg: '操作成功!' });
+                setTimeCloseWin("setting");
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    return false;
+})
+$(".editpad").on("tap", function() {
+    api.openWin({
+        name: 'editpad',
+        url: './editpad.html',
+        bounces: false
+    });
+    return false;
+})
+$(".bindmobile").on("tap", function() {
+    api.openWin({
+        name: 'bindmobile',
+        url: './bindmobile.html',
+        bounces: false
+    });
+    return false;
+})
+
+$(".member-sex").on("tap", function() {
+    $(".member-sex").find("img").attr("src", "../../image/checkun.png");
+    $(this).find("img").attr("src", "../../image/checkon.png");
+    _member_sex = $(this).attr("tag");
+    return false;
+})
+</script>
+
+</html>

+ 129 - 0
html/my/shangwuhezuo.html

@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        .back-item{
+          width:100%;
+          padding:10px;
+          text-align:center;
+          /*border-bottom: 1px solid #e8e8e8;*/
+          box-sizing: border-box;
+        }
+        .back-item img{
+          width:20px;
+        }
+        textarea{
+         width:100%;
+         height: 2rem;
+         font-size: 0.28rem;
+         line-height: 0.38rem;
+         padding: 0.5em;
+         box-sizing: border-box;
+         -webkit-appearance: none;
+        }
+        .close_btn {
+            position: absolute;
+            margin-left: -0.52rem;
+            color: #d9251c;
+        }
+        .image-list .img_item {
+            float: left;
+        }
+        .my-order.my-btn-list.font-rem11.apply-agent {
+            line-height: 1rem;
+            height: 1.5rem;
+            font-weight: 700;
+            font-size: 0.3rem;
+        }
+        .my-order.my-btn-list.font-rem11.apply-agent span.span_emil {
+            line-height: 0;
+            position: absolute;
+            font-weight: 500;
+            font-size: 0.28rem;
+            margin-top: -0.1rem;
+            color: #999;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">商务合作</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="border-none padding-top">
+
+        <!-- <div class="my-order my-btn-list font-rem11 apply-agent" style="font-weight: 700;font-size: 0.3rem;color: #000;">我的服务</div> -->
+        <!-- <div class="my-order my-btn-list font-rem11 apply-agent"></div> -->
+        <div class="my-order my-btn-list font-rem11 apply-agent">
+            <!-- <span class="iconfont" style="color: #fff;">&#xec70;</span> -->
+            城市运营商申请<br><span class="span_emil">请联系:cshz@qzaiwang.com</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11 apply-agent">
+            <!-- <span class="iconfont" style="color: #fff;">&#xec70;</span> -->
+            供应商申请<br><span class="span_emil">请联系:gys@qzaiwang.com</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11 apply-agent">
+            <!-- <span class="iconfont" style="color: #fff;">&#xec70;</span> -->
+            媒体公关<br><span class="span_emil">请联系:mt@qzaiwang.com</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11 apply-agent">
+            <!-- <span class="iconfont" style="color: #fff;">&#xec70;</span> -->
+            品牌广告<br><span class="span_emil">请联系:gg@qzaiwang.com</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11 apply-agent">
+            <!-- <span class="iconfont" style="color: #fff;">&#xec70;</span> -->
+            商家入驻<br><span class="span_emil">请联系:sj@qzaiwang.com</span>
+        </div>
+        <div class="my-order my-btn-list font-rem11 apply-agent">
+            <!-- <span class="iconfont" style="color: #fff;">&#xec70;</span> -->
+            商务合作洽谈<br><span class="span_emil">请联系:swhz@qzaiwang.com</span>
+        </div>
+        <div class="h20" style="height: 1rem;"></div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+var _imgArr = [];
+var _tImgArr = [];
+apiready = function() {
+    setFixStatusBar();
+};
+</script>
+
+</html>

+ 44 - 0
html/my/signin.html

@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title>title</title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <style>
+    	body{
+    		
+    	}
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+<body>
+	
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript">
+	apiready = function(){
+		
+	};
+</script>
+</html>

+ 158 - 0
html/my/syssetting.html

@@ -0,0 +1,158 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        .border-none{
+          text-align:center;font-size: 0.28rem;
+        }
+        .border-none span{
+          color: #999999;
+          /*font-size: 0.2rem;*/
+        }
+        .border-none-img{
+          margin-top:50px;
+          width:80px;
+          height:80px;
+          height:auto;
+          border-radius:50%;
+        }
+        .setting-item{
+          height: 1rem;
+          line-height:1rem;
+          font-size: 0.28rem;
+          width:100%;
+          border-bottom:1px solid #e8e8e8;
+          text-align:left;
+        }
+        .setting-item img{
+          width:19px;
+          vertical-align:middle;
+          margin-bottom:3px;
+        }
+         .setting-item input{
+           width:60%;
+           border-bottom:none;
+         }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">系统设置</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <div style="padding-top: 1.15rem;"></div>
+    <section class="border-none">
+        <div class="setting-item" style="line-height: normal;" id="set_notification">
+            接收消息通知<br>
+            <span>到系统设置里打开关闭</span>
+        </div>
+        <div class="setting-item" id="about">
+            关于我们 <span style="float:right;color:#cccccc;" class="iconfont">&#xe62e;</span>
+        </div>
+        <div class="setting-item mask-hidden" id="feed-back">
+            意见反馈 <span style="float:right;color:#cccccc;" class="iconfont">&#xe62e;</span>
+        </div>
+        <div class="m-bottom" style="position: fixed;bottom: 0.5rem;width: 91.47%;">退出登录</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript">
+apiready = function() {
+    setFixStatusBar();
+};
+$("#set_notification").on("tap", function() {
+    api.requestPermission({
+        list:['notification'],
+        code:1
+    }, function(ret, err){
+        if( !ret || !ret.list || !ret.list.granted ){
+            api.toast({ msg: '已获得通知权限...' });
+        }
+    })
+})
+$("#about").on("tap", function() {
+    api.openWin({
+        name: 'about',
+        url: './about.html',
+        bounces: false
+    });
+    return false;
+})
+$("#feed-back").on("tap", function() {
+    api.openWin({
+        name: 'feedback',
+        url: './feedback.html',
+        bounces: false
+    });
+    return false;
+})
+$("#set_notificationx").on("tap", function() {
+
+})
+$(".m-bottom").on("tap", function() {
+    api.confirm({
+        title: '退出登录',
+        msg: '是否要退出登录?',
+        buttons: ['确定', '取消']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 1) {
+            $api.rmStorage("memberid");
+            $api.rmStorage("accesstoken");
+            $api.rmStorage("storeid");
+            $api.rmStorage("agent_id");
+            api.closeWin({ name: 'index' });
+            api.closeWin({ name: 'hotelindex' });
+            api.closeWin({ name: 'agentindex' });
+            api.closeToWin();
+            api.openWin({
+                name: 'index',
+                url: 'widget://index.html',
+                bounces: false,
+                pageParam: {
+                    keyid: true
+                }
+            })
+            api.closeWin();
+        }
+    });
+    return false;
+})
+</script>
+
+</html>

+ 239 - 0
html/order/contacthotel.html

@@ -0,0 +1,239 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css?v=1.2" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{}
+        .evaluate-item{
+	         height: 1rem;
+	         line-height: 1rem;
+	         font-size: 0.28rem;
+	         background:#ffffff;
+	         border-bottom:1px solid #e8e8e8;
+	         position:relative;
+        }
+        .my-rating{
+         	position:absolute;
+         	left: 1rem;
+         	top: 0.3em;
+        }
+        .back-item{
+    	  width:100%;
+    	  padding:10px;
+    	  text-align:center;
+    	  /*border-bottom: 1px solid #e8e8e8;*/
+    	  box-sizing: border-box;
+    	}
+    	.back-item img{
+    	  width:20px;
+    	}
+    	textarea{
+         width:100%;
+         height: 2rem;
+         font-size: 0.28rem;
+         line-height: 0.37rem;
+         padding:5px;
+         box-sizing: border-box;
+         -webkit-appearance: none;
+         color:#666666;
+    	}
+        .close_btn {
+            position: absolute;
+            margin-left: -0.52rem;
+            color: #d9251c;
+        }
+        .image-list .img_item {
+            float: left;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">联系酒店</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="white-back padding-top">
+        <div class="back-item" style="position:relative;" id="wordCount">
+            <textarea row="5" id="content" maxlength="100" placeholder="填写内容"></textarea>
+            <!-- <span style="position:absolute;right:10px;bottom:5px;"><span id="count-txt">0</span>/100</span> -->
+            <span class="wordwrap" style="bottom: -0.32rem;"><var class="word">100</var>/ 100</span>
+        </div>
+        <div class="h10"></div>
+        <div style="font-size: 0.28rem;" class="mask-hidden">添加图片(最多3张)</div>
+        <div class="h5"></div>
+        <div class="image-list mask-hidden">
+            <span></span>
+            <img id="select-image" src="../../image/addimg.png" style="width: 0.86rem;" />
+        </div>
+        </div>
+        <div class="h20"></div>
+        <div class="m-bottom">提 交</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
+<script type="text/javascript">
+var _imgArr = [];
+var _tImgArr = [];
+var _geval_orderid = '';
+apiready = function() {
+    _geval_orderid = api.pageParam.keyid;
+    setFixStatusBar();
+};
+$(function() {
+    var wordCount = $("#wordCount"),
+        textArea = wordCount.find("textarea"),
+        word = wordCount.find(".word");
+    statInputNum(textArea, word);
+})
+$(".m-bottom").on("tap", function() {
+    if ($("#content").val() == "") {
+        api.toast({ msg: '请填写联系酒店内容!' });
+        return false;
+    }
+    _imgArr.splice(0, _imgArr.length);
+    $(".image-list .img_item").each(function() {
+        var _src = $(this).data("img");
+        _imgArr.push(_src);
+    });
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v1/order/urge',//'?do=saveurge',
+        data: {
+            order_id: _geval_orderid,
+            member_id: $api.getStorage("memberid"),
+            content: $("#content").val(),
+            img_list: _imgArr.toString()
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                api.alert({
+                    title: '提交成功',
+                    msg: '消息提交酒店中!',
+                }, function(ret, err) {
+                    api.closeWin();
+                });
+            } else {
+                // api.toast({ msg: '提交失败!' });
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    return false;
+})
+
+$("#select-image").on("tap", function() {
+    var has = hasPermission('storage');
+    if(!has || !has[0] || !has[0].granted){
+        api.confirm({
+            title: '提醒',
+            msg: "没有获得 存储 权限\n是否前往设置?",
+            buttons: ['去设置', '取消']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 1) {
+                reqPermission('storage');
+            } else {
+               api.toast({ msg: '获取存储权限失败...' }); 
+            }
+        });
+        // $(".border-none").removeClass("mask-hidden");
+        return false;
+    }
+    api.getPicture({
+        sourceType: 'album',
+        encodingType: 'jpg',
+        mediaValue: 'pic',
+        destinationType: 'url',
+        allowEdit: false,
+        quality: 100,
+        targetWidth: 600,
+        targetHeight: 600,
+        saveToPhotoAlbum: false
+    }, function(ret, err) {
+        if (ret) {
+            upimg(ret.data);
+        }
+    });
+})
+
+
+function upimg(files) {
+    if (files) {
+        api.ajax({
+            url: siteurl + 'v2/upload/tmp',//'?do=upfile',
+            method: 'post',
+            data: {
+                files: {
+                    file: files
+                }
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") }
+        }, function(ret, err) {
+            if (ret) {
+                _tImgArr.push(ret.data);
+                create_html(_tImgArr);
+            }
+        });
+    }
+}
+
+function create_html(list){
+    var html = '';
+    for(var i in list){
+        html += '<div class="img_item" data-img="'+list[i].file_name+'"><img id="select-image" class="select-image" src="' + list[i].url + '" style="width: 1.6rem;margin-right: 0.2rem;"/><span class="close_btn iconfont icon-guanbi" data-index="'+i+'"></span></div>'
+    }
+    $(".image-list span").html(html);
+}
+
+
+$(".image-list").on("tap", ".close_btn", function() {
+    // console.log(this)
+    _tImgArr.splice($(this).data('index')*1, 1);
+    create_html(_tImgArr);
+});
+
+
+</script>
+
+</html>

+ 273 - 0
html/order/evaluate.html

@@ -0,0 +1,273 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css?v=1.2" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+    	body{}
+        .evaluate-item{
+	         height: 1rem;
+	         line-height: 1rem;
+	         font-size: 0.28rem;
+	         background: #ffffff;
+	         position: relative;
+        }
+        .my-rating{
+         	position:absolute;
+         	left: 1rem;
+         	top: 0.3em;
+        }
+        .back-item{
+    	  width:100%;
+    	  padding:10px;
+    	  text-align:center;
+    	  box-sizing: border-box;
+    	}
+    	.back-item img{
+    	  width:20px;
+    	}
+    	textarea{
+         width:100%;
+         height: 2rem;
+         font-size: 0.28rem;
+         line-height: 0.37rem;
+         padding:5px;
+         box-sizing: border-box;
+         -webkit-appearance: none;
+         color:#666666;
+    	}
+        .my-rating .jq-star {
+            width: 0.4rem !important;
+            height: 0.4rem !important;
+        }
+        .close_btn {
+            position: absolute;
+            margin-left: -0.52rem;
+            color: #d9251c;
+        }
+        .image-list .close_btn.iconfont.icon-guanbi:before {
+            /*position: absolute;*/
+            /*margin-left: 1.2rem;*/
+        }
+        .image-list .img_item {
+            float: left;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">评价晒单</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="white-back padding-top">
+        <div class="evaluate-item">评价<div class="my-rating"></div>
+        </div>
+        <div class="back-item" style="position:relative;" id="wordCount">
+            <textarea row="5" id="content" maxlength="100" placeholder="五星好评超过20个字就有机会获得积分"></textarea>
+            <!-- <span style="position:absolute;right:10px;bottom:5px;"><span id="count-txt">0</span>/100</span> -->
+            <span class="wordwrap" style="bottom: -0.32rem;"><var class="word">100</var>/ 100</span>
+        </div>
+        <div class="h10"></div>
+        <div style="font-size: 0.28rem;">添加图片(最多3张)</div>
+        <div class="h5"></div>
+        <div class="image-list">
+            <span></span>
+            <img id="select-image" src="../../image/addimg.png" style="width: 0.86rem;" />
+        </div>
+        </div>
+        <div class="h20"></div>
+        <div class="m-bottom">提 交</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
+<script type="text/javascript">
+var _imgArr = [];
+var _geval_scores = 0;
+var _geval_orderid = '';
+var _tImgArr = [];
+apiready = function() {
+    _geval_orderid = api.pageParam.keyid;
+    setFixStatusBar();
+};
+$(function() {
+    var wordCount = $("#wordCount"), textArea = wordCount.find("textarea"), word = wordCount.find(".word");
+    statInputNum(textArea, word);
+})
+$(".m-bottom").on("tap", function() {
+    if (_geval_scores == 0) {
+        api.toast({ msg: '请完成星级评价!' });
+        return false;
+    }
+    if ($("#content").val() == "") {
+        api.toast({ msg: '请填写反馈内容!' });
+        return false;
+    }
+    _imgArr.splice(0, _imgArr.length);
+    $(".image-list .img_item").each(function() {
+        var _src = $(this).data("img");
+        _imgArr.push(_src);
+    });
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v2/order/evaluate',
+        data: {
+            order_id: _geval_orderid,
+            score: _geval_scores,
+            content: $("#content").val(),
+            img_list: _imgArr.toString()
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                // setPoint();
+                api.alert({
+                    title: '提交成功',
+                    msg: '感谢您的评价!',
+                }, function(ret, err) {
+                    api.closeWin();
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    return false;
+})
+
+$(".my-rating").starRating({
+    starSize: 23,
+    activeColor: '#d9251c',
+    starShape: 'rounded',
+    hoverColor: '#d9251c',
+    initialRating: 0,
+    useFullStars: true,
+    disableAfterRate: false,
+    callback: function(currentRating, $el) {
+        _geval_scores = currentRating;
+    }
+});
+
+$(".image-list").on("tap", ".close_btn", function() {
+    // console.log(this)
+    _tImgArr.splice($(this).data('index')*1, 1);
+    create_html(_tImgArr);
+    console.log(_tImgArr);
+});
+
+
+$("#select-image").on("tap", function() {
+    if (_tImgArr.length < 3) {
+        var has = hasPermission('storage');
+    if(!has || !has[0] || !has[0].granted){
+        api.confirm({
+            title: '提醒',
+            msg: "没有获得 存储 权限\n是否前往设置?",
+            buttons: ['去设置', '取消']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 1) {
+                reqPermission('storage');
+            } else {
+               api.toast({ msg: '获取存储权限失败...' }); 
+            }
+        });
+        // $(".border-none").removeClass("mask-hidden");
+        return false;
+    }
+        api.getPicture({
+            sourceType: 'album',
+            encodingType: 'jpg',
+            mediaValue: 'pic',
+            destinationType: 'url',
+            allowEdit: false,
+            quality: 100,
+            targetWidth: 600,
+            targetHeight: 600,
+            saveToPhotoAlbum: false
+        }, function(ret, err) {
+            if (ret) {
+                upimg(ret.data);
+                // _tImgArr.push(ret.data);
+            }
+        });
+    } else {
+        api.toast({ msg: '上传不能超过3张图片' });
+    }
+})
+
+function upimg(files) {
+    if (files) {
+        api.ajax({
+            url: siteurl + 'v2/upload/tmp',//'?do=upfile',
+            method: 'post',
+            data: {
+                files: {
+                    file: files
+                }
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") }
+        }, function(ret, err) {
+            if (ret) {
+                _tImgArr.push(ret.data);
+                create_html(_tImgArr);
+                
+            }
+        });
+    }
+}
+
+function create_html(list){
+    var html = '';
+    for(var i in list){
+        html += '<div class="img_item" data-img="'+list[i].file_name+'"><img id="select-image" class="select-image" src="' + list[i].url + '" style="width: 1.6rem;margin-right: 0.2rem;"/><span class="close_btn iconfont icon-guanbi" data-index="'+i+'"></span></div>'
+    }
+    $(".image-list span").html(html);
+}
+
+
+$("#content").keyup(function() {
+    $("#count-txt").text($(this).val().length);
+})
+
+</script>
+
+</html>

+ 727 - 0
html/order/order_return.html

@@ -0,0 +1,727 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport"
+          content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css"/>
+    <link rel="stylesheet" type="text/css" href="../../css/style.css"/>
+    <style>
+        .select-radio span {
+            display: inline-block;
+            width: 0.4rem;
+            height: 0.4rem;
+            background-color: #eee;
+            border-radius: 0.4rem;
+            color: #fff;
+            position: relative;
+        }
+        .select-radio{position: absolute; left:0rem; top:0.8rem;}
+        .goods-selected .select-radio span {
+            background: url(../../image/checked.png) no-repeat;
+            background-size: 100% 100%;
+        }
+
+        body {
+            background: #f2f2f2;
+        }
+
+        .order-status {
+            font-size: 0.26rem;
+            width: 100%;
+            padding: 0.21rem 0;
+            margin-bottom: 0.17rem;
+        }
+
+        .order-postaddr {
+            width: 100%;
+            padding: 0.32rem 0;
+        }
+
+        #state-btn {
+            width: 100%;
+        }
+
+        .order-btn {
+            width: 100%;
+            background: #ffffff;
+            border-top: 1px solid #e8e8e8;
+            position: fixed;
+            bottom: 0px;
+        }
+
+        .order-btn li {
+            float: left;
+            width: 50%;
+            height: 0.9rem;
+            line-height: 0.9rem;
+            text-align: center;
+            font-size: 0.32rem;
+            border-right: 1px solid #e8e8e8;
+            box-sizing: border-box;
+        }
+
+        .to-pay {
+            color: #ffffff;
+            background: #D60E15;
+        }
+
+        .order-list {
+            margin-bottom: 0.9rem;
+        }
+
+        .order-list-right p {
+            font-size: 0.22rem;
+            color: #999;
+            /*height: 1.04rem;*/
+        }
+
+        p.font-size-18 {
+            color: #666;
+            height: auto;
+        }
+
+        .h5 {
+            background: #f2f2f2;
+            margin: 0 0 0 -0.32rem;
+            width: 7.5rem;
+            /*margin-top: 0.5em;*/
+        }
+
+        .order-list-goods{position: relative;}
+        .goods_num-box{display: table; background: none !important;}
+        .goods_num-box .num{background: none;}
+        .goods_num-box span{display: table-cell; width:0.4rem; height:0.4rem; text-align: center; line-height: 0.4rem; border-radius: 0.3rem; background: #eee;}
+        .comment-box{background: #fff; margin-top:0rem; padding:0.32rem;}
+
+        .comment-box .form-line{padding:0.16rem 0;}
+
+        .radio {
+            margin: 0.2rem;margin-right:1rem;
+        }
+        .radio input[type="radio"] {
+            position: absolute;
+            opacity: 0;
+        }
+        .radio input[type="radio"] + .radio-label:before {
+            content: '';
+            background: #f4f4f4;
+            border-radius: 100%;
+            border: 1px solid #b4b4b4;
+            display: inline-block;
+            width: 1.4em;
+            height: 1.4em;
+            position: relative;
+            top: -0.16em;
+            margin-right: 0.5em;
+            margin-top:0.1em;
+            vertical-align: top;
+            cursor: pointer;
+            text-align: center;
+            -webkit-transition: all 100ms ease;
+            transition: all 100ms ease;
+        }
+        .radio input[type="radio"]:checked + .radio-label:before {
+            background-color: #ee2e51;
+            box-shadow: inset 0 0 0 4px #f4f4f4;
+            border: 1px solid #ee2e51;
+        }
+        .radio input[type="radio"]:focus + .radio-label:before {
+            outline: none;
+            border-color: #ee2e51;
+        }
+        .radio input[type="radio"]:disabled + .radio-label:before {
+            box-shadow: inset 0 0 0 4px #f4f4f4;
+            border-color: #ee2e51;
+            background: #ee2e51;
+        }
+        .radio input[type="radio"] + .radio-label:empty:before {
+            margin-right: 0;
+        }
+        .comment-box .form-line textarea{font-size:0.32rem;outline: none;-webkit-appearance: none; border-radius: 0; width:100%; height:1.5rem;}
+        .comment-box select{width:100%;}
+        select{
+            border: none;
+            outline: none;
+            -webkit-appearance: none;
+            font-size: 0.32rem;
+            background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTQxNTU2MzgzNTgyIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE3NTYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNMTIgMjYyaDEwMDBMNTEyIDc2MnoiIGZpbGw9IiNDMEM0Q0MiIHAtaWQ9IjE3NTciPjwvcGF0aD48L3N2Zz4=');
+            background-size: 0.2rem;
+            background-repeat: no-repeat;
+            background-position: right center;
+            padding-right: 0.3rem;
+            background-color: white;
+            -webkit-border-radius: 0;
+            -moz-border-radius: 0;
+            border-radius: 0;
+           }
+        .image-list .img_item {
+            float: left;
+        }
+        .close_btn {
+            position: absolute;
+            margin-left: -0.52rem;
+            color: #fff;
+            background: #d9251c;
+            display: block;
+            width:0.32rem;
+            height:0.32rem;
+            top:0;
+            right:0;
+            text-align: center;
+            line-height: 0.32rem;
+        }
+        .img_item{position: relative; background: #eee; width:0.86rem;}
+        .img_item img{vertical-align: top;}
+    </style>
+    <script>
+        (function (w, d, m) {
+            function r() {
+                var t = 100,
+                    o = 750,
+                    e = d.documentElement.clientWidth || w.innerWidth,
+                    n = m.max(m.min(e, 480), 320),
+                    h = 50;
+                320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                    d.querySelector("html").style.fontSize = (e / 7.5) + "px"
+            };
+            r();
+            w.onresize = function () {
+                r()
+            }
+        })(window, document, Math);
+    </script>
+</head>
+
+<body>
+<div class="topbar"></div>
+<header class="back-header back-header-bottom">
+    <ul>
+        <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png"/>
+        </li>
+        <li class="back-header-title">退货退款</li>
+        <li class="more-btn"></li>
+    </ul>
+</header>
+<section class="white-back" style="padding-top: 1.01rem;">
+    <div id="order-status" class="order-status"></div>
+</section>
+<section class="white-back" style="display: none;">
+    <div class="order-postaddr">
+        <span id="contact-name"></span>
+        <p id="contact-addr"></p>
+    </div>
+</section>
+<section class="order-list white-back" style="margin-bottom:0;">
+
+</section>
+
+<div class="comment-box">
+
+
+    <div class="form-line" style="border:1px solid #eee; padding:0.16rem; padding-top:0.32rem; margin-bottom:0.24rem;">
+        <textarea id="content" placeholder="申请原因(3个字以上)"></textarea>
+    </div>
+
+    <div class="form-line" style="">
+        <div class="image-list">
+            <span></span>
+            <img id="select-image" src="../../image/addimg.png" style="width: 0.86rem;" />
+        </div>
+    </div>
+
+
+</div><div style="height:50px;"></div>
+<div id="state-btn">
+    <div class="order-btn" id="order-return"><ul><li style="width: 100%">提交</li></ul></div>
+</div>
+</body>
+<script type="text/javascript" src="../../script/vue.js"></script>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript">
+    var _keyid = '';
+    var _goods_id = '';
+    var _imgArr = [];
+    var _tImgArr = [];
+    var select_data = {}
+    apiready = function () {
+        _keyid = api.pageParam.keyid;
+        _goods_id = api.pageParam.goods_id;
+        setFixStatusBar();
+        getRouteData(_keyid);
+        // getAddrData(_keyid);
+        api.addEventListener({
+            name: 'resume'
+        }, function (ret, err) {
+            freshen_page();
+        });
+        api.addEventListener({
+            name: 'viewappear'
+        }, function (ret, err) {
+            freshen_page();
+        });
+    };
+
+    function freshen_page() {
+        $("#contact-name").html('');
+        $("#contact-addr").html('');
+        $("#order-status").html('');
+        $(".order-list").html('');
+        //$("#state-btn").html('');
+        getRouteData(_keyid);
+    }
+    function upimg(files) {
+        if (files) {
+            api.ajax({
+                url: siteurl + 'v2/upload/tmp',//'?do=upfile',
+                method: 'post',
+                data: {
+                    files: {
+                        file: files
+                    }
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") }
+            }, function(ret, err) {
+                if (ret) {
+                    _tImgArr.push(ret.data);
+                    create_html(_tImgArr);
+                }
+            });
+        }
+    }
+    function create_html(list){
+        var html = '';
+        for(var i in list){
+            html += '<div class="img_item" data-img="'+list[i].file_name+'"><img id="select-image" class="select-image" src="' + list[i].url + '" style="width: 0.86rem;height: 0.86rem;margin-right: 0.2rem;"/><span class="close_btn iconfont icon-guanbi" data-index="'+i+'">x</span></div>'
+        }
+        $(".image-list span").html(html);
+    }
+    $("#select-image").on("tap", function() {
+        if (_tImgArr.length < 3) {
+            var has = hasPermission('storage');
+            if(!has || !has[0] || !has[0].granted){
+                api.confirm({
+                    title: '提醒',
+                    msg: "没有获得 存储 权限\n是否前往设置?",
+                    buttons: ['去设置', '取消']
+                }, function (ret, err) {
+                    var index = ret.buttonIndex;
+                    if (index == 1) {
+                        reqPermission('storage');
+                    } else {
+                        api.toast({ msg: '获取存储权限失败...' });
+                    }
+                });
+                // $(".border-none").removeClass("mask-hidden");
+                return false;
+            }
+            api.getPicture({
+                sourceType: 'album',
+                encodingType: 'jpg',
+                mediaValue: 'pic',
+                destinationType: 'url',
+                allowEdit: false,
+                quality: 100,
+                targetWidth: 600,
+                targetHeight: 600,
+                saveToPhotoAlbum: false
+            }, function(ret, err) {
+                if (ret) {
+                    upimg(ret.data);
+                    // _tImgArr.push(ret.data);
+                }
+            });
+        } else {
+            api.toast({ msg: '上传不能超过3张图片' });
+        }
+        return false;
+    })
+    function getRouteData(_keyid) {
+        toast_loding_show();
+        $.ajax({
+            url: siteurl + 'v2/order/info',
+            data: {
+                order_id: _keyid
+            },
+            headers: {"X-TOKEN": $api.getStorage("accesstoken")},
+            dataType: 'json',
+            type: 'post',
+            success: function (datas) {
+                toast_loding_hide();
+                if (!datas.result) {
+                    api.toast({msg: '订单信息获取失败!'});
+                    return false;
+                }
+                var item = datas.data;
+                var _html = '';
+                var _total = 0;
+                // $.each(datas, function(index, item) {
+                _html += '<div class="order-list-title" state="' + item.order_state + '" keyid="' + item.order_id + '"><img src="' + siteurl + 'uploads/home/store/' + item.storeid + '/' + item.store_avatar + '"/> ' + item.store_name + '</div>';
+                $.each(item.goods, function (index2, item2) {
+                  if(item2.goods_id == _goods_id){
+                    _total = item2.goods_price * item2.goods_num
+                    var arr = item2.goods_name.split(" ");
+                    var name_arr = arr[0];
+                    var size_arr = item2.goods_name.replace(name_arr, "");
+                    _html += '<div class="order-list-goods" goods_commonid="' + item2.goods_commonid + '" storeid="' + item2.store_id + '" keyid="' + item2.goods_id + '"><ul><li>';
+                    //_html += '<div class="select-radio"><span></span></div><div style="position: absolute; right:0; top:1.5rem; width:1.5rem; background: #ff0;" class="goods_num-box"><span class="sub-btn" data-goods_id="'+item2.goods_id+'" data-num="'+item2.goods_num+'">-</span><span class="num" id="goods_box_'+item2.goods_id+'">0</span><span class="add-btn" data-goods_id="'+item2.goods_id+'" data-num="'+item2.goods_num+'">+</span></div>';
+                    _html += '<img src="' + siteurl + 'uploads/home/store/goods/' + item2.goods_image.substr(0, item2.goods_image.indexOf("\_")) + '/' + item2.goods_image + '"/></li>';
+                    _html += '<li class="order-list-right"><span class="font-rem11">' + name_arr + '</span><p>' + size_arr + '  x' + item2.goods_num + '</p>';
+                    _html += '<p class="font-size-18">¥' + item2.goods_price + '</p></li>';
+                    _html += '</ul></div><div class="h2"></div>';
+                  }
+                });
+                _html += '<div class="order-list-title" style="border-bottom:none;border-top: 1px solid #e8e8e8;">合计:¥' + _total + '</span></div>';
+                _html += '<div class="order-list-title" style="border-bottom:none;">订单编号:' + item.order_sn + '</div><div class="h5"></div>';
+                if (item.shipping_code) {
+                    //_html += '<div class="order-list-title" style="border-bottom:none;">快递单号:' + item.shipping_code + '&nbsp;&nbsp;(&nbsp;' + item.express_name + '&nbsp;)</div>';
+                }
+                $("#contact-name").html(datas.data.reciver_name + " " + datas.data.reciver_info.phone);
+                $("#contact-addr").html(datas.data.reciver_info.address);
+                item.payment_time = item.payment_time ? item.payment_time : '未支付';
+                item.delay_time = item.delay_time ? item.delay_time : '未发货';
+                item.finnshed_time = item.finnshed_time ? item.finnshed_time : '未确认';
+                // });
+                $(".order-list").append(_html);
+                function_name();
+
+                if (item.refund_state == 1) {
+                    $("#order-status").html("等待酒店处理退货申请");
+                } else {
+                    $("#order-status").html(item.status);
+                }
+
+                if (item.order_state == 40) {
+                    if (item.refund_state == 0) {
+                        //$("#state-btn").append('<div class="order-btn" id="order-return"><ul><li style="width: 100%">退换货申请</li></ul></div>');
+                    }
+                }
+            }
+        });
+    }
+    function numsub(goods_id, num, e) {
+        alert()
+    }
+    function numadd(goods_id, num, e) {
+        console.log(e)
+        return false
+    }
+    ///
+    function getAddrData(_keyid) {
+        $.ajax({
+            url: rooturl + '?do=getordercommon',
+            data: {
+                memberid: $api.getStorage("memberid"),
+                order_id: _keyid
+            },
+            dataType: 'json',
+            type: 'post',
+            success: function (datas) {
+                $("#contact-name").html(datas.reciver_name + " " + datas.reciver_info.phone);
+                $("#contact-addr").html(datas.reciver_info.address);
+            }
+        });
+    }
+
+    ///
+    $("#state-btn").on("tap", ".to-pay", function () {
+        var _keyid = $(this).attr("keyid");
+        api.openWin({
+            name: 'paymode',
+            url: '../home/paymode.html',
+            bounces: false,
+            pageParam: {
+                keyid: _keyid
+            }
+        });
+        return false;
+    })
+    $("#state-btn").on("tap", ".urge", function () {
+        var _keyid = $(this).attr("keyid");
+        api.openWin({
+            name: 'urge',
+            url: './urge.html',
+            bounces: false,
+            pageParam: {
+                keyid: _keyid
+            }
+        });
+        return false;
+    })
+    $("#state-btn").on("tap", ".contacthotel", function () {
+        var _keyid = $(this).attr("keyid");
+        api.openWin({
+            name: 'contacthotel',
+            url: './contacthotel.html',
+            bounces: false,
+            pageParam: {
+                keyid: _keyid
+            }
+        });
+        return false;
+    })
+
+    $(".image-list").on("tap", ".close_btn", function() {
+        console.log('删除')
+        _tImgArr.splice($(this).data('index')*1, 1);
+        create_html(_tImgArr);
+    });
+    $(".order-list").on("tap", ".order-list-goods", function (e) {
+        var _keyid = $(this).attr("keyid");
+        var _storeid = $(this).attr("storeid");
+        var _goods_commonid = $(this).attr("goods_commonid");
+        var goods_num = 0
+        if(e.target.classList.contains('sub-btn')){
+            var _keyid = e.target.getAttribute('data-goods_id')
+            var num = e.target.getAttribute('data-num')
+            if($('#goods_box_'+_keyid).html() == 0){
+                return false
+            }
+            goods_num = $('#goods_box_'+_keyid).html() * 1-1
+            $('#goods_box_'+_keyid).html($('#goods_box_'+_keyid).html() * 1-1)
+        }
+        if(e.target.classList.contains('add-btn')){
+            var _keyid = e.target.getAttribute('data-goods_id')
+            var num = e.target.getAttribute('data-num')
+            if($('#goods_box_'+_keyid).html() == num){
+                return false
+            }
+            goods_num = $('#goods_box_'+_keyid).html() * 1+1
+            $('#goods_box_'+_keyid).html($('#goods_box_'+_keyid).html() * 1+1)
+        }
+        if (goods_num == 0) {
+            $(this).removeClass('goods-selected')
+            delete select_data[_keyid]
+        } else {
+            $(this).addClass('goods-selected')
+            select_data[_keyid] = {id: _keyid, goods_commonid: _goods_commonid, num: goods_num}
+        }
+        return false;
+    })
+    ////
+    $("#state-btn").on("tap", "#order-cancel", function () {
+        api.confirm({
+            title: '是否取消订单',
+            buttons: ['取消', '确定']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                toast_loding_show();
+                $.ajax({
+                    url: siteurl + 'v2/order/cancel',
+                    data: {
+                        order_id: _keyid,
+                        memberid: $api.getStorage("memberid"),
+                        type: 'user'
+                    },
+                    headers: {"X-TOKEN": $api.getStorage("accesstoken")},
+                    dataType: 'json',
+                    type: 'post',
+                    success: function (datas) {
+                        toast_loding_hide();
+                        if (datas.result) {
+                            // alert(JSON.stringify(datas));
+                            api.toast({msg: '操作成功!'});
+                            refreshData();
+                            setTimeCloseWin("orderdtl");
+                        } else {
+                            // alert(JSON.stringify(datas));
+                            errcode(datas, datas.code);
+                        }
+                    }
+                });
+            }
+        })
+        return false;
+    })
+    ////退款
+    $("#state-btn").on("tap", "#order-return", function () {
+        api.confirm({
+            title: '是否申请退换货',
+            buttons: ['取消', '确定']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                toast_loding_show();
+                $.ajax({
+                    url: siteurl + 'v3/Order/refund',
+                    data: {
+                        order_id: _keyid,
+                        goods_id: _goods_id,
+                        remark: $('#content').val(),
+                        images: _tImgArr.join(',')
+                    },
+                    headers: {"X-TOKEN": $api.getStorage("accesstoken")},
+                    dataType: 'json',
+                    type: 'post',
+                    success: function (datas) {
+                        toast_loding_hide();
+                        if (datas.result) {
+                            api.toast({
+                                msg: '您的退换货申请已经提交,商户客服人员会尽快联系您!',
+                                duration: 3000,
+                                location: 'middle'
+                            });
+                            refreshData();
+                            setTimeout(function () {
+                                api.closeWin({name: "order_return"});
+                            }, 2500);
+                        } else {
+                            errcode(datas, datas.code);
+                        }
+                    }
+                });
+            }
+        })
+        return false;
+    })
+    $("#state-btn").on("tap", ".confirm", function () {
+        api.confirm({
+            title: '是否确认收货',
+            buttons: ['取消', '确定']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                $.ajax({
+                    url: siteurl + 'v2/order/confirm',//'?do=orderconfirm',
+                    data: {
+                        memberid: $api.getStorage("memberid"),
+                        order_id: _keyid
+                    },
+                    headers: {"X-TOKEN": $api.getStorage("accesstoken")},
+                    dataType: 'json',
+                    type: 'post',
+                    success: function (datas) {
+                        if (datas.result) {
+                            api.toast({msg: '操作成功!'});
+                            refreshData();
+                            setTimeCloseWin("orderdtl");
+                        } else {
+                            errcode(datas, datas.code);
+                        }
+                    }
+                });
+            }
+        })
+        return false;
+    })
+    $("#state-btn").on("tap", ".evaluate", function () {
+        api.openWin({
+            name: 'evaluate',
+            url: './evaluate.html',
+            bounces: false,
+            pageParam: {
+                keyid: _keyid
+            }
+        });
+        return false;
+    })
+    $("#state-btn").on("tap", "#order-del", function () {
+        api.confirm({
+            title: '是否要删除订单',
+            buttons: ['取消', '确定']
+        }, function (ret, err) {
+            var index = ret.buttonIndex;
+            if (index == 2) {
+                $.ajax({
+                    url: siteurl + 'v2/order/drop',//'?do=orderdel',
+                    data: {
+                        order_id: _keyid,
+                        memberid: $api.getStorage("memberid")
+                    },
+                    headers: {"X-TOKEN": $api.getStorage("accesstoken")},
+                    dataType: 'json',
+                    type: 'post',
+                    success: function (datas) {
+                        if (datas.result) {
+                            api.toast({msg: '操作成功!'});
+                            refreshData();
+                            setTimeCloseWin("orderdtl");
+                        } else {
+                            errcode(datas, datas.code);
+                        }
+                    }
+                });
+            }
+        })
+        return false;
+    })
+
+    function refreshData() {
+        api.execScript({
+            name: 'index',
+            frameName: 'frame2',
+            script: 'getRouteData();'
+        });
+    }
+
+
+    $("#order-return").on("tap", function() {
+        var content = $("#content").val()
+        var option_type = $('input[name="option_type"]:checked').val()
+        var reason = $('#reason').val()
+        //select_data
+        //_imgArr
+        _imgArr.splice(0, _imgArr.length);
+        $(".image-list .img_item").each(function() {
+            var _src = $(this).data("img");
+            _imgArr.push(_src);
+        });
+        /*
+        * url: siteurl + 'v2/order/refund',
+                data: {
+                    order_id: _keyid,
+                    memberid: $api.getStorage("memberid"),
+                    type: 'user'
+                },*/
+                if($('#content').val().length < 3){
+                  alert('至少填写3个字');
+                  return;
+                }
+        toast_loding_show();
+        $.ajax({
+            url: siteurl + 'v3/Order/refund',
+            data: {
+                remark: $('#content').val(),
+                images: _imgArr.toString(),
+                order_id: _keyid,
+                goods_id: _goods_id
+            },
+            headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+            dataType: 'json',
+            type: 'post',
+            success: function(datas) {
+                toast_loding_hide();
+                if (datas.result) {
+                    api.toast({
+                        msg: '您的退换货申请已经提交,商户客服人员会尽快联系您!',
+                        duration: 3000,
+                        location: 'middle'
+                    });
+                    refreshData();
+                    setTimeout(function() { api.closeWin({ name: "order_return" }); }, 2500);
+                } else {
+                    api.toast({
+                        msg: datas.msg,
+                        duration: 2000,
+                        location: 'middle'
+                    });
+                }
+            }
+        });
+        return false;
+    })
+
+</script>
+
+</html>

+ 558 - 0
html/order/orderdtl.html

@@ -0,0 +1,558 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+    <style>
+        body{background: #f2f2f2;}
+        .order-status{
+            font-size: 0.26rem;
+            width: 100%;
+            padding: 0.21rem 0;
+            margin-bottom: 0.17rem;
+        }
+        .order-postaddr{
+            width: 100%;
+            padding: 0.32rem 0;
+        }
+
+        #state-btn{
+          width:100%;
+        }
+        .order-btn{
+          width:100%;
+          background:#ffffff;
+          border-top:1px solid #e8e8e8;
+          position:fixed;
+          bottom:0px;
+        }
+        .order-btn li{
+          float:left;
+          width:50%;
+          height: 0.9rem;
+          line-height: 0.9rem;
+          text-align:center;
+          font-size: 0.32rem;
+          border-right:1px solid #e8e8e8;
+          box-sizing:border-box;
+        }
+        .to-pay{
+          color:#ffffff; background:#D60E15;
+        }
+        .order-list {
+            margin-bottom: 0.9rem;
+        }
+        .order-list-right p {
+            font-size: 0.22rem;
+            color: #999;
+            /*height: 1.04rem;*/
+        }
+        p.font-size-18 {
+            color: #666;
+            height: auto;
+        }
+        .h5 {
+            background: #f2f2f2;
+            margin: 0 0 0 -0.32rem;
+            width: 7.5rem;
+            /*margin-top: 0.5em;*/
+        }
+        .service_btn{clear: both; position: relative; text-align: right; padding:0.32rem; padding-top:0; padding-right:0;}
+        .service_btn a{    position: relative;
+    display: inline-block;
+    box-sizing: border-box;
+    margin: 0;
+    padding: 0.16rem;
+    font-size: 0.24rem;
+    line-height: 1.2;
+    text-align: center;
+    border-radius: 2px;
+    cursor: pointer;
+    -webkit-transition: opacity 0.2s;
+    transition: opacity 0.2s;
+    -webkit-appearance: none;
+    color: #323233;
+  background-color: #fff;
+  border: 1px solid #ebedf0;}
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">订单详情</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="white-back" style="padding-top: 1.01rem;">
+        <div id="order-status" class="order-status"></div>
+    </section>
+    <section class="white-back" style="margin-bottom: 0.17rem;">
+        <div class="order-postaddr">
+            <span id="contact-name"></span>
+            <p id="contact-addr"></p>
+        </div>
+    </section>
+    <section class="order-list white-back">
+    </section>
+    <div id="state-btn">
+    </div>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+apiready = function() {
+    _keyid = api.pageParam.keyid;
+    setFixStatusBar();
+    getRouteData(_keyid);
+    // getAddrData(_keyid);
+    api.addEventListener({
+        name: 'resume'
+    }, function(ret, err) {
+        freshen_page();
+    });
+    api.addEventListener({
+        name: 'viewappear'
+    }, function(ret, err) {
+        freshen_page();
+    });
+};
+
+function freshen_page() {
+    $("#contact-name").html('');
+    $("#contact-addr").html('');
+    $("#order-status").html('');
+    $(".order-list").html('');
+    $("#state-btn").html('');
+    getRouteData(_keyid);
+}
+
+function getRouteData(_keyid) {
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v2/order/info',
+        data: {
+            order_id: _keyid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (!datas.result) {
+                api.toast({ msg: '订单信息获取失败!' });
+                return false;
+            }
+            var item = datas.data;
+            var _html = '';
+            // $.each(datas, function(index, item) {
+                _html += '<div class="order-list-title" state="' + item.order_state + '" keyid="' + item.order_id + '"><img src="' + siteurl + 'uploads/home/store/' + item.storeid + '/' + item.store_avatar + '"/> ' + item.store_name + '</div>';
+                $.each(item.goods, function(index2, item2) {
+                    var arr = item2.goods_name.split(" ");
+                    var name_arr = arr[0];
+                    var size_arr = item2.goods_name.replace(name_arr, "");
+                    _html += '<div class="order-list-goods" goods_commonid="'+item2.goods_commonid+'" storeid="' + item2.store_id + '" keyid="' + item2.goods_id + '"><ul><li><img src="' + siteurl + 'uploads/home/store/goods/' + item2.goods_image.substr(0, item2.goods_image.indexOf("\_")) + '/' + item2.goods_image + '"/></li>';
+                    _html += '<li class="order-list-right"><span class="font-rem11">' + name_arr + '</span><p>' + size_arr + '  x' + item2.goods_num + '</p>';
+                    _html += '<p class="font-size-18">¥' + item2.goods_price + '</p></li>';
+                    if(item.order_state == 40 && item.evaluation_state == 0 && item2.status == 2 && item.payment_code != 'point'){
+                      _html += '<div class="service_btn"><a href="javascript:void(0);" data-goods_id="'+item2.goods_id+'">退货退款</a></div>';
+                    }
+                    if(item2.status == 3){
+                      _html += '<div class="service_btn"><a href="javascript:void(0);" data-refund_id="'+item2.or_id+'" data-goods_id="'+item2.goods_id+'">退款申请中</a></div>';
+                    }
+                    if(item2.status == 4){
+                      _html += '<div class="service_btn"><a href="javascript:void(0);" data-refund_id="'+item2.or_id+'" data-goods_id="'+item2.goods_id+'">已退款</a></div>';
+                    }
+                    _html += '</ul></div><div class="h2"></div>';
+                });
+                _html += '<div class="order-list-title" style="border-bottom:none;border-top: 1px solid #e8e8e8;">运费:' + item.shipping_fee + ' <span style="margin-left: 0.2rem;">合计:¥' + item.order_amount + '</span></div>';
+                _html += '<div class="order-list-title" style="border-bottom:none;">订单编号:' + item.order_sn + '</div><div class="h5"></div>';
+                if (item.shipping_code) {
+                    _html += '<div class="order-list-title" style="border-bottom:none;">快递单号:' + item.shipping_code + '&nbsp;&nbsp;(&nbsp;'+item.express_name +'&nbsp;)</div><div class="h5"></div>';
+                }
+                $("#contact-name").html(datas.data.reciver_name + " " + datas.data.reciver_info.phone);
+                $("#contact-addr").html(datas.data.reciver_info.address);
+                item.payment_time = item.payment_time ? item.payment_time : '未支付';
+                item.delay_time = item.delay_time ? item.delay_time : '未发货';
+                item.finnshed_time = item.finnshed_time ? item.finnshed_time : '未确认';
+                _html += '<div class="order-list-title" style="border-bottom:none;">下单时间:' + item.add_time + '</div>';
+                _html += '<div class="order-list-title" style="border-bottom:none;">支付订单:' + item.payment_time + '</div>';
+                _html += '<div class="order-list-title" style="border-bottom:none;">商家发货:' + item.delay_time + '</div>';
+                _html += '<div class="order-list-title" style="border-bottom:none;">确认收货:' + item.finnshed_time + '</div>';
+            // });
+            $(".order-list").append(_html);
+            function_name();
+
+            if (item.refund_state == 1) {
+                $("#order-status").html("等待酒店处理退货申请");
+            } else {
+                $("#order-status").html(item.status);
+            }
+            if (item.order_state == 10) {
+                $("#state-btn").append('<div class="order-btn"><ul><li  id="order-cancel" >取消订单</li><li class="to-pay" keyid="' + item.order_id + '">去付款(¥' + item.order_amount + ')</li></ul></div>');
+            }
+            if (item.order_state == 20) {
+                if (item.shipping_type == 0) {
+                    $("#state-btn").append('<div  class="order-btn"  id="order-cancel" ><ul><li class="o-refund" keyid="' + item.order_id + '">退款</li><li class="urge" keyid="' + item.order_id + '">催单</li></ul></div>');
+                } else {
+                    $("#state-btn").append('<div  class="order-btn"  id="order-cancel" ><ul><li class="o-refund" keyid="' + item.order_id + '">退款</li><li class="contacthotel" keyid="' + item.order_id + '">联系酒店</li></ul></div>');
+                }
+            }
+            if (item.order_state == 30) {
+                $("#state-btn").append('<div  class="order-btn"  id="order-cancel" ><ul><li class="confirm" style="width:100%;border-right:none;">确认收货</li></ul></div>');
+            }
+            if (item.order_state == 40) {
+                if (item.refund_state == 0) {
+                    if (item.evaluation_state == 0) {
+                        $("#state-btn").append('<div class="order-btn" id="order-return"><ul><li class="evaluate" style="width: 100%">去评价</li></ul></div>');
+                    } else {
+                        //$("#state-btn").append('<div class="order-btn" id="order-return"><ul><li style="width: 100%">退换货申请</li></ul></div>');
+                    }
+                    // if (item.status = '已完成') {
+                    //     $("#state-btn").append('<div  class="order-btn"  id="order-del" ><ul><li style="width:100%;border-right:none;">删除订单</li></ul></div>');
+                    // }
+                }
+                if (item.refund_state == 4 && item.evaluation_state == 0) {
+                    $("#state-btn").append('<div class="order-btn" id="order-return"><ul><li class="evaluate" style="width: 100%">去评价</li></ul></div>');
+                }
+                if (item.refund_state == 2 || item.refund_state == 3 || item.refund_state == 4) {
+                    $("#state-btn").append('<div  class="order-btn"  id="order-del" ><ul><li style="width:100%;border-right:none;">删除订单</li></ul></div>');
+                }
+            }
+            if (item.order_state == 0) {
+                $("#state-btn").append('<div  class="order-btn"  id="order-del" ><ul><li style="width:100%;border-right:none;">删除订单</li></ul></div>');
+            }
+        }
+    });
+}
+///
+function getAddrData(_keyid) {
+    $.ajax({
+        url: rooturl + '?do=getordercommon',
+        data: {
+            memberid: $api.getStorage("memberid"),
+            order_id: _keyid
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            $("#contact-name").html(datas.reciver_name + " " + datas.reciver_info.phone);
+            $("#contact-addr").html(datas.reciver_info.address);
+        }
+    });
+}
+///
+$("#state-btn").on("tap", ".to-pay", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'paymode',
+        url: '../home/paymode.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$("#state-btn").on("tap", ".urge", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'urge',
+        url: './urge.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+
+$("#state-btn").on("tap", ".o-refund", function() {
+    var _keyid = $(this).attr("keyid");
+    api.confirm({
+        title: '是否取消订单并退款',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            toast_loding_show();
+            $.ajax({
+                url: siteurl + 'v3/Order/refund_direct',
+                data: {
+                    order_id: _keyid
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    toast_loding_hide();
+                    if (datas.result) {
+                        // alert(JSON.stringify(datas));
+                        api.toast({ msg: '操作成功!' });
+                        refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        // alert(JSON.stringify(datas));
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+
+$("#state-btn").on("tap", ".contacthotel", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'contacthotel',
+        url: './contacthotel.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+////
+
+
+
+$(".order-list").on("tap", ".service_btn a", function(e) {
+  e.stopPropagation()
+  var goods_id = $(this).attr("data-goods_id");
+  var refund_id = $(this).attr("data-refund_id");
+  if(refund_id*1 > 0){
+      api.openWin({
+          name: 'refund_orderdtl',
+          url: '../order/refund_orderdtl.html',
+          bounces: false,
+          pageParam: {
+              goods_id: goods_id,
+              order_id: _keyid,
+              keyid: refund_id
+          }
+      });
+      return false
+  }
+  api.openWin({
+      name: 'order_return',
+      url: './order_return.html',
+      bounces: false,
+      pageParam: {
+          keyid: _keyid,
+          goods_id: goods_id
+      }
+  });
+})
+$(".order-list").on("tap", ".order-list-goods", function() {
+    var _keyid = $(this).attr("keyid");
+    var _storeid = $(this).attr("storeid");
+    var _goods_commonid = $(this).attr("goods_commonid");
+    api.openWin({
+        name: 'showgoods',
+        url: '../home/showgoods.html',
+        bounces: false,
+        pageParam: {
+            keyid: _goods_commonid,
+            storeid: _storeid,
+        }
+    });
+    return false;
+})
+////
+$("#state-btn").on("tap", "#order-cancel", function() {
+    api.confirm({
+        title: '是否取消订单',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            toast_loding_show();
+            $.ajax({
+                url: siteurl + 'v2/order/cancel',
+                data: {
+                    order_id: _keyid,
+                    memberid: $api.getStorage("memberid"),
+                    type: 'user'
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    toast_loding_hide();
+                    if (datas.result) {
+                        // alert(JSON.stringify(datas));
+                        api.toast({ msg: '操作成功!' });
+                        refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        // alert(JSON.stringify(datas));
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+////退款
+$("#state-btn").on("tap", "#order-return", function() {
+    api.openWin({
+        name: 'order_return',
+        url: './order_return.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return
+    api.confirm({
+        title: '是否申请退换货',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            toast_loding_show();
+            $.ajax({
+                url: siteurl + 'v2/order/refund',
+                data: {
+                    order_id: _keyid,
+                    memberid: $api.getStorage("memberid"),
+                    type: 'user'
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    toast_loding_hide();
+                    if (datas.result) {
+                        api.toast({
+                            msg: '您的退换货申请已经提交,商户客服人员会尽快联系您!',
+                            duration: 3000,
+                            location: 'middle'
+                        });
+                        refreshData();
+                        setTimeout(function() { api.closeWin({ name: "orderdtl" }); }, 2500);
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+$("#state-btn").on("tap", ".confirm", function() {
+    api.confirm({
+        title: '是否确认收货',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            $.ajax({
+                url: siteurl + 'v2/order/confirm',//'?do=orderconfirm',
+                data: {
+                    memberid: $api.getStorage("memberid"),
+                    order_id: _keyid
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    if (datas.result) {
+                        api.toast({ msg: '操作成功!' });
+                        refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+$("#state-btn").on("tap", ".evaluate", function() {
+    api.openWin({
+        name: 'evaluate',
+        url: './evaluate.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$("#state-btn").on("tap", "#order-del", function() {
+    api.confirm({
+        title: '是否要删除订单',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            $.ajax({
+                url: siteurl + 'v2/order/drop',//'?do=orderdel',
+                data: {
+                    order_id: _keyid,
+                    memberid: $api.getStorage("memberid")
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    if (datas.result) {
+                        api.toast({ msg: '操作成功!' });
+                        refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+
+function refreshData() {
+    api.execScript({
+        name: 'index',
+        frameName: 'frame2',
+        script: 'getRouteData();'
+    });
+}
+</script>
+
+</html>

+ 518 - 0
html/order/refund_orderdtl.html

@@ -0,0 +1,518 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css" />
+
+    <style>
+        body{background: #f2f2f2;}
+        .order-status{
+            font-size: 0.26rem;
+            width: 100%;
+            padding: 0.21rem 0;
+            margin-bottom: 0.17rem;
+        }
+        .order-postaddr{
+            width: 100%;
+            padding: 0.32rem 0;
+        }
+
+        #state-btn{
+          width:100%;
+        }
+        .order-btn{
+          width:100%;
+          background:#ffffff;
+          border-top:1px solid #e8e8e8;
+          position:fixed;
+          bottom:0px;
+        }
+        .order-btn li{
+          float:left;
+          width:50%;
+          height: 0.9rem;
+          line-height: 0.9rem;
+          text-align:center;
+          font-size: 0.32rem;
+          border-right:1px solid #e8e8e8;
+          box-sizing:border-box;
+        }
+        .to-pay{
+          color:#ffffff; background:#D60E15;
+        }
+        .order-list {
+            margin-bottom: 0.16rem;
+        }
+        .order-list-right p {
+            font-size: 0.22rem;
+            color: #999;
+            /*height: 1.04rem;*/
+        }
+        p.font-size-18 {
+            color: #666;
+            height: auto;
+        }
+        .h5 {
+            background: #f2f2f2;
+            margin: 0 0 0 -0.32rem;
+            width: 7.5rem;
+            /*margin-top: 0.5em;*/
+        }
+        .service_btn{clear: both; position: relative; text-align: right; padding:0.32rem; padding-top:0;}
+        .service_btn a{    position: relative;
+    display: inline-block;
+    box-sizing: border-box;
+    margin: 0;
+    padding: 0.16rem;
+    font-size: 16px;
+    line-height: 1.2;
+    text-align: center;
+    border-radius: 2px;
+    cursor: pointer;
+    -webkit-transition: opacity 0.2s;
+    transition: opacity 0.2s;
+    -webkit-appearance: none;
+    color: #323233;
+  background-color: #fff;
+  border: 1px solid #ebedf0;}
+
+
+        #images_box{margin-top:0.16rem;}
+        #refund_remark{font-size:0.32rem; color:#666;}
+        #create_time{font-size:0.32rem; color:#666;}
+        #images_box img{width:1.5rem; height:1.5rem;}
+    </style>
+    <script>
+
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = (e/7.5) + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">退款详情</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="white-back" style="padding-top: 1.01rem;">
+        <div id="order-status" class="order-status"></div>
+    </section>
+    <section class="order-list white-back">
+        42542
+    </section>
+    <section class="white-back" style="margin-bottom: 0.17rem; margin-top:0rem; padding:0.32rem;">
+        <p id="create_time"></p>
+        <p id="refund_remark"></p>
+        <div id="images_box"></div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
+<script type="text/javascript">
+var _keyid = '';
+var _goods_id = '';
+var _order_id = '';
+apiready = function() {
+    _keyid = api.pageParam.keyid;
+    _goods_id = api.pageParam.goods_id;
+    _order_id = api.pageParam.order_id;
+    setFixStatusBar();
+    getRouteData(_keyid);
+    // getAddrData(_keyid);
+    api.addEventListener({
+        name: 'resume'
+    }, function(ret, err) {
+        freshen_page();
+    });
+    api.addEventListener({
+        name: 'viewappear'
+    }, function(ret, err) {
+        freshen_page();
+    });
+};
+
+function freshen_page() {
+    $("#contact-name").html('');
+    $("#contact-addr").html('');
+    $("#order-status").html('');
+    $(".order-list").html('');
+    $("#state-btn").html('');
+    getRouteData(_keyid);
+}
+
+function getRouteData(_keyid) {
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v2/order/info',
+        data: {
+            order_id: _order_id
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (!datas.result) {
+                api.toast({ msg: '订单信息获取失败!' });
+                return false;
+            }
+            var item = datas.data;
+            var _html = '';
+             //$.each(datas, function(index, item) {
+                _html += '<div class="order-list-title" state="' + item.order_state + '" keyid="' + item.order_id + '"><img src="' + siteurl + 'uploads/home/store/' + item.storeid + '/' + item.store_avatar + '"/> ' + item.store_name + '</div>';
+                var price_total = 0
+                $.each(item.goods, function(index2, item2) {
+                  if(item2.goods_id == _goods_id){
+                      price_total += (item2.goods_num * item2.goods_price)
+                    var arr = item2.goods_name.split(" ");
+                    var name_arr = arr[0];
+                    var size_arr = item2.goods_name.replace(name_arr, "");
+                    _html += '<div class="order-list-goods" goods_commonid="'+item2.goods_commonid+'" storeid="' + item2.store_id + '" keyid="' + item2.goods_id + '"><ul><li><img src="' + siteurl + 'uploads/home/store/goods/' + item2.goods_image.substr(0, item2.goods_image.indexOf("\_")) + '/' + item2.goods_image + '"/></li>';
+                    _html += '<li class="order-list-right"><span class="font-rem11">' + name_arr + '</span><p>' + size_arr + '  x' + item2.goods_num + '</p>';
+                    _html += '<p class="font-size-18">¥' + item2.goods_price + '</p></li>';
+                    _html += '</ul></div><div class="h2"></div>';
+                  }
+                });
+                _html += '<div class="order-list-title" style="border-bottom:none;border-top: 1px solid #e8e8e8;"><span style="margin-left: 0">合计:¥' + price_total + '</span></div>';
+                _html += '<div class="order-list-title" style="border-bottom:none;">订单编号:' + item.order_sn + '</div>';
+                if (item.shipping_code) {
+                    _html += '<div class="order-list-title" style="border-bottom:none;">快递单号:' + item.shipping_code + '&nbsp;&nbsp;(&nbsp;'+item.express_name +'&nbsp;)</div>';
+                }
+                $("#contact-name").html(datas.data.reciver_name + " " + datas.data.reciver_info.phone);
+                $("#contact-addr").html(datas.data.reciver_info.address);
+                item.payment_time = item.payment_time ? item.payment_time : '未支付';
+                item.delay_time = item.delay_time ? item.delay_time : '未发货';
+                item.finnshed_time = item.finnshed_time ? item.finnshed_time : '未确认';
+
+             //});
+            $(".order-list").append(_html);
+            function_name();
+            get_refund_info();
+
+
+        }
+    });
+}
+
+
+function get_refund_info() {
+    $.ajax({
+        url: siteurl + 'v3/order/refund_info',
+        data: {
+            id: _keyid
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            var data = datas.data
+            if(data.status == 1){
+                $('#order-status').html('待处理')
+            }else if(data.status == 2){
+                $('#order-status').html('已退款')
+            }else if(data.status == 3){
+                $('#order-status').html('不同意')
+            }
+            $('#refund_remark').html('原因:'+data.refund_remark)
+            $('#create_time').html('申请时间:'+data.create_time)
+            //图片
+            var images_html = ''
+            $.each(data.images, function(index, item) {
+                if(item != null && item != ''){
+                    images_html += '<img src="'+item+'" onclick="open_image(\''+item+'\')" />';
+                }
+            })
+            $('#images_box').html(images_html)
+
+
+
+        }
+    })
+}
+
+function open_image(url) {
+    var UIPhotoViewer = api.require('UIPhotoViewer');
+    UIPhotoViewer.open({
+        images: [
+            url
+        ],
+        placeholderImg: 'widget://res/img/apicloud.png',
+        bgColor: '#000'
+    }, function(ret, err) {
+        if (ret) {
+            if (ret.eventType == 'click') {
+                UIPhotoViewer.close();
+            }
+        } else {
+        }
+    });
+}
+
+///
+function getAddrData(_keyid) {
+    $.ajax({
+        url: rooturl + '?do=getordercommon',
+        data: {
+            memberid: $api.getStorage("memberid"),
+            order_id: _keyid
+        },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            $("#contact-name").html(datas.reciver_name + " " + datas.reciver_info.phone);
+            $("#contact-addr").html(datas.reciver_info.address);
+        }
+    });
+}
+///
+$("#state-btn").on("tap", ".to-pay", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'paymode',
+        url: '../home/paymode.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$("#state-btn").on("tap", ".urge", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'urge',
+        url: './urge.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$("#state-btn").on("tap", ".contacthotel", function() {
+    var _keyid = $(this).attr("keyid");
+    api.openWin({
+        name: 'contacthotel',
+        url: './contacthotel.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+////
+
+
+
+$(".order-list").on("tap", ".service_btn a", function(e) {
+
+})
+$(".order-list").on("tap", ".order-list-goods", function() {
+    var _keyid = $(this).attr("keyid");
+    var _storeid = $(this).attr("storeid");
+    var _goods_commonid = $(this).attr("goods_commonid");
+    api.openWin({
+        name: 'showgoods',
+        url: '../home/showgoods.html',
+        bounces: false,
+        pageParam: {
+            keyid: _goods_commonid,
+            storeid: _storeid,
+        }
+    });
+    return false;
+})
+////
+$("#state-btn").on("tap", "#order-cancel", function() {
+    api.confirm({
+        title: '是否取消订单',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            toast_loding_show();
+            $.ajax({
+                url: siteurl + 'v2/order/cancel',
+                data: {
+                    order_id: _keyid,
+                    memberid: $api.getStorage("memberid"),
+                    type: 'user'
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    toast_loding_hide();
+                    if (datas.result) {
+                        // alert(JSON.stringify(datas));
+                        api.toast({ msg: '操作成功!' });
+                        refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        // alert(JSON.stringify(datas));
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+////退款
+$("#state-btn").on("tap", "#order-return", function() {
+    api.openWin({
+        name: 'order_return',
+        url: './order_return.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return
+    api.confirm({
+        title: '是否申请退换货',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            toast_loding_show();
+            $.ajax({
+                url: siteurl + 'v2/order/refund',
+                data: {
+                    order_id: _keyid,
+                    memberid: $api.getStorage("memberid"),
+                    type: 'user'
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    toast_loding_hide();
+                    if (datas.result) {
+                        api.toast({
+                            msg: '您的退换货申请已经提交,商户客服人员会尽快联系您!',
+                            duration: 3000,
+                            location: 'middle'
+                        });
+                        refreshData();
+                        setTimeout(function() { api.closeWin({ name: "orderdtl" }); }, 2500);
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+$("#state-btn").on("tap", ".confirm", function() {
+    api.confirm({
+        title: '是否确认收货',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            $.ajax({
+                url: siteurl + 'v2/order/confirm',//'?do=orderconfirm',
+                data: {
+                    memberid: $api.getStorage("memberid"),
+                    order_id: _keyid
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    if (datas.result) {
+                        api.toast({ msg: '操作成功!' });
+                        refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+$("#state-btn").on("tap", ".evaluate", function() {
+    api.openWin({
+        name: 'evaluate',
+        url: './evaluate.html',
+        bounces: false,
+        pageParam: {
+            keyid: _keyid
+        }
+    });
+    return false;
+})
+$("#state-btn").on("tap", "#order-del", function() {
+    api.confirm({
+        title: '是否要删除订单',
+        buttons: ['取消', '确定']
+    }, function(ret, err) {
+        var index = ret.buttonIndex;
+        if (index == 2) {
+            $.ajax({
+                url: siteurl + 'v2/order/drop',//'?do=orderdel',
+                data: {
+                    order_id: _keyid,
+                    memberid: $api.getStorage("memberid")
+                },
+                headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+                dataType: 'json',
+                type: 'post',
+                success: function(datas) {
+                    if (datas.result) {
+                        api.toast({ msg: '操作成功!' });
+                        refreshData();
+                        setTimeCloseWin("orderdtl");
+                    } else {
+                        errcode(datas, datas.code);
+                    }
+                }
+            });
+        }
+    })
+    return false;
+})
+
+function refreshData() {
+    api.execScript({
+        name: 'index',
+        frameName: 'frame2',
+        script: 'getRouteData();'
+    });
+}
+</script>
+
+</html>

+ 137 - 0
html/order/urge.html

@@ -0,0 +1,137 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <title></title>
+    <link rel="stylesheet" type="text/css" href="../../css/api.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
+    <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css?v=1.2" />
+    <link rel="stylesheet" type="text/css" href="../../css/style.css?v=1.2" />
+    <style>
+        body{}
+        .evaluate-item{
+             height:50px;
+             line-height:50px;
+             font-size:18px;
+             background:#ffffff;
+             border-bottom:1px solid #e8e8e8;
+             position:relative;
+        }
+        .my-rating{
+            position:absolute;
+            left:50px;
+            top:5px;
+        }
+        .back-item{
+          width:100%;
+          padding:10px;
+          text-align:center;
+          /*border-bottom: 1px solid #e8e8e8;*/
+          box-sizing: border-box;
+        }
+        .back-item img{
+          width:20px;
+        }
+        textarea{
+         width:100%;
+         height: 2rem;
+         font-size: 0.28rem;
+         line-height: 0.38rem;
+         padding: 0.5em;
+         box-sizing: border-box;
+         -webkit-appearance: none;
+        }
+    </style>
+    <script>
+    (function(w, d, m) {
+        function r() {
+            var t = 100,
+                o = 750,
+                e = d.documentElement.clientWidth || w.innerWidth,
+                n = m.max(m.min(e, 480), 320),
+                h = 50;
+            320 >= n && (h = m.floor(n / o * t * .99)),
+                n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
+                n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
+                n > 375 && (h = m.floor(n / o * t * .97)),
+                d.querySelector("html").style.fontSize = h + "px"
+        };
+        r();
+        w.onresize = function() {
+            r()
+        }
+    })(window, document, Math);
+    </script>
+</head>
+
+<body>
+    <div class="topbar"></div>
+    <header class="back-header back-header-bottom">
+        <ul>
+            <li class="padding-20 back-btn"><img class="back-header-ico" src="../../image/nav_button_back_default.png" /></li>
+            <li class="back-header-title">催单</li>
+            <li class="more-btn"></li>
+        </ul>
+    </header>
+    <section class="white-back padding-top">
+        <div class="back-item" style="position:relative;" id="wordCount">
+            <textarea row="5" id="content" maxlength="100" placeholder="填写催单内容"></textarea>
+            <!-- <span style="position:absolute;right:10px;bottom:5px;"><span id="count-txt">0</span>/100</span> -->
+            <span class="wordwrap"><var class="word">100</var>/ 100</span>
+        </div>
+        <div class="h20" style="height: 0.5rem;"></div>
+        <div class="m-bottom">提 交</div>
+    </section>
+</body>
+<script type="text/javascript" src="../../script/api.js"></script>
+<script type="text/javascript" src="../../script/jquery.min.js"></script>
+<script type="text/javascript" src="../../script/jquery.tap.js"></script>
+<script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
+<script type="text/javascript">
+var _geval_orderid = '';
+apiready = function() {
+    _geval_orderid = api.pageParam.keyid;
+    setFixStatusBar();
+};
+$(function() {
+    var wordCount = $("#wordCount"), textArea = wordCount.find("textarea"), word = wordCount.find(".word");
+    statInputNum(textArea, word);
+})
+$(".m-bottom").on("tap", function() {
+    if ($("#content").val() == "") {
+        api.toast({ msg: '请填写催单内容!' });
+        return false;
+    }
+    toast_loding_show();
+    $.ajax({
+        url: siteurl + 'v1/order/urge',
+        data: {
+            order_id: _geval_orderid,
+            content: $("#content").val()
+        },
+        headers: { "X-TOKEN": $api.getStorage("accesstoken") },
+        dataType: 'json',
+        type: 'post',
+        success: function(datas) {
+            toast_loding_hide();
+            if (datas.result) {
+                api.alert({
+                    title: '提交成功',
+                    msg: '催单通知已发出!',
+                }, function(ret, err) {
+                    api.closeWin();
+                });
+            } else {
+                errcode(datas, datas.code);
+            }
+        }
+    });
+    return false;
+})
+
+</script>
+
+</html>

二進制
icon/icon150x150.png


二進制
image/0002.jpg


二進制
image/881649.jpg


二進制
image/DefaultLaunch1242_2208.png


二進制
image/abg.jpg


二進制
image/addimg.png


二進制
image/address.png


二進制
image/aiil.jpg


二進制
image/apply_in.jpg


二進制
image/back_top.png


二進制
image/border_none.png


二進制
image/bottombtn0101.png


二進制
image/bottombtn0102.png


二進制
image/bottombtn0201.png


二進制
image/bottombtn0202.png


二進制
image/bottombtn0301.png


二進制
image/bottombtn0302.png


二進制
image/bottombtn0401.png


二進制
image/bottombtn0402.png


二進制
image/buycar-none.png


Some files were not shown because too many files changed in this diff