Authored by Tao

modify channel

@@ -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 - this.smsCode = newVal.substring(0, half); 58 + setTimeout(() => {
  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(() => {  
300 - this.showDialog(); 299 + .then((res) => {
  300 + if (res && res.code == 200) {
  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 {
45 - this.filterInSaleOrderList(orderCode); 50 + if (isInSale) {
  51 + this.filterInSaleOrderList(orderCode);
  52 + } else {
  53 + this.filterOrderList({
  54 + orderCode,
  55 + owner,
  56 + status,
  57 + });
  58 + }
46 } 59 }
47 } 60 }
48 }, 61 },
@@ -49,6 +49,7 @@ export default { @@ -49,6 +49,7 @@ export default {
49 } 49 }
50 50
51 .count-down { 51 .count-down {
  52 + font-weight: bold;
52 font-size: 72px; 53 font-size: 72px;
53 } 54 }
54 55
@@ -76,4 +77,4 @@ export default { @@ -76,4 +77,4 @@ export default {
76 } 77 }
77 } 78 }
78 } 79 }
79 -</style>  
  80 +</style>
@@ -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;
@@ -37,7 +37,7 @@ export default { @@ -37,7 +37,7 @@ export default {
37 } 37 }
38 }, 38 },
39 mounted() { 39 mounted() {
40 - console.log(this.value); 40 + // console.log(this.value);
41 }, 41 },
42 methods: { 42 methods: {
43 onNoSale() { 43 onNoSale() {
@@ -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) {
@@ -130,7 +130,7 @@ export default { @@ -130,7 +130,7 @@ export default {
130 pageSize: this.pageSize, 130 pageSize: this.pageSize,
131 refresh: true 131 refresh: true
132 }); 132 });
133 - 133 +
134 // 全部下架后回到出售中列表 134 // 全部下架后回到出售中列表
135 let data = get(result, 'data.data') 135 let data = get(result, 'data.data')
136 if(data.length === 0) { 136 if(data.length === 0) {
@@ -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,298 +379,298 @@ export default { @@ -321,298 +379,298 @@ export default {
321 }; 379 };
322 </script> 380 </script>
323 381
324 -<style lang="scss" scoped>  
325 - .order-page {  
326 - position: absolute;  
327 - left: 0;  
328 - top: 0;  
329 - bottom: 0;  
330 - right: 0;  
331 - overflow-x: hidden;  
332 - overflow-y: scroll;  
333 - -webkit-overflow-scrolling: touch;  
334 - -webkit-font-smoothing: antialiased;  
335 -  
336 - .title {  
337 - line-height: 82px;  
338 - font-size: 68px;  
339 - font-weight: bold;  
340 - padding: 2px 40px 0 40px;  
341 - } 382 +<style lang='scss' scoped>
  383 +.order-page {
  384 + position: absolute;
  385 + left: 0;
  386 + top: 0;
  387 + bottom: 0;
  388 + right: 0;
  389 + overflow-x: hidden;
  390 + overflow-y: scroll;
  391 + -webkit-overflow-scrolling: touch;
  392 + -webkit-font-smoothing: antialiased;
  393 +
  394 + .title {
  395 + line-height: 82px;
  396 + font-size: 68px;
  397 + font-weight: bold;
  398 + padding: 2px 40px 0 40px;
  399 + }
  400 +
  401 + .product {
  402 + margin: 20px auto;
  403 + padding: 0 30px;
  404 + height: 200px;
  405 + display: flex;
342 406
343 - .product {  
344 - margin: 20px auto;  
345 - padding: 0 30px; 407 + .pro-img {
  408 + width: 200px;
346 height: 200px; 409 height: 200px;
  410 + overflow: hidden;
347 display: flex; 411 display: flex;
  412 + align-items: center;
  413 +
  414 + img {
  415 + width: 100%;
  416 + height: auto;
  417 + }
  418 + }
  419 +
  420 + .pro-info {
  421 + padding: 64px 40px 0 40px;
  422 + line-height: 32px;
  423 + overflow: hidden;
348 424
349 - .pro-img {  
350 - width: 200px;  
351 - height: 200px; 425 + .pro-name {
  426 + font-size: 24px;
  427 + color: #444;
352 overflow: hidden; 428 overflow: hidden;
353 - display: flex;  
354 - align-items: center; 429 + white-space: nowrap;
  430 + text-overflow: ellipsis;
  431 + }
355 432
356 - img {  
357 - width: 100%;  
358 - height: auto;  
359 - } 433 + .stock-info {
  434 + position: relative;
  435 + color: #000;
  436 + margin-top: 24px;
  437 + font-size: 28px;
360 } 438 }
361 439
362 - .pro-info {  
363 - padding: 64px 40px 0 40px;  
364 - line-height: 32px;  
365 - overflow: hidden; 440 + .stock-text {
  441 + text-indent: 128px;
  442 + font-size: 28px;
  443 + font-weight: 600;
  444 + line-height: 44px;
  445 + }
  446 + }
  447 + }
366 448
367 - .pro-name {  
368 - font-size: 24px;  
369 - color: #444;  
370 - overflow: hidden;  
371 - white-space: nowrap;  
372 - text-overflow: ellipsis;  
373 - } 449 + .input-container {
  450 + position: relative;
  451 + display: block;
  452 + width: 690px;
  453 + margin: 0 auto;
  454 + overflow: hidden;
  455 + }
374 456
375 - .stock-info {  
376 - position: relative;  
377 - color: #000;  
378 - margin-top: 24px;  
379 - font-size: 28px;  
380 - } 457 + .ipt-number {
  458 + /deep/ .prepend {
  459 + width: 40px;
  460 + margin-left: 20px;
  461 + text-align: left;
  462 + }
  463 + }
381 464
382 - .stock-text {  
383 - text-indent: 128px;  
384 - font-size: 28px;  
385 - font-weight: 600;  
386 - line-height: 44px;  
387 - }  
388 - } 465 + .earnest-container {
  466 + width: 690px;
  467 + margin: 10px auto;
  468 + border-bottom: 1px solid #f0f0f0;
  469 +
  470 + p {
  471 + display: inline-block;
  472 + font-size: 28px;
  473 + line-height: 60px;
389 } 474 }
390 475
391 - .input-container {  
392 - position: relative;  
393 - display: block;  
394 - width: 690px;  
395 - margin: 0 auto;  
396 - overflow: hidden; 476 + .earnest-money {
  477 + color: #c94353;
397 } 478 }
398 479
399 - .ipt-number {  
400 - /deep/ .prepend {  
401 - width: 40px;  
402 - margin-left: 20px;  
403 - text-align: left;  
404 - } 480 + .desc {
  481 + font-size: 24px;
  482 + color: #999;
  483 + line-height: 32px;
  484 + padding-bottom: 30px;
405 } 485 }
406 486
407 - .earnest-container {  
408 - width: 690px;  
409 - margin: 10px auto;  
410 - border-bottom: 1px solid #f0f0f0; 487 + .icon-earnest {
  488 + font-size: 28px;
  489 + color: #999;
  490 + margin-left: 20px;
  491 + }
  492 + }
411 493
412 - p {  
413 - display: inline-block;  
414 - font-size: 28px;  
415 - line-height: 60px;  
416 - } 494 + .fee-container {
  495 + width: 690px;
  496 + margin: 40px auto 20px auto;
  497 + overflow: hidden;
  498 + border-bottom: 1px solid #f0f0f0;
417 499
418 - .earnest-money {  
419 - color: #c94353;  
420 - } 500 + .fee-line {
  501 + margin-bottom: 20px;
  502 + color: #999;
  503 + font-size: 28px;
  504 + display: flex;
421 505
422 - .desc {  
423 - font-size: 24px;  
424 - color: #999;  
425 - line-height: 32px;  
426 - padding-bottom: 30px; 506 + .fee-title {
  507 + width: 50%;
427 } 508 }
428 509
429 - .icon-earnest {  
430 - font-size: 28px;  
431 - color: #999;  
432 - margin-left: 20px; 510 + .fee-price {
  511 + width: 50%;
  512 + text-align: right;
433 } 513 }
434 - }  
435 -  
436 - .fee-container {  
437 - width: 690px;  
438 - margin: 40px auto 20px auto;  
439 - overflow: hidden;  
440 - border-bottom: 1px solid #f0f0f0;  
441 514
442 - .fee-line {  
443 - margin-bottom: 20px;  
444 - color: #999;  
445 - font-size: 28px;  
446 - display: flex; 515 + &.total {
  516 + margin-bottom: 40px;
447 517
448 .fee-title { 518 .fee-title {
449 - width: 50%; 519 + color: #000;
450 } 520 }
451 521
452 .fee-price { 522 .fee-price {
453 - width: 50%;  
454 - text-align: right;  
455 - }  
456 -  
457 - &.total {  
458 - margin-bottom: 40px;  
459 -  
460 - .fee-title {  
461 - color: #000;  
462 - }  
463 -  
464 - .fee-price {  
465 - color: #c94353;  
466 - } 523 + color: #c94353;
467 } 524 }
  525 + }
468 526
469 - .iconquestion {  
470 - font-size: 28px;  
471 - } 527 + .iconquestion {
  528 + font-size: 28px;
472 } 529 }
473 } 530 }
  531 + }
474 532
475 - .white-space {  
476 - position: relative;  
477 - width: 100%;  
478 - height: 180px;  
479 - } 533 + .white-space {
  534 + position: relative;
  535 + width: 100%;
  536 + height: 180px;
  537 + }
480 538
481 - .address-container {  
482 - position: relative;  
483 - width: 690px;  
484 - margin: 40px auto 40px auto;  
485 - overflow: hidden; 539 + .address-container {
  540 + position: relative;
  541 + width: 690px;
  542 + margin: 40px auto 40px auto;
  543 + overflow: hidden;
  544 +
  545 + .icon-container {
  546 + position: absolute;
  547 + width: 100px;
  548 + height: 100%;
  549 + display: flex;
  550 + align-items: center;
  551 + justify-content: center;
486 552
487 - .icon-container { 553 + .iconfont {
488 position: absolute; 554 position: absolute;
489 - width: 100px;  
490 - height: 100%;  
491 - display: flex;  
492 - align-items: center;  
493 - justify-content: center;  
494 -  
495 - .iconfont {  
496 - position: absolute;  
497 - font-size: 40px;  
498 - font-weight: 500;  
499 - color: #000;  
500 - } 555 + font-size: 40px;
  556 + font-weight: 500;
  557 + color: #000;
501 } 558 }
  559 + }
502 560
503 - .address-info {  
504 - overflow: hidden;  
505 - padding: 0 0 20px 100px; 561 + .address-info {
  562 + overflow: hidden;
  563 + padding: 0 0 20px 100px;
506 564
507 - .user-name {  
508 - font-size: 32px;  
509 - font-weight: 500;  
510 - line-height: 36px;  
511 - margin-bottom: 10px;  
512 - } 565 + .user-name {
  566 + font-size: 32px;
  567 + font-weight: 500;
  568 + line-height: 36px;
  569 + margin-bottom: 10px;
  570 + }
513 571
514 - .user-address {  
515 - font-size: 24px;  
516 - color: #999;  
517 - line-height: 30px;  
518 - margin-bottom: 10px;  
519 - } 572 + .user-address {
  573 + font-size: 24px;
  574 + color: #999;
  575 + line-height: 30px;
  576 + margin-bottom: 10px;
  577 + }
520 578
521 - .user-phone {  
522 - font-size: 28px;  
523 - font-weight: bold;  
524 - line-height: 32px;  
525 - } 579 + .user-phone {
  580 + font-size: 28px;
  581 + font-weight: bold;
  582 + line-height: 32px;
526 } 583 }
527 } 584 }
528 } 585 }
  586 +}
529 587
530 - /deep/ .modal-content {  
531 - width: 570px;  
532 - } 588 +/deep/ .modal-content {
  589 + width: 570px;
  590 +}
533 591
534 - .fee-dialog-container {  
535 - width: 100%; 592 +.fee-dialog-container {
  593 + width: 100%;
536 594
537 - .modal-title {  
538 - line-height: 120px;  
539 - text-align: center;  
540 - font-size: 28px;  
541 - } 595 + .modal-title {
  596 + line-height: 120px;
  597 + text-align: center;
  598 + font-size: 28px;
  599 + }
542 600
543 - .fee-line {  
544 - margin-bottom: 20px;  
545 - color: #000;  
546 - font-size: 28px;  
547 - display: flex; 601 + .fee-line {
  602 + margin-bottom: 20px;
  603 + color: #000;
  604 + font-size: 28px;
  605 + display: flex;
548 606
549 - .fee-title {  
550 - width: 55%;  
551 - } 607 + .fee-title {
  608 + width: 55%;
  609 + }
552 610
553 - .fee-price {  
554 - width: 45%;  
555 - text-align: right;  
556 - } 611 + .fee-price {
  612 + width: 45%;
  613 + text-align: right;
557 } 614 }
558 } 615 }
  616 +}
  617 +
  618 +.submit-container {
  619 + width: 100%;
  620 + height: 180px;
  621 + position: fixed;
  622 + bottom: 0;
  623 + z-index: 9;
559 624
560 - .submit-container { 625 + .agree-container {
561 width: 100%; 626 width: 100%;
562 - height: 180px;  
563 - position: fixed;  
564 - bottom: 0;  
565 - z-index: 9;  
566 -  
567 - .agree-container {  
568 - width: 100%;  
569 - border-top: 1px solid #f0f0f0;  
570 - background-color: #fff;  
571 -  
572 - a {  
573 - display: inline-block;  
574 - text-decoration: underline;  
575 - color: #64ad88;  
576 - } 627 + border-top: 1px solid #f0f0f0;
  628 + background-color: #fff;
577 629
578 - .checkbox {  
579 - display: inline-block;  
580 - } 630 + a {
  631 + display: inline-block;
  632 + text-decoration: underline;
  633 + color: #64ad88;
  634 + }
581 635
582 - /deep/ .cube-checkbox-wrap {  
583 - padding: 10px 0;  
584 - color: #999; 636 + .checkbox {
  637 + display: inline-block;
  638 + }
585 639
586 - .cube-checkbox-label {  
587 - font-size: 0.6rem;  
588 - }  
589 - } 640 + /deep/ .cube-checkbox-wrap {
  641 + padding: 10px 0;
  642 + color: #999;
590 643
591 - /deep/ .cube-checkbox_checked .cube-checkbox-ui i {  
592 - color: #0c2b48; 644 + .cube-checkbox-label {
  645 + font-size: 0.6rem;
593 } 646 }
594 } 647 }
595 648
596 - .submit-button {  
597 - position: relative;  
598 - width: 100%;  
599 - height: 100px;  
600 - background-color: #fff;  
601 -  
602 - button {  
603 - display: block;  
604 - width: 670px;  
605 - height: 88px;  
606 - border-radius: 60px;  
607 - margin: 0 auto;  
608 - color: #fff;  
609 - background-color: #ccc;  
610 - border: none;  
611 - } 649 + /deep/ .cube-checkbox_checked .cube-checkbox-ui i {
  650 + color: #0c2b48;
  651 + }
  652 + }
612 653
613 - &.active button{  
614 - background-color: #0c2b48;  
615 - } 654 + .submit-button {
  655 + position: relative;
  656 + width: 100%;
  657 + height: 100px;
  658 + background-color: #fff;
  659 +
  660 + button {
  661 + display: block;
  662 + width: 670px;
  663 + height: 88px;
  664 + border-radius: 60px;
  665 + margin: 0 auto;
  666 + color: #fff;
  667 + background-color: #ccc;
  668 + border: none;
  669 + }
  670 +
  671 + &.active button {
  672 + background-color: #0c2b48;
616 } 673 }
617 } 674 }
  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;
@@ -59,6 +59,7 @@ export default { @@ -59,6 +59,7 @@ export default {
59 59
60 .title { 60 .title {
61 font-size: 36px; 61 font-size: 36px;
  62 + font-weight: bold;
62 color: #000; 63 color: #000;
63 } 64 }
64 65
@@ -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

1.36 KB | W: | H:

1.75 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin

1.01 KB | W: | H:

1.59 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
@@ -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) {
@@ -368,20 +368,19 @@ export default function() { @@ -368,20 +368,19 @@ export default function() {
368 368
369 buyerPrePublish({commit, dispatch}, {price = 0, storage_id = 0, uid, address_id = ''} = {}) { 369 buyerPrePublish({commit, dispatch}, {price = 0, storage_id = 0, uid, address_id = ''} = {}) {
370 commit(BUYER_ASK_PREPUBLISH_REQUEST); 370 commit(BUYER_ASK_PREPUBLISH_REQUEST);
371 - return this.$api.get('/api/order/buyeraskprepublish', { 371 + return this.$api.get('/api/order/buyeraskprepublish', {
372 price, 372 price,
373 storage_id, 373 storage_id,
374 uid, 374 uid,
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);
@@ -389,9 +388,9 @@ export default function() { @@ -389,9 +388,9 @@ export default function() {
389 }); 388 });
390 }, 389 },
391 390
392 - async buyerPublish({commit, dispatch}, {price = 0, storage_id = 0, uid, address_id = '', time_limit_id = ''} = {}) { 391 + async buyerPublish({commit, dispatch}, {price = 0, storage_id = 0, uid, address_id = '', time_limit_id = ''} = {}) {
393 commit(BUYER_ASK_PUBLISH_REQUEST); 392 commit(BUYER_ASK_PUBLISH_REQUEST);
394 - return this.$api.get('/api/order/buyeraskpublish', { 393 + return this.$api.get('/api/order/buyeraskpublish', {
395 price, 394 price,
396 storage_id, 395 storage_id,
397 uid, 396 uid,
@@ -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,21 +242,23 @@ const bind = { @@ -240,21 +242,23 @@ 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') {
243 - const timeKey = `${config.app}:bindsms:taobao:${info.openId}`;  
244 - let sendTimes = await redis.getAsync(timeKey); 245 + if (isProduction) {
  246 + const timeKey = `${config.app}:bindsms:taobao:${info.openId}`;
  247 + let sendTimes = await redis.getAsync(timeKey);
245 248
246 - sendTimes = (sendTimes || 0) + 1; 249 + sendTimes = (sendTimes || 0) + 1;
247 250
248 - if (sendTimes > MAX_MSG_SEND_TIMES) {  
249 - log.info(`[SMS delivery times exceeded] type: taobao | openId: ${info.openId} | mobile: ${mobile} | ua: ${req.get('user-agent')}`); 251 + if (sendTimes > MAX_MSG_SEND_TIMES) {
  252 + log.info(`[SMS delivery times exceeded] type: taobao | openId: ${info.openId} | mobile: ${mobile} | ua: ${req.get('user-agent')}`);
250 253
251 - return res.json({  
252 - code: 403,  
253 - message: '操作频繁,请稍后重试'  
254 - });  
255 - } 254 + return res.json({
  255 + code: 403,
  256 + message: '操作频繁,请稍后重试'
  257 + });
  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": {