Commit d441a60b61ad3f382b3b66813ba263bf95500b08
1 parent
1dcf8f79
Exists in
master
feat: 下拉加载,超链接,支付问题修改
fix: 扫码问题修复
Showing
6 changed files
with
95 additions
and
39 deletions
Show diff stats
src/main.js
| 1 | import Vue from 'vue' | 1 | import Vue from 'vue' |
| 2 | -import { Popup, Toast, Picker, Tag, Tab, Tabs, Area, Search, Swipe, SwipeItem, Cell, List, Collapse, CollapseItem, Button, Field, Icon, Sticky, DropdownMenu, DropdownItem, Rate, Calendar, Checkbox, Empty, Lazyload, Radio, RadioGroup, CellGroup, Dialog, CheckboxGroup, NavBar } from 'vant'; | 2 | +import { Popup, Toast, Picker, Tag, Tab, Tabs, Area, Search, Swipe, SwipeItem, Cell, List, Collapse, CollapseItem, Button, Field, Icon, Sticky, DropdownMenu, DropdownItem, Rate, Calendar, Checkbox, Empty, Lazyload, Radio, RadioGroup, CellGroup, Dialog, CheckboxGroup, NavBar, PullRefresh } from 'vant'; |
| 3 | import App from './App.vue' | 3 | import App from './App.vue' |
| 4 | import router from './router' | 4 | import router from './router' |
| 5 | import store from './store' | 5 | import store from './store' |
| @@ -44,6 +44,7 @@ Vue | @@ -44,6 +44,7 @@ Vue | ||
| 44 | .use(Toast) | 44 | .use(Toast) |
| 45 | .use(Dialog) | 45 | .use(Dialog) |
| 46 | .use(NavBar) | 46 | .use(NavBar) |
| 47 | + .use(PullRefresh) | ||
| 47 | .use(RadioGroup) | 48 | .use(RadioGroup) |
| 48 | .use(Radio); | 49 | .use(Radio); |
| 49 | Vue.config.productionTip = false; | 50 | Vue.config.productionTip = false; |
src/views/Home/MyClassList.vue
| @@ -147,7 +147,7 @@ export default { | @@ -147,7 +147,7 @@ export default { | ||
| 147 | } | 147 | } |
| 148 | var basePosition = [this.baseInfo.signLong, this.baseInfo.signLat]; | 148 | var basePosition = [this.baseInfo.signLong, this.baseInfo.signLat]; |
| 149 | AMap.convertFrom(basePosition, 'baidu', function (status, result) { | 149 | AMap.convertFrom(basePosition, 'baidu', function (status, result) { |
| 150 | - console.log(result) | 150 | + console.log('基地定位转换:',result) |
| 151 | if (result.info === 'ok') { | 151 | if (result.info === 'ok') { |
| 152 | basePosition = [result.locations[0].lng, result.locations[0].lat]; // Array.<LngLat> | 152 | basePosition = [result.locations[0].lng, result.locations[0].lat]; // Array.<LngLat> |
| 153 | } | 153 | } |
| @@ -156,10 +156,12 @@ export default { | @@ -156,10 +156,12 @@ export default { | ||
| 156 | message: '请求中...', | 156 | message: '请求中...', |
| 157 | }); | 157 | }); |
| 158 | this.getNowPosition((posi) => { //获取当前位置坐标 | 158 | this.getNowPosition((posi) => { //获取当前位置坐标 |
| 159 | + console.log('获取当前位置坐标:',posi) | ||
| 159 | this.$toast.clear(); | 160 | this.$toast.clear(); |
| 160 | if (posi) { | 161 | if (posi) { |
| 161 | var nowPosition = [posi.position.lng, posi.position.lat]; | 162 | var nowPosition = [posi.position.lng, posi.position.lat]; |
| 162 | var distance = AMap.GeometryUtil.distance(nowPosition, basePosition); | 163 | var distance = AMap.GeometryUtil.distance(nowPosition, basePosition); |
| 164 | + console.log('两点距离:',distance) | ||
| 163 | console.log(parseInt(distance), nowPosition, basePosition) | 165 | console.log(parseInt(distance), nowPosition, basePosition) |
| 164 | if (parseInt(distance) > 500) { | 166 | if (parseInt(distance) > 500) { |
| 165 | this.failShow = true; | 167 | this.failShow = true; |
src/views/Home/component/HomeScan.vue
| @@ -12,12 +12,12 @@ export default { | @@ -12,12 +12,12 @@ export default { | ||
| 12 | "type": "qrCode" | 12 | "type": "qrCode" |
| 13 | }).then(res => { | 13 | }).then(res => { |
| 14 | console.log(res) | 14 | console.log(res) |
| 15 | - const qrcode = res.qrcode | 15 | + const qrcode = res.text |
| 16 | if(qrcode.length>10){ | 16 | if(qrcode.length>10){ |
| 17 | this.$toast.fail('请扫描正确的基地码') | 17 | this.$toast.fail('请扫描正确的基地码') |
| 18 | return; | 18 | return; |
| 19 | } | 19 | } |
| 20 | - this.$router.push({ name: 'MyClassList', query: { qrresult: res.qrcode } }) | 20 | + this.$router.push({ name: 'MyClassList', query: { qrresult: res.text } }) |
| 21 | }).catch(err => { | 21 | }).catch(err => { |
| 22 | console.log(err) | 22 | console.log(err) |
| 23 | }) | 23 | }) |
src/views/Service/CheckOrder.vue
| @@ -248,17 +248,22 @@ export default { | @@ -248,17 +248,22 @@ export default { | ||
| 248 | "payWay": 0, | 248 | "payWay": 0, |
| 249 | "productId": this.showCourseData.id, //商品id | 249 | "productId": this.showCourseData.id, //商品id |
| 250 | "quit_url": location.href, | 250 | "quit_url": location.href, |
| 251 | - "subject": "研学产品", | ||
| 252 | - "totalFee": "0.01", | 251 | + "subject": this.showCourseData.course_name + '_' + this.date, |
| 252 | + "totalFee": this.selectCombo.actualPrice * 1000 * this.count / 1000 | ||
| 253 | }, | 253 | }, |
| 254 | onSuccess: res => { | 254 | onSuccess: res => { |
| 255 | console.log(res) | 255 | console.log(res) |
| 256 | localStorage.setItem('outTradeNo', data.trade_no) | 256 | localStorage.setItem('outTradeNo', data.trade_no) |
| 257 | - // res.data.data默认是我们拿到的form代码 | ||
| 258 | - const div = document.createElement('div') | ||
| 259 | - div.innerHTML = res.data.message | 257 | + // this.BridgePay(res.data.message) |
| 258 | + let divForm = document.getElementsByTagName('divform') | ||
| 259 | + if (divForm.length) { | ||
| 260 | + document.body.removeChild(divForm[0]) | ||
| 261 | + } | ||
| 262 | + const div = document.createElement('divform') | ||
| 263 | + div.innerHTML = res.data.message // res.data就是sb支付宝返回给你的form | ||
| 260 | document.body.appendChild(div) | 264 | document.body.appendChild(div) |
| 261 | - document.forms[0].submit() //重要,这个才是点击跳页面的核心 | 265 | + // document.forms[0].setAttribute('target', '_blank') // 加了_blank可能出问题所以我注释了 |
| 266 | + document.forms[0].submit() | ||
| 262 | }, | 267 | }, |
| 263 | onFail: err => { | 268 | onFail: err => { |
| 264 | console.log('err', err) | 269 | console.log('err', err) |
| @@ -267,15 +272,25 @@ export default { | @@ -267,15 +272,25 @@ export default { | ||
| 267 | } | 272 | } |
| 268 | }, | 273 | }, |
| 269 | // 支付API | 274 | // 支付API |
| 270 | - BridgePay (credential) { | ||
| 271 | - var payMsg = { | ||
| 272 | - platform: 1, | ||
| 273 | - arg: { | ||
| 274 | - "credential": credential, | ||
| 275 | - "inSandBox": false | ||
| 276 | - } | ||
| 277 | - }; | ||
| 278 | - }, | 275 | + // BridgePay (credential) { |
| 276 | + // var payMsg = { | ||
| 277 | + // platform: 1, | ||
| 278 | + // arg: { | ||
| 279 | + // "credential": credential, | ||
| 280 | + // "inSandBox": false | ||
| 281 | + // } | ||
| 282 | + // }; | ||
| 283 | + // ZWJSBridge.pay(payMsg).then((result) => { | ||
| 284 | + | ||
| 285 | + // alert('支付成功!'); | ||
| 286 | + // console.log('#### ZWJSBridge.pay() result:' + result); | ||
| 287 | + | ||
| 288 | + // }).catch((error) => { | ||
| 289 | + // var errorMsg = JSON.stringify(error); | ||
| 290 | + // alert('支付失败:' + errorMsg); | ||
| 291 | + // console.log('#### ZWJSBridge.pay() error:' + error); | ||
| 292 | + // }); | ||
| 293 | + // }, | ||
| 279 | //判断是否为支付会跳,查询订单状态 | 294 | //判断是否为支付会跳,查询订单状态 |
| 280 | getOrderStatus (outTradeNo) { | 295 | getOrderStatus (outTradeNo) { |
| 281 | console.log('getOrderStatus') | 296 | console.log('getOrderStatus') |
src/views/Service/ServiceBaseKQ.vue
| @@ -10,7 +10,9 @@ | @@ -10,7 +10,9 @@ | ||
| 10 | </van-swipe> | 10 | </van-swipe> |
| 11 | <img class="card_zzy" src="../../assets/service/card_zzy.png" alt="" @click="handleMyCard"> | 11 | <img class="card_zzy" src="../../assets/service/card_zzy.png" alt="" @click="handleMyCard"> |
| 12 | <img class="order_btn" src="../../assets/service/order.png" alt="" @click="handleMyOrder"> | 12 | <img class="order_btn" src="../../assets/service/order.png" alt="" @click="handleMyOrder"> |
| 13 | - <ServiceListFour :list="campList" :notab="false"></ServiceListFour> | 13 | + <van-pull-refresh v-model="loading" @refresh="onRefresh('campList')"> |
| 14 | + <ServiceListFour :list="campList" :notab="false"></ServiceListFour> | ||
| 15 | + </van-pull-refresh> | ||
| 14 | </div> | 16 | </div> |
| 15 | </div> | 17 | </div> |
| 16 | <div v-show="tabName=='KQ'"> | 18 | <div v-show="tabName=='KQ'"> |
| @@ -30,24 +32,34 @@ | @@ -30,24 +32,34 @@ | ||
| 30 | <div class="top_tool"> | 32 | <div class="top_tool"> |
| 31 | <van-search class="search" v-model="search" shape="round" background="transparent" placeholder="搜索活动、研学旅行、服务" @search="onSearch" /> | 33 | <van-search class="search" v-model="search" shape="round" background="transparent" placeholder="搜索活动、研学旅行、服务" @search="onSearch" /> |
| 32 | </div> | 34 | </div> |
| 33 | - <div class="redLink">轻纺城小学红色网上游主题教育馆</div> | 35 | + <div class="redLink" @click="handleRedLink">轻纺城小学红色网上游主题教育馆</div> |
| 34 | </van-sticky> | 36 | </van-sticky> |
| 35 | <div class="tabsCard"> | 37 | <div class="tabsCard"> |
| 36 | <van-tabs v-model="active" sticky offset-top="24vw" z-index='100' :ellipsis="false" :before-change="beforeChange"> | 38 | <van-tabs v-model="active" sticky offset-top="24vw" z-index='100' :ellipsis="false" :before-change="beforeChange"> |
| 37 | <van-tab title="革命遗址"> | 39 | <van-tab title="革命遗址"> |
| 38 | - <ServiceListThird :list="uniList" :notab="true"></ServiceListThird> | 40 | + <van-pull-refresh v-model="loading" @refresh="onRefresh('uniList')"> |
| 41 | + <ServiceListThird :list="uniList" :notab="true"></ServiceListThird> | ||
| 42 | + </van-pull-refresh> | ||
| 39 | </van-tab> | 43 | </van-tab> |
| 40 | <van-tab title="文化传承"> | 44 | <van-tab title="文化传承"> |
| 41 | - <ServiceListThird :list="weekList" :notab="true"></ServiceListThird> | 45 | + <van-pull-refresh v-model="loading" @refresh="onRefresh('weekList')"> |
| 46 | + <ServiceListThird :list="weekList" :notab="true"></ServiceListThird> | ||
| 47 | + </van-pull-refresh> | ||
| 42 | </van-tab> | 48 | </van-tab> |
| 43 | <van-tab title="红色军旅"> | 49 | <van-tab title="红色军旅"> |
| 44 | - <ServiceListThird :list="cityList" :notab="true"></ServiceListThird> | 50 | + <van-pull-refresh v-model="loading" @refresh="onRefresh('cityList')"> |
| 51 | + <ServiceListThird :list="cityList" :notab="true"></ServiceListThird> | ||
| 52 | + </van-pull-refresh> | ||
| 45 | </van-tab> | 53 | </van-tab> |
| 46 | <van-tab title="乡村振新"> | 54 | <van-tab title="乡村振新"> |
| 47 | - <ServiceListThird :list="selectList" :notab="true"></ServiceListThird> | 55 | + <van-pull-refresh v-model="loading" @refresh="onRefresh('selectList')"> |
| 56 | + <ServiceListThird :list="selectList" :notab="true"></ServiceListThird> | ||
| 57 | + </van-pull-refresh> | ||
| 48 | </van-tab> | 58 | </van-tab> |
| 49 | <van-tab title="大好河山"> | 59 | <van-tab title="大好河山"> |
| 50 | - <ServiceListThird :list="riverList" :notab="true"></ServiceListThird> | 60 | + <van-pull-refresh v-model="loading" @refresh="onRefresh('riverList')"> |
| 61 | + <ServiceListThird :list="riverList" :notab="true"></ServiceListThird> | ||
| 62 | + </van-pull-refresh> | ||
| 51 | </van-tab> | 63 | </van-tab> |
| 52 | </van-tabs> | 64 | </van-tabs> |
| 53 | </div> | 65 | </div> |
| @@ -84,6 +96,7 @@ export default { | @@ -84,6 +96,7 @@ export default { | ||
| 84 | riverList: [], | 96 | riverList: [], |
| 85 | tabName: 'KQ', | 97 | tabName: 'KQ', |
| 86 | campList: [], | 98 | campList: [], |
| 99 | + loading: false | ||
| 87 | } | 100 | } |
| 88 | }, | 101 | }, |
| 89 | watch: { | 102 | watch: { |
| @@ -106,6 +119,22 @@ export default { | @@ -106,6 +119,22 @@ export default { | ||
| 106 | this.initService() | 119 | this.initService() |
| 107 | }, | 120 | }, |
| 108 | methods: { | 121 | methods: { |
| 122 | + onRefresh (list) { | ||
| 123 | + if(list=='campList'){ | ||
| 124 | + this.getCampList() | ||
| 125 | + }else if(list=='uniList'){ | ||
| 126 | + this.getUniList() | ||
| 127 | + }else if(list=='weekList'){ | ||
| 128 | + this.getWeekList() | ||
| 129 | + }else if(list=='cityList'){ | ||
| 130 | + this.getCityList() | ||
| 131 | + }else if(list=='selectList'){ | ||
| 132 | + this.getSelectList() | ||
| 133 | + }else if(list=='riverList'){ | ||
| 134 | + this.getRiverList() | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + }, | ||
| 109 | initService () { | 138 | initService () { |
| 110 | this.getUniList() | 139 | this.getUniList() |
| 111 | this.getWeekList() | 140 | this.getWeekList() |
| @@ -138,7 +167,6 @@ export default { | @@ -138,7 +167,6 @@ export default { | ||
| 138 | "channelCode": "" | 167 | "channelCode": "" |
| 139 | }, | 168 | }, |
| 140 | onSuccess: data => { | 169 | onSuccess: data => { |
| 141 | - console.log('data', data) | ||
| 142 | this.$toast.clear() | 170 | this.$toast.clear() |
| 143 | let uniList = data.data.data; | 171 | let uniList = data.data.data; |
| 144 | for (let i in uniList) { | 172 | for (let i in uniList) { |
| @@ -149,7 +177,9 @@ export default { | @@ -149,7 +177,9 @@ export default { | ||
| 149 | uniList[i].endDate = this.Moment(uniList[i].endDate).format('YYYY.M.D'); | 177 | uniList[i].endDate = this.Moment(uniList[i].endDate).format('YYYY.M.D'); |
| 150 | } | 178 | } |
| 151 | } | 179 | } |
| 180 | + this.loading = false | ||
| 152 | this.uniList = uniList | 181 | this.uniList = uniList |
| 182 | + console.log('革命遗址:', data) | ||
| 153 | }, | 183 | }, |
| 154 | onFail: err => { | 184 | onFail: err => { |
| 155 | console.log('err', err) | 185 | console.log('err', err) |
| @@ -178,7 +208,6 @@ export default { | @@ -178,7 +208,6 @@ export default { | ||
| 178 | "channelCode": "" | 208 | "channelCode": "" |
| 179 | }, | 209 | }, |
| 180 | onSuccess: data => { | 210 | onSuccess: data => { |
| 181 | - console.log('data', data) | ||
| 182 | let weekList = data.data.data; | 211 | let weekList = data.data.data; |
| 183 | for (let i in weekList) { | 212 | for (let i in weekList) { |
| 184 | weekList[i].course_labels = weekList[i].course_labels?.split(','); | 213 | weekList[i].course_labels = weekList[i].course_labels?.split(','); |
| @@ -188,7 +217,9 @@ export default { | @@ -188,7 +217,9 @@ export default { | ||
| 188 | weekList[i].endDate = this.Moment(weekList[i].endDate).format('YYYY.M.D'); | 217 | weekList[i].endDate = this.Moment(weekList[i].endDate).format('YYYY.M.D'); |
| 189 | } | 218 | } |
| 190 | } | 219 | } |
| 220 | + this.loading = false | ||
| 191 | this.weekList = weekList | 221 | this.weekList = weekList |
| 222 | + console.log('文化传承:', weekList) | ||
| 192 | }, | 223 | }, |
| 193 | onFail: err => { | 224 | onFail: err => { |
| 194 | console.log('err', err) | 225 | console.log('err', err) |
| @@ -217,7 +248,6 @@ export default { | @@ -217,7 +248,6 @@ export default { | ||
| 217 | "channelCode": "" | 248 | "channelCode": "" |
| 218 | }, | 249 | }, |
| 219 | onSuccess: data => { | 250 | onSuccess: data => { |
| 220 | - console.log('data', data) | ||
| 221 | let cityList = data.data.data; | 251 | let cityList = data.data.data; |
| 222 | for (let i in cityList) { | 252 | for (let i in cityList) { |
| 223 | cityList[i].course_labels = cityList[i].course_labels?.split(','); | 253 | cityList[i].course_labels = cityList[i].course_labels?.split(','); |
| @@ -227,7 +257,9 @@ export default { | @@ -227,7 +257,9 @@ export default { | ||
| 227 | cityList[i].endDate = this.Moment(cityList[i].endDate).format('YYYY.M.D'); | 257 | cityList[i].endDate = this.Moment(cityList[i].endDate).format('YYYY.M.D'); |
| 228 | } | 258 | } |
| 229 | } | 259 | } |
| 260 | + this.loading = false | ||
| 230 | this.cityList = cityList | 261 | this.cityList = cityList |
| 262 | + console.log('红色军旅:', cityList) | ||
| 231 | }, | 263 | }, |
| 232 | onFail: err => { | 264 | onFail: err => { |
| 233 | console.log('err', err) | 265 | console.log('err', err) |
| @@ -256,7 +288,6 @@ export default { | @@ -256,7 +288,6 @@ export default { | ||
| 256 | "channelCode": "" | 288 | "channelCode": "" |
| 257 | }, | 289 | }, |
| 258 | onSuccess: data => { | 290 | onSuccess: data => { |
| 259 | - console.log('data', data) | ||
| 260 | let selectList = data.data.data; | 291 | let selectList = data.data.data; |
| 261 | for (let i in selectList) { | 292 | for (let i in selectList) { |
| 262 | selectList[i].course_labels = selectList[i].course_labels?.split(','); | 293 | selectList[i].course_labels = selectList[i].course_labels?.split(','); |
| @@ -266,7 +297,9 @@ export default { | @@ -266,7 +297,9 @@ export default { | ||
| 266 | selectList[i].endDate = this.Moment(selectList[i].endDate).format('YYYY.M.D'); | 297 | selectList[i].endDate = this.Moment(selectList[i].endDate).format('YYYY.M.D'); |
| 267 | } | 298 | } |
| 268 | } | 299 | } |
| 300 | + this.loading = false | ||
| 269 | this.selectList = selectList | 301 | this.selectList = selectList |
| 302 | + console.log('乡村振新:', selectList) | ||
| 270 | }, | 303 | }, |
| 271 | onFail: err => { | 304 | onFail: err => { |
| 272 | console.log('err', err) | 305 | console.log('err', err) |
| @@ -295,7 +328,6 @@ export default { | @@ -295,7 +328,6 @@ export default { | ||
| 295 | "channelCode": "" | 328 | "channelCode": "" |
| 296 | }, | 329 | }, |
| 297 | onSuccess: data => { | 330 | onSuccess: data => { |
| 298 | - console.log('data', data) | ||
| 299 | let riverList = data.data.data; | 331 | let riverList = data.data.data; |
| 300 | for (let i in riverList) { | 332 | for (let i in riverList) { |
| 301 | riverList[i].course_labels = riverList[i].course_labels?.split(','); | 333 | riverList[i].course_labels = riverList[i].course_labels?.split(','); |
| @@ -305,7 +337,9 @@ export default { | @@ -305,7 +337,9 @@ export default { | ||
| 305 | riverList[i].endDate = this.Moment(riverList[i].endDate).format('YYYY.M.D'); | 337 | riverList[i].endDate = this.Moment(riverList[i].endDate).format('YYYY.M.D'); |
| 306 | } | 338 | } |
| 307 | } | 339 | } |
| 340 | + this.loading = false | ||
| 308 | this.riverList = riverList | 341 | this.riverList = riverList |
| 342 | + console.log('大好河山:', riverList) | ||
| 309 | }, | 343 | }, |
| 310 | onFail: err => { | 344 | onFail: err => { |
| 311 | console.log('err', err) | 345 | console.log('err', err) |
| @@ -335,7 +369,6 @@ export default { | @@ -335,7 +369,6 @@ export default { | ||
| 335 | "channelCode": "GZH002" | 369 | "channelCode": "GZH002" |
| 336 | }, | 370 | }, |
| 337 | onSuccess: data => { | 371 | onSuccess: data => { |
| 338 | - console.log('data', data) | ||
| 339 | let campList = data.data.data; | 372 | let campList = data.data.data; |
| 340 | for (let i in campList) { | 373 | for (let i in campList) { |
| 341 | campList[i].course_labels = campList[i].course_labels?.split(','); | 374 | campList[i].course_labels = campList[i].course_labels?.split(','); |
| @@ -345,7 +378,9 @@ export default { | @@ -345,7 +378,9 @@ export default { | ||
| 345 | campList[i].endDate = this.Moment(campList[i].endDate).format('YYYY.M.D'); | 378 | campList[i].endDate = this.Moment(campList[i].endDate).format('YYYY.M.D'); |
| 346 | } | 379 | } |
| 347 | } | 380 | } |
| 381 | + this.loading = false | ||
| 348 | this.campList = campList | 382 | this.campList = campList |
| 383 | + console.log('每周一营:', data) | ||
| 349 | }, | 384 | }, |
| 350 | onFail: err => { | 385 | onFail: err => { |
| 351 | console.log('err', err) | 386 | console.log('err', err) |
| @@ -369,7 +404,7 @@ export default { | @@ -369,7 +404,7 @@ export default { | ||
| 369 | // 我的优惠券 | 404 | // 我的优惠券 |
| 370 | handleMyCard () { | 405 | handleMyCard () { |
| 371 | // this.$toast('暂未开放,敬请期待!'); | 406 | // this.$toast('暂未开放,敬请期待!'); |
| 372 | - this.$router.push({ name: 'CardBoxXST', query: { active: 1} }) | 407 | + this.$router.push({ name: 'CardBoxXST', query: { active: 1 } }) |
| 373 | }, | 408 | }, |
| 374 | formatWeek (week) { | 409 | formatWeek (week) { |
| 375 | return week == 1 ? '周一' : week == 2 ? '周二' : week == 3 ? '周三' : week == 4 ? '周四' : week == 5 ? '周五' : week == 6 ? '周六' : week == 0 ? '周日' : ''; | 410 | return week == 1 ? '周一' : week == 2 ? '周二' : week == 3 ? '周三' : week == 4 ? '周四' : week == 5 ? '周五' : week == 6 ? '周六' : week == 0 ? '周日' : ''; |
| @@ -378,6 +413,10 @@ export default { | @@ -378,6 +413,10 @@ export default { | ||
| 378 | handleBanner () { | 413 | handleBanner () { |
| 379 | location.href = 'https://mp.weixin.qq.com/s/a4N3xr2nXZ-aG3OEakv-Dg' | 414 | location.href = 'https://mp.weixin.qq.com/s/a4N3xr2nXZ-aG3OEakv-Dg' |
| 380 | }, | 415 | }, |
| 416 | + handleRedLink () { | ||
| 417 | + location.href = 'https://720yun.com/t/89vkzwd7pfw?scene_id=80780201' | ||
| 418 | + | ||
| 419 | + } | ||
| 381 | }, | 420 | }, |
| 382 | components: { | 421 | components: { |
| 383 | Tabbar4, | 422 | Tabbar4, |
| @@ -491,7 +530,6 @@ export default { | @@ -491,7 +530,6 @@ export default { | ||
| 491 | right: 20px; | 530 | right: 20px; |
| 492 | z-index: 99; | 531 | z-index: 99; |
| 493 | } | 532 | } |
| 494 | - | ||
| 495 | } | 533 | } |
| 496 | 534 | ||
| 497 | ::v-deep .van-search__content { | 535 | ::v-deep .van-search__content { |
| @@ -582,11 +620,11 @@ export default { | @@ -582,11 +620,11 @@ export default { | ||
| 582 | font-size: 44px; | 620 | font-size: 44px; |
| 583 | } | 621 | } |
| 584 | } | 622 | } |
| 585 | - .van-tab{ | 623 | + .van-tab { |
| 586 | font-size: 40px; | 624 | font-size: 40px; |
| 587 | } | 625 | } |
| 588 | - .van-tab--active{ | ||
| 589 | - font-size: 44px; | 626 | + .van-tab--active { |
| 627 | + font-size: 44px; | ||
| 590 | } | 628 | } |
| 591 | } | 629 | } |
| 592 | } | 630 | } |
src/views/Service/component/ServiceListThird.vue
| @@ -135,7 +135,7 @@ export default { | @@ -135,7 +135,7 @@ export default { | ||
| 135 | } | 135 | } |
| 136 | } | 136 | } |
| 137 | .cardBox_title { | 137 | .cardBox_title { |
| 138 | - height: 10vw; | 138 | + min-height: 10vw; |
| 139 | width: 100%; | 139 | width: 100%; |
| 140 | padding: 0 3vw; | 140 | padding: 0 3vw; |
| 141 | box-sizing: border-box; | 141 | box-sizing: border-box; |
| @@ -147,7 +147,7 @@ export default { | @@ -147,7 +147,7 @@ export default { | ||
| 147 | align-items: center; | 147 | align-items: center; |
| 148 | 148 | ||
| 149 | .cardBox_title_red { | 149 | .cardBox_title_red { |
| 150 | - width: 15vw; | 150 | + width: 20vw; |
| 151 | color: red; | 151 | color: red; |
| 152 | text-align: right; | 152 | text-align: right; |
| 153 | } | 153 | } |