modify channel
Showing
27 changed files
with
181 additions
and
90 deletions
@@ -55,7 +55,9 @@ export default { | @@ -55,7 +55,9 @@ export default { | ||
55 | let half = newVal.length / 2; | 55 | let half = newVal.length / 2; |
56 | 56 | ||
57 | if (newVal.substring(0, half) === newVal.substring(half)) { | 57 | if (newVal.substring(0, half) === newVal.substring(half)) { |
58 | + setTimeout(() => { | ||
58 | this.smsCode = newVal.substring(0, half); | 59 | this.smsCode = newVal.substring(0, half); |
60 | + }, 0); | ||
59 | } | 61 | } |
60 | } | 62 | } |
61 | } | 63 | } |
@@ -296,8 +296,10 @@ export default { | @@ -296,8 +296,10 @@ export default { | ||
296 | 296 | ||
297 | submitClick: debounce(function() { | 297 | submitClick: debounce(function() { |
298 | this.buyerPrePublish({price: this.inputPrice, storage_id: this.storageId, address_id: this.addressInfo.address_id}) | 298 | this.buyerPrePublish({price: this.inputPrice, storage_id: this.storageId, address_id: this.addressInfo.address_id}) |
299 | - .then(() => { | 299 | + .then((res) => { |
300 | + if (res && res.code == 200) { | ||
300 | this.showDialog(); | 301 | this.showDialog(); |
302 | + } | ||
301 | }); | 303 | }); |
302 | }, 500, {leading: false, trailing: true}), | 304 | }, 500, {leading: false, trailing: true}), |
303 | 305 |
@@ -25,7 +25,7 @@ | @@ -25,7 +25,7 @@ | ||
25 | 25 | ||
26 | <div class="item item2"> | 26 | <div class="item item2"> |
27 | <span>商品包装费</span> | 27 | <span>商品包装费</span> |
28 | - <span>{{data.platformFee.appraiseFee}}</span> | 28 | + <span>{{data.platformFee.packageFee}}</span> |
29 | </div> | 29 | </div> |
30 | 30 | ||
31 | <div class="item item2"> | 31 | <div class="item item2"> |
@@ -201,7 +201,9 @@ export default { | @@ -201,7 +201,9 @@ export default { | ||
201 | 201 | ||
202 | button { | 202 | button { |
203 | font-size: 24px; | 203 | font-size: 24px; |
204 | - padding: 18.4px 64px; | 204 | + // padding: 18.4px 64px; |
205 | + width: 226px; | ||
206 | + height: 80px; | ||
205 | color: #999; | 207 | color: #999; |
206 | letter-spacing: 0; | 208 | letter-spacing: 0; |
207 | background: #fff; | 209 | background: #fff; |
@@ -13,8 +13,13 @@ export default { | @@ -13,8 +13,13 @@ export default { | ||
13 | methods: { | 13 | methods: { |
14 | ...mapActions(['cancelTradeConfirmInfo', 'cancelTrade']), | 14 | ...mapActions(['cancelTradeConfirmInfo', 'cancelTrade']), |
15 | ...inSaleMapMutations(['filterInSaleOrderList']), | 15 | ...inSaleMapMutations(['filterInSaleOrderList']), |
16 | - async onInSaleOrderAction({ action, order, isDetail = false } = {}) { | ||
17 | - const { owner = ownType.SELL } = this.$route.params; | 16 | + async onInSaleOrderAction({ |
17 | + action, | ||
18 | + order, | ||
19 | + isDetail = false, // 是否是详情 | ||
20 | + isInSale = false, // 是否是出售中 | ||
21 | + } = {}) { | ||
22 | + const { owner = ownType.SELL, status } = this.$route.params; | ||
18 | const { orderCode, earnestMoney = 0 } = order; | 23 | const { orderCode, earnestMoney = 0 } = order; |
19 | 24 | ||
20 | switch (action.name) { | 25 | switch (action.name) { |
@@ -42,7 +47,15 @@ export default { | @@ -42,7 +47,15 @@ export default { | ||
42 | if (isDetail) { | 47 | if (isDetail) { |
43 | this.fetchOrderDetail(this.$route.params); | 48 | this.fetchOrderDetail(this.$route.params); |
44 | } else { | 49 | } else { |
50 | + if (isInSale) { | ||
45 | this.filterInSaleOrderList(orderCode); | 51 | this.filterInSaleOrderList(orderCode); |
52 | + } else { | ||
53 | + this.filterOrderList({ | ||
54 | + orderCode, | ||
55 | + owner, | ||
56 | + status, | ||
57 | + }); | ||
58 | + } | ||
46 | } | 59 | } |
47 | } | 60 | } |
48 | }, | 61 | }, |
@@ -12,8 +12,8 @@ | @@ -12,8 +12,8 @@ | ||
12 | <div class="item-info"> | 12 | <div class="item-info"> |
13 | <div> | 13 | <div> |
14 | <div v-if="$route.params.owner === 'buy'" class="price-status"> | 14 | <div v-if="$route.params.owner === 'buy'" class="price-status"> |
15 | - <span class="price">¥{{ order.realPrice }}</span> | ||
16 | - <span class="delivery-fee-tip" >{{order.statuStr == '求购中' ? '' : '(含运费)'}}</span> | 15 | + <span class="price">¥{{specialBid ? goodsInfo.goodPrice : order.realPrice }}</span> |
16 | + <span class="delivery-fee-tip" >{{specialBid ? '' : '(含运费)'}}</span> | ||
17 | </div> | 17 | </div> |
18 | <div v-else class="price-status"> | 18 | <div v-else class="price-status"> |
19 | <span class="price">¥{{ goodsInfo.goodPrice }}</span> | 19 | <span class="price">¥{{ goodsInfo.goodPrice }}</span> |
@@ -56,6 +56,12 @@ export default { | @@ -56,6 +56,12 @@ export default { | ||
56 | params: { code: this.order.orderCode, owner } | 56 | params: { code: this.order.orderCode, owner } |
57 | }; | 57 | }; |
58 | }, | 58 | }, |
59 | + | ||
60 | + specialBid: { | ||
61 | + get() { | ||
62 | + return this.order.bidType && (this.order.statuStr === '求购中' || this.order.statuStr === '待付定金') | ||
63 | + } | ||
64 | + } | ||
59 | } | 65 | } |
60 | }; | 66 | }; |
61 | </script> | 67 | </script> |
@@ -17,7 +17,10 @@ | @@ -17,7 +17,10 @@ | ||
17 | <order-actions | 17 | <order-actions |
18 | class="actions" | 18 | class="actions" |
19 | :order="order" | 19 | :order="order" |
20 | - @on-action="action => onInSaleOrderAction({ action, order })" | 20 | + @on-action=" |
21 | + action => | ||
22 | + onInSaleOrderAction({ action, order, isInSale: true }) | ||
23 | + " | ||
21 | /> | 24 | /> |
22 | </div> | 25 | </div> |
23 | </li> | 26 | </li> |
@@ -451,6 +451,7 @@ export default { | @@ -451,6 +451,7 @@ export default { | ||
451 | } | 451 | } |
452 | 452 | ||
453 | .header { | 453 | .header { |
454 | + padding-top: 60px; | ||
454 | padding-bottom: 60px; | 455 | padding-bottom: 60px; |
455 | border-bottom: 1px solid #eee; | 456 | border-bottom: 1px solid #eee; |
456 | margin-bottom: 38px; | 457 | margin-bottom: 38px; |
@@ -72,7 +72,7 @@ export default { | @@ -72,7 +72,7 @@ export default { | ||
72 | return `当前${this.skc.sizeName}码最低售价: ¥-`; | 72 | return `当前${this.skc.sizeName}码最低售价: ¥-`; |
73 | }, | 73 | }, |
74 | postLoading() { | 74 | postLoading() { |
75 | - console.log(this.fetchingChangePrice, this.calced); | 75 | + // console.log(this.fetchingChangePrice, this.calced); |
76 | return this.fetchingChangePrice || !this.calced; | 76 | return this.fetchingChangePrice || !this.calced; |
77 | } | 77 | } |
78 | }, | 78 | }, |
@@ -49,7 +49,7 @@ export default { | @@ -49,7 +49,7 @@ export default { | ||
49 | }, | 49 | }, |
50 | methods: { | 50 | methods: { |
51 | show({skc}) { | 51 | show({skc}) { |
52 | - console.log(skc); | 52 | + // console.log(skc); |
53 | this.skc = skc; | 53 | this.skc = skc; |
54 | this.unStockNum = 1; | 54 | this.unStockNum = 1; |
55 | this.storageNum = skc.storageNum; | 55 | this.storageNum = skc.storageNum; |
@@ -97,7 +97,6 @@ export default { | @@ -97,7 +97,6 @@ export default { | ||
97 | &-content { | 97 | &-content { |
98 | position: relative; | 98 | position: relative; |
99 | background-color: #fff; | 99 | background-color: #fff; |
100 | - /*top: 314px;*/ | ||
101 | border: 0; | 100 | border: 0; |
102 | width: 600px; | 101 | width: 600px; |
103 | background-clip: padding-box; | 102 | background-clip: padding-box; |
@@ -95,7 +95,7 @@ export default { | @@ -95,7 +95,7 @@ export default { | ||
95 | pageSize: this.pageSize | 95 | pageSize: this.pageSize |
96 | }); | 96 | }); |
97 | 97 | ||
98 | - console.log(result); | 98 | + // console.log(result); |
99 | const afterCount = this.skcs.length; | 99 | const afterCount = this.skcs.length; |
100 | 100 | ||
101 | if (afterCount > beginCount) { | 101 | if (afterCount > beginCount) { |
@@ -155,7 +155,7 @@ export default { | @@ -155,7 +155,7 @@ export default { | ||
155 | this.$refs.modalUnstock.show({skc}); | 155 | this.$refs.modalUnstock.show({skc}); |
156 | }, | 156 | }, |
157 | async onNoSaleSure({skc, num}) { // 商品下架确认 | 157 | async onNoSaleSure({skc, num}) { // 商品下架确认 |
158 | - console.log(skc, num); | 158 | + // console.log(skc, num); |
159 | const result = await this.postNoSale({ | 159 | const result = await this.postNoSale({ |
160 | product_id: this.productInfo.productId, | 160 | product_id: this.productInfo.productId, |
161 | storage_id: skc.storageId, | 161 | storage_id: skc.storageId, |
@@ -179,7 +179,7 @@ export default { | @@ -179,7 +179,7 @@ export default { | ||
179 | } | 179 | } |
180 | }, | 180 | }, |
181 | async onChangePriceSure({skc, price}) { | 181 | async onChangePriceSure({skc, price}) { |
182 | - console.log(skc, price); | 182 | + // console.log(skc, price); |
183 | const result = await this.postChangePrice({ | 183 | const result = await this.postChangePrice({ |
184 | product_id: this.productInfo.productId, | 184 | product_id: this.productInfo.productId, |
185 | storage_id: skc.storageId, | 185 | storage_id: skc.storageId, |
@@ -2,34 +2,59 @@ | @@ -2,34 +2,59 @@ | ||
2 | <LayoutApp :title="title"> | 2 | <LayoutApp :title="title"> |
3 | <div class="order-page"> | 3 | <div class="order-page"> |
4 | <div class="product"> | 4 | <div class="product"> |
5 | - <ImgSize class="pro-img" :src="goodsInfo.goodImg || ''" :width="200" :height="200"></ImgSize> | 5 | + <ImgSize |
6 | + class="pro-img" | ||
7 | + :src="goodsInfo.goodImg || ''" | ||
8 | + :width="200" | ||
9 | + :height="200" | ||
10 | + ></ImgSize> | ||
6 | <div class="pro-info"> | 11 | <div class="pro-info"> |
7 | - <p class="pro-name">{{goodsInfo.colorName}}, {{goodsInfo.sizeName}}码</p> | ||
8 | - <p class="stock-info ufo-font">最低售价: ¥{{goodsInfo.leastPrice || '-'}}</p> | 12 | + <p class="pro-name"> |
13 | + {{ goodsInfo.colorName }}, {{ goodsInfo.sizeName }}码 | ||
14 | + </p> | ||
15 | + <p class="stock-info ufo-font"> | ||
16 | + 最低售价: ¥{{ goodsInfo.leastPrice || "-" }} | ||
17 | + </p> | ||
9 | </div> | 18 | </div> |
10 | </div> | 19 | </div> |
11 | <div class="input-container"> | 20 | <div class="input-container"> |
12 | - <InputUfo type="number" placeholder="定价需以9结尾.例如1999" | ||
13 | - :maxlength="8" class="ipt-number ufo-font" v-model="chgPrice" @blur="onChange"> | 21 | + <InputUfo |
22 | + type="number" | ||
23 | + placeholder="定价需以9结尾.例如1999" | ||
24 | + :maxlength="8" | ||
25 | + class="ipt-number ufo-font" | ||
26 | + v-model="chgPrice" | ||
27 | + @blur="onChange" | ||
28 | + > | ||
14 | <span class="prepend" slot="prepend">¥</span> | 29 | <span class="prepend" slot="prepend">¥</span> |
15 | </InputUfo> | 30 | </InputUfo> |
16 | </div> | 31 | </div> |
17 | <div class="earnest-container"> | 32 | <div class="earnest-container"> |
18 | - <p>需支付保证金:</p><p class="earnest-money">{{earnestMoney}}</p><i class="iconfont iconquestion icon-earnest" @click="showEarnestQuestion"></i> | ||
19 | - <p class="desc">所有商品必须为国内现货,且承诺36小时内发货,交易成功后将自动退还保证金</p> | 33 | + <p>需支付保证金:</p> |
34 | + <p class="earnest-money">{{ earnestMoney }}</p> | ||
35 | + <i | ||
36 | + class="iconfont iconquestion icon-earnest" | ||
37 | + @click="showEarnestQuestion" | ||
38 | + ></i> | ||
39 | + <p class="desc"> | ||
40 | + 所有商品必须为国内现货,且承诺36小时内发货,交易成功后将自动退还保证金 | ||
41 | + </p> | ||
20 | </div> | 42 | </div> |
21 | <div class="fee-container"> | 43 | <div class="fee-container"> |
22 | <div class="fee-line"> | 44 | <div class="fee-line"> |
23 | - <p class="fee-title">平台费用: <i class="iconfont iconquestion" @click="showFeeDetail"></i></p> | ||
24 | - <p class="fee-price">{{platformFee.amount}}</p> | 45 | + <p class="fee-title"> |
46 | + 平台费用: | ||
47 | + <i class="iconfont iconquestion" @click="showFeeDetail"></i> | ||
48 | + </p> | ||
49 | + <p class="fee-price">{{ platformFee.amount }}</p> | ||
25 | </div> | 50 | </div> |
26 | <div class="fee-line"> | 51 | <div class="fee-line"> |
27 | <p class="fee-title">银行转账费(1%):</p> | 52 | <p class="fee-title">银行转账费(1%):</p> |
28 | - <p class="fee-price">{{bankTransferFee}}</p> | 53 | + <p class="fee-price">{{ bankTransferFee }}</p> |
29 | </div> | 54 | </div> |
30 | <div class="fee-line total"> | 55 | <div class="fee-line total"> |
31 | <p class="fee-title">实际收入:</p> | 56 | <p class="fee-title">实际收入:</p> |
32 | - <p class="fee-price">{{income}}</p> | 57 | + <p class="fee-price">{{ income }}</p> |
33 | </div> | 58 | </div> |
34 | </div> | 59 | </div> |
35 | <div class="address-container"> | 60 | <div class="address-container"> |
@@ -37,12 +62,12 @@ | @@ -37,12 +62,12 @@ | ||
37 | <i class="iconfont iconaddress"></i> | 62 | <i class="iconfont iconaddress"></i> |
38 | </div> | 63 | </div> |
39 | <div class="address-info"> | 64 | <div class="address-info"> |
40 | - <p class="user-name">{{userAddress.consignee}}</p> | 65 | + <p class="user-name">{{ userAddress.consignee }}</p> |
41 | <p class="user-address"> | 66 | <p class="user-address"> |
42 | - {{userAddress.area}} {{userAddress.address}} | 67 | + {{ userAddress.area }} {{ userAddress.address }} |
43 | </p> | 68 | </p> |
44 | <p class="user-phone"> | 69 | <p class="user-phone"> |
45 | - {{userAddress.mobile}} | 70 | + {{ userAddress.mobile }} |
46 | </p> | 71 | </p> |
47 | </div> | 72 | </div> |
48 | </div> | 73 | </div> |
@@ -54,29 +79,39 @@ | @@ -54,29 +79,39 @@ | ||
54 | <Checkbox :option="labelOption" shape="square" v-model="isAgree"></Checkbox> | 79 | <Checkbox :option="labelOption" shape="square" v-model="isAgree"></Checkbox> |
55 | </div> | 80 | </div> |
56 | <a @click="showAgreement">卖家协议</a>--> | 81 | <a @click="showAgreement">卖家协议</a>--> |
57 | - <OrderCheck v-model="isAgree" :desc="`卖家协议`" :url="agreementURL"></OrderCheck> | 82 | + <OrderCheck |
83 | + v-model="isAgree" | ||
84 | + :desc="`卖家协议`" | ||
85 | + :url="agreementURL" | ||
86 | + ></OrderCheck> | ||
58 | </div> | 87 | </div> |
59 | 88 | ||
60 | - <div :class="['submit-button', (isAgree && calced) ? 'active' : '']"> | 89 | + <div :class="['submit-button', isAgree && calced ? 'active' : '']"> |
61 | <button @click="changePrice">提交</button> | 90 | <button @click="changePrice">提交</button> |
62 | </div> | 91 | </div> |
63 | </div> | 92 | </div> |
64 | <!--平台费用问号点击弹框--> | 93 | <!--平台费用问号点击弹框--> |
65 | - <Modal v-model="platformFeeModalVisible" :transfer="true" cancel-text="我知道了"> | 94 | + <Modal |
95 | + v-model="platformFeeModalVisible" | ||
96 | + :transfer="true" | ||
97 | + cancel-text="我知道了" | ||
98 | + > | ||
66 | <div class="fee-dialog-container"> | 99 | <div class="fee-dialog-container"> |
67 | <p class="modal-title">平台费用</p> | 100 | <p class="modal-title">平台费用</p> |
68 | 101 | ||
69 | <p class="fee-line"> | 102 | <p class="fee-line"> |
70 | <span class="fee-title">商品鉴定费</span> | 103 | <span class="fee-title">商品鉴定费</span> |
71 | - <span class="fee-price">{{platformFee.appraiseFee}}</span> | 104 | + <span class="fee-price">{{ platformFee.appraiseFee }}</span> |
72 | </p> | 105 | </p> |
73 | <p class="fee-line"> | 106 | <p class="fee-line"> |
74 | <span class="fee-title">商品包装费</span> | 107 | <span class="fee-title">商品包装费</span> |
75 | - <span class="fee-price">{{platformFee.packageFee}}</span> | 108 | + <span class="fee-price">{{ platformFee.packageFee }}</span> |
76 | </p> | 109 | </p> |
77 | <p class="fee-line total"> | 110 | <p class="fee-line total"> |
78 | - <span class="fee-title">平台服务费({{platformFee.goodsPaymentRatePercent}})</span> | ||
79 | - <span class="fee-price">{{platformFee.serviceFee}}</span> | 111 | + <span class="fee-title" |
112 | + >平台服务费({{ platformFee.goodsPaymentRatePercent }})</span | ||
113 | + > | ||
114 | + <span class="fee-price">{{ platformFee.serviceFee }}</span> | ||
80 | </p> | 115 | </p> |
81 | </div> | 116 | </div> |
82 | </Modal> | 117 | </Modal> |
@@ -87,22 +122,31 @@ | @@ -87,22 +122,31 @@ | ||
87 | import LayoutApp from '../../../components/layout/layout-app'; | 122 | import LayoutApp from '../../../components/layout/layout-app'; |
88 | import ScrollView from '../../../components/layout/scroll-view'; | 123 | import ScrollView from '../../../components/layout/scroll-view'; |
89 | import ImgSize from '../../../components/img-size'; | 124 | import ImgSize from '../../../components/img-size'; |
90 | -import {createNamespacedHelpers} from 'vuex'; | 125 | +import { createNamespacedHelpers } from 'vuex'; |
91 | import InputUfo from './components/input-ufo'; | 126 | import InputUfo from './components/input-ufo'; |
92 | -import {Checkbox} from 'cube-ui'; | ||
93 | -import {get} from 'lodash'; | 127 | +import { Checkbox } from 'cube-ui'; |
128 | +import { get } from 'lodash'; | ||
94 | import Modal from './components/modal'; | 129 | import Modal from './components/modal'; |
95 | import OrderCheck from '../components/confirm/agree'; | 130 | import OrderCheck from '../components/confirm/agree'; |
96 | 131 | ||
97 | -const {mapState, mapActions} = createNamespacedHelpers('order/priceChange'); | 132 | +const { mapState, mapActions } = createNamespacedHelpers('order/priceChange'); |
98 | // orderCode = 1233499619151 | 133 | // orderCode = 1233499619151 |
99 | export default { | 134 | export default { |
100 | name: 'noEntryDetail', | 135 | name: 'noEntryDetail', |
101 | - components: {OrderCheck, Modal, InputUfo, ScrollView, LayoutApp, ImgSize, Checkbox}, | 136 | + components: { |
137 | + OrderCheck, | ||
138 | + Modal, | ||
139 | + InputUfo, | ||
140 | + ScrollView, | ||
141 | + LayoutApp, | ||
142 | + ImgSize, | ||
143 | + Checkbox | ||
144 | + }, | ||
102 | data() { | 145 | data() { |
103 | return { | 146 | return { |
104 | title: '调价', | 147 | title: '调价', |
105 | - agreementURL: 'https://activity.yoho.cn/feature/3187.html?share_id=5851&title=ufo-%E5%8D%96%E5%AE%B6%E5%8D%8F%E8%AE%AE', | 148 | + agreementURL: |
149 | + 'https://activity.yoho.cn/feature/3187.html?share_id=5851&title=ufo-%E5%8D%96%E5%AE%B6%E5%8D%8F%E8%AE%AE', | ||
106 | platformFeeModalVisible: false, | 150 | platformFeeModalVisible: false, |
107 | platformFee: { | 151 | platformFee: { |
108 | amount: '-¥0', | 152 | amount: '-¥0', |
@@ -118,6 +162,8 @@ export default { | @@ -118,6 +162,8 @@ export default { | ||
118 | chgPrice: '', | 162 | chgPrice: '', |
119 | calced: false, | 163 | calced: false, |
120 | earnestMoney: '¥0', | 164 | earnestMoney: '¥0', |
165 | + // 保证金 | ||
166 | + earnestPrice: 0, | ||
121 | isAgree: false, | 167 | isAgree: false, |
122 | labelOption: { | 168 | labelOption: { |
123 | label: '我已阅读并同意' | 169 | label: '我已阅读并同意' |
@@ -125,8 +171,10 @@ export default { | @@ -125,8 +171,10 @@ export default { | ||
125 | time: 15000 | 171 | time: 15000 |
126 | }; | 172 | }; |
127 | }, | 173 | }, |
128 | - asyncData({store, router}) { | ||
129 | - return store.dispatch('order/priceChange/fetchOrder', {orderCode: router.params.orderCode}); | 174 | + asyncData({ store, router }) { |
175 | + return store.dispatch('order/priceChange/fetchOrder', { | ||
176 | + orderCode: router.params.orderCode | ||
177 | + }); | ||
130 | }, | 178 | }, |
131 | mounted() { | 179 | mounted() { |
132 | // this.fetchOrder({orderCode: this.$route.params.orderCode}); | 180 | // this.fetchOrder({orderCode: this.$route.params.orderCode}); |
@@ -155,11 +203,15 @@ export default { | @@ -155,11 +203,15 @@ export default { | ||
155 | this.bankTransferFee = '-¥0'; | 203 | this.bankTransferFee = '-¥0'; |
156 | this.income = '¥0'; | 204 | this.income = '¥0'; |
157 | this.earnestMoney = '¥0'; | 205 | this.earnestMoney = '¥0'; |
206 | + this.earnestPrice = 0; | ||
158 | } | 207 | } |
159 | - | ||
160 | }, | 208 | }, |
161 | methods: { | 209 | methods: { |
162 | - ...mapActions(['fetchOrder', 'postNoEntryCalcPrice', 'postNoEntryChangePrice']), | 210 | + ...mapActions([ |
211 | + 'fetchOrder', | ||
212 | + 'postNoEntryCalcPrice', | ||
213 | + 'postNoEntryChangePrice' | ||
214 | + ]), | ||
163 | checkPrice(price) { | 215 | checkPrice(price) { |
164 | let valid = false; | 216 | let valid = false; |
165 | 217 | ||
@@ -177,7 +229,8 @@ export default { | @@ -177,7 +229,8 @@ export default { | ||
177 | console.log(this.errorTip, valid); | 229 | console.log(this.errorTip, valid); |
178 | return valid; | 230 | return valid; |
179 | }, | 231 | }, |
180 | - changePrice() { // 点击提交按钮 | 232 | + changePrice() { |
233 | + // 点击提交按钮 | ||
181 | if (this.isAgree && this.calced) { | 234 | if (this.isAgree && this.calced) { |
182 | this.$createDialog({ | 235 | this.$createDialog({ |
183 | type: 'confirm', | 236 | type: 'confirm', |
@@ -185,7 +238,7 @@ export default { | @@ -185,7 +238,7 @@ export default { | ||
185 | confirmBtn: { | 238 | confirmBtn: { |
186 | text: '我再想想', | 239 | text: '我再想想', |
187 | active: true, | 240 | active: true, |
188 | - disabled: false, | 241 | + disabled: false |
189 | }, | 242 | }, |
190 | cancelBtn: { | 243 | cancelBtn: { |
191 | text: '重新出售', | 244 | text: '重新出售', |
@@ -195,10 +248,10 @@ export default { | @@ -195,10 +248,10 @@ export default { | ||
195 | onCancel: () => { | 248 | onCancel: () => { |
196 | this.onPriceChangeConfirm({ | 249 | this.onPriceChangeConfirm({ |
197 | price: this.chgPrice, | 250 | price: this.chgPrice, |
251 | + earnestPrice: this.earnestPrice, | ||
198 | skup: this.goodsInfo.skup | 252 | skup: this.goodsInfo.skup |
199 | }); | 253 | }); |
200 | } | 254 | } |
201 | - | ||
202 | }).show(); | 255 | }).show(); |
203 | } | 256 | } |
204 | }, | 257 | }, |
@@ -215,6 +268,7 @@ export default { | @@ -215,6 +268,7 @@ export default { | ||
215 | this.bankTransferFee = get(result, 'data.bankTransferFee', ''); | 268 | this.bankTransferFee = get(result, 'data.bankTransferFee', ''); |
216 | this.income = '¥' + get(result, 'data.income', ''); | 269 | this.income = '¥' + get(result, 'data.income', ''); |
217 | this.earnestMoney = '¥' + get(result, 'data.earnestMoney', ''); | 270 | this.earnestMoney = '¥' + get(result, 'data.earnestMoney', ''); |
271 | + this.earnestPrice = get(result, 'data.earnestMoney', 0); | ||
218 | this.calced = true; | 272 | this.calced = true; |
219 | } else { | 273 | } else { |
220 | if (result.message) { | 274 | if (result.message) { |
@@ -228,7 +282,8 @@ export default { | @@ -228,7 +282,8 @@ export default { | ||
228 | }).show(); | 282 | }).show(); |
229 | } | 283 | } |
230 | }, | 284 | }, |
231 | - onChange(price) { // 价格改变时(文本框离开焦点) | 285 | + onChange(price) { |
286 | + // 价格改变时(文本框离开焦点) | ||
232 | if (this.checkPrice(price)) { | 287 | if (this.checkPrice(price)) { |
233 | this.calcPrice(price); | 288 | this.calcPrice(price); |
234 | } else { | 289 | } else { |
@@ -238,13 +293,15 @@ export default { | @@ -238,13 +293,15 @@ export default { | ||
238 | }).show(); | 293 | }).show(); |
239 | } | 294 | } |
240 | }, | 295 | }, |
241 | - showFeeDetail() { // 显示平台费用详情 | 296 | + showFeeDetail() { |
297 | + // 显示平台费用详情 | ||
242 | this.platformFeeModalVisible = true; | 298 | this.platformFeeModalVisible = true; |
243 | }, | 299 | }, |
244 | 300 | ||
245 | - showEarnestQuestion() { // 跳转保证金说明页 | 301 | + showEarnestQuestion() { |
302 | + // 跳转保证金说明页 | ||
246 | console.log('showEarnest'); | 303 | console.log('showEarnest'); |
247 | - this.$xianyu.goXianyuNewPage({url: this.agreementURL}); | 304 | + this.$xianyu.goXianyuNewPage({ url: this.agreementURL }); |
248 | }, | 305 | }, |
249 | 306 | ||
250 | /** | 307 | /** |
@@ -253,7 +310,7 @@ export default { | @@ -253,7 +310,7 @@ export default { | ||
253 | * @param skup | 310 | * @param skup |
254 | * @returns {Promise<void>} | 311 | * @returns {Promise<void>} |
255 | */ | 312 | */ |
256 | - async onPriceChangeConfirm({price, skup}) { | 313 | + async onPriceChangeConfirm({ price, earnestPrice, skup }) { |
257 | const that = this; | 314 | const that = this; |
258 | const result = await this.postNoEntryChangePrice({ | 315 | const result = await this.postNoEntryChangePrice({ |
259 | price, | 316 | price, |
@@ -264,7 +321,7 @@ export default { | @@ -264,7 +321,7 @@ export default { | ||
264 | console.log(result); | 321 | console.log(result); |
265 | this.$createOrderPayType({ | 322 | this.$createOrderPayType({ |
266 | orderCode: result.data.orderCode, | 323 | orderCode: result.data.orderCode, |
267 | - price: price, | 324 | + price: parseFloat(`${earnestPrice}`).toFixed(2), |
268 | desc: '保证金', | 325 | desc: '保证金', |
269 | extra: JSON.stringify({ | 326 | extra: JSON.stringify({ |
270 | type: 'sell', | 327 | type: 'sell', |
@@ -298,8 +355,9 @@ export default { | @@ -298,8 +355,9 @@ export default { | ||
298 | 355 | ||
299 | // console.log(result); | 356 | // console.log(result); |
300 | }, | 357 | }, |
301 | - clearData() { // 清空数据状态 | ||
302 | - console.log(this.$router); | 358 | + clearData() { |
359 | + // 清空数据状态 | ||
360 | + // console.log(this.$router); | ||
303 | this.platformFeeModalVisible = false; | 361 | this.platformFeeModalVisible = false; |
304 | this.platformFee = { | 362 | this.platformFee = { |
305 | amount: '-¥0', | 363 | amount: '-¥0', |
@@ -321,8 +379,8 @@ export default { | @@ -321,8 +379,8 @@ export default { | ||
321 | }; | 379 | }; |
322 | </script> | 380 | </script> |
323 | 381 | ||
324 | -<style lang="scss" scoped> | ||
325 | - .order-page { | 382 | +<style lang='scss' scoped> |
383 | +.order-page { | ||
326 | position: absolute; | 384 | position: absolute; |
327 | left: 0; | 385 | left: 0; |
328 | top: 0; | 386 | top: 0; |
@@ -525,13 +583,13 @@ export default { | @@ -525,13 +583,13 @@ export default { | ||
525 | } | 583 | } |
526 | } | 584 | } |
527 | } | 585 | } |
528 | - } | 586 | +} |
529 | 587 | ||
530 | - /deep/ .modal-content { | 588 | +/deep/ .modal-content { |
531 | width: 570px; | 589 | width: 570px; |
532 | - } | 590 | +} |
533 | 591 | ||
534 | - .fee-dialog-container { | 592 | +.fee-dialog-container { |
535 | width: 100%; | 593 | width: 100%; |
536 | 594 | ||
537 | .modal-title { | 595 | .modal-title { |
@@ -555,9 +613,9 @@ export default { | @@ -555,9 +613,9 @@ export default { | ||
555 | text-align: right; | 613 | text-align: right; |
556 | } | 614 | } |
557 | } | 615 | } |
558 | - } | 616 | +} |
559 | 617 | ||
560 | - .submit-container { | 618 | +.submit-container { |
561 | width: 100%; | 619 | width: 100%; |
562 | height: 180px; | 620 | height: 180px; |
563 | position: fixed; | 621 | position: fixed; |
@@ -610,9 +668,9 @@ export default { | @@ -610,9 +668,9 @@ export default { | ||
610 | border: none; | 668 | border: none; |
611 | } | 669 | } |
612 | 670 | ||
613 | - &.active button{ | 671 | + &.active button { |
614 | background-color: #0c2b48; | 672 | background-color: #0c2b48; |
615 | } | 673 | } |
616 | } | 674 | } |
617 | - } | 675 | +} |
618 | </style> | 676 | </style> |
1 | <template> | 1 | <template> |
2 | <LayoutApp :show-back="true" title="出售" :back-action="backAction"> | 2 | <LayoutApp :show-back="true" title="出售" :back-action="backAction"> |
3 | <div class="body"> | 3 | <div class="body"> |
4 | - <Scroll :options="scrollOption"> | 4 | +<!-- <Scroll :options="scrollOption">--> |
5 | <ProductInfo :data="productDetail" class="product-info"></ProductInfo> | 5 | <ProductInfo :data="productDetail" class="product-info"></ProductInfo> |
6 | <InputPrice @input="changePrice" | 6 | <InputPrice @input="changePrice" |
7 | :num="num" :value="price" | 7 | :num="num" :value="price" |
@@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
12 | <OrderMargin class="order-item order-margin" :data="fee" :super-sell="superSell" :url="tipUrl"></OrderMargin> | 12 | <OrderMargin class="order-item order-margin" :data="fee" :super-sell="superSell" :url="tipUrl"></OrderMargin> |
13 | <OrderFee class="order-item" :data="fee"></OrderFee> | 13 | <OrderFee class="order-item" :data="fee"></OrderFee> |
14 | <AddressInfo :data="address" class="order-item"></AddressInfo> | 14 | <AddressInfo :data="address" class="order-item"></AddressInfo> |
15 | - </Scroll> | 15 | +<!-- </Scroll>--> |
16 | </div> | 16 | </div> |
17 | <div class="footer"> | 17 | <div class="footer"> |
18 | <OrderAgree :value="agree" @input="changeAgree" class="agree-wrapper" :desc="agreeDesc" :url="url"></OrderAgree> | 18 | <OrderAgree :value="agree" @input="changeAgree" class="agree-wrapper" :desc="agreeDesc" :url="url"></OrderAgree> |
@@ -62,7 +62,8 @@ export default { | @@ -62,7 +62,8 @@ export default { | ||
62 | superSell: false, | 62 | superSell: false, |
63 | addNumError: false, | 63 | addNumError: false, |
64 | scrollOption: { | 64 | scrollOption: { |
65 | - bounce: false | 65 | + bounce: false, |
66 | + click: true | ||
66 | }, | 67 | }, |
67 | tipUrl: 'https://activity.yoho.cn/feature/6773.html?share_id=9479&title=%E9%97%B2%E9%B1%BC%E6%BD%AE%E5%8D%96%E5%AE%B6%E5%8D%8F%E8%AE%AE' | 68 | tipUrl: 'https://activity.yoho.cn/feature/6773.html?share_id=9479&title=%E9%97%B2%E9%B1%BC%E6%BD%AE%E5%8D%96%E5%AE%B6%E5%8D%8F%E8%AE%AE' |
68 | }; | 69 | }; |
@@ -302,7 +303,7 @@ export default { | @@ -302,7 +303,7 @@ export default { | ||
302 | } | 303 | } |
303 | 304 | ||
304 | this.$createOrderPayType({ | 305 | this.$createOrderPayType({ |
305 | - price: this.fee.earnestMoneyStr, | 306 | + price: parseFloat(`${this.fee.earnestMoney}`).toFixed(2), |
306 | desc: '保证金', | 307 | desc: '保证金', |
307 | orderCode: orderResult.data.orderCode, | 308 | orderCode: orderResult.data.orderCode, |
308 | extra: JSON.stringify({ | 309 | extra: JSON.stringify({ |
@@ -55,7 +55,7 @@ export default { | @@ -55,7 +55,7 @@ export default { | ||
55 | text-align: center; | 55 | text-align: center; |
56 | font-size: 32px; | 56 | font-size: 32px; |
57 | line-height: 3; | 57 | line-height: 3; |
58 | - font-weight: normal; | 58 | + font-weight: bold; |
59 | color: #333; | 59 | color: #333; |
60 | } | 60 | } |
61 | 61 | ||
@@ -66,7 +66,7 @@ export default { | @@ -66,7 +66,7 @@ export default { | ||
66 | } | 66 | } |
67 | 67 | ||
68 | span { | 68 | span { |
69 | - font-size: 0.7em; | 69 | + font-size: 0.8em; |
70 | line-height: 1.4; | 70 | line-height: 1.4; |
71 | border: 1px solid #f00;; | 71 | border: 1px solid #f00;; |
72 | color: #f00; | 72 | color: #f00; |
@@ -25,7 +25,7 @@ | @@ -25,7 +25,7 @@ | ||
25 | <div class="info-name">{{productDetail.product_name}}</div> | 25 | <div class="info-name">{{productDetail.product_name}}</div> |
26 | </div> | 26 | </div> |
27 | <a class="banner" v-if="resource" :href="resource.url"> | 27 | <a class="banner" v-if="resource" :href="resource.url"> |
28 | - <img-size :src="sizeImg(resource.src)" :width="300" :height="60"/> | 28 | + <img-size :src="sizeImg(resource.src)"/> |
29 | </a> | 29 | </a> |
30 | <div class="info"> | 30 | <div class="info"> |
31 | <div class="info-list"> | 31 | <div class="info-list"> |
@@ -448,6 +448,7 @@ export default { | @@ -448,6 +448,7 @@ export default { | ||
448 | 448 | ||
449 | img { | 449 | img { |
450 | width: 100%; | 450 | width: 100%; |
451 | + height: 132px; | ||
451 | } | 452 | } |
452 | } | 453 | } |
453 | 454 |
@@ -164,11 +164,11 @@ export default function() { | @@ -164,11 +164,11 @@ export default function() { | ||
164 | }, | 164 | }, |
165 | 165 | ||
166 | [BUYER_ASK_SET_PRODUCTINFO](state, payload) { | 166 | [BUYER_ASK_SET_PRODUCTINFO](state, payload) { |
167 | - state.originProductData = payload | 167 | + state.originProductData = payload; |
168 | }, | 168 | }, |
169 | 169 | ||
170 | [BUYER_ASK_SET_STORAGEID](state, payload) { | 170 | [BUYER_ASK_SET_STORAGEID](state, payload) { |
171 | - state.storageId = payload | 171 | + state.storageId = payload; |
172 | }, | 172 | }, |
173 | 173 | ||
174 | [BUYER_ASK_SET_SHOWTOAST](state, payload) { | 174 | [BUYER_ASK_SET_SHOWTOAST](state, payload) { |
@@ -375,13 +375,12 @@ export default function() { | @@ -375,13 +375,12 @@ export default function() { | ||
375 | address_id, | 375 | address_id, |
376 | }).then(result => { | 376 | }).then(result => { |
377 | if (result.code === 200) { | 377 | if (result.code === 200) { |
378 | - let payload = get(result, ['data', 'dialog'], null) | 378 | + let payload = get(result, ['data', 'dialog'], null); |
379 | commit(BUYER_ASK_PREPUBLISH_SUCCESS, payload); | 379 | commit(BUYER_ASK_PREPUBLISH_SUCCESS, payload); |
380 | - return payload; | ||
381 | } else { | 380 | } else { |
382 | commit(BUYER_ASK_PREPUBLISH_FAILURE, result.message); | 381 | commit(BUYER_ASK_PREPUBLISH_FAILURE, result.message); |
383 | - return null; | ||
384 | } | 382 | } |
383 | + return result; | ||
385 | }, error => { | 384 | }, error => { |
386 | console.log(error); | 385 | console.log(error); |
387 | commit(BUYER_ASK_PREPUBLISH_FAILURE, TIP); | 386 | commit(BUYER_ASK_PREPUBLISH_FAILURE, TIP); |
@@ -179,14 +179,14 @@ export default function() { | @@ -179,14 +179,14 @@ export default function() { | ||
179 | }, | 179 | }, |
180 | actions: { | 180 | actions: { |
181 | async fetchOrderAddress({ commit, state }, payload) { | 181 | async fetchOrderAddress({ commit, state }, payload) { |
182 | - const orderCount = await this.$api.get('/api/order/confirm/count', payload); | 182 | + const orderCount = await this.$api.post('/api/order/confirm/count', payload); |
183 | 183 | ||
184 | if (state.address?.address_id) { | 184 | if (state.address?.address_id) { |
185 | return; | 185 | return; |
186 | } | 186 | } |
187 | 187 | ||
188 | if (get(orderCount, 'data.cnt', 0)) { | 188 | if (get(orderCount, 'data.cnt', 0)) { |
189 | - const addressInfo = await this.$api.get('/api/order/confirm/address'); | 189 | + const addressInfo = await this.$api.post('/api/order/confirm/address'); |
190 | 190 | ||
191 | const address = find(get(addressInfo, 'data', []), { is_default: 'Y' }); | 191 | const address = find(get(addressInfo, 'data', []), { is_default: 'Y' }); |
192 | 192 | ||
@@ -211,7 +211,7 @@ export default function() { | @@ -211,7 +211,7 @@ export default function() { | ||
211 | }, | 211 | }, |
212 | 212 | ||
213 | async fetchUserStatus() { | 213 | async fetchUserStatus() { |
214 | - return this.$api.get('/api/order/user/status'); | 214 | + return this.$api.post('/api/order/user/status'); |
215 | }, | 215 | }, |
216 | 216 | ||
217 | async submitOrder({ commit }, payload) { | 217 | async submitOrder({ commit }, payload) { |
@@ -278,13 +278,13 @@ export default function() { | @@ -278,13 +278,13 @@ export default function() { | ||
278 | }, | 278 | }, |
279 | 279 | ||
280 | async fetchOrderGoods(ctx, { orderCode }) { | 280 | async fetchOrderGoods(ctx, { orderCode }) { |
281 | - return this.$api.get('/api/order/goods', { | 281 | + return this.$api.post('/api/order/goods', { |
282 | orderCode | 282 | orderCode |
283 | }); | 283 | }); |
284 | }, | 284 | }, |
285 | 285 | ||
286 | async fetchOrderStatus(ctx, { orderCode }) { | 286 | async fetchOrderStatus(ctx, { orderCode }) { |
287 | - return this.$api.get('/api/order/status', { | 287 | + return this.$api.post('/api/order/status', { |
288 | orderCode | 288 | orderCode |
289 | }); | 289 | }); |
290 | } | 290 | } |
@@ -115,11 +115,7 @@ module.exports = { | @@ -115,11 +115,7 @@ module.exports = { | ||
115 | auth: true, | 115 | auth: true, |
116 | path: '/ufo-gateway/coupon', | 116 | path: '/ufo-gateway/coupon', |
117 | api: 'ufo.coupons.list', | 117 | api: 'ufo.coupons.list', |
118 | - param: { | ||
119 | - page: {type: Number}, | ||
120 | - limit: {type: Number}, | ||
121 | - type: {type: String}, | ||
122 | - } | 118 | + param: {} |
123 | }, | 119 | }, |
124 | '/api/ufo/home/bindAliPayAccount': { | 120 | '/api/ufo/home/bindAliPayAccount': { |
125 | ufo: true, | 121 | ufo: true, |
@@ -36,6 +36,8 @@ exports.createApp = async(app) => { | @@ -36,6 +36,8 @@ exports.createApp = async(app) => { | ||
36 | }); | 36 | }); |
37 | } | 37 | } |
38 | 38 | ||
39 | + app.set('etag', false); | ||
40 | + | ||
39 | app.use('/xianyu/node/status.html', (req, res) => { | 41 | app.use('/xianyu/node/status.html', (req, res) => { |
40 | res.status(200).end(); | 42 | res.status(200).end(); |
41 | }); | 43 | }); |
@@ -12,6 +12,8 @@ const log = global.yoho.logger; | @@ -12,6 +12,8 @@ const log = global.yoho.logger; | ||
12 | const sign = global.yoho.sign; | 12 | const sign = global.yoho.sign; |
13 | const config = global.yoho.config; | 13 | const config = global.yoho.config; |
14 | 14 | ||
15 | +const isProduction = process.env.NODE_ENV === 'production'; | ||
16 | + | ||
15 | const loginPage = '//m.yohobuy.com/signin.html'; | 17 | const loginPage = '//m.yohobuy.com/signin.html'; |
16 | const homePage = `${config.siteUrl}/xianyu/index/channel`; | 18 | const homePage = `${config.siteUrl}/xianyu/index/channel`; |
17 | 19 | ||
@@ -240,6 +242,7 @@ const bind = { | @@ -240,6 +242,7 @@ const bind = { | ||
240 | let info = bind.getBindThirdInfo(bindCode); | 242 | let info = bind.getBindThirdInfo(bindCode); |
241 | 243 | ||
242 | if (info.type === 'taobao') { | 244 | if (info.type === 'taobao') { |
245 | + if (isProduction) { | ||
243 | const timeKey = `${config.app}:bindsms:taobao:${info.openId}`; | 246 | const timeKey = `${config.app}:bindsms:taobao:${info.openId}`; |
244 | let sendTimes = await redis.getAsync(timeKey); | 247 | let sendTimes = await redis.getAsync(timeKey); |
245 | 248 | ||
@@ -255,6 +258,7 @@ const bind = { | @@ -255,6 +258,7 @@ const bind = { | ||
255 | } | 258 | } |
256 | 259 | ||
257 | redis.setex(timeKey, 60 * 60 * 2, sendTimes); | 260 | redis.setex(timeKey, 60 * 60 * 2, sendTimes); |
261 | + } | ||
258 | req.ctx(passportModel).sendTaobaoBindCode(mobile, req.yoho.isAliApp ? 'xianyu' : '').then(res.json).catch(next); | 262 | req.ctx(passportModel).sendTaobaoBindCode(mobile, req.yoho.isAliApp ? 'xianyu' : '').then(res.json).catch(next); |
259 | } else { | 263 | } else { |
260 | res.json({ | 264 | res.json({ |
1 | { | 1 | { |
2 | "name": "xianyu-ufo-app-web", | 2 | "name": "xianyu-ufo-app-web", |
3 | - "version": "0.0.2-beta-33", | 3 | + "version": "0.0.2-beta-35", |
4 | "private": true, | 4 | "private": true, |
5 | "description": "Xianyu Project With Express", | 5 | "description": "Xianyu Project With Express", |
6 | "repository": { | 6 | "repository": { |
-
Please register or login to post a comment