From 172e585830ce9c501a9293a3a262a4006a2adc21 Mon Sep 17 00:00:00 2001 From: huaguohao <810913476@qq.com> Date: Fri, 20 Sep 2019 17:00:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E9=A3=8E=E6=A0=BC=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=20=E7=99=BB=E5=BD=952019?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 2 +- src/components/Login2019.vue | 32 ++-- .../TravelList/PassengerFeedback.vue | 5 +- src/components/administrative/Survey.vue | 18 +- src/components/public/Carousel.vue | 162 ++++++++++++++++++ src/router/config.js | 4 +- 6 files changed, 197 insertions(+), 26 deletions(-) create mode 100644 src/components/public/Carousel.vue diff --git a/src/App.vue b/src/App.vue index 60626576e..e17f2e4a8 100644 --- a/src/App.vue +++ b/src/App.vue @@ -173,7 +173,7 @@ export default { } </script> <style> - @import "//at.alicdn.com/t/font_635492_qywlhd3a0cr.css"; + @import "//at.alicdn.com/t/font_635492_04cmbkb1wq28.css"; @import "./assets/css/Semibold.css"; @import "./assets/css/global/config.css"; @import "./assets/css/fileIcon.css"; diff --git a/src/components/Login2019.vue b/src/components/Login2019.vue index 58b4c98d0..6de98faa5 100644 --- a/src/components/Login2019.vue +++ b/src/components/Login2019.vue @@ -19,9 +19,14 @@ .jitang p{ color: #424242; font-size: 14px; - text-indent: 25px; width: 60%; margin: 0 auto; + } + .jitang .iconfont { + font-size: 32px; + padding-right: 10px; + color: #d2d2d2; + } .FPF_s{ font-family: 'PingFangR'; @@ -150,8 +155,8 @@ </div> <input type="button" class="sLoginBtn changeBtn" @click="changePwd" value="确认修改"/> </div> - <div class="jitang FPF_s"> - <p>è·å ´ä¸ŠæˆåŠŸè€…èˆ‡å¤±æ•—è€…æœ€å¤§çš„åˆ†åˆ¥å°±æ˜¯ï¼Œå‰è€…找機會,後者找藉å£ï¼Œä»Šæ—¥çš„ä½ ç—›æ¨æ¯å¤©ä¸Šç「度日如年ã€ï¼Œå°‡ä¾†çš„ä½ æœƒæ„Ÿæ¿€ç¶“æ·éŽé€™ä¸€åˆ‡ï¼Œä½ ç·´æˆäº†æ›´å¼·å¤§çš„自己,玻璃心ä¸å†æ€•碎。</p> + <div class="jitang "> + <p><sup class="iconfont icon-quotation"></sup><span class="FPF_s">è·å ´ä¸ŠæˆåŠŸè€…èˆ‡å¤±æ•—è€…æœ€å¤§çš„åˆ†åˆ¥å°±æ˜¯ï¼Œå‰è€…找機會,後者找藉å£ï¼Œä»Šæ—¥çš„ä½ ç—›æ¨æ¯å¤©ä¸Šç「度日如年ã€ï¼Œå°‡ä¾†çš„ä½ æœƒæ„Ÿæ¿€ç¶“æ·éŽé€™ä¸€åˆ‡ï¼Œä½ ç·´æˆäº†æ›´å¼·å¤§çš„自己,玻璃心ä¸å†æ€•碎。</span></p> </div> </el-col> </el-row> @@ -165,19 +170,22 @@ export default { speed: 3000, imgList: [ { - src: 'http://imgfile.oytour.com/Upload/DMC/20190522030104834.jpg?x-oss-process=image/resize,l_140', - text: 'è“白相间 星月相伴', - text1: '土耳其希腊深度13æ—¥' + src: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-09/20190920032221373.jpg', + text: '京都独旅之秋', + text1: '旅宿æƒå¨æŸäº•å¯¿çš„ç§æˆ¿èµæž«ç§˜å¢ƒ', + url: 'http://www.oytour.com/#/JuanDetails?id=70' }, { - src: 'http://imgfile.oytour.com/Upload/DMC/xESG4FERFri7JXnjQTbcZymGYkQx3sNG.png?x-oss-process=image/resize,l_140', - text: '浪漫邂逅 历å²é—迹', - text1: '天然钟乳石地形' + src: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-09/20190920035420544.jpg', + text: '邂逅北海é“', + text1: 'çœ‹è§ åŒ—æµ·é“ ä¹‹ç¾Ž', + url: 'http://www.oytour.com/#/FoodImg4' }, { - src: 'http://imgfile.oytour.com/Upload/DMC/T5TyQsQwekQGkWcMxceY5xXhCdJjeFX6.jpg', - text: '艾è²ç´¢æ–¯å¤åŸŽ', - text1: '凯马克勒地下城市' + src: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-09/20190920035420528.jpg', + text: '自由土耳其', + text1: '翱翔天际 æ„Ÿå—æ˜Ÿæœˆé…力', + url: 'http://www.oytour.com/#/JuanDetails?id=70' }, ], userInfo: { diff --git a/src/components/TravelManager/TravelList/PassengerFeedback.vue b/src/components/TravelManager/TravelList/PassengerFeedback.vue index 7d1e33778..02fcbc31d 100644 --- a/src/components/TravelManager/TravelList/PassengerFeedback.vue +++ b/src/components/TravelManager/TravelList/PassengerFeedback.vue @@ -61,6 +61,7 @@ <tr> <th>å‘团日期</th> <th>团å·</th> + <th>未填写人数</th> <th>整体评分</th> <th v-for="(item,i) in fields" :key="i">{{item}}</th> <th>æ“作</th> @@ -68,6 +69,7 @@ <tr v-for="(item,i) in dataList" :key="i"> <td>{{item.start}}</td> <td>{{item.tCNUM}}</td> + <td>{{item.number}}</td> <td> <span v-if="fields.length>0"> <span v-if="item.sumScore/fields.length>3.5">{{(item.sumScore/fields.length).toFixed(1)}}</span> @@ -247,7 +249,8 @@ export default { tcid:x.tCID, start:"", sumScore:x.scoreNum, - tCNUM:x.tCNUM + tCNUM:x.tCNUM, + number: x.number ? x.number : 2 } if(x.startDate){ obj.start=x.startDate.split('T')[0] diff --git a/src/components/administrative/Survey.vue b/src/components/administrative/Survey.vue index 118aaff38..ad24d4506 100644 --- a/src/components/administrative/Survey.vue +++ b/src/components/administrative/Survey.vue @@ -5,8 +5,8 @@ <ul> <li> <span> - <em>订å•å·</em> - <el-input v-model="msg.OrderId"></el-input> + <em>团å·</em> + <el-input v-model="msg.TCID"></el-input> </span> </li> <li> @@ -67,7 +67,7 @@ <table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading"> <tr> <th>å‘团日期</th> - <th>订å•å·</th> + <!-- <th>订å•å·</th> --> <th>团å·</th> <th>未填写人数</th> <th>整体评分</th> @@ -76,7 +76,7 @@ </tr> <tr v-for="(item,i) in dataList" :key="i"> <td>{{item.start}}</td> - <td>{{item.orderId}}</td> + <!-- <td>{{item.orderId}}</td> --> <td>{{item.tCNUM}}</td> <td>{{item.number}}</td> <td> @@ -190,11 +190,11 @@ export default { msg:{ pageSize:10, pageIndex:1, + TCID: '', lineID:0, LineteamId:0, reStartDate:'', reEndDate:'', - OrderId: '', isScore:0, lineName:"ä¸é™", LineteamName:"ä¸é™", @@ -227,7 +227,6 @@ export default { created(){ this.dateList[0] = moment().subtract(6, "month").format("YYYY-MM-DD"); this.dateList[1] = moment().format("YYYY-MM-DD"); - // console.log("this.dateList",this.dateList) this.getTitle(); }, mounted(){ @@ -244,7 +243,7 @@ export default { this.getppList(); }, getppList: function () { - this.apipost('survey_post_GetTotalListAPP', {TCID: this.TCID, OrderID: this.OrderID}, res=>{ + this.apipost('survey_post_GetTotalListAPP', {TCID: this.TCID, OrderID: 0}, res=>{ if (res.data.resultCode === 1) { this.ppList = res.data.data.objNoScore; } @@ -377,7 +376,7 @@ export default { this.loading=true; - this.apiJavaPost("/api/erp/survey/getOrderSurveyList", this.msg, res => { + this.apiJavaPost("/api/erp/survey//getSurveyList", this.msg, res => { this.loading = false; if (res.data.resultCode === 1) { let arrays=[]; @@ -391,7 +390,7 @@ export default { // } if(arrays.length>0){ arrays.forEach(y=>{ - if(y.orderId==x.orderId){ + if(y.tcid==x.tCID){ y[x.title]=x.scoreNum y.sumScore+=x.scoreNum isHave=true @@ -402,7 +401,6 @@ export default { if(!isHave){ let obj={ tcid:x.tCID, - orderId:x.orderId, start:"", sumScore:x.scoreNum, tCNUM:x.tCNUM, diff --git a/src/components/public/Carousel.vue b/src/components/public/Carousel.vue new file mode 100644 index 000000000..25ce3fca4 --- /dev/null +++ b/src/components/public/Carousel.vue @@ -0,0 +1,162 @@ +<style> + .my_carousel{ + width: 100%; + height: calc(100vh); + position: relative; + left: 0; + top: 0; + } + .my_carousel_item{ + position: absolute; + left: 0; + top: 0; + height: calc(100vh); + width: 100%; + opacity: 0; + transition: all linear .5s; + } + .my_carousel_item .img{ + height: 100%; + width: 100%; + display: block; + position: absolute; + left: 0; + top: 0; + background-position: 50%; + background-size: cover; + } + .my_carousel_item_show{ + opacity: 1; + } + .my_carousel_content{ + position: absolute; + left: 100px; + bottom: 20px; + color: white; + padding: 20px 50px; + background-color: rgba(0, 0, 0, .5); + } + .my_carousel_item_show .my_carousel_content{ + bottom: 40px; + transition: all linear .5s; + } + .my_carousel_content_sline{ + height: 1px; + width: 35px; + display: block; + background-color: white; + } + .my_carousel_content_bt_line_box{ + position: absolute; + left: 100px; + bottom: 20px; + } + .my_carousel_content_bt_line{ + display: flex; + align-items: center; + position: relative; + } + .my_carousel_content_bt_line div{ + width: 60px; + height: 2px; + background-color: #cecece; + margin-right: 40px; + position: relative; + } + .my_carousel_content_bt_line div span{ + position: absolute; + left: 0; + top: 0; + height: 2px; + width: 0; + background-color: #ee4454; + } + .my_carousel_content_bt_line div span.my_carousel_content_bt_line_show{ + width: 60px; + } + .my_carousel_content h3{ + font-weight: initial; + font-family: 'PingFangR' + } + .goProduct{ + cursor: pointer; + } +</style> +<template> + <div class="my_carousel"> + <div v-for="(item, index) in imgList" class="my_carousel_item" :class="{my_carousel_item_show: index === show}" @mouseenter="clearAutoPlay(1)" @mouseleave="clearAutoPlay(2)"> + <div class="img" :style="`background-image: url(${item.src})`"></div> + <div class="my_carousel_content"> + <div @click="goProduct(item.url)" class="goProduct"> + <h3>{{item.text}}</h3> + <span class="my_carousel_content_sline"></span> + <h3>{{item.text1}}</h3> + </div> + </div> + </div> + <div class="my_carousel_content_bt_line_box"> + <div class="my_carousel_content_bt_line"> + <div v-for="(item, index) in imgList"> + <span :class="{my_carousel_content_bt_line_show: index === show}" :style="{'transition': index === show ? 'all linear '+ speed/1000 +'s' : ''}"></span> + </div> + </div> + </div> + </div> +</template> +<script> +export default { + props: { + speed: { + type: Number, + default: 2000 + }, + imgList: { + type: Array, + default: [] + }, + }, + data(){ + return{ + show: 0, + autoPlay: null, + } + },methods:{ + goProduct: function(url){ + window.open(url, "_blank"); + }, + // é¼ æ ‡ç§»å…¥æ¸…é™¤ 创建定时器 + clearAutoPlay: function(t) { + let _this = this; + if (t === 1) { + clearInterval(_this.autoPlay) + _this.autoPlay = null + } else { + _this.autoPlay = setInterval(()=>{ + _this.setShow() + }, _this.speed) + } + }, + // åˆ‡æ¢ + setShow: function (){ + console.log('time', this.show) + if (this.show === 2) { + this.show = 0 + } else { + this.show = this.show + 1 + } + } + },mounted(){ + let _this = this; + this.autoPlay = setInterval(()=>{ + _this.setShow() + }, _this.speed) + },created(){ + + }, + beforeDestroy() { + let _this = this; + clearInterval(_this.autoPlay); + _this.autoPlay = null; + } +} +</script> \ No newline at end of file diff --git a/src/router/config.js b/src/router/config.js index 8c1504763..26e978195 100644 --- a/src/router/config.js +++ b/src/router/config.js @@ -1,5 +1,5 @@ -import login from '../components/Login' -// import login from '../components/Login2019' +// import login from '../components/Login' +import login from '../components/Login2019' import index from '../components/index' import clientConfirm from '../components/clientConfirm' import SignName from '../components/SignName' -- 2.18.1