待支付订单支付
This commit is contained in:
@@ -22,3 +22,11 @@ yarn lint
|
|||||||
|
|
||||||
### Customize configuration
|
### Customize configuration
|
||||||
See [Configuration Reference](https://cli.vuejs.org/config/).
|
See [Configuration Reference](https://cli.vuejs.org/config/).
|
||||||
|
|
||||||
|
IE 11 无兼容
|
||||||
|
日历选中当日
|
||||||
|
快捷选中高亮
|
||||||
|
本周选中自然周
|
||||||
|
任意日期可以选择
|
||||||
|
|
||||||
|
科技质量 样式问题
|
||||||
+2
-1
@@ -15,11 +15,12 @@
|
|||||||
"core-js": "^3.6.5",
|
"core-js": "^3.6.5",
|
||||||
"dayjs": "^1.10.7",
|
"dayjs": "^1.10.7",
|
||||||
"delay": "^5.0.0",
|
"delay": "^5.0.0",
|
||||||
|
"mescroll.js": "^1.4.2",
|
||||||
"qs": "^6.10.1",
|
"qs": "^6.10.1",
|
||||||
"swiper": "5",
|
"swiper": "5",
|
||||||
"vant": "^2.12.30",
|
"vant": "^2.12.30",
|
||||||
"vue": "^2.6.11",
|
"vue": "^2.6.11",
|
||||||
"vue-awesome-swiper": "2.6.7",
|
"vue-awesome-swiper": "3.1.3",
|
||||||
"vue-router": "^3.5.3"
|
"vue-router": "^3.5.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
+3
-3
@@ -99,7 +99,7 @@ const getRandMoney = () => service.get(`/api/order/get-rand-money`)
|
|||||||
const postCount = (course_id, data) => service.put(`/api/course/count/${course_id}`, data);
|
const postCount = (course_id, data) => service.put(`/api/course/count/${course_id}`, data);
|
||||||
|
|
||||||
// 功德箱
|
// 功德箱
|
||||||
const getMeritBox = (temple_id, type, page, size = 10) => service.get(`/api/temple/get-merit-box?temple_id=${temple_id}&type=${type}&page=${page}&size=${size}`,)
|
const getMeritBox = (temple_id = '', type, page, size = 10) => service.get(`/api/temple/get-merit-box?temple_id=${temple_id}&type=${type}&page=${page}&size=${size}`,)
|
||||||
|
|
||||||
// 添加功德箱订单
|
// 添加功德箱订单
|
||||||
const createMeritBoxOrder = data => service.post(`/api/order/create-merit-box`, data)
|
const createMeritBoxOrder = data => service.post(`/api/order/create-merit-box`, data)
|
||||||
@@ -108,10 +108,10 @@ const createMeritBoxOrder = data => service.post(`/api/order/create-merit-box`,
|
|||||||
const getDynamicData = (page = 1, goods_id = '', size = 10) => service.get(`/api/dynamic/get-page?page=${page}&size=${size}&goods_id=${goods_id}`);
|
const getDynamicData = (page = 1, goods_id = '', size = 10) => service.get(`/api/dynamic/get-page?page=${page}&size=${size}&goods_id=${goods_id}`);
|
||||||
|
|
||||||
// 获取动态(佛事)详情
|
// 获取动态(佛事)详情
|
||||||
const getDynamicDetail = (dynamic_id) => service.get(`/api/dynamic/detail?id=${dynamic_id}`);
|
const getDynamicDetail = (dynamic_id = '') => service.get(`/api/dynamic/detail?id=${dynamic_id}`);
|
||||||
|
|
||||||
// 通用商品列表(功德无量)
|
// 通用商品列表(功德无量)
|
||||||
const getCommonGoods = (temple_id, page, size = 10) => service.get(`/api/common/get-list?temple_id=${temple_id}&page=${page}&size=${size}`);
|
const getCommonGoods = (temple_id = '', page, size = 10) => service.get(`/api/common/get-list?temple_id=${temple_id}&page=${page}&size=${size}`);
|
||||||
|
|
||||||
// 获取订单榜
|
// 获取订单榜
|
||||||
const getOrderCompare = (temple_id = '1', type = '', goods_id = '', goods_type = '') => service.get(`/api/order/get-compare?temple_id=${temple_id}&type=${type}&goods_id=${goods_id}&goods_type=${goods_type}`);
|
const getOrderCompare = (temple_id = '1', type = '', goods_id = '', goods_type = '') => service.get(`/api/order/get-compare?temple_id=${temple_id}&type=${type}&goods_id=${goods_id}&goods_type=${goods_type}`);
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ display: -webkit-box;
|
|||||||
.merit-group {
|
.merit-group {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
margin-bottom: .91rem;
|
|
||||||
margin: 0 .4rem;
|
margin: 0 .4rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="process" v-if="privateData" @click="onProcessDetail">
|
<div class="buddha-process" v-if="privateData" @click="onProcessDetail">
|
||||||
<span class="date">{{ privateData.time || privateData.date }}</span>
|
<span class="date">{{ privateData.time || privateData.date }}</span>
|
||||||
<div class="process-detail">
|
<div class="process-detail">
|
||||||
<h1 class="title">{{ privateData.title }}</h1>
|
<h1 class="title">{{ privateData.title }}</h1>
|
||||||
@@ -83,7 +83,7 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.process {
|
.buddha-process {
|
||||||
display: flex;
|
display: flex;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 0 0.4rem;
|
padding: 0 0.4rem;
|
||||||
@@ -99,7 +99,7 @@ export default {
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
& ~ .process {
|
& ~ .buddha-process {
|
||||||
padding-top: 0.53rem;
|
padding-top: 0.53rem;
|
||||||
}
|
}
|
||||||
.date {
|
.date {
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ export default {
|
|||||||
right: 0;
|
right: 0;
|
||||||
border-top: .01rem solid #ddd;
|
border-top: .01rem solid #ddd;
|
||||||
background: white;
|
background: white;
|
||||||
|
z-index: 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@@ -4,8 +4,8 @@
|
|||||||
<div class="add-merit-name" >
|
<div class="add-merit-name" >
|
||||||
<h3 class="title">心愿</h3>
|
<h3 class="title">心愿</h3>
|
||||||
<div class="desire-input">
|
<div class="desire-input">
|
||||||
<textarea class="desire-textarea" v-model="desire" type="text" maxlength="50" placeholder="请输入您的心愿" />
|
<textarea class="desire-textarea" v-model="desire" type="text" :max-length="maxLength" placeholder="请输入您的心愿" />
|
||||||
<span>{{desire.length}}/50</span>
|
<span>{{desire.length}}/{{maxLength}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="desire-quike">
|
<div class="desire-quike">
|
||||||
<div class="bar">
|
<div class="bar">
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<span class="update" @click="getDreamList">换一组<i class="iconfont icon-shuaxin"></i></span>
|
<span class="update" @click="getDreamList">换一组<i class="iconfont icon-shuaxin"></i></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="name-group">
|
<div class="name-group">
|
||||||
<span class="name" v-for="(dream, index) in dreamList" :key="index" @click="desire = dream">{{dream}}</span>
|
<span class="name" v-for="(dream, index) in dreamList" :key="index" @click="onFill(dream)">{{dream}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button class="confirm" @click="onConfirmDream">确认</button>
|
<button class="confirm" @click="onConfirmDream">确认</button>
|
||||||
@@ -31,11 +31,19 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: 'increment', // increment | single
|
||||||
|
},
|
||||||
selected: {
|
selected: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default(){
|
default(){
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
maxLength: {
|
||||||
|
type: Number,
|
||||||
|
default: 50
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@@ -56,6 +64,13 @@ export default {
|
|||||||
this.getDreamList();
|
this.getDreamList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
onFill(dream){
|
||||||
|
if(this.mode === 'single'){
|
||||||
|
return this.desire = dream;
|
||||||
|
}
|
||||||
|
this.desire += dream + ',';
|
||||||
|
this.desire = this.desire.slice(0, this.maxLength)
|
||||||
|
},
|
||||||
onClose() {
|
onClose() {
|
||||||
this.$emit('update:visible', false);
|
this.$emit('update:visible', false);
|
||||||
},
|
},
|
||||||
@@ -159,6 +174,7 @@ export default {
|
|||||||
padding: .25rem;
|
padding: .25rem;
|
||||||
height: 2rem;
|
height: 2rem;
|
||||||
resize: none;
|
resize: none;
|
||||||
|
line-height: 1.4;
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="merit-goods">
|
<div class="merit-goods" @click="onJoin">
|
||||||
<img class="goods" :src="data.cover_url" alt="">
|
<img class="goods" :src="data.cover_url" alt="">
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<h3 class="title">{{data.title}}</h3>
|
<h3 class="title">{{data.title}}</h3>
|
||||||
<div class="bar">
|
<div class="bar">
|
||||||
<span class="join-number">已有{{data.sales}}人参与</span>
|
<span class="join-number">已有{{data.sales}}人参与</span>
|
||||||
<button class="join" @click="onJoin">参与</button>
|
<button class="join" >参与</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -21,7 +21,7 @@ export default {
|
|||||||
name: 'goods-detail',
|
name: 'goods-detail',
|
||||||
query: {
|
query: {
|
||||||
goods_id: this.data.id,
|
goods_id: this.data.id,
|
||||||
temple_id: this.$route.query.temple_id
|
temple_id: this.data.temple_id
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="order">
|
<div class="order" @click="handleOrder">
|
||||||
<div class="order-head">
|
<div class="order-head">
|
||||||
<span class="temple-name" @click="onTemple">{{data.temple_name}}<i class="iconfont icon-arrow-right"></i></span>
|
<span class="temple-name" @click.stop="onTemple">{{data.temple_name}}<i class="iconfont icon-arrow-right"></i></span>
|
||||||
<span class="status">{{data.status}}</span>
|
<span class="status">{{data.status}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="order-body">
|
<div class="order-body">
|
||||||
@@ -25,6 +25,20 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
onTemple(){
|
onTemple(){
|
||||||
this.$router.push({ name: 'temple-home', query: { temple_id: this.data.temple_id} })
|
this.$router.push({ name: 'temple-home', query: { temple_id: this.data.temple_id} })
|
||||||
|
},
|
||||||
|
handleOrder(){
|
||||||
|
if(this.data.status === '待支付'){
|
||||||
|
this.$router.push({
|
||||||
|
name: 'pay',
|
||||||
|
query: {
|
||||||
|
order_id: this.data.id,
|
||||||
|
title: this.data.goods_name,
|
||||||
|
subTitle: this.data.spec_name,
|
||||||
|
quantity: this.data.buy_total,
|
||||||
|
amount: this.data.order_amount
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<van-uploader class="custom-uploader" v-bind="$attrs" v-model="fileList" :after-read="onBeforeUpload"></van-uploader>
|
<van-uploader class="custom-uploader" v-bind="$attrs" :max-count="maxCount" v-model="fileList" :after-read="onBeforeUpload"></van-uploader>
|
||||||
<!-- <van-uploader class="custom-uploader" v-bind="$attrs" :max-size="isOverSize" :max-count="maxCount" v-model="fileList" @oversize="onOversize" :after-read="onBeforeUpload"></van-uploader> -->
|
<!-- <van-uploader class="custom-uploader" v-bind="$attrs" :max-size="isOverSize" :max-count="maxCount" v-model="fileList" @oversize="onOversize" :after-read="onBeforeUpload"></van-uploader> -->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
+6
-3
@@ -1,5 +1,5 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import VueAwesomeSwiper from 'vue-awesome-swiper';
|
import MescrollVue from 'mescroll.js/mescroll.vue';
|
||||||
import globalMixin from './mixins';
|
import globalMixin from './mixins';
|
||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
import delay from 'delay'
|
import delay from 'delay'
|
||||||
@@ -7,14 +7,17 @@ import router from './router';
|
|||||||
import '@/assets/js/flexable.js';
|
import '@/assets/js/flexable.js';
|
||||||
import './common/vant';
|
import './common/vant';
|
||||||
import './components/index'
|
import './components/index'
|
||||||
import 'swiper/css/swiper.css'
|
// swiper 样式全局引入, 组件页面引入。 Ref: https://www.jianshu.com/p/03f9fa94c474
|
||||||
|
import 'swiper/css/swiper.css';
|
||||||
import config from './config';
|
import config from './config';
|
||||||
|
import utils from './util'
|
||||||
|
|
||||||
Vue.mixin(globalMixin)
|
Vue.mixin(globalMixin)
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
Vue.prototype.$delay = delay;
|
Vue.prototype.$delay = delay;
|
||||||
Vue.prototype.$config = config;
|
Vue.prototype.$config = config;
|
||||||
Vue.use(VueAwesomeSwiper)
|
Vue.prototype.$utils = utils;
|
||||||
|
Vue.component('mescroll-vue', MescrollVue)
|
||||||
|
|
||||||
new Vue({
|
new Vue({
|
||||||
render: h => h(App),
|
render: h => h(App),
|
||||||
|
|||||||
@@ -105,14 +105,14 @@
|
|||||||
<ul class="spec brick-spec">
|
<ul class="spec brick-spec">
|
||||||
<li class="random">
|
<li class="random">
|
||||||
<span class="border-circle" :class="[is_assign && 'active']" @click="onCustomeBrike">{{data.rule_btn}}</span>
|
<span class="border-circle" :class="[is_assign && 'active']" @click="onCustomeBrike">{{data.rule_btn}}</span>
|
||||||
<van-stepper v-model="buy_quantity" step="1" />
|
<van-stepper v-model="buy_quantity" step="1" v-if="is_assign" />
|
||||||
</li>
|
</li>
|
||||||
<li v-for="(spec, index) in data.spec" :key="index">
|
<li v-for="(spec, index) in data.spec" :key="index">
|
||||||
<span
|
<span
|
||||||
class="border-circle"
|
class="border-circle"
|
||||||
:class="[Number(spec.money) === priceUnit && !is_assign && 'active']"
|
:class="[Number(spec.money) === priceUnit && !is_assign && 'active']"
|
||||||
@click="onPriceUnit(spec)"
|
@click="onPriceUnit(spec)"
|
||||||
>认捐{{spec.donate_number}}块砖 {{spec.money}}元</span>
|
>{{spec.spec_name}} {{spec.donate_number * Number(data.price)}}元</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="auto-donate">
|
<div class="auto-donate">
|
||||||
@@ -126,7 +126,7 @@
|
|||||||
<div class="donate">
|
<div class="donate">
|
||||||
<span class="label">行善时间</span>
|
<span class="label">行善时间</span>
|
||||||
<span class="time-cycle">
|
<span class="time-cycle">
|
||||||
<van-stepper v-model="number" step="1" />
|
<van-stepper v-model="monthQuantity" step="1" />
|
||||||
<span class="unit">个月</span>
|
<span class="unit">个月</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
<div class="next-group-wrapper">
|
<div class="next-group-wrapper">
|
||||||
<safe-area>
|
<safe-area>
|
||||||
<div class='next-group'>
|
<div class='next-group'>
|
||||||
<span class="total">合计:¥{{priceTotal}}</span>
|
<span class="total">合计:<em>¥{{priceTotal}}</em></span>
|
||||||
<button class="next" @click="onToPay">下一步</button>
|
<button class="next" @click="onToPay">下一步</button>
|
||||||
</div>
|
</div>
|
||||||
</safe-area>
|
</safe-area>
|
||||||
@@ -179,7 +179,7 @@ export default {
|
|||||||
showSpec: false,
|
showSpec: false,
|
||||||
priceUnit: 0,
|
priceUnit: 0,
|
||||||
priceUnitId: '',
|
priceUnitId: '',
|
||||||
number: 1,
|
monthQuantity: 1,
|
||||||
is_assign: false, // 是否为自动认捐砖块数
|
is_assign: false, // 是否为自动认捐砖块数
|
||||||
buy_quantity: 1, // 自定义认捐砖块数
|
buy_quantity: 1, // 自定义认捐砖块数
|
||||||
goodsDynamicList: [], // 商品动态列表
|
goodsDynamicList: [], // 商品动态列表
|
||||||
@@ -195,14 +195,17 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
priceTotal(){
|
priceTotal(){
|
||||||
if(this.is_auto){
|
const { priceUnit, is_assign, is_auto, buy_quantity, monthQuantity } = this;
|
||||||
return (parseInt(this.priceUnit * 100, 10) * this.number * 30) / 100
|
if(is_assign){
|
||||||
|
return (priceUnit * 100 * buy_quantity) / 100;
|
||||||
}
|
}
|
||||||
return (parseInt(this.priceUnit * 100, 10) * this.number) / 100;
|
if(is_auto){
|
||||||
|
return (priceUnit * 100 * monthQuantity * 30) / 100
|
||||||
|
}
|
||||||
|
return (priceUnit * 100 ) / 100;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
console.log('query', this.query)
|
|
||||||
if(this.query.goods_type === '1'){
|
if(this.query.goods_type === '1'){
|
||||||
return this.getGoodsDetail('friendly');
|
return this.getGoodsDetail('friendly');
|
||||||
}
|
}
|
||||||
@@ -212,6 +215,22 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getSelectedSpec() {
|
||||||
|
if(this.query.goods_type === '2'){
|
||||||
|
// 随喜
|
||||||
|
if(this.is_assign){
|
||||||
|
return {
|
||||||
|
specId: '',
|
||||||
|
specName: this.data.rule_btn
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const spec = this.data.spec.find(item => item.id === this.priceUnitId);
|
||||||
|
return {
|
||||||
|
specId: spec.id,
|
||||||
|
specName: spec.spec_name,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
// 获取商品详情
|
// 获取商品详情
|
||||||
/*
|
/*
|
||||||
type = friendly: 获取日行一善商品
|
type = friendly: 获取日行一善商品
|
||||||
@@ -226,6 +245,7 @@ export default {
|
|||||||
}
|
}
|
||||||
await this.getDynamicDataByGoodsId(goods_id);
|
await this.getDynamicDataByGoodsId(goods_id);
|
||||||
this.data = response;
|
this.data = response;
|
||||||
|
this.priceUnit = this.data.spec[0].donate_number * Number(this.data.price)
|
||||||
},
|
},
|
||||||
async getDynamicDataByGoodsId(goods_id){
|
async getDynamicDataByGoodsId(goods_id){
|
||||||
const res = await getDynamicData(1, goods_id);
|
const res = await getDynamicData(1, goods_id);
|
||||||
@@ -245,6 +265,7 @@ export default {
|
|||||||
onPriceUnit({id, money}){
|
onPriceUnit({id, money}){
|
||||||
this.priceUnit = Number(money);
|
this.priceUnit = Number(money);
|
||||||
this.priceUnitId = id;
|
this.priceUnitId = id;
|
||||||
|
this.buy_quantity = 1;
|
||||||
if(this.query.goods_type === '2'){
|
if(this.query.goods_type === '2'){
|
||||||
this.is_assign = false;
|
this.is_assign = false;
|
||||||
}
|
}
|
||||||
@@ -257,9 +278,9 @@ export default {
|
|||||||
...this.$route.query,
|
...this.$route.query,
|
||||||
is_auto: this.is_auto ? 1 : 0,
|
is_auto: this.is_auto ? 1 : 0,
|
||||||
spec_id: this.priceUnitId,
|
spec_id: this.priceUnitId,
|
||||||
friendly_time: this.number,
|
friendly_time: this.monthQuantity,
|
||||||
title: this.title,
|
title: this.title,
|
||||||
subTitle: this.data.name,
|
subTitle: this.data.spec.find(item => item.id === this.priceUnitId).spec_name,
|
||||||
amount: this.priceTotal,
|
amount: this.priceTotal,
|
||||||
is_customized: 0,
|
is_customized: 0,
|
||||||
from: 'friendly_day', // 标识为日行一善
|
from: 'friendly_day', // 标识为日行一善
|
||||||
@@ -273,10 +294,11 @@ export default {
|
|||||||
...this.$route.query,
|
...this.$route.query,
|
||||||
is_auto: this.is_auto ? 1 : 0,
|
is_auto: this.is_auto ? 1 : 0,
|
||||||
is_assign: this.is_assign ? 1 : 0,
|
is_assign: this.is_assign ? 1 : 0,
|
||||||
spec_id: this.priceUnitId,
|
spec_id: this.getSelectedSpec().specId,
|
||||||
friendly_time: this.number,
|
friendly_time: this.monthQuantity,
|
||||||
title: this.title,
|
quantity: this.buy_quantity,
|
||||||
subTitle: this.data.name,
|
title: this.data.name,
|
||||||
|
subTitle: this.getSelectedSpec().specName,
|
||||||
amount: this.priceTotal,
|
amount: this.priceTotal,
|
||||||
is_customized: 0,
|
is_customized: 0,
|
||||||
buy_quantity: this.buy_quantity,
|
buy_quantity: this.buy_quantity,
|
||||||
@@ -425,6 +447,11 @@ export default {
|
|||||||
|
|
||||||
.total{
|
.total{
|
||||||
font-size: .4rem;
|
font-size: .4rem;
|
||||||
|
em{
|
||||||
|
color: $primary-color;
|
||||||
|
font-size: .4rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.next{
|
.next{
|
||||||
font-size: .4rem;
|
font-size: .4rem;
|
||||||
|
|||||||
@@ -141,9 +141,11 @@ export default {
|
|||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
.input[type=textarea]{
|
.input[type=textarea]{
|
||||||
min-height: 3rem;
|
min-height: 2rem;
|
||||||
width: calc(100% - .5rem);
|
width: calc(100% - .5rem);
|
||||||
padding-right: .5rem;
|
padding-right: .5rem;
|
||||||
|
line-height: 1.4;
|
||||||
|
text-align: justify;
|
||||||
}
|
}
|
||||||
.icon-arrow-right{
|
.icon-arrow-right{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getDreamList } from '@/api';
|
import { getDreamList, getMeritName } from '@/api';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data(){
|
data(){
|
||||||
@@ -83,7 +83,10 @@ export default {
|
|||||||
this.onConfirmMeritName();
|
this.onConfirmMeritName();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
async getName() {
|
||||||
|
const data = await getMeritName();
|
||||||
|
this.names = data;
|
||||||
|
},
|
||||||
//获取心愿列表
|
//获取心愿列表
|
||||||
async getDreamList(){
|
async getDreamList(){
|
||||||
const list = await getDreamList();
|
const list = await getDreamList();
|
||||||
@@ -103,13 +106,11 @@ export default {
|
|||||||
}
|
}
|
||||||
.add-name{
|
.add-name{
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.input{
|
.input{
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: .8rem;
|
height: .8rem;
|
||||||
line-height: .8rem;
|
line-height: .8rem;
|
||||||
padding-left: .3rem;
|
padding-left: .3rem;
|
||||||
font-size: .35rem;
|
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
border-radius: .11rem;
|
border-radius: .11rem;
|
||||||
font-size: .4rem;
|
font-size: .4rem;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
<span>
|
<span>
|
||||||
<ul class="spec-group">
|
<ul class="spec-group">
|
||||||
<li class="border-circle" :class="[value === 'is_customized' && 'active']" @click="onAnyAmount">
|
<li class="border-circle" :class="[value === 'is_customized' && 'active']" @click="onAnyAmount">
|
||||||
<span>随喜参与法会</span>
|
|
||||||
<span>{{data.rule_btn}}</span>
|
<span>{{data.rule_btn}}</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="border-circle" v-for="spec in data.spec" :key="spec.id" :class="[ value === spec.id && 'active']" @click="onSelectSpec(spec)">
|
<li class="border-circle" v-for="spec in data.spec" :key="spec.id" :class="[ value === spec.id && 'active']" @click="onSelectSpec(spec)">
|
||||||
|
|||||||
@@ -43,8 +43,8 @@
|
|||||||
<div class="head">
|
<div class="head">
|
||||||
<span>参与流程: </span>
|
<span>参与流程: </span>
|
||||||
<ul class="step-inline">
|
<ul class="step-inline">
|
||||||
<li :class="[ current === 0 && 'current']" @click="current = 0">选择类型</li>
|
<li :class="[ current === 0 && 'current']">选择类型</li>
|
||||||
<li :class="[ current === 1 && 'current']" @click="current = 1">填写信息</li>
|
<li :class="[ current === 1 && 'current']">填写信息</li>
|
||||||
<li :class="[ current === 2 && 'current']">参与成功</li>
|
<li :class="[ current === 2 && 'current']">参与成功</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</transition>
|
</transition>
|
||||||
<div class="next-group">
|
<div class="next-group">
|
||||||
<span class="total">合计:¥{{priceTotal}}</span>
|
<span class="total">合计:<em>¥{{priceTotal}}</em></span>
|
||||||
<button class="next" @click="onNextStep">下一步</button>
|
<button class="next" @click="onNextStep">下一步</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -139,7 +139,7 @@ export default {
|
|||||||
// 接收随喜金额
|
// 接收随喜金额
|
||||||
onReceiveAnyAmount(anyObj){
|
onReceiveAnyAmount(anyObj){
|
||||||
this.anyPrice = anyObj.money;
|
this.anyPrice = anyObj.money;
|
||||||
this.onNextStep();
|
this.onToFillMeritName();
|
||||||
},
|
},
|
||||||
// dreamInfo: 心愿信息
|
// dreamInfo: 心愿信息
|
||||||
onDreamInfoChange(dreamInfo){
|
onDreamInfoChange(dreamInfo){
|
||||||
@@ -158,15 +158,19 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.current += 1;
|
if( this.spec_id === 'is_customized'){
|
||||||
|
|
||||||
if(this.current === 1 && this.spec_id === 'is_customized'){
|
|
||||||
this.showAnyAmount = true;
|
this.showAnyAmount = true;
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
const selectedSpec = this.getSelectedSpec();
|
|
||||||
|
this.current += 1;
|
||||||
|
|
||||||
if(this.current > 0){
|
if(this.current > 0){
|
||||||
|
this.onToFillMeritName();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onToFillMeritName(){
|
||||||
|
const selectedSpec = this.getSelectedSpec();
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: 'fill-name',
|
name: 'fill-name',
|
||||||
query: {
|
query: {
|
||||||
@@ -178,13 +182,10 @@ export default {
|
|||||||
title: this.data.name,
|
title: this.data.name,
|
||||||
subTitle: selectedSpec.spec_name,
|
subTitle: selectedSpec.spec_name,
|
||||||
amount: this.priceTotal,
|
amount: this.priceTotal,
|
||||||
// merit_name_id: ,
|
is_customized: this.spec_id === 'is_customized' ? 1 : 0,
|
||||||
is_customized: 0,
|
|
||||||
from: 'common_goods', // 标识为通用商品
|
from: 'common_goods', // 标识为通用商品
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
async getGoodsDetail(type){
|
async getGoodsDetail(type){
|
||||||
const { goods_id, temple_id } = this.$route.query;
|
const { goods_id, temple_id } = this.$route.query;
|
||||||
@@ -370,6 +371,11 @@ export default {
|
|||||||
border-top: 1px solid #ededed;
|
border-top: 1px solid #ededed;
|
||||||
.total{
|
.total{
|
||||||
font-size: .4rem;
|
font-size: .4rem;
|
||||||
|
em{
|
||||||
|
color: $primary-color;
|
||||||
|
font-size: .4rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.next{
|
.next{
|
||||||
font-size: .4rem;
|
font-size: .4rem;
|
||||||
|
|||||||
+22
-6
@@ -28,20 +28,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
<div class="panel">
|
<div class="panel" v-if="data.common_data.length">
|
||||||
<div class="panel-head">
|
<div class="panel-head">
|
||||||
<span class="title">功德无量</span>
|
<span class="title">功德无量</span>
|
||||||
<arrow-more @click="$router.push({ name: 'merit-list', query: { temple_id: query.temple_id } })"></arrow-more>
|
<arrow-more @click="$router.push({ name: 'merit-list', query: { temple_id: query.temple_id } })"></arrow-more>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<van-swipe class="merit-group" :width="140" :loop="false" :show-indicators="false">
|
<div class="merit-scroll-container">
|
||||||
<van-swipe-item v-for="goods in data.common_data" :key="goods.id">
|
<div class="merit-scroll-wrapper">
|
||||||
<div class="merit" @click="onToGoods(goods)">
|
<div class="merit" v-for="goods in data.common_data" :key="goods.id" @click="onToGoods(goods)">
|
||||||
<img :src="goods.cover_url" alt="" />
|
<img :src="goods.cover_url" alt="" />
|
||||||
<p class="title">{{ goods.alias }}</p>
|
<p class="title">{{ goods.alias }}</p>
|
||||||
</div>
|
</div>
|
||||||
</van-swipe-item>
|
</div>
|
||||||
</van-swipe>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
@@ -67,17 +67,25 @@
|
|||||||
import { getTempleIndex } from '@/api';
|
import { getTempleIndex } from '@/api';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
query: this.$route.query,
|
query: this.$route.query,
|
||||||
value: '',
|
value: '',
|
||||||
data: null,
|
data: null,
|
||||||
|
mescrollDown: {},
|
||||||
|
mescrollUp: {},
|
||||||
|
mescroll: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getTempleIndex();
|
this.getTempleIndex();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
mescrollInit(mescroll){
|
||||||
|
this.mescroll = mescroll;
|
||||||
|
},
|
||||||
onToGoods(goods){
|
onToGoods(goods){
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: 'goods-detail',
|
name: 'goods-detail',
|
||||||
@@ -180,6 +188,14 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.merit-scroll-container{
|
||||||
|
margin: 0 .4rem;
|
||||||
|
height: 3.39rem;
|
||||||
|
overflow-x: auto;
|
||||||
|
.merit-scroll-wrapper{
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
.merit-group{
|
.merit-group{
|
||||||
padding-bottom: .4rem;
|
padding-bottom: .4rem;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,11 +16,11 @@
|
|||||||
<b class="sub-title">{{info.unit_name}}</b>
|
<b class="sub-title">{{info.unit_name}}</b>
|
||||||
</span>
|
</span>
|
||||||
<div class="list">
|
<div class="list">
|
||||||
<span :class="[n.id === type_id && 'current']" v-for="n in nav" :key="n.id">{{n.title}}</span>
|
<span :class="[n.id === type_id && 'current']" v-for="(n, index) in nav" :key="n.id" @click="onListBy(n, index)">{{n.title}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<swiper class="swiper-container" :options="SwiperOption" ref="swiper" @change="onSwiperChange">
|
<swiper class="swiper-container" :options="SwiperOption" ref="swiper" @swiper="onSwiper" @slideChange="onSlideChange">
|
||||||
<swiper-slide v-for="swipe in nav" :key="swipe.id">
|
<swiper-slide v-for="swipe in nav" :key="swipe.id">
|
||||||
<scroll-view
|
<scroll-view
|
||||||
:height="containerHeight - 20"
|
:height="containerHeight - 20"
|
||||||
@@ -45,8 +45,14 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getMeritBox } from "@/api";
|
import { getMeritBox } from "@/api";
|
||||||
|
import { swiper, swiperSlide } from 'vue-awesome-swiper';
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
swiper,
|
||||||
|
swiperSlide
|
||||||
|
},
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
query: this.$route.query,
|
query: this.$route.query,
|
||||||
@@ -76,25 +82,45 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
swiper(){
|
||||||
|
return this.$refs.swiper.swiper;
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
this.width = window.innerWidth;
|
this.width = window.innerWidth;
|
||||||
console.log(this.$refs.swiper)
|
|
||||||
this.containerHeight = this.$refs.swiper.$el.offsetHeight;
|
this.containerHeight = this.$refs.swiper.$el.offsetHeight;
|
||||||
this.getMeritBox();
|
this.getMeritBox();
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onSwiperChange(e){
|
onSwiper(swiper){
|
||||||
console.log(e)
|
console.log('on swiper', swiper)
|
||||||
},
|
},
|
||||||
|
onSlideChange(){
|
||||||
|
const { activeIndex } = this.swiper;
|
||||||
|
const { id } = this.nav[activeIndex];
|
||||||
|
this.type_id = id;
|
||||||
|
this.getMeritBox()
|
||||||
|
},
|
||||||
|
|
||||||
async getMeritBox(){
|
async getMeritBox(){
|
||||||
const current = this.nav.find(item => item.id === this.type_id);
|
const current = this.nav.find(item => item.id === this.type_id);
|
||||||
const res = await getMeritBox(this.query.temple_id || '1', current.id, current.page, current.size);
|
const res = await getMeritBox(this.query.temple_id || '1', current.id, current.page, current.size);
|
||||||
this.info = res.merit_box_info;
|
this.info = res.merit_box_info;
|
||||||
// this.list = res.merit_box_order.list;
|
this.total = res.merit_box_order.total;
|
||||||
current.list = res.merit_box_order.list
|
current.list = res.merit_box_order.list
|
||||||
this.total = res.merit_box_order.total
|
|
||||||
|
const query = this.$utils.setSearchParamsFromObj({ ...this.$route.query, temple_id: this.info.temple_id });
|
||||||
|
if(!this.$route.query.temple_id){
|
||||||
|
history.pushState('', '', location.href + query)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onListBy(n, index){
|
||||||
|
this.type_id = n.id;
|
||||||
|
this.swiper.slideTo(index, 300, false)
|
||||||
|
this.getMeritBox();
|
||||||
},
|
},
|
||||||
loadMore(){
|
loadMore(){
|
||||||
console.log('加载更多')
|
console.log('加载更多')
|
||||||
|
|||||||
@@ -32,7 +32,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pay-button-container">
|
<div class="pay-button-container">
|
||||||
<van-button block type="primary" round class="pay-button" @click="onCreatePayOrder">确认支付</van-button>
|
<van-button v-if="query.order_id" block type="primary" round class="pay-button" @click="onContinuePayOrder">确认支付</van-button>
|
||||||
|
<van-button v-else block type="primary" round class="pay-button" @click="onCreatePayOrder">确认支付</van-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -52,12 +53,14 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
onContinuePayOrder(){
|
||||||
|
this.onPayment({ id: this.query.order_id })
|
||||||
|
},
|
||||||
async onCreatePayOrder(){
|
async onCreatePayOrder(){
|
||||||
// 创建日行一善支付订单
|
// 创建日行一善支付订单
|
||||||
if(this.query.goods_type == '1'){
|
if(this.query.goods_type == '1'){
|
||||||
const request = {
|
const request = {
|
||||||
...this.query,
|
...this.query,
|
||||||
|
|
||||||
}
|
}
|
||||||
const order = await createFriendlyDayOrder(request)
|
const order = await createFriendlyDayOrder(request)
|
||||||
this.onPayment(order)
|
this.onPayment(order)
|
||||||
@@ -99,7 +102,6 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
async onPayment(order){
|
async onPayment(order){
|
||||||
console.log(order)
|
|
||||||
const result = await createPay(order.id);
|
const result = await createPay(order.id);
|
||||||
const payResult = await requestPayment(result)
|
const payResult = await requestPayment(result)
|
||||||
await this.$router.push({
|
await this.$router.push({
|
||||||
|
|||||||
@@ -94,6 +94,8 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<button class="temple-station-in" @click="onTempleStation">寺院入驻</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="panel-menu-btn" @click="showUserMenu = true">
|
<div class="panel-menu-btn" @click="showUserMenu = true">
|
||||||
@@ -101,6 +103,7 @@
|
|||||||
<span class="menu-text">菜单</span>
|
<span class="menu-text">菜单</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<van-popup v-model="showUserMenu" position="left" style="width: 80%; height: 100%">
|
<van-popup v-model="showUserMenu" position="left" style="width: 80%; height: 100%">
|
||||||
<div class="user-menu" v-if="user">
|
<div class="user-menu" v-if="user">
|
||||||
<div class="user">
|
<div class="user">
|
||||||
@@ -158,7 +161,6 @@ export default {
|
|||||||
},
|
},
|
||||||
async getUserData(){
|
async getUserData(){
|
||||||
const res = await getUserData();
|
const res = await getUserData();
|
||||||
console.log(res);
|
|
||||||
this.user = res;
|
this.user = res;
|
||||||
},
|
},
|
||||||
onToGoods(goods) {
|
onToGoods(goods) {
|
||||||
@@ -175,6 +177,9 @@ export default {
|
|||||||
this.data = res;
|
this.data = res;
|
||||||
this.data.icon_data = this.sliceNav(res.icon_data);
|
this.data.icon_data = this.sliceNav(res.icon_data);
|
||||||
},
|
},
|
||||||
|
onTempleStation(){
|
||||||
|
this.$router.push({ name: 'user-temple-station'})
|
||||||
|
},
|
||||||
sliceNav(navData) {
|
sliceNav(navData) {
|
||||||
const nav = [];
|
const nav = [];
|
||||||
const slice = 8;
|
const slice = 8;
|
||||||
@@ -183,6 +188,7 @@ export default {
|
|||||||
const b = navData.slice(i * slice, i * slice + slice);
|
const b = navData.slice(i * slice, i * slice + slice);
|
||||||
nav.push(b);
|
nav.push(b);
|
||||||
}
|
}
|
||||||
|
|
||||||
return nav;
|
return nav;
|
||||||
},
|
},
|
||||||
onMoreDynamic() {
|
onMoreDynamic() {
|
||||||
@@ -196,6 +202,20 @@ export default {
|
|||||||
.van-nav-bar__title {
|
.van-nav-bar__title {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
.temple-home-page{
|
||||||
|
.temple-station-in{
|
||||||
|
font-size: .4rem;
|
||||||
|
background: $primary-color;
|
||||||
|
color: white;
|
||||||
|
border: 1px solid $primary-color;
|
||||||
|
padding: .3rem .6rem;
|
||||||
|
border-radius: 1rem;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
margin-top: 1rem;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.van-popup {
|
.van-popup {
|
||||||
.put-away {
|
.put-away {
|
||||||
@@ -474,7 +494,6 @@ export default {
|
|||||||
.merit-group {
|
.merit-group {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 11.36rem;
|
width: 11.36rem;
|
||||||
margin-bottom: .91rem;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,14 +12,14 @@
|
|||||||
<span class="iconfont icon-dingwei"></span>
|
<span class="iconfont icon-dingwei"></span>
|
||||||
<span>重新定位</span>
|
<span>重新定位</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="show-mode" v-if="mode === 'list'" @click="onModeSwitch('map')">
|
<!-- <div class="show-mode" v-if="mode === 'list'" @click="onModeSwitch('map')">-->
|
||||||
<span>地图模式</span>
|
<!-- <span>地图模式</span>-->
|
||||||
<span class="iconfont icon-ditu"></span>
|
<!-- <span class="iconfont icon-ditu"></span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="show-mode" v-if="mode === 'map'" @click="onModeSwitch('list')">
|
<!-- <div class="show-mode" v-if="mode === 'map'" @click="onModeSwitch('list')">-->
|
||||||
<span>列表模式</span>
|
<!-- <span>列表模式</span>-->
|
||||||
<span class="iconfont icon-liebiao"></span>
|
<!-- <span class="iconfont icon-liebiao"></span>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div >
|
<div >
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="!authing">
|
<template v-if="!authing">
|
||||||
<van-notice-bar ext="真实法师社区,法师身份认证审核通过后才能使用" />
|
<van-notice-bar text="真实法师社区,法师身份认证审核通过后才能使用" />
|
||||||
<van-form @submit="onSubmit">
|
<van-form @submit="onSubmit">
|
||||||
<van-field
|
<van-field
|
||||||
v-model="form.nickname"
|
v-model="form.nickname"
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
placeholder="向他人展示自己的文字说明"
|
placeholder="向他人展示自己的文字说明"
|
||||||
:rules="[{ required: true }]"
|
:rules="[{ required: true }]"
|
||||||
maxlength="500"
|
maxlength="500"
|
||||||
:rows="8"
|
:rows="4"
|
||||||
show-word-limit
|
show-word-limit
|
||||||
/>
|
/>
|
||||||
<div style="margin: 16px;">
|
<div style="margin: 16px;">
|
||||||
@@ -120,9 +120,16 @@ export default {
|
|||||||
this.getParams();
|
this.getParams();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async onSubmit(e){
|
async onSubmit(){
|
||||||
console.log(e);
|
const { form } = this;
|
||||||
const [province_id, city_id, county_id] = this.form.city_id;
|
const [province_id, city_id, county_id] = form.city_id;
|
||||||
|
const { avatar_url, cert_url } = form;
|
||||||
|
if(!avatar_url.length){
|
||||||
|
return this.$toast.fail('请上传头像照片');
|
||||||
|
}
|
||||||
|
if(!cert_url.length){
|
||||||
|
return this.$toast.fail('请上传戒牒照片')
|
||||||
|
}
|
||||||
const params = {
|
const params = {
|
||||||
...this.form,
|
...this.form,
|
||||||
avatar_url: this.form.avatar_url[0].url,
|
avatar_url: this.form.avatar_url[0].url,
|
||||||
@@ -134,7 +141,7 @@ export default {
|
|||||||
await certifyMonk(params)
|
await certifyMonk(params)
|
||||||
this.$toast.success('认证信息提交成功')
|
this.$toast.success('认证信息提交成功')
|
||||||
await this.$delay(2000)
|
await this.$delay(2000)
|
||||||
this.$router.replace({ name: 'user-temple-station-review'})
|
await this.$router.replace({ name: 'user-temple-station-review'})
|
||||||
},
|
},
|
||||||
|
|
||||||
getParams(){
|
getParams(){
|
||||||
@@ -188,3 +195,5 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<!-- IE11 -->
|
||||||
@@ -15,6 +15,12 @@ const routes = [
|
|||||||
meta: { title: '搜索' },
|
meta: { title: '搜索' },
|
||||||
component: () => import('@/pages/search')
|
component: () => import('@/pages/search')
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/mescroll',
|
||||||
|
name: 'mescroll',
|
||||||
|
meta: { title: '上拉下刷' },
|
||||||
|
component: () => import('@/pages/mescroll-test')
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/temple',
|
path: '/temple',
|
||||||
meta: { title: '寺院', navBarBackgroundColor: 'white', showNavBar: false },
|
meta: { title: '寺院', navBarBackgroundColor: 'white', showNavBar: false },
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
export default {
|
||||||
|
setSearchParamsFromObj(obj){
|
||||||
|
let search = '?';
|
||||||
|
for(let i in obj){
|
||||||
|
search += `${i}=${obj[i]}&`
|
||||||
|
}
|
||||||
|
return search.slice(0, -1);
|
||||||
|
}
|
||||||
|
}
|
||||||
+589
-486
File diff suppressed because one or more lines are too long
@@ -3364,7 +3364,7 @@ dom-serializer@^1.0.1:
|
|||||||
domhandler "^4.2.0"
|
domhandler "^4.2.0"
|
||||||
entities "^2.0.0"
|
entities "^2.0.0"
|
||||||
|
|
||||||
dom7@^2.1.5:
|
dom7@^2.1.3, dom7@^2.1.5:
|
||||||
version "2.1.5"
|
version "2.1.5"
|
||||||
resolved "https://registry.yarnpkg.com/dom7/-/dom7-2.1.5.tgz#a79411017800b31d8400070cdaebbfc92c1f6377"
|
resolved "https://registry.yarnpkg.com/dom7/-/dom7-2.1.5.tgz#a79411017800b31d8400070cdaebbfc92c1f6377"
|
||||||
integrity sha512-xnhwVgyOh3eD++/XGtH+5qBwYTgCm0aW91GFgPJ3XG+jlsRLyJivnbP0QmUBFhI+Oaz9FV0s7cxgXHezwOEBYA==
|
integrity sha512-xnhwVgyOh3eD++/XGtH+5qBwYTgCm0aW91GFgPJ3XG+jlsRLyJivnbP0QmUBFhI+Oaz9FV0s7cxgXHezwOEBYA==
|
||||||
@@ -5551,6 +5551,11 @@ merge2@^1.2.3:
|
|||||||
resolved "https://registry.nlark.com/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
|
resolved "https://registry.nlark.com/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
|
||||||
integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=
|
integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=
|
||||||
|
|
||||||
|
mescroll.js@^1.4.2:
|
||||||
|
version "1.4.2"
|
||||||
|
resolved "https://registry.nlark.com/mescroll.js/download/mescroll.js-1.4.2.tgz#fe7d619c4853b00f26ddfd725b3e3ffffd32126d"
|
||||||
|
integrity sha1-/n1hnEhTsA8m3f1yWz4///0yEm0=
|
||||||
|
|
||||||
methods@~1.1.2:
|
methods@~1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.nlark.com/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
|
resolved "https://registry.nlark.com/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
|
||||||
@@ -7669,6 +7674,11 @@ sshpk@^1.7.0:
|
|||||||
safer-buffer "^2.0.2"
|
safer-buffer "^2.0.2"
|
||||||
tweetnacl "~0.14.0"
|
tweetnacl "~0.14.0"
|
||||||
|
|
||||||
|
ssr-window@^1.0.1:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.npmmirror.com/ssr-window/download/ssr-window-1.0.1.tgz?cache=0&sync_timestamp=1635331916644&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fssr-window%2Fdownload%2Fssr-window-1.0.1.tgz#30752a6a4666e7767f0b7e6aa6fc2fdbd0d9b369"
|
||||||
|
integrity sha1-MHUqakZm53Z/C35qpvwv29DZs2k=
|
||||||
|
|
||||||
ssr-window@^2.0.0:
|
ssr-window@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/ssr-window/-/ssr-window-2.0.0.tgz#98c301aef99523317f8d69618f0010791096efc4"
|
resolved "https://registry.yarnpkg.com/ssr-window/-/ssr-window-2.0.0.tgz#98c301aef99523317f8d69618f0010791096efc4"
|
||||||
@@ -7914,10 +7924,13 @@ swiper@5:
|
|||||||
dom7 "^2.1.5"
|
dom7 "^2.1.5"
|
||||||
ssr-window "^2.0.0"
|
ssr-window "^2.0.0"
|
||||||
|
|
||||||
swiper@^3.4.2:
|
swiper@^4.0.7:
|
||||||
version "3.4.2"
|
version "4.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/swiper/-/swiper-3.4.2.tgz#39d6b410b1a39833e1f72d3b72999df5f5e38392"
|
resolved "https://registry.npmmirror.com/swiper/download/swiper-4.5.1.tgz#ed43998e780ceb478610079c8d23fd425eca636f"
|
||||||
integrity sha1-Oda0ELGjmDPh9y07cpmd9fXjg5I=
|
integrity sha1-7UOZjngM60eGEAecjSP9Ql7KY28=
|
||||||
|
dependencies:
|
||||||
|
dom7 "^2.1.3"
|
||||||
|
ssr-window "^1.0.1"
|
||||||
|
|
||||||
table@^5.2.3:
|
table@^5.2.3:
|
||||||
version "5.4.6"
|
version "5.4.6"
|
||||||
@@ -8400,12 +8413,13 @@ vm-browserify@^1.0.1:
|
|||||||
resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
|
resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
|
||||||
integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA=
|
integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA=
|
||||||
|
|
||||||
vue-awesome-swiper@2.6.7:
|
vue-awesome-swiper@3.1.3:
|
||||||
version "2.6.7"
|
version "3.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/vue-awesome-swiper/-/vue-awesome-swiper-2.6.7.tgz#23b12cf107503305c267df3c7c2903fb39896cd0"
|
resolved "https://registry.nlark.com/vue-awesome-swiper/download/vue-awesome-swiper-3.1.3.tgz#05500b501ffb3fec9bf7eb9985bcf4ae8360ed9e"
|
||||||
integrity sha512-kUmCds5HTcV9Uz0eYnvajbxpVgAKQFrX0r+akk8XtuUouI5e2ImhO7aZ8iVhTLE4hwKwoyFP8jekAa0JlNqifA==
|
integrity sha1-BVALUB/7P+yb9+uZhbz0roNg7Z4=
|
||||||
dependencies:
|
dependencies:
|
||||||
swiper "^3.4.2"
|
object-assign "^4.1.1"
|
||||||
|
swiper "^4.0.7"
|
||||||
|
|
||||||
vue-eslint-parser@^7.0.0:
|
vue-eslint-parser@^7.0.0:
|
||||||
version "7.11.0"
|
version "7.11.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user