xiongzhu пре 7 година
родитељ
комит
8d3f568b96

+ 3 - 3
src/main/webapp/dancer/activityDetail.jsp

@@ -134,9 +134,9 @@
                 </div>
                 </div>
                 <div class="message">
                 <div class="message">
                     <div class="titleSe">获胜奖:<br></div>
                     <div class="titleSe">获胜奖:<br></div>
-                    A:冠军奖:20000元<br>
-                    B:亚军奖:10000元<br>
-                    C:季军奖:8000元<br>
+                    A:冠军奖:10000元<br>
+                    B:亚军奖:8000元<br>
+                    C:季军奖:5000元<br>
                     <div class="titleSe">个人单项奖:各奖励5000元(万元赞助礼品)<br></div>
                     <div class="titleSe">个人单项奖:各奖励5000元(万元赞助礼品)<br></div>
                     A:最佳身材奖<br>
                     A:最佳身材奖<br>
                     B:最佳舞姿奖<br>
                     B:最佳舞姿奖<br>

+ 141 - 16
src/main/webapp/dancer/index.jsp

@@ -81,7 +81,7 @@
 %>
 %>
 <html>
 <html>
 <head>
 <head>
-    <title>谁是舞王模特大赛</title>
+    <title>千模——《谁是舞王》</title>
     <link rel="stylesheet" href="${pageContext.request.contextPath}/js/swiper.min.css" charset="utf-8">
     <link rel="stylesheet" href="${pageContext.request.contextPath}/js/swiper.min.css" charset="utf-8">
     <jsp:include page="meta.jsp"/>
     <jsp:include page="meta.jsp"/>
     <style>
     <style>
@@ -100,12 +100,11 @@
 
 
         .swiper {
         .swiper {
             width: 100%;
             width: 100%;
-            height: 100px;
-            margin: 15px 20px 0 20px;
+            height: 120px;
+            margin: 8px 20px 0 20px;
         }
         }
 
 
         .swiper .swiper-slide {
         .swiper .swiper-slide {
-            height: 100px;
             border-radius: 8px;
             border-radius: 8px;
             background-position: center;
             background-position: center;
             background-size: cover;
             background-size: cover;
@@ -118,7 +117,7 @@
 
 
         .swiper-pagination {
         .swiper-pagination {
             position: absolute;
             position: absolute;
-            bottom: 10px;
+            bottom: 5px;
             left: 0;
             left: 0;
             right: 0;
             right: 0;
         }
         }
@@ -149,9 +148,9 @@
         .message .btn {
         .message .btn {
             font-size: 11px;
             font-size: 11px;
             color: rgba(255, 64, 149, 1);
             color: rgba(255, 64, 149, 1);
-            line-height: 20px;
+            line-height: 22px;
             width: 66px;
             width: 66px;
-            height: 20px;
+            height: 22px;
             background: rgba(255, 255, 255, 1);
             background: rgba(255, 255, 255, 1);
             border-radius: 10px;
             border-radius: 10px;
             text-align: center;
             text-align: center;
@@ -249,7 +248,7 @@
             right: 14px;
             right: 14px;
             bottom: 60px;
             bottom: 60px;
             width: 56px;
             width: 56px;
-            z-index: 50;
+            z-index: 1;
         }
         }
 
 
         .btn-apply {
         .btn-apply {
@@ -275,6 +274,103 @@
 
 
         .btn-apply.pass {
         .btn-apply.pass {
         }
         }
+
+        .mask {
+            position: fixed;
+            left: 0;
+            right: 0;
+            top: 0;
+            bottom: 0;
+            background: rgba(0, 0, 0, 0.5);
+            z-index: 1;
+        }
+
+        .dialog-naming-wrapper {
+            position: fixed;
+            left: 0;
+            right: 0;
+            top: 0;
+            bottom: 0;
+            text-align: center;
+            z-index: 1;
+        }
+
+        .dialog-naming-wrapper::before {
+            content: "";
+            display: inline-block;
+            height: 100%;
+            vertical-align: middle;
+            margin-right: -.25em;
+        }
+
+        .dialog-naming {
+            display: inline-block;
+            vertical-align: middle;
+            text-align: center;
+            width: 280px;
+            height: 386px;
+            background: rgba(255, 255, 255, 1);
+            border-radius: 14px;
+        }
+
+        .dialog-naming img {
+            width: 280px;
+            height: 210px;
+            display: block;
+        }
+
+        .dialog-naming .content {
+            font-size: 14px;
+            color: #000;
+            line-height: 20px;
+            margin-left: 25px;
+            margin-right: 25px;
+            font-weight: 700;
+            margin-top: 16px;
+        }
+
+        .dialog-naming .btn-call {
+            width: 230px;
+            height: 40px;
+            background: rgba(255, 64, 149, 1);
+            box-shadow: 0px 8px 10px 0px rgba(255, 64, 149, 0.36);
+            border-radius: 22px;
+            font-size: 14px;
+            font-weight: 700;
+            color: rgba(255, 255, 255, 1);
+            border: none;
+            outline: none;
+            margin-top: 20px;
+        }
+
+        .dialog-naming .btn-cancel {
+            height: 40px;
+            margin-top: 10px;
+            font-size: 14px;
+            font-weight: 400;
+            color: rgba(143, 146, 148, 1);
+            border: none;
+            outline: none;
+            background: none;
+        }
+
+        .fade-enter, .fade-leave-active {
+            opacity: 0;
+        }
+
+        .fade-enter-active, .fade-leave-active {
+            transition: all 0.3s ease;
+        }
+
+        .pop-up-enter, .pop-up-leave-active {
+            opacity: 0;
+            transform-origin: 50% 50%;
+            transform: scale(1.1, 1.1);
+        }
+
+        .pop-up-enter-active, .pop-up-leave-active {
+            transition: all 0.3s ease;
+        }
     </style>
     </style>
 </head>
 </head>
 <body>
 <body>
@@ -283,11 +379,8 @@
         <div class="content-top">
         <div class="content-top">
             <div class="message">
             <div class="message">
                 <img src="${pageContext.request.contextPath}/image/dancer/img_wuwang.png" alt=""
                 <img src="${pageContext.request.contextPath}/image/dancer/img_wuwang.png" alt=""
-                     style="width: 202px;height: 33px;margin-top: 16px">
+                     style="width: auto;height: 54px;margin-top: 2px">
                 <div class="text" style="margin-top: 7px">
                 <div class="text" style="margin-top: 7px">
-                    2018.12.17-2018.12.30
-                </div>
-                <div class="text">
                     谁是舞王模特大赛
                     谁是舞王模特大赛
                 </div>
                 </div>
                 <a href="activityDetail.jsp" class="btn">
                 <a href="activityDetail.jsp" class="btn">
@@ -295,9 +388,11 @@
                 </a>
                 </a>
             </div>
             </div>
             <div class="swiper-wrapper" style="height: auto;">
             <div class="swiper-wrapper" style="height: auto;">
-                <swiper class="swiper" :options="swiperOption">
-                    <swiper-slide v-for="item in ads" class="swiper-slide"
-                                  :style="{backgroundImage: 'url(${pageContext.request.contextPath}/'+item.pic+')'}"></swiper-slide>
+                <swiper class="swiper" :options="swiperOption" :style="{height:bannerHeight}">
+                    <%--<swiper-slide v-for="item in ads" class="swiper-slide"--%>
+                    <%--:style="{backgroundImage: 'url(${pageContext.request.contextPath}/'+item.pic+')'}"></swiper-slide>--%>
+                    <swiper-slide class="swiper-slide"
+                                  style="background-image: url('${pageContext.request.contextPath}/image/dancer/img_guanming.png')"></swiper-slide>
                 </swiper>
                 </swiper>
                 <div class="swiper-pagination"></div>
                 <div class="swiper-pagination"></div>
             </div>
             </div>
@@ -348,6 +443,19 @@
             <img src="${pageContext.request.contextPath}/image/dancer/icon_paihang.png" class="ranking" alt="">
             <img src="${pageContext.request.contextPath}/image/dancer/icon_paihang.png" class="ranking" alt="">
         </a>
         </a>
         <div class="btn-apply" @click="signUp" :class="btnClass">{{btnText}}</div>
         <div class="btn-apply" @click="signUp" :class="btnClass">{{btnText}}</div>
+        <transition name="fade">
+            <div class="mask" v-if="showDialog"></div>
+        </transition>
+        <transition name="pop-up">
+            <div class="dialog-naming-wrapper" v-if="showDialog" @click="showDialog=false" @touchmove.stop.prevent="">
+                <div class="dialog-naming" @click.stop="">
+                    <img src="${pageContext.request.contextPath}/image/dancer/img_guanming_tancuan.png">
+                    <div class="content">冠名企业正在招募中,欢迎咨询<br>是否立刻电话咨询?</div>
+                    <button class="btn-call" @click="call">拨打电话</button>
+                    <button class="btn-cancel" @click="showDialog=false">稍后再说</button>
+                </div>
+            </div>
+        </transition>
     </template>
     </template>
 </div>
 </div>
 
 
@@ -360,6 +468,7 @@
     new Vue({
     new Vue({
         el: '#app',
         el: '#app',
         data() {
         data() {
+            var self = this;
             return {
             return {
                 ads: <%=ads%>,
                 ads: <%=ads%>,
                 swiperOption: {
                 swiperOption: {
@@ -372,6 +481,11 @@
                     pagination: {
                     pagination: {
                         el: '.swiper-pagination',
                         el: '.swiper-pagination',
                         type: 'bullets'
                         type: 'bullets'
+                    },
+                    on: {
+                        click: function (e) {
+                            self.clickBanner()
+                        }
                     }
                     }
                 },
                 },
                 joinList: [],
                 joinList: [],
@@ -382,7 +496,8 @@
                 isModel: /chmoModel/i.test(navigator.userAgent),
                 isModel: /chmoModel/i.test(navigator.userAgent),
                 iOS: /iPhone/i.test(navigator.userAgent),
                 iOS: /iPhone/i.test(navigator.userAgent),
                 signState: <%=signState%>,
                 signState: <%=signState%>,
-                modelpk: ''
+                modelpk: '',
+                showDialog: false
             }
             }
         },
         },
         mounted() {
         mounted() {
@@ -399,6 +514,9 @@
             'player-item': playerComponent
             'player-item': playerComponent
         },
         },
         computed: {
         computed: {
+            bannerHeight: function () {
+                return (window.innerWidth - 40) * 120 / 335 + 'px'
+            },
             btnText: function () {
             btnText: function () {
                 switch (this.signState) {
                 switch (this.signState) {
                     case -1:
                     case -1:
@@ -472,6 +590,13 @@
                         window.location.href = '${pageContext.request.contextPath}/dancer/modelDetail.jsp?memberpk=<%=memberpk%>' + '&activitypk=<%=activitypk%>' + '&modelpk=<%=modelpk%>';
                         window.location.href = '${pageContext.request.contextPath}/dancer/modelDetail.jsp?memberpk=<%=memberpk%>' + '&activitypk=<%=activitypk%>' + '&modelpk=<%=modelpk%>';
                     }
                     }
                 }
                 }
+            },
+            clickBanner: function () {
+                this.showDialog = true
+            },
+            call: function () {
+                window.location.href = "tel:17768144625";
+                this.showDialog = false
             }
             }
         }
         }
     })
     })

+ 255 - 57
src/main/webapp/dancer/modelDetail.jsp

@@ -23,9 +23,25 @@
     int modelpk = JspUtils.getInt(request, "modelpk");
     int modelpk = JspUtils.getInt(request, "modelpk");
     int memberpk = JspUtils.getInt(request, "memberpk");
     int memberpk = JspUtils.getInt(request, "memberpk");
     String operator = JspUtils.getString(request, "operator");
     String operator = JspUtils.getString(request, "operator");
+    DSLContext ctx = DSL.using(DbConnection.getPara("MySQLURL"));
+
+    if ("follow".equals(operator)) {
+        int follow = JspUtils.getInt(request, "follow");
+        boolean success = false;
+        if (modelpk > 0 && memberpk > 0) {
+            if (1 == follow) {
+                success = ctx.insertInto(MODELFAN, MODELFAN.MODELPK, MODELFAN.MEMBERPK).values(modelpk, memberpk).execute() > 0;
+            } else {
+                success = ctx.delete(MODELFAN).where(MODELFAN.MEMBERPK.equal(memberpk)).and(MODELFAN.MODELPK.equal(modelpk)).execute() > 0;
+            }
+        }
+        response.setContentType("application/json");
+        out.print("{\"success\":" + success + "}");
+        ctx.close();
+        return;
+    }
 
 
 
 
-    DSLContext ctx = DSL.using(DbConnection.getPara("MySQLURL"));
     int modelMemberPK = ctx.select(MODELINFO.MEMBERPK).from(MODELINFO).where(MODELINFO.PK.equal(modelpk)).fetchOne(0, int.class);
     int modelMemberPK = ctx.select(MODELINFO.MEMBERPK).from(MODELINFO).where(MODELINFO.PK.equal(modelpk)).fetchOne(0, int.class);
     ctx.update(PARTTYSIGN).set(PARTTYSIGN.VIEW, PARTTYSIGN.VIEW.add(1)).where(PARTTYSIGN.MEMBERPK.equal(modelMemberPK))
     ctx.update(PARTTYSIGN).set(PARTTYSIGN.VIEW, PARTTYSIGN.VIEW.add(1)).where(PARTTYSIGN.MEMBERPK.equal(modelMemberPK))
             .and(PARTTYSIGN.PARTTYPK.equal(activitypk)).execute();
             .and(PARTTYSIGN.PARTTYPK.equal(activitypk)).execute();
@@ -161,7 +177,6 @@
         }
         }
 
 
         .swiper .swiper-slide {
         .swiper .swiper-slide {
-            height: 100px;
             border-radius: 8px;
             border-radius: 8px;
             background-position: center;
             background-position: center;
             background-size: cover;
             background-size: cover;
@@ -174,70 +189,89 @@
 
 
         .swiper-pagination {
         .swiper-pagination {
             position: absolute;
             position: absolute;
-            bottom: 0;
+            bottom: 5px;
             left: 0;
             left: 0;
             right: 0;
             right: 0;
         }
         }
 
 
         .head {
         .head {
-            margin: 48px 20px 0 20px;
+            margin: 29px 20px 0 20px;
             background: #fff;
             background: #fff;
             border-radius: 12px;
             border-radius: 12px;
             position: relative;
             position: relative;
             padding-top: 33px;
             padding-top: 33px;
             padding-bottom: 12px;
             padding-bottom: 12px;
+            position: relative;
         }
         }
 
 
         .head .avatar {
         .head .avatar {
-            border-radius: 33px;
+            border-radius: 24px;
             border: 3px solid #ffffff;
             border: 3px solid #ffffff;
-            width: 54px;
-            height: 54px;
+            width: 42px;
+            height: 42px;
             position: absolute;
             position: absolute;
             margin: auto;
             margin: auto;
             left: 0;
             left: 0;
             right: 0;
             right: 0;
-            top: -33px;
+            top: -21px;
         }
         }
 
 
         .head > .name {
         .head > .name {
-            font-size: 20px;
-            font-weight: 500;
-            color: rgba(255, 64, 149, 1);
+            font-size: 18px;
+            font-weight: 700;
+            color: #000;
             line-height: 28px;
             line-height: 28px;
             text-align: center;
             text-align: center;
         }
         }
 
 
         .head .detail {
         .head .detail {
-            width: 87px;
-            height: 22px;
-            line-height: 22px;
-            background: rgba(255, 64, 149, 1);
-            border-radius: 11px;
-            border: none;
+            height: 28px;
+            width: 66px;
+            border-radius: 14px;
+            border: 1px solid rgba(255, 64, 149, 1);
+            line-height: 28px;
+            background: none;
+            font-size: 12px;
             padding: 0;
             padding: 0;
-            color: #ffffff;
-            font-size: 11px;
+            color: rgba(255, 64, 149, 1);
+            position: absolute;
+            left: 25px;
+            top: 22px;
         }
         }
 
 
         .head .follow {
         .head .follow {
-            width: 87px;
-            height: 22px;
+            height: 28px;
+            width: 66px;
+            padding: 0;
+            font-size: 12px;
+            color: #ffffff;
+            background: rgba(255, 64, 149, 1);
             border-radius: 14px;
             border-radius: 14px;
-            border: 1px solid rgba(255, 64, 149, 1);
-            font-size: 11px;
-            color: #FF4095;
-            background: none;
-            margin-left: 20px;
+            position: absolute;
+            right: 25px;
+            top: 22px;
+            border: none;
+            outline: none;
+        }
+
+        .head .follow * {
+            vertical-align: middle;
+        }
+
+        .head .follow::before {
+            content: "";
+            display: inline-block;
+            height: 100%;
+            vertical-align: middle;
+            margin-right: -.25em;
         }
         }
 
 
         .head .isFollow {
         .head .isFollow {
-            border: 1px solid rgba(170, 172, 173, 1);
-            color: #AAACAD;
+            background: rgba(170, 172, 173, 1);
         }
         }
 
 
         .head .divider {
         .head .divider {
-            margin: 15px 15px 0 15px;
+            margin: 6px 15px 0 15px;
             height: 1px;
             height: 1px;
             background: #F2F4F5;
             background: #F2F4F5;
         }
         }
@@ -381,7 +415,7 @@
             left: 0;
             left: 0;
             right: 0;
             right: 0;
             height: 48px;
             height: 48px;
-            border-top: 1px solid #ebebeb;
+            box-shadow: 0px -1px 0px 0px rgba(242, 244, 245, 1);
             display: flex;
             display: flex;
             align-items: center;
             align-items: center;
             justify-content: space-around;
             justify-content: space-around;
@@ -411,6 +445,15 @@
             font-size: 13px;
             font-size: 13px;
             font-weight: 700;
             font-weight: 700;
             color: #fff;
             color: #fff;
+            position: relative;
+        }
+
+        .btns .btn-gift .tip {
+            position: absolute;
+            width: 220px;
+            height: 24px;
+            top: -26px;
+            right: -15px;
         }
         }
 
 
         .btns img {
         .btns img {
@@ -524,14 +567,114 @@
             width: 20px;
             width: 20px;
             height: 20px;
             height: 20px;
         }
         }
+
+        .mask {
+            position: fixed;
+            left: 0;
+            right: 0;
+            top: 0;
+            bottom: 0;
+            background: rgba(0, 0, 0, 0.5);
+            z-index: 1;
+        }
+
+        .dialog-naming-wrapper {
+            position: fixed;
+            left: 0;
+            right: 0;
+            top: 0;
+            bottom: 0;
+            text-align: center;
+            z-index: 1;
+        }
+
+        .dialog-naming-wrapper::before {
+            content: "";
+            display: inline-block;
+            height: 100%;
+            vertical-align: middle;
+            margin-right: -.25em;
+        }
+
+        .dialog-naming {
+            display: inline-block;
+            vertical-align: middle;
+            text-align: center;
+            width: 280px;
+            height: 386px;
+            background: rgba(255, 255, 255, 1);
+            border-radius: 14px;
+        }
+
+        .dialog-naming img {
+            width: 280px;
+            height: 210px;
+            display: block;
+        }
+
+        .dialog-naming .content {
+            font-size: 14px;
+            color: #000;
+            line-height: 20px;
+            margin-left: 25px;
+            margin-right: 25px;
+            font-weight: 700;
+            margin-top: 16px;
+            padding: 0;
+        }
+
+        .dialog-naming .btn-call {
+            width: 230px;
+            height: 40px;
+            background: rgba(255, 64, 149, 1);
+            box-shadow: 0px 8px 10px 0px rgba(255, 64, 149, 0.36);
+            border-radius: 22px;
+            font-size: 14px;
+            font-weight: 700;
+            color: rgba(255, 255, 255, 1);
+            border: none;
+            outline: none;
+            margin-top: 20px;
+        }
+
+        .dialog-naming .btn-cancel {
+            height: 40px;
+            margin-top: 10px;
+            font-size: 14px;
+            font-weight: 400;
+            color: rgba(143, 146, 148, 1);
+            border: none;
+            outline: none;
+            background: none;
+        }
+
+        .fade-enter, .fade-leave-active {
+            opacity: 0;
+        }
+
+        .fade-enter-active, .fade-leave-active {
+            transition: all 0.3s ease;
+        }
+
+        .pop-up-enter, .pop-up-leave-active {
+            opacity: 0;
+            transform-origin: 50% 50%;
+            transform: scale(1.1, 1.1);
+        }
+
+        .pop-up-enter-active, .pop-up-leave-active {
+            transition: all 0.3s ease;
+        }
     </style>
     </style>
 </head>
 </head>
 <body>
 <body>
 <div id="app">
 <div id="app">
     <div class="swiper-wrapper">
     <div class="swiper-wrapper">
-        <swiper class="swiper" :options="swiperOption">
-            <swiper-slide v-for="item in ads" class="swiper-slide"
-                          :style="{backgroundImage: 'url(${pageContext.request.contextPath}/'+item.pic+')'}"></swiper-slide>
+        <swiper class="swiper" :options="swiperOption" :style="{height:bannerHeight}">
+            <%--<swiper-slide v-for="item in ads" class="swiper-slide"--%>
+            <%--:style="{backgroundImage: 'url(${pageContext.request.contextPath}/'+item.pic+')'}"></swiper-slide>--%>
+            <swiper-slide class="swiper-slide"
+                          style="background-image: url('${pageContext.request.contextPath}/image/dancer/img_guanming.png')"></swiper-slide>
         </swiper>
         </swiper>
         <div class="swiper-pagination"></div>
         <div class="swiper-pagination"></div>
     </div>
     </div>
@@ -539,12 +682,12 @@
         <img class="avatar" src="${pageContext.request.contextPath}/<%=modelInfo.get("hPhoto")%>">
         <img class="avatar" src="${pageContext.request.contextPath}/<%=modelInfo.get("hPhoto")%>">
         <div class="name"><%=modelInfo.get("Pet")%>
         <div class="name"><%=modelInfo.get("Pet")%>
         </div>
         </div>
-        <div style="text-align: center;margin-top: 6px">
-            <button class="detail" @click="detail">查看详细资料</button>
-            <button class="follow" @click="detail" :class="{isFollow:isFollow}" v-if="!isModel">{{isFollow ? '已关注' :
-                '关注'}}
-            </button>
-        </div>
+        <button class="detail" @click="detail">详细资料</button>
+        <button class="follow" @click="follow" :class="{isFollow:isFollow}" v-if="!isModel">
+            <img style="width: 15px;height: 15px;margin-right: 4px"
+                 src="${pageContext.request.contextPath}/image/dancer/icon_guanzhu.png"><span>{{isFollow ? '已关注' :
+                '关注'}}</span>
+        </button>
         <div class="divider"></div>
         <div class="divider"></div>
         <div class="numbers">
         <div class="numbers">
             <div class="item">
             <div class="item">
@@ -626,9 +769,24 @@
             <img src="${pageContext.request.contextPath}/image/icon_video.png">视频
             <img src="${pageContext.request.contextPath}/image/icon_video.png">视频
         </div>
         </div>
         <div class="btn-gift" @click="sendGift">
         <div class="btn-gift" @click="sendGift">
+            <img src="${pageContext.request.contextPath}/image/dancer/text_songlihuanli.png" class="tip"
+                 v-if="showGiftTip">
             <img src="${pageContext.request.contextPath}/image/icon_gift.png">礼物
             <img src="${pageContext.request.contextPath}/image/icon_gift.png">礼物
         </div>
         </div>
     </div>
     </div>
+    <transition name="fade">
+        <div class="mask" v-if="showDialog"></div>
+    </transition>
+    <transition name="pop-up">
+        <div class="dialog-naming-wrapper" v-if="showDialog" @click="showDialog=false" @touchmove.stop.prevent="">
+            <div class="dialog-naming" @click.stop="">
+                <img src="${pageContext.request.contextPath}/image/dancer/img_guanming_tancuan.png">
+                <div class="content">冠名企业正在招募中,欢迎咨询<br>是否立刻电话咨询?</div>
+                <button class="btn-call" @click="call">拨打电话</button>
+                <button class="btn-cancel" @click="showDialog=false">稍后再说</button>
+            </div>
+        </div>
+    </transition>
 </div>
 </div>
 <div class="video-container" id="video-container">
 <div class="video-container" id="video-container">
     <video id="video"
     <video id="video"
@@ -666,24 +824,39 @@
 
 
     new Vue({
     new Vue({
         el: '#app',
         el: '#app',
-        data: {
-            ads: <%=ads%>,
-            swiperOption: {
-                autoplay: true,
-                loop: true,
-                direction: 'horizontal',
-                slidesPerView: 1,
-                spaceBetween: 0,
-                observeParents: true,
-                pagination: {
-                    el: '.swiper-pagination',
-                    type: 'bullets'
-                }
-            },
-            isFollow: ${isFollow},
-            isIOS: /iPhone/i.test(navigator.userAgent),
-            inApp: /chmo/i.test(navigator.userAgent),
-            isModel: /chmoModel/i.test(navigator.userAgent)
+        data: function () {
+            var self = this;
+            return {
+                ads: <%=ads%>,
+                swiperOption: {
+                    autoplay: true,
+                    loop: true,
+                    direction: 'horizontal',
+                    slidesPerView: 1,
+                    spaceBetween: 0,
+                    observeParents: true,
+                    pagination: {
+                        el: '.swiper-pagination',
+                        type: 'bullets'
+                    },
+                    on: {
+                        click: function (e) {
+                            self.clickBanner()
+                        }
+                    }
+                },
+                isFollow: ${isFollow},
+                isIOS: /iPhone/i.test(navigator.userAgent),
+                inApp: /chmo/i.test(navigator.userAgent),
+                isModel: /chmoModel/i.test(navigator.userAgent),
+                showGiftTip: !localStorage.getItem("showGiftTip"),
+                showDialog: false
+            }
+        },
+        computed: {
+            bannerHeight: function () {
+                return (window.innerWidth - 40) * 120 / 335 + 'px'
+            }
         },
         },
         methods: {
         methods: {
             play: function () {
             play: function () {
@@ -740,6 +913,8 @@
                 }
                 }
             },
             },
             sendGift: function () {
             sendGift: function () {
+                localStorage.setItem("showGiftTip", "1");
+                this.showGiftTip = false;
                 if (this.checkApp()) {
                 if (this.checkApp()) {
                     try {
                     try {
                         if (this.isIOS) {
                         if (this.isIOS) {
@@ -781,6 +956,29 @@
                 } catch (e) {
                 } catch (e) {
                     window.location.href = 'https://itunes.apple.com/cn/app/id1434011196?mt=8'
                     window.location.href = 'https://itunes.apple.com/cn/app/id1434011196?mt=8'
                 }
                 }
+            },
+            follow: function () {
+                if (this.checkApp()) {
+                    $.post({
+                        url: '',
+                        data: {
+                            operator: 'follow',
+                            follow: this.isFollow ? 0 : 1
+                        },
+                        success: function (res) {
+                            if (res.success) {
+                                this.isFollow = !this.isFollow
+                            }
+                        }.bind(this)
+                    })
+                }
+            },
+            clickBanner: function () {
+                this.showDialog = true
+            },
+            call: function () {
+                window.location.href = "tel:17768144625";
+                this.showDialog = false
             }
             }
         }
         }
     })
     })

+ 8 - 2
src/main/webapp/dancer/search.jsp

@@ -23,6 +23,11 @@
     if ("search".equals(operator)) {
     if ("search".equals(operator)) {
         int pageIndex = JspUtils.getInt(request, "page");
         int pageIndex = JspUtils.getInt(request, "page");
         String keyword = JspUtils.getString(request, "keyword");
         String keyword = JspUtils.getString(request, "keyword");
+        int pk = 0;
+        try {
+            pk = Integer.valueOf(keyword);
+        } catch (Exception e) {
+        }
         pageIndex = pageIndex == 0 ? 1 : pageIndex;
         pageIndex = pageIndex == 0 ? 1 : pageIndex;
         Field<Object> gift = ctx.select(DSL.ifnull(DSL.sum(GIFT_RECORD.COIN), 0))
         Field<Object> gift = ctx.select(DSL.ifnull(DSL.sum(GIFT_RECORD.COIN), 0))
                 .from(GIFT_RECORD)
                 .from(GIFT_RECORD)
@@ -35,7 +40,7 @@
                 .join(MEMBERINFO).on(PARTTYSIGN.MEMBERPK.equal(MEMBERINFO.PK))
                 .join(MEMBERINFO).on(PARTTYSIGN.MEMBERPK.equal(MEMBERINFO.PK))
                 .join(MODELINFO).on(MODELINFO.MEMBERPK.equal(PARTTYSIGN.MEMBERPK))
                 .join(MODELINFO).on(MODELINFO.MEMBERPK.equal(PARTTYSIGN.MEMBERPK))
                 .where(PARTTYSIGN.PARTTYPK.equal(activitypk))
                 .where(PARTTYSIGN.PARTTYPK.equal(activitypk))
-                .and(MEMBERINFO.PET.containsIgnoreCase(keyword).or(MEMBERINFO.TEL.containsIgnoreCase(keyword)))
+                .and(MEMBERINFO.PET.containsIgnoreCase(keyword).or(MEMBERINFO.TEL.containsIgnoreCase(keyword)).or(PARTTYSIGN.PK.equal(pk)))
                 .orderBy(PARTTYSIGN.PK.desc())
                 .orderBy(PARTTYSIGN.PK.desc())
                 .limit(20 * (pageIndex - 1), 20)
                 .limit(20 * (pageIndex - 1), 20)
                 .fetch();
                 .fetch();
@@ -245,7 +250,8 @@
 
 
                 <div class="resultList">
                 <div class="resultList">
                     <template v-if="resultList.length>0">
                     <template v-if="resultList.length>0">
-                        <search-result v-for="item in resultList" :info="item" @click.native="detail(item)"></search-result>
+                        <search-result v-for="item in resultList" :info="item"
+                                       @click.native="detail(item)"></search-result>
                     </template>
                     </template>
 
 
 
 

BIN
src/main/webapp/image/dancer/icon_guanzhu.png


BIN
src/main/webapp/image/dancer/img_guanming.png


BIN
src/main/webapp/image/dancer/img_guanming_tancuan.png


BIN
src/main/webapp/image/dancer/img_wuwang.png


BIN
src/main/webapp/image/dancer/text_songlihuanli.png