Authored by 王水玲

退换货 vue 修改

... ... @@ -70,7 +70,7 @@ router.post('/index/new/decrbundle', indexController.decrBundle); // 购物车
router.get('/index/buynow/orderensure', authMW, disableBFCache, BuyNowController.orderEnsure); // 立即购买订单确认页面
router.post('/index/buynow/ordercompute', authMW, BuyNowController.orderCompute); // 立即购买订单重新计算
router.post('/index/buynow/ordersub', authMW, BuyNowController.orderSub); // 立即购买订单提交
router.get('/index/buynow/selectAddress', authMW, BuyNowController.selectAddress); // 选择地址
router.get('/index/buynow/selectAddress', authMW, csrf, BuyNowController.selectAddress); // 选择地址
router.get('/index/buynow/selectInvoice', authMW, BuyNowController.selectInvoice); // 发票信息
router.get('/index/buynow/selectCoupon', authMW, BuyNowController.selectCoupon); // 选择优惠券页面
router.post('/index/buynow/useCouponCode', BuyNowController.useCouponCode); // [ajax]输入优惠券码使用优惠券
... ...
<div class="my-address-page select-address-page yoho-page">
<div class="page-wrap clearfix">
{{# address}}
<input type="hidden" name="_csrf" value="{{@root.csrfToken}}"/>
<div class="address-item" data-address-id="{{address_id}}" data-is-support="{{is_support}}" data-href="{{../moreUrl}}">
<span class="name">{{{consignee}}}</span>
<span class="tel">{{mobile}}</span>
<p class="address-info">{{area}} {{{address}}}</p>
<p class="address-info" data-address="{{area}} {{address}}">{{area}} {{{address}}}</p>
<div class="action iconfont">
<span class="edit" data-href="/home/addressAct?id={{address_id}}&refer=buynow&product_sku={{../product_sku}}&buy_number={{../buy_number}}">&#xe61e;</span>
<span class="del" data-id="{{address_id}}">&#xe621;</span>
... ...
... ... @@ -178,7 +178,7 @@ router.post('/return/refund/cancel-apply', auth, refund.cancelApply); // 退货
router.get('/return/refund/getCompanyList', auth, refund.getCompanyList); // 获取快递公司
// 换货申请
router.get('/return/exchange', auth, exchange.exchange); // 换货申请
router.get('/return/exchange', auth, csrf, exchange.exchange); // 换货申请
router.get('/return/exchange/order', auth, exchange.order); // AJAX 获取订单 商品
router.get('/return/exchange/delivery', auth, exchange.delivery); // AJAX 获取 退货方式
router.post('/return/exchange/submit', auth, exchange.submit); // AJAX 提交换货 申请
... ...
{{! HOME-换货}}
<div class="return-exchange-page yoho-page">
<div id="exchange">
<input type="hidden" value="{{csrfToken}}" name="_csrf">
<exchange></exchange>
</div>
</div>
... ...
let Vue = require('vue');
let app = require('activity/demo/index.vue');
let app = require('activity/demo/index.vue').default;
new Vue({
el: '#app',
... ...
... ... @@ -22,7 +22,7 @@ $('.address-item').on('click', function() {
address_id: addressId,
consignee: $this.find('.name').text(),
mobile: $this.find('.tel').text(),
address_info: $this.find('.address-info').text(),
address_info: $this.find('.address-info').data('address'),
is_support: $this.data('is-support')
};
... ...
... ... @@ -14,8 +14,7 @@ let $province = $('input[name=province]');
let $provinceCode = $('input[name=provinceCode]');
let $area = $('#area');
let $usernameInput = $areaForm.find('input[name=username]');
let vueAddressAct = require('home/address/address-act.vue');
let vueAddressAct = require('home/address/address-act.vue').default;
let addressVact = new Vue({
el: '#vAddressAct',
... ...
const Vue = require('vue');
const lazyload = require('vue-lazyload');
const exchange = require('home/exchange/exchange.vue');
const exchange = require('home/exchange/exchange.vue').default;
const bus = require('plugin/vue-bus');
const yohoApp = require('yoho-app');
... ...
const Vue = require('vue');
const Logistics = require('home/refund/logistics.vue');
const LogisticsCompany = require('home/refund/logistics-company.vue');
const Logistics = require('home/refund/logistics.vue').default;
const LogisticsCompany = require('home/refund/logistics-company.vue').default;
const bus = require('plugin/vue-bus');
new Vue({
... ...
... ... @@ -6,7 +6,7 @@
'use strict';
require('home/_fraud.css');
const Vue = require('vue');
const refundOrder = require('home/refund/refund-order.vue');
const refundOrder = require('home/refund/refund-order.vue').default;
const infiniteScroll = require('vue-infinite-scroll');
Vue.use(infiniteScroll);
... ...
const Vue = require('vue');
const Status = require('home/refund/refund-status.vue');
const Status = require('home/refund/refund-status.vue').default;
const yohoApp = require('yoho-app');
require('plugin/vue-filter')(Vue);
... ...
const Vue = require('vue');
const lazyload = require('vue-lazyload');
const bus = require('plugin/vue-bus');
const refund = require('home/refund/refund.vue');
const refund = require('home/refund/refund.vue').default;
const vueFilter = require('plugin/vue-filter');
const yohoApp = require('yoho-app');
... ...
... ... @@ -53,8 +53,7 @@
const tip = require('plugin/tip');
const bus = require('plugin/vue-bus');
const modal = require('plugin/modal2');
const addressAct = require('home/address/address-act.vue');
const addressAct = require('home/address/address-act.vue').default;
module.exports = {
props: ['address'],
... ... @@ -62,7 +61,8 @@
return {
addressList: [],
showEditAddress: false,
editAddressInfo: {}
editAddressInfo: {},
csrf: $('input[name=_csrf]').val()
};
},
created() {
... ... @@ -76,11 +76,26 @@
this.reflushAddressList();
},
methods: {
htmlDecode(str) {
str = str || '';
return str
.replace(str ? /&(?!#?\w+;)/g : /&/g, '&amp;')
.replace(/&lt;/g, '<')
.replace(/&gt;/g, '>')
.replace(/&quot;/g, '"')
.replace(/&#39;/g, '\'');
},
reflushAddressList() {
$.ajax({
url: '/home/address.json'
}).then(res => {
if (res && res.address) {
res.address.forEach((item) => {
item.consignee = this.htmlDecode(item.consignee);
item.address = this.htmlDecode(item.address);
return item;
});
this.addressList = res.address;
}
});
... ... @@ -105,7 +120,10 @@
$.ajax({
method: 'POST',
url: '/home/delAddress',
data: {id: id}
data: {
id: id,
_csrf: this.csrf
}
}).then(result => {
if (result.code === 200) {
let lastIndex;
... ... @@ -187,6 +205,8 @@
return;
}
data._csrf = this.csrf;
$.ajax({
method: 'POST',
url: '/home/saveAddress',
... ...
... ... @@ -37,9 +37,9 @@
const loading = require('plugin/loading');
const chosePanel = require('common/chose-panel-new');
const productList = require('home/return/list.vue');
const productList = require('home/return/list.vue').default;
const reasonConfig = require('home/return/reason');
const addressList = require('home/address/list.vue');
const addressList = require('home/address/list.vue').default;
const specialRid = [0, 4, 6, 8];
... ...
... ... @@ -19,8 +19,8 @@
* 2. 更换产品 款式
* 3. 换货 原因
*/
const product = require('home/return/item.vue');
const reason = require('home/return/reason.vue');
const product = require('home/return/item.vue').default;
const reason = require('home/return/reason.vue').default;
const bus = require('plugin/vue-bus');
module.exports = {
... ...
... ... @@ -15,7 +15,7 @@
<script>
const $ = require('yoho-jquery');
const indexList = require('components/tools/index-list.vue');
const indexList = require('components/tools/index-list.vue').default;
const bus = require('plugin/vue-bus');
module.exports = {
... ...
... ... @@ -8,8 +8,8 @@
</template>
<script>
const product = require('home/return/item.vue');
const reason = require('home/return/reason.vue');
const product = require('home/return/item.vue').default;
const reason = require('home/return/reason.vue').default;
module.exports = {
props: ['product', 'refundData'],
... ...
... ... @@ -142,6 +142,15 @@
this.reload();
},
methods: {
htmlDecode(str) {
str = str || '';
return str
.replace(str ? /&(?!#?\w+;)/g : /&/g, '&amp;')
.replace(/&lt;/g, '<')
.replace(/&gt;/g, '>')
.replace(/&quot;/g, '"')
.replace(/&#39;/g, '\'');
},
reload() {
this.id = '';
this.sourceOrderCode = '';
... ... @@ -162,6 +171,9 @@
return;
}
this.detail.consignee_name = this.htmlDecode(this.detail.consignee_name);
this.detail.address = this.htmlDecode(this.detail.address);
this.id = this.detail.id;
this.sourceOrderCode = this.detail.source_order_code;
} else if (res.code !== 500) {
... ...
... ... @@ -40,7 +40,7 @@
const qs = require('yoho-qs');
const modal = require('plugin/modal2');
const returnUtil = require('plugin/util');
const productList = require('home/return/list.vue');
const productList = require('home/return/list.vue').default;
const reasonConfig = require('home/return/reason');
const bus = require('plugin/vue-bus');
const loading = require('plugin/loading');
... ...
... ... @@ -17,9 +17,9 @@
</template>
<script>
const pruduct = require('home/return/item.vue');
const exchangeItem = require('home/exchange/item.vue');
const refundItem = require('home/refund/product.vue');
const pruduct = require('home/return/item.vue').default;
const exchangeItem = require('home/exchange/item.vue').default;
const refundItem = require('home/refund/product.vue').default;
module.exports = {
props: ['list', 'data', 'type'],
... ...
... ... @@ -55,7 +55,7 @@
</template>
<script>
const upload = require('components/tools/upload.vue');
const upload = require('components/tools/upload.vue').default;
const util = require('plugin/util');
const tip = require('plugin/tip');
const reasonConfig = require('home/return/reason');
... ...