搜索热词,pc端注释,管理端结算单订单号字段错误
parent
96beccad82
commit
ca3cf71c6d
|
@ -60,8 +60,8 @@ export function pintuanMembers (pintuanId) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Number} start 搜索起始下标
|
* 获取搜索热词
|
||||||
* @param {Number} end 搜索结束下标
|
* @param {Number} count 获取搜索热词数量
|
||||||
*/
|
*/
|
||||||
export function hotWords (params) {
|
export function hotWords (params) {
|
||||||
return request({
|
return request({
|
||||||
|
|
|
@ -81,16 +81,26 @@ export default {
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.searchData = this.$route.query.keyword
|
this.searchData = this.$route.query.keyword
|
||||||
|
|
||||||
if (!this.hover) { // 首页顶部固定搜索栏不调用热词接口
|
if (!this.hover) { // 首页顶部固定搜索栏不调用热词接口
|
||||||
hotWords({start: 1, end: 5}).then(res => {
|
// 搜索热词每一小时请求一次
|
||||||
if (res.success) this.promotionTags = res.result
|
const reloadTime = this.Cookies.getItem('hotWordsReloadTime')
|
||||||
})
|
const time = new Date().getTime() - 60*60*1000
|
||||||
|
if (!reloadTime) {
|
||||||
|
hotWords({count: 5}).then(res => {
|
||||||
|
if (res.success) this.promotionTags = res.result
|
||||||
|
})
|
||||||
|
this.Cookies.setItem('hotWordsReloadTime',new Date().getTime())
|
||||||
|
} else if (reloadTime && time > reloadTime) {
|
||||||
|
hotWords({count: 5}).then(res => {
|
||||||
|
if (res.success) this.promotionTags = res.result
|
||||||
|
})
|
||||||
|
this.Cookies.setItem('hotWordsReloadTime',new Date().getTime())
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.container {
|
.container {
|
||||||
margin: 30px auto;
|
margin: 30px auto;
|
||||||
|
|
|
@ -53,10 +53,10 @@ export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
guideArr: [ // 导航链接
|
guideArr: [ // 导航链接
|
||||||
[ '购物指南', '购物流程', '会员介绍', '生活旅行', '常见问题', '大家电', '联系客服' ],
|
[ '购物指南', '购物流程', '会员介绍', '生活旅行', '常见问题' ],
|
||||||
[ '配送方式', '上门自提', '211限时达', '配送服务查询', '收取标准', '海外配送' ],
|
[ '配送方式', '上门自提', '配送服务查询', '收取标准', '物流规则' ],
|
||||||
[ '支付方式', '货到付款', '在线支付', '分期付款', '邮局汇款', '公司转账' ],
|
[ '支付方式', '在线支付', '公司转账', '余额支付', '积分支付' ],
|
||||||
[ '售后服务', '售后政策', '价格保护', '退款说明', '返修/退换货', '取消订单' ]
|
[ '售后服务', '售后政策', '退款说明', '返修/退货', '取消订单' ]
|
||||||
],
|
],
|
||||||
moreLink: ['关于我们', '联系我们', '联系客服', '商家帮助', '隐私政策'], // 更多链接
|
moreLink: ['关于我们', '联系我们', '联系客服', '商家帮助', '隐私政策'], // 更多链接
|
||||||
year: new Date().getFullYear() // 当前年份
|
year: new Date().getFullYear() // 当前年份
|
||||||
|
@ -77,7 +77,7 @@ export default {
|
||||||
/*****************************底 部 开 始*****************************/
|
/*****************************底 部 开 始*****************************/
|
||||||
.footer {
|
.footer {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 450px;
|
height: 380px;
|
||||||
padding-top: 30px;
|
padding-top: 30px;
|
||||||
|
|
||||||
@include background_color($light_background_color);
|
@include background_color($light_background_color);
|
||||||
|
@ -124,7 +124,6 @@ export default {
|
||||||
}
|
}
|
||||||
.servece-type {
|
.servece-type {
|
||||||
margin: 15px auto;
|
margin: 15px auto;
|
||||||
height: 200px;
|
|
||||||
width: 800px;
|
width: 800px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
|
|
@ -187,7 +187,6 @@ export default {
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
console.log(selectedSkuId);
|
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/goodsDetail',
|
path: '/goodsDetail',
|
||||||
query: { skuId: selectedSkuId.skuId, goodsId: this.skuDetail.goodsId }
|
query: { skuId: selectedSkuId.skuId, goodsId: this.skuDetail.goodsId }
|
||||||
|
@ -235,22 +234,6 @@ export default {
|
||||||
this.loading1 = false;
|
this.loading1 = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
pointPay () { // 积分购买
|
|
||||||
const params = {
|
|
||||||
num: this.count,
|
|
||||||
skuId: this.skuDetail.id,
|
|
||||||
cartType: 'BUY_NOW'
|
|
||||||
};
|
|
||||||
this.loading1 = true;
|
|
||||||
addCartGoods(params).then(res => {
|
|
||||||
this.loading1 = false;
|
|
||||||
if (res.success) {
|
|
||||||
this.$router.push({path: '/pay', query: {way: 'POINT'}});
|
|
||||||
} else {
|
|
||||||
this.$Message.warning(res.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
async collect () { // 收藏商品
|
async collect () { // 收藏商品
|
||||||
if (this.isCollected) {
|
if (this.isCollected) {
|
||||||
let cancel = await cancelCollect('GOODS', this.skuDetail.id)
|
let cancel = await cancelCollect('GOODS', this.skuDetail.id)
|
||||||
|
@ -266,10 +249,9 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 格式化数据
|
||||||
formatSku (list) {
|
formatSku (list) {
|
||||||
// 格式化数据
|
|
||||||
let arr = [{}];
|
let arr = [{}];
|
||||||
|
|
||||||
list.forEach((item, index) => {
|
list.forEach((item, index) => {
|
||||||
item.specValues.forEach((spec, specIndex) => {
|
item.specValues.forEach((spec, specIndex) => {
|
||||||
let name = spec.specName;
|
let name = spec.specName;
|
||||||
|
@ -347,7 +329,6 @@ export default {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
this.formatSku(this.goodsSpecList);
|
this.formatSku(this.goodsSpecList);
|
||||||
this.promotion()
|
this.promotion()
|
||||||
document.title = this.skuDetail.goodsName
|
document.title = this.skuDetail.goodsName
|
||||||
|
@ -490,10 +471,8 @@ export default {
|
||||||
.item-detail-price-row {
|
.item-detail-price-row {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
// width: 555px;
|
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
// @include background_color($light_background_color);
|
|
||||||
background: url("../../assets/images/goodsDetail/price-bg.png");
|
background: url("../../assets/images/goodsDetail/price-bg.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,15 +39,10 @@
|
||||||
<Dropdown placement="bottom-start">
|
<Dropdown placement="bottom-start">
|
||||||
<router-link to="/cart" target="_blank">
|
<router-link to="/cart" target="_blank">
|
||||||
<span @mouseenter="getCartList">
|
<span @mouseenter="getCartList">
|
||||||
<Icon
|
<Icon size="18" type="ios-cart-outline"></Icon>
|
||||||
size="18"
|
|
||||||
type="ios-cart-outline"
|
|
||||||
></Icon>
|
|
||||||
购物车
|
购物车
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</router-link>
|
</router-link>
|
||||||
|
|
||||||
<DropdownMenu slot="list">
|
<DropdownMenu slot="list">
|
||||||
<div class="shopping-cart-null" style="width:200px" v-show="shoppingCart.length <= 0">
|
<div class="shopping-cart-null" style="width:200px" v-show="shoppingCart.length <= 0">
|
||||||
<Icon type="ios-cart-outline" class="cart-null-icon"></Icon>
|
<Icon type="ios-cart-outline" class="cart-null-icon"></Icon>
|
||||||
|
@ -83,9 +78,6 @@
|
||||||
<li>
|
<li>
|
||||||
<span class="nav-item" @click="shopEntry">店铺入驻</span>
|
<span class="nav-item" @click="shopEntry">店铺入驻</span>
|
||||||
</li>
|
</li>
|
||||||
<!-- <li>
|
|
||||||
<router-link to="/feedback">意见反馈</router-link>
|
|
||||||
</li>-->
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -104,21 +96,17 @@ export default {
|
||||||
|
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
// 主题颜色切换
|
|
||||||
themeType: 'light',
|
|
||||||
userInfo: {}, // 用户信息
|
userInfo: {}, // 用户信息
|
||||||
shoppingCart: [] // 购物车
|
shoppingCart: [] // 购物车
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
// 购物车商品数量
|
||||||
cartNum () {
|
cartNum () {
|
||||||
return this.$store.state.cartNum;
|
return this.$store.state.cartNum;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
changeCity (city) { // 选择所在城市
|
|
||||||
this.city = city;
|
|
||||||
},
|
|
||||||
goToPay () { // 跳转购物车
|
goToPay () { // 跳转购物车
|
||||||
let url = this.$router.resolve({
|
let url = this.$router.resolve({
|
||||||
path: '/cart'
|
path: '/cart'
|
||||||
|
@ -140,7 +128,7 @@ export default {
|
||||||
this.$router.push('/login');
|
this.$router.push('/login');
|
||||||
},
|
},
|
||||||
goUserCenter (path) {
|
goUserCenter (path) {
|
||||||
// 跳转我的订单,我的足迹
|
// 跳转我的订单,我的足迹、收藏等
|
||||||
if (this.userInfo.username) {
|
if (this.userInfo.username) {
|
||||||
this.$router.push({ path: path });
|
this.$router.push({ path: path });
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -18,7 +18,7 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
cartNum () { // 购物车数量
|
cartNum () { // 购物车商品数量
|
||||||
return this.$store.state.cartNum
|
return this.$store.state.cartNum
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -70,6 +70,7 @@ export default {
|
||||||
},
|
},
|
||||||
props: ['invoiceData'],
|
props: ['invoiceData'],
|
||||||
watch: {
|
watch: {
|
||||||
|
// 回显的发票信息
|
||||||
invoiceData: {
|
invoiceData: {
|
||||||
handler (val) {
|
handler (val) {
|
||||||
this.invoiceForm = { ...val };
|
this.invoiceForm = { ...val };
|
||||||
|
@ -123,7 +124,7 @@ export default {
|
||||||
|
|
||||||
return flage;
|
return flage;
|
||||||
},
|
},
|
||||||
|
// 保存发票信息
|
||||||
async submit () {
|
async submit () {
|
||||||
if (this.save()) {
|
if (this.save()) {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="wrapper">
|
|
||||||
<card _Title="猜你喜欢" :_Size="16"> </card>
|
|
||||||
|
|
||||||
<Row :gutter="12" class="likeList">
|
|
||||||
<Col
|
|
||||||
:span="4"
|
|
||||||
class="likeItem"
|
|
||||||
v-for="(item, index) in goodsData"
|
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
<img :src="item.img" alt="" />
|
|
||||||
<div class="likeTitle">{{ item.title }}</div>
|
|
||||||
<div class="likePrice">{{ item.price | unitPrice }}</div>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: 'like',
|
|
||||||
data () {
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
.wrapper {
|
|
||||||
@include white_background_color();
|
|
||||||
}
|
|
||||||
.likeList {
|
|
||||||
padding: 0 12px;
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
|
|
||||||
> .likeItem {
|
|
||||||
/*width: 210px;*/
|
|
||||||
/*margin: 10px 5px;*/
|
|
||||||
|
|
||||||
> img {
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
> .likeTitle,
|
|
||||||
.likePrice {
|
|
||||||
margin: 6px 0;
|
|
||||||
text-align: center;
|
|
||||||
display: -webkit-box;
|
|
||||||
|
|
||||||
-webkit-box-orient: vertical;
|
|
||||||
|
|
||||||
-webkit-line-clamp: 2;
|
|
||||||
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
> .likePrice {
|
|
||||||
color: $theme_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -53,6 +53,7 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
// 监听搜索框搜索地图
|
||||||
mapSearch: function (val) {
|
mapSearch: function (val) {
|
||||||
this.searchOfMap(val);
|
this.searchOfMap(val);
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,7 +167,6 @@ export default {
|
||||||
watch: {
|
watch: {
|
||||||
addressId: {
|
addressId: {
|
||||||
handler: function (v) {
|
handler: function (v) {
|
||||||
console.log(v);
|
|
||||||
if (v) {
|
if (v) {
|
||||||
this.reviewData();
|
this.reviewData();
|
||||||
} else {
|
} else {
|
||||||
|
@ -175,9 +174,6 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
immediate: true
|
immediate: true
|
||||||
},
|
|
||||||
addr (v) {
|
|
||||||
console.log(v);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -12,7 +12,7 @@ export default {
|
||||||
* 如果不使用,则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
|
* 如果不使用,则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
|
||||||
* 用来在菜单中显示文字
|
* 用来在菜单中显示文字
|
||||||
*/
|
*/
|
||||||
useI18n: true,
|
useI18n: false,
|
||||||
/**
|
/**
|
||||||
* @description api请求基础路径
|
* @description api请求基础路径
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
:open-names="openName"
|
:open-names="openName"
|
||||||
@on-select="onSelect"
|
@on-select="onSelect"
|
||||||
>
|
>
|
||||||
<!-- 循环导航栏 -->
|
<!-- 循环导航栏 -->
|
||||||
<Submenu
|
<Submenu
|
||||||
v-show="menu.children"
|
v-show="menu.children"
|
||||||
v-for="(menu, index) in list"
|
v-for="(menu, index) in list"
|
||||||
|
@ -34,7 +34,6 @@
|
||||||
>{{ chlidren.articleCategoryName }}</MenuItem
|
>{{ chlidren.articleCategoryName }}</MenuItem
|
||||||
>
|
>
|
||||||
</Submenu>
|
</Submenu>
|
||||||
|
|
||||||
</Menu>
|
</Menu>
|
||||||
</Sider>
|
</Sider>
|
||||||
<Layout class="layout ml_10">
|
<Layout class="layout ml_10">
|
||||||
|
|
|
@ -30,11 +30,11 @@
|
||||||
<div class="userBox">
|
<div class="userBox">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<!-- 我的订单组件 -->
|
<!-- 我的订单组件 -->
|
||||||
<myOrderPage :paging="false" :homePage="true" />
|
<myOrderPage :homePage="true" />
|
||||||
</div>
|
</div>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<!-- 近期收藏 -->
|
<!-- 近期收藏 -->
|
||||||
<myFavorites :paging="false" :homePage="true" />
|
<myFavorites :homePage="true" />
|
||||||
</div>
|
</div>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<!-- 猜你喜欢 -->
|
<!-- 猜你喜欢 -->
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="wrapper">
|
|
||||||
<card _Title="账号绑定"/>
|
|
||||||
<div>
|
|
||||||
<Row class="bindItem">
|
|
||||||
<Col :span="2">
|
|
||||||
|
|
||||||
</Col>
|
|
||||||
<Col :span="16">
|
|
||||||
<div class="setDivItem">
|
|
||||||
绑定QQ
|
|
||||||
</div>
|
|
||||||
<div class="setDivItem theme">
|
|
||||||
添加QQ号可以使用QQ登录
|
|
||||||
</div>
|
|
||||||
</Col>
|
|
||||||
<Col :span="4">
|
|
||||||
<Button>添加绑定</Button>
|
|
||||||
</Col>
|
|
||||||
</Row>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: 'AccountBind',
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
.bindItem {
|
|
||||||
border-bottom: 1px solid $border_color;
|
|
||||||
padding: 16px 0;
|
|
||||||
/deep/ .ivu-col {
|
|
||||||
padding: 8px 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.setDivItem {
|
|
||||||
line-height: 1.75;
|
|
||||||
}
|
|
||||||
/deep/ .ivu-col-span-2, .ivu-col-span-4 {
|
|
||||||
text-align: center;
|
|
||||||
color: $theme_color;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -20,9 +20,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import { getPwdStatus } from '@/api/account';
|
||||||
getPwdStatus
|
|
||||||
} from '@/api/account';
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AccountSafe',
|
name: 'AccountSafe',
|
||||||
data () {
|
data () {
|
||||||
|
|
|
@ -28,9 +28,6 @@
|
||||||
<div class="order-name hover-color" @click="linkTo(`/goodsDetail?goodsId=${item.goodsId}&skuId=${item.skuId}`)">
|
<div class="order-name hover-color" @click="linkTo(`/goodsDetail?goodsId=${item.goodsId}&skuId=${item.skuId}`)">
|
||||||
{{item.goodsName}}
|
{{item.goodsName}}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
x1
|
|
||||||
</div>
|
|
||||||
</i-col>
|
</i-col>
|
||||||
<i-col span="4">{{item.createBy | secrecyMobile}}</i-col>
|
<i-col span="4">{{item.createBy | secrecyMobile}}</i-col>
|
||||||
<i-col span="4">
|
<i-col span="4">
|
||||||
|
@ -54,6 +51,7 @@
|
||||||
<Page :total="total" @on-change="changePageNum"
|
<Page :total="total" @on-change="changePageNum"
|
||||||
@on-page-size-change="changePageSize"
|
@on-page-size-change="changePageSize"
|
||||||
:page-size="params.pageSize"
|
:page-size="params.pageSize"
|
||||||
|
show-total
|
||||||
show-sizer>
|
show-sizer>
|
||||||
</Page>
|
</Page>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -27,12 +27,15 @@
|
||||||
<td>补充内容</td>
|
<td>补充内容</td>
|
||||||
<td>
|
<td>
|
||||||
<div style="display:flex;align-items:center;">
|
<div style="display:flex;align-items:center;">
|
||||||
<div class="demo-upload-list" v-for="(img, index) in detail.images.split(',')" :key="index">
|
<template v-if="detail.images">
|
||||||
<img :src="img">
|
<div class="demo-upload-list" v-for="(img, index) in detail.images.split(',')" :key="index">
|
||||||
<div class="demo-upload-list-cover">
|
<img :src="img">
|
||||||
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
|
<div class="demo-upload-list-cover">
|
||||||
|
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</template>
|
||||||
|
<div v-else>暂无</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -53,12 +56,15 @@
|
||||||
<td>
|
<td>
|
||||||
|
|
||||||
<div style="display:flex;align-items:center;">
|
<div style="display:flex;align-items:center;">
|
||||||
<div class="demo-upload-list" v-for="(img, index) in detail.appealImages.split(',')" :key="index">
|
<template v-if="detail.appealImages">
|
||||||
<img :src="img">
|
<div class="demo-upload-list" v-for="(img, index) in detail.appealImages.split(',')" :key="index">
|
||||||
<div class="demo-upload-list-cover">
|
<img :src="img">
|
||||||
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
|
<div class="demo-upload-list-cover">
|
||||||
|
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</template>
|
||||||
|
<div v-else>暂无</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -73,7 +79,7 @@
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<Alert class="l_title" show-icon type="warning">对话详情</Alert>
|
<Alert class="l_title" show-icon type="warning">对话详情</Alert>
|
||||||
<div class="speak-way" v-if="detail.orderComplaintCommunications.length">
|
<div class="speak-way" v-if="detail.orderComplaintCommunications && detail.orderComplaintCommunications.length">
|
||||||
<div
|
<div
|
||||||
class="speak-msg seller"
|
class="speak-msg seller"
|
||||||
:class="{'speak-buyer': item.owner == 'BUYER', 'speak-platform': item.owner == 'PLATFORM', 'speak-seller': item.owner == 'STORE',}"
|
:class="{'speak-buyer': item.owner == 'BUYER', 'speak-platform': item.owner == 'PLATFORM', 'speak-seller': item.owner == 'STORE',}"
|
||||||
|
@ -96,7 +102,7 @@
|
||||||
<td>回复:</td>
|
<td>回复:</td>
|
||||||
<td><label>
|
<td><label>
|
||||||
<input type="textarea" maxlength="200" :rows="4" clearable
|
<input type="textarea" maxlength="200" :rows="4" clearable
|
||||||
style="width:260px" v-model="params.content"></input>
|
style="width:260px" v-model="params.content" />
|
||||||
</label></td>
|
</label></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -124,6 +130,7 @@ export default {
|
||||||
visible: false, // 图片预览
|
visible: false, // 图片预览
|
||||||
previewImage: '', // 预览图片地址
|
previewImage: '', // 预览图片地址
|
||||||
loading: false, // 加载状态
|
loading: false, // 加载状态
|
||||||
|
submitLoading: false, // 回复消息loading
|
||||||
// 状态
|
// 状态
|
||||||
statusLabel: {
|
statusLabel: {
|
||||||
NO_APPLY: '未申请',
|
NO_APPLY: '未申请',
|
||||||
|
@ -163,6 +170,7 @@ export default {
|
||||||
this.$Message.error('请填写对话内容');
|
this.$Message.error('请填写对话内容');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
this.submitLoading = true;
|
||||||
this.params.complainId = this.$route.query.id;
|
this.params.complainId = this.$route.query.id;
|
||||||
communication(this.params).then((res) => {
|
communication(this.params).then((res) => {
|
||||||
this.submitLoading = false;
|
this.submitLoading = false;
|
||||||
|
|
|
@ -29,18 +29,10 @@
|
||||||
<div class="order-name hover-color" @click="linkTo(`/goodsDetail?goodsId=${item.goodsId}&skuId=${item.skuId}`)">
|
<div class="order-name hover-color" @click="linkTo(`/goodsDetail?goodsId=${item.goodsId}&skuId=${item.skuId}`)">
|
||||||
{{item.goodsName}}
|
{{item.goodsName}}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
x1
|
|
||||||
</div>
|
|
||||||
</i-col>
|
</i-col>
|
||||||
<i-col span="4">{{statusLabel[item.complainStatus]}}</i-col>
|
<i-col span="4">{{statusLabel[item.complainStatus]}}</i-col>
|
||||||
<i-col span="4">
|
<i-col span="4">
|
||||||
<Tooltip >
|
<div class="content">{{item.complainTopic}}</div>
|
||||||
<div class="content">{{item.content}}</div>
|
|
||||||
<div style="white-space: normal;" slot="content">
|
|
||||||
{{item.content}}
|
|
||||||
</div>
|
|
||||||
</Tooltip>
|
|
||||||
</i-col>
|
</i-col>
|
||||||
<i-col span="4">
|
<i-col span="4">
|
||||||
<Tooltip >
|
<Tooltip >
|
||||||
|
@ -60,6 +52,7 @@
|
||||||
<Page :total="total" @on-change="changePageNum"
|
<Page :total="total" @on-change="changePageNum"
|
||||||
@on-page-size-change="changePageSize"
|
@on-page-size-change="changePageSize"
|
||||||
:page-size="params.pageSize"
|
:page-size="params.pageSize"
|
||||||
|
show-total
|
||||||
show-sizer>
|
show-sizer>
|
||||||
</Page>
|
</Page>
|
||||||
</div>
|
</div>
|
||||||
|
@ -193,4 +186,7 @@ export default {
|
||||||
color: $theme_color;
|
color: $theme_color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.page-size{
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -237,7 +237,7 @@ export default {
|
||||||
this.withdrawApplyModal = false
|
this.withdrawApplyModal = false
|
||||||
this.price = 0;
|
this.price = 0;
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$Message.success('提现成功')
|
this.$Message.success('申请已提交,请等待审核')
|
||||||
this.distribution()
|
this.distribution()
|
||||||
} else {
|
} else {
|
||||||
this.$Message.error(res.message)
|
this.$Message.error(res.message)
|
||||||
|
@ -333,27 +333,12 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang='scss'>
|
<style scoped lang='scss'>
|
||||||
.afList{
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
}
|
|
||||||
.codeImg{
|
|
||||||
|
|
||||||
display: flex;
|
|
||||||
>img{
|
|
||||||
width: 150px;
|
|
||||||
height: 150px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.mb_40{margin-bottom: 40px;}
|
|
||||||
.box {
|
.box {
|
||||||
margin: 20px 0;
|
margin: 20px 0;
|
||||||
}
|
}
|
||||||
.page-size {
|
.page-size {
|
||||||
margin: 15px 0px;
|
margin: 15px 0px;
|
||||||
display: flex;
|
text-align: right;
|
||||||
justify-content: flex-end;
|
|
||||||
align-items: center;
|
|
||||||
}
|
}
|
||||||
.account-price {
|
.account-price {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
@ -361,12 +346,6 @@ export default {
|
||||||
.subTips {
|
.subTips {
|
||||||
@include sub_color($light_sub_color);
|
@include sub_color($light_sub_color);
|
||||||
}
|
}
|
||||||
.account-btns {
|
|
||||||
margin: 10px 0;
|
|
||||||
}
|
|
||||||
.ivu-btn {
|
|
||||||
margin: 0 4px;
|
|
||||||
}
|
|
||||||
.fontsize_48 {
|
.fontsize_48 {
|
||||||
font-size: 48px;
|
font-size: 48px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,10 +37,6 @@ import { collectList, cancelCollect } from '@/api/member.js'
|
||||||
export default {
|
export default {
|
||||||
name: 'Favorites',
|
name: 'Favorites',
|
||||||
props: {
|
props: {
|
||||||
paging: {
|
|
||||||
type: Boolean,
|
|
||||||
default: true
|
|
||||||
},
|
|
||||||
homePage: {
|
homePage: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
|
|
|
@ -1,125 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="wrapper">
|
|
||||||
<card _Title="我的发票"></card>
|
|
||||||
<empty v-if="list.length===0" />
|
|
||||||
<div v-else>
|
|
||||||
<Button size="small" @click="invoiceAvailable = true">新增发票</Button>
|
|
||||||
<div class="receipt-item" v-for="(item,index) in list" :key="index">
|
|
||||||
<p><span>发票抬头:</span>{{item.receiptTitle}}</p>
|
|
||||||
<p><span>发票内容:</span> {{item.receiptContent}}</p>
|
|
||||||
<p><span>纳税人识别号:</span> {{item.taxpayerId}}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<Modal v-model="invoiceAvailable" width="600" footer-hide>
|
|
||||||
<Form
|
|
||||||
:model="form"
|
|
||||||
ref="form"
|
|
||||||
label-position="left"
|
|
||||||
:rules="ruleInline"
|
|
||||||
:label-width="110"
|
|
||||||
>
|
|
||||||
<FormItem label="发票类型">
|
|
||||||
<RadioGroup v-model="form.type" type="button" button-style="solid">
|
|
||||||
<Radio :label="2">单位</Radio>
|
|
||||||
</RadioGroup>
|
|
||||||
</FormItem>
|
|
||||||
<FormItem
|
|
||||||
label="发票抬头"
|
|
||||||
prop="receiptTitle"
|
|
||||||
>
|
|
||||||
<i-input v-model="form.receiptTitle"></i-input>
|
|
||||||
</FormItem>
|
|
||||||
<FormItem
|
|
||||||
label="纳税人识别号"
|
|
||||||
prop="taxpayerId"
|
|
||||||
>
|
|
||||||
<i-input v-model="form.taxpayerId"></i-input>
|
|
||||||
</FormItem>
|
|
||||||
<FormItem label="发票内容">
|
|
||||||
<RadioGroup v-model="form.receiptContent" type="button" button-style="solid">
|
|
||||||
<Radio label="商品明细">商品明细</Radio>
|
|
||||||
</RadioGroup>
|
|
||||||
</FormItem>
|
|
||||||
</Form>
|
|
||||||
<div style="text-align: center">
|
|
||||||
<Button type="primary" :loading="loading" @click="save">保存发票信息</Button>
|
|
||||||
<Button type="default" @click="invoiceAvailable = false">取消</Button>
|
|
||||||
</div>
|
|
||||||
</Modal>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { receiptList, saveReceipt } from '@/api/member.js';
|
|
||||||
import { TINumber } from '@/plugins/RegExp.js';
|
|
||||||
export default {
|
|
||||||
name: 'Invoice',
|
|
||||||
data () {
|
|
||||||
return {
|
|
||||||
list: [], // 发票列表
|
|
||||||
form: { // 添加发票表单
|
|
||||||
type: 2,
|
|
||||||
receiptTitle: '', // 发票抬头
|
|
||||||
taxpayerId: '', // 纳税人识别号
|
|
||||||
receiptContent: '商品明细'
|
|
||||||
},
|
|
||||||
ruleInline: { // 验证规则
|
|
||||||
receiptTitle: [{ required: true, message: '请填写公司名称' }],
|
|
||||||
taxpayerId: [
|
|
||||||
{ required: true, message: '请填写纳税人识别号' },
|
|
||||||
{ pattern: TINumber, message: '请填写正确的纳税人识别号' }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
loading: false, // 加载状态
|
|
||||||
invoiceAvailable: false // 添加发票模态框显隐
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted () {
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
getList () { // 获取发票列表
|
|
||||||
receiptList().then(res => {
|
|
||||||
this.list = res.result.records;
|
|
||||||
})
|
|
||||||
},
|
|
||||||
save () { // 保存发票
|
|
||||||
this.$refs.form.validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
this.loading = true;
|
|
||||||
let params = {
|
|
||||||
receiptTitle: this.form.receiptTitle,
|
|
||||||
taxpayerId: this.form.taxpayerId,
|
|
||||||
receiptContent: this.form.receiptContent
|
|
||||||
};
|
|
||||||
saveReceipt(params).then((res) => {
|
|
||||||
this.loading = false;
|
|
||||||
if (res.success) {
|
|
||||||
this.getList();
|
|
||||||
this.resetData();
|
|
||||||
this.invoiceAvailable = false;
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
this.loading = false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
resetData () { // 重置表单数据
|
|
||||||
this.$refs.form.resetFields();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
.receipt-item {
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 14px;
|
|
||||||
border-bottom: 1px solid #eee;
|
|
||||||
|
|
||||||
> p {
|
|
||||||
padding: 12px 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -126,7 +126,7 @@ export default {
|
||||||
{type: 'string', min: 6, message: '密码不能少于6位'}
|
{type: 'string', min: 6, message: '密码不能少于6位'}
|
||||||
],
|
],
|
||||||
againPassword: [
|
againPassword: [
|
||||||
{required: true, message: '请输入新密码', trigger: 'blur'},
|
{required: true, message: '请确认新密码', trigger: 'blur'},
|
||||||
{type: 'string', min: 6, message: '密码不能少于6位'}
|
{type: 'string', min: 6, message: '密码不能少于6位'}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -200,13 +200,10 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.phone {
|
.phone {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -10,21 +10,22 @@
|
||||||
:rules="ruleInline"
|
:rules="ruleInline"
|
||||||
>
|
>
|
||||||
<FormItem label="收件人" prop="name">
|
<FormItem label="收件人" prop="name">
|
||||||
<i-input v-model="formData.name" style="width: 600px"></i-input>
|
<i-input v-model="formData.name" placeholder="请输入收件人姓名" style="width: 600px"></i-input>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="收件地区" prop="address">
|
<FormItem label="收件地区" prop="address">
|
||||||
<i-input
|
<i-input
|
||||||
v-model="formData.address"
|
v-model="formData.address"
|
||||||
disabled
|
disabled
|
||||||
|
placeholder="请选择收货地址"
|
||||||
style="width: 600px"
|
style="width: 600px"
|
||||||
></i-input>
|
></i-input>
|
||||||
<Button type="primary" size="small" @click="$refs.map.showMap = true">选择</Button>
|
<Button type="primary" size="small" @click="$refs.map.showMap = true">选择</Button>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="详细地址" prop="detail">
|
<FormItem label="详细地址" prop="detail">
|
||||||
<i-input v-model="formData.detail" style="width: 600px"></i-input>
|
<i-input v-model="formData.detail" placeholder="请输入详细地址" style="width: 600px"></i-input>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="手机号码" prop="mobile">
|
<FormItem label="手机号码" prop="mobile">
|
||||||
<i-input v-model="formData.mobile" style="width: 600px"></i-input>
|
<i-input v-model="formData.mobile" placeholder="请输入收件人手机号" style="width: 600px"></i-input>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="地址别名">
|
<FormItem label="地址别名">
|
||||||
<i-input
|
<i-input
|
||||||
|
|
|
@ -45,7 +45,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<span @click="shopPage(order.shopId)">{{ order.storeName }}</span>
|
<span @click="shopPage(order.shopId)">{{ order.storeName }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -201,7 +200,7 @@ export default {
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
changePageSize (val) { // 修改页数
|
changePageSize (val) { // 修改页数
|
||||||
this.pageNumber = 1;
|
this.params.pageNumber = 1;
|
||||||
this.params.pageSize = val;
|
this.params.pageSize = val;
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
<td>商品处理方式</td><td>{{afterSale.serviceType == 'RETURN_MONEY' ? '退款' : '退货'}}</td>
|
<td>商品处理方式</td><td>{{afterSale.serviceType == 'RETURN_MONEY' ? '退款' : '退货'}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>退款原因</td><td>{{afterSale.reason}}</td>
|
<td>退款原因</td><td>{{afterSale.reasonName}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>问题描述</td><td>{{afterSale.problemDesc}}</td>
|
<td>问题描述</td><td>{{afterSale.problemDesc}}</td>
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { afterSaleDetail, afterSaleLog } from '@/api/member.js';
|
import { afterSaleDetail, afterSaleLog, afterSaleReason } from '@/api/member.js';
|
||||||
import { afterSaleStatusList } from '../enumeration.js'
|
import { afterSaleStatusList } from '../enumeration.js'
|
||||||
export default {
|
export default {
|
||||||
name: 'aftersale-detail',
|
name: 'aftersale-detail',
|
||||||
|
@ -78,6 +78,7 @@ export default {
|
||||||
return {
|
return {
|
||||||
afterSale: {}, // 售后详情数据
|
afterSale: {}, // 售后详情数据
|
||||||
logList: [], // 日志
|
logList: [], // 日志
|
||||||
|
reasonList: [], // 售后原因列表
|
||||||
afterSaleStatusList // 售后状态列表
|
afterSaleStatusList // 售后状态列表
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -87,6 +88,25 @@ export default {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.afterSale = res.result;
|
this.afterSale = res.result;
|
||||||
this.afterSale.serviceName = this.filterOrderStatus(this.afterSale.serviceStatus)
|
this.afterSale.serviceName = this.filterOrderStatus(this.afterSale.serviceStatus)
|
||||||
|
// 如果是原因id,则调接口查询原因中文释义
|
||||||
|
const pattern3 = new RegExp("[0-9]+");
|
||||||
|
if (pattern3.test(this.afterSale.reason)) {
|
||||||
|
this.getReason(this.afterSale.serviceType)
|
||||||
|
} else {
|
||||||
|
this.$set(this.afterSale, 'reasonName', this.afterSale.reason)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getReason (type) { // 获取售后原因
|
||||||
|
afterSaleReason(type).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.reasonList = res.result
|
||||||
|
this.reasonList.forEach(e=> {
|
||||||
|
if (e.id === this.afterSale.reason) {
|
||||||
|
this.$set(this.afterSale, 'reasonName', e.reason)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -99,7 +119,7 @@ export default {
|
||||||
const ob = this.afterSaleStatusList.filter(e => { return e.status === status });
|
const ob = this.afterSaleStatusList.filter(e => { return e.status === status });
|
||||||
if (ob.length) return ob[0].name
|
if (ob.length) return ob[0].name
|
||||||
},
|
},
|
||||||
perviewImg (img) {
|
perviewImg (img) { // 查看图片
|
||||||
window.open(img, '_blank')
|
window.open(img, '_blank')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,47 +8,45 @@
|
||||||
<span class="color999 ml_20" v-if="order.order">{{order.order.paymentTime}}</span>
|
<span class="color999 ml_20" v-if="order.order">{{order.order.paymentTime}}</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<ul class="goods-eval">
|
<div class="goods-eval">
|
||||||
<li >
|
<div class="goods-con">
|
||||||
<div class="goods-con">
|
<img :src="orderGoods.image" class="hover-pointer" alt="" width="100" @click="goGoodsDetail(orderGoods.skuId, orderGoods.goodsId)">
|
||||||
<img :src="orderGoods.image" class="hover-pointer" alt="" width="100" @click="goGoodsDetail(orderGoods.skuId, orderGoods.goodsId)">
|
<p class="hover-pointer color999" @click="goGoodsDetail(orderGoods.skuId, orderGoods.goodsId)">{{orderGoods.goodsName}}</p>
|
||||||
<p class="hover-pointer color999" @click="goGoodsDetail(orderGoods.skuId, orderGoods.goodsId)">{{orderGoods.goodsName}}</p>
|
<p>{{orderGoods.goodsPrice | unitPrice('¥')}}</p>
|
||||||
<p>{{orderGoods.goodsPrice | unitPrice('¥')}}</p>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="eval-con">
|
<div class="eval-con">
|
||||||
<div>
|
<div>
|
||||||
<span class="color999">投诉主题:</span>
|
<span class="color999">投诉主题:</span>
|
||||||
<Select v-model="form.complainTopic" style="width:260px;margin-bottom:10px">
|
<Select v-model="form.complainTopic" style="width:260px;margin-bottom:10px">
|
||||||
<Option v-for="item in reasonList" :value="item.reason" :key="item.id">{{ item.reason }}</Option>
|
<Option v-for="item in reasonList" :value="item.reason" :key="item.id">{{ item.reason }}</Option>
|
||||||
</Select>
|
</Select>
|
||||||
<Input type="textarea" maxlength="500" show-word-limit :rows="4" placeholder="请输入投诉内容" v-model="form.content" />
|
<Input type="textarea" maxlength="500" show-word-limit :rows="4" placeholder="请输入投诉内容" v-model="form.content" />
|
||||||
</div>
|
|
||||||
<div style="display:flex;align-items:center;">
|
|
||||||
<div class="demo-upload-list" v-for="(img, index) in orderGoods.uploadList" :key="index">
|
|
||||||
<img :src="img">
|
|
||||||
<div class="demo-upload-list-cover">
|
|
||||||
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
|
|
||||||
<Icon type="ios-trash-outline" @click.native="handleRemove(index)"></Icon>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<Upload
|
|
||||||
:show-upload-list="false"
|
|
||||||
:on-success="handleSuccess"
|
|
||||||
:before-upload="handleBeforeUpload"
|
|
||||||
:format="['jpg','jpeg','png']"
|
|
||||||
:action="action"
|
|
||||||
:headers="accessToken"
|
|
||||||
style="display: inline-block;width:58px;">
|
|
||||||
<div class="hover-pointer icon-upload" style="">
|
|
||||||
<Icon type="ios-camera" size="20"></Icon>
|
|
||||||
</div>
|
|
||||||
</Upload>
|
|
||||||
<div class="describe">上传投诉凭证,最多5张</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</li>
|
<div style="display:flex;align-items:center;">
|
||||||
</ul>
|
<div class="demo-upload-list" v-for="(img, index) in orderGoods.uploadList" :key="index">
|
||||||
|
<img :src="img">
|
||||||
|
<div class="demo-upload-list-cover">
|
||||||
|
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
|
||||||
|
<Icon type="ios-trash-outline" @click.native="handleRemove(index)"></Icon>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<Upload
|
||||||
|
:show-upload-list="false"
|
||||||
|
:on-success="handleSuccess"
|
||||||
|
:before-upload="handleBeforeUpload"
|
||||||
|
:format="['jpg','jpeg','png']"
|
||||||
|
:action="action"
|
||||||
|
:headers="accessToken"
|
||||||
|
style="display: inline-block;width:58px;">
|
||||||
|
<div class="hover-pointer icon-upload" style="">
|
||||||
|
<Icon type="ios-camera" size="20"></Icon>
|
||||||
|
</div>
|
||||||
|
</Upload>
|
||||||
|
<div class="describe">上传投诉凭证,最多5张</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<Button type="primary" class="mt_10" :loading="loading" @click="save">提交</Button>
|
<Button type="primary" class="mt_10" :loading="loading" @click="save">提交</Button>
|
||||||
<Modal title="View Image" v-model="visible">
|
<Modal title="View Image" v-model="visible">
|
||||||
<img :src="previewImage" v-if="visible" style="width: 100%">
|
<img :src="previewImage" v-if="visible" style="width: 100%">
|
||||||
|
@ -155,10 +153,8 @@ export default {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.goods-eval li{
|
.goods-eval{
|
||||||
display: flex;
|
display: flex;
|
||||||
border-bottom: 1px solid #eee;
|
|
||||||
|
|
||||||
.goods-con {
|
.goods-con {
|
||||||
width: 30%;
|
width: 30%;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
|
|
@ -3,12 +3,10 @@
|
||||||
<card _Title="收货地址" _More="添加新地址" _Src="/home/addAddress"></card>
|
<card _Title="收货地址" _More="添加新地址" _Src="/home/addAddress"></card>
|
||||||
<div class="address-box" v-for="(item, index) in list" :key="index">
|
<div class="address-box" v-for="(item, index) in list" :key="index">
|
||||||
<div class="address-header">
|
<div class="address-header">
|
||||||
<span
|
<span>
|
||||||
>{{ item.name }}
|
{{ item.name }}
|
||||||
<Tag class="ml_10" v-if="item.isDefault" color="red">默认地址</Tag>
|
<Tag class="ml_10" v-if="item.isDefault" color="red">默认地址</Tag>
|
||||||
<Tag class="ml_10" v-if="item.alias" color="warning">{{
|
<Tag class="ml_10" v-if="item.alias" color="warning">{{item.alias}}</Tag>
|
||||||
item.alias
|
|
||||||
}}</Tag>
|
|
||||||
</span>
|
</span>
|
||||||
<div class="address-action">
|
<div class="address-action">
|
||||||
<span @click="edit(item.id)"><Icon type="edit"></Icon>修改</span>
|
<span @click="edit(item.id)"><Icon type="edit"></Icon>修改</span>
|
||||||
|
@ -81,9 +79,6 @@ export default {
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.getAddrList();
|
this.getAddrList();
|
||||||
},
|
|
||||||
components: {
|
|
||||||
card
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -60,10 +60,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<span @click="shopPage(order.storeId)">{{ order.storeName }}</span
|
<span @click="shopPage(order.storeId)">{{ order.storeName }}</span>
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<!-- 订单基础操作 -->
|
<!-- 订单基础操作 -->
|
||||||
|
@ -79,25 +77,26 @@
|
||||||
<Spin size="large" fix v-if="spinShow"></Spin>
|
<Spin size="large" fix v-if="spinShow"></Spin>
|
||||||
</div>
|
</div>
|
||||||
<!-- 分页 -->
|
<!-- 分页 -->
|
||||||
<div class="page-size" v-if="paging">
|
<div class="page-size" v-if="!homePage">
|
||||||
<Page :total="total" @on-change="changePageNum"
|
<Page :total="total" @on-change="changePageNum"
|
||||||
@on-page-size-change="changePageSize"
|
@on-page-size-change="changePageSize"
|
||||||
:page-size="params.pageSize"
|
:page-size="params.pageSize"
|
||||||
|
show-total
|
||||||
show-sizer>
|
show-sizer>
|
||||||
</Page>
|
</Page>
|
||||||
</div>
|
</div>
|
||||||
<!-- 选择售后商品 -->
|
<!-- 选择售后商品 -->
|
||||||
<Modal v-model="afterSaleModal" title="请选择申请售后的商品">
|
<Modal v-model="afterSaleModal" title="请选择申请售后的商品">
|
||||||
<div>
|
<div>
|
||||||
<Table
|
<Table
|
||||||
border
|
border
|
||||||
:columns="afterSaleColumns"
|
:columns="afterSaleColumns"
|
||||||
:data="afterSaleArr"
|
:data="afterSaleArr"
|
||||||
@on-row-click="afterSaleSelect"
|
@on-row-click="afterSaleSelect"
|
||||||
>
|
>
|
||||||
</Table>
|
</Table>
|
||||||
</div>
|
</div>
|
||||||
<div slot="footer"></div>
|
<div slot="footer"></div>
|
||||||
</Modal>
|
</Modal>
|
||||||
<Modal v-model="cancelAvail" title="请选择取消订单原因" @on-ok="sureCancel" @on-cancel="cancelAvail = false">
|
<Modal v-model="cancelAvail" title="请选择取消订单原因" @on-ok="sureCancel" @on-cancel="cancelAvail = false">
|
||||||
<RadioGroup v-model="cancelParams.reason" vertical type="button" button-style="solid">
|
<RadioGroup v-model="cancelParams.reason" vertical type="button" button-style="solid">
|
||||||
|
@ -116,11 +115,7 @@ import { orderStatusList } from '../enumeration.js'
|
||||||
export default {
|
export default {
|
||||||
name: 'MyOrder',
|
name: 'MyOrder',
|
||||||
props: {
|
props: {
|
||||||
paging: {
|
homePage: { // 判断是否个人中心首页展示内容
|
||||||
type: Boolean,
|
|
||||||
default: true
|
|
||||||
},
|
|
||||||
homePage: {
|
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,10 +96,8 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import card from '@/components/card';
|
|
||||||
import { orderDetail, getTraces } from '@/api/order.js';
|
import { orderDetail, getTraces } from '@/api/order.js';
|
||||||
export default {
|
export default {
|
||||||
components: { card },
|
|
||||||
name: 'order-detail',
|
name: 'order-detail',
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -37,7 +37,6 @@ const ApplyAfterSale = resolve => require(['@/pages/home/orderCenter/ApplyAfterS
|
||||||
const Profile = resolve => require(['@/pages/home/memberCenter/Profile'], resolve);
|
const Profile = resolve => require(['@/pages/home/memberCenter/Profile'], resolve);
|
||||||
const AccountSafe = resolve => require(['@/pages/home/memberCenter/AccountSafe'], resolve);
|
const AccountSafe = resolve => require(['@/pages/home/memberCenter/AccountSafe'], resolve);
|
||||||
const ModifyPwd = resolve => require(['@/pages/home/memberCenter/ModifyPwd'], resolve);
|
const ModifyPwd = resolve => require(['@/pages/home/memberCenter/ModifyPwd'], resolve);
|
||||||
const AccountBind = resolve => require(['@/pages/home/memberCenter/AccountBind'], resolve);
|
|
||||||
const Favorites = resolve => require(['@/pages/home/memberCenter/Favorites'], resolve);
|
const Favorites = resolve => require(['@/pages/home/memberCenter/Favorites'], resolve);
|
||||||
const Distribution = resolve => require(['@/pages/home/memberCenter/Distribution'], resolve);
|
const Distribution = resolve => require(['@/pages/home/memberCenter/Distribution'], resolve);
|
||||||
const CommentList = resolve => require(['@/pages/home/memberCenter/CommentList'], resolve); // 评价列表
|
const CommentList = resolve => require(['@/pages/home/memberCenter/CommentList'], resolve); // 评价列表
|
||||||
|
@ -45,7 +44,6 @@ const AddEval = resolve => require(['@/pages/home/memberCenter/evaluation/AddEva
|
||||||
const EvalDetail = resolve => require(['@/pages/home/memberCenter/evaluation/EvalDetail'], resolve);
|
const EvalDetail = resolve => require(['@/pages/home/memberCenter/evaluation/EvalDetail'], resolve);
|
||||||
const ComplainList = resolve => require(['@/pages/home/memberCenter/ComplainList'], resolve);
|
const ComplainList = resolve => require(['@/pages/home/memberCenter/ComplainList'], resolve);
|
||||||
const ComplainDetail = resolve => require(['@/pages/home/memberCenter/ComplainDetail'], resolve);
|
const ComplainDetail = resolve => require(['@/pages/home/memberCenter/ComplainDetail'], resolve);
|
||||||
const Invoice = resolve => require(['@/pages/home/memberCenter/Invoice'], resolve);
|
|
||||||
const Point = resolve => require(['@/pages/home/memberCenter/Point'], resolve);
|
const Point = resolve => require(['@/pages/home/memberCenter/Point'], resolve);
|
||||||
const MsgList = resolve => require(['@/pages/home/memberCenter/memberMsg/MsgList'], resolve);
|
const MsgList = resolve => require(['@/pages/home/memberCenter/memberMsg/MsgList'], resolve);
|
||||||
const MsgDetail = resolve => require(['@/pages/home/memberCenter/memberMsg/MsgDetail'], resolve);
|
const MsgDetail = resolve => require(['@/pages/home/memberCenter/memberMsg/MsgDetail'], resolve);
|
||||||
|
@ -62,12 +60,10 @@ const Home = resolve => require(['@/pages/user/Home'], resolve);
|
||||||
|
|
||||||
const MyShoppingCart = resolve => require(['@/pages/home/MyShoppingCart'], resolve);
|
const MyShoppingCart = resolve => require(['@/pages/home/MyShoppingCart'], resolve);
|
||||||
const Merchant = resolve => require(['@/pages/Merchant'], resolve);
|
const Merchant = resolve => require(['@/pages/Merchant'], resolve);
|
||||||
// const AllCategories = resolve => require(['@/pages/AllCategories'], resolve);
|
|
||||||
const UserMain = resolve => require(['@/pages/home/Main'], resolve);
|
const UserMain = resolve => require(['@/pages/home/Main'], resolve);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 店铺入驻 首页
|
* 店铺入驻
|
||||||
* 店铺入驻 申请页
|
|
||||||
*/
|
*/
|
||||||
const ShopEntry = resolve => require(['@/pages/shopEntry/shop-entry'], resolve);
|
const ShopEntry = resolve => require(['@/pages/shopEntry/shop-entry'], resolve);
|
||||||
|
|
||||||
|
@ -253,11 +249,6 @@ export default new Router({
|
||||||
name: 'ComplainDetail',
|
name: 'ComplainDetail',
|
||||||
component: ComplainDetail
|
component: ComplainDetail
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: 'Invoice',
|
|
||||||
name: 'Invoice',
|
|
||||||
component: Invoice
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: 'AccountSafe',
|
path: 'AccountSafe',
|
||||||
name: 'AccountSafe',
|
name: 'AccountSafe',
|
||||||
|
@ -290,11 +281,6 @@ export default new Router({
|
||||||
name: 'Profile',
|
name: 'Profile',
|
||||||
component: Profile
|
component: Profile
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: 'AccountBind',
|
|
||||||
name: 'AccountBind',
|
|
||||||
component: AccountBind
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: 'AfterSale',
|
path: 'AfterSale',
|
||||||
name: 'AfterSale',
|
name: 'AfterSale',
|
||||||
|
|
|
@ -17,14 +17,14 @@ export default {
|
||||||
* @description api请求基础路径
|
* @description api请求基础路径
|
||||||
*/
|
*/
|
||||||
api_dev: {
|
api_dev: {
|
||||||
// common: "https://common-api.pickmall.cn",
|
common: "https://common-api.pickmall.cn",
|
||||||
// buyer: "https://buyer-api.pickmall.cn",
|
buyer: "https://buyer-api.pickmall.cn",
|
||||||
// seller: "https://store-api.pickmall.cn",
|
seller: "https://store-api.pickmall.cn",
|
||||||
// manager: "https://admin-api.pickmall.cn"
|
manager: "https://admin-api.pickmall.cn"
|
||||||
common: 'http://192.168.0.101:8890',
|
// common: 'http://192.168.0.101:8890',
|
||||||
buyer: 'http://192.168.0.101:8888',
|
// buyer: 'http://192.168.0.101:8888',
|
||||||
seller: 'http://192.168.0.101:8889',
|
// seller: 'http://192.168.0.101:8889',
|
||||||
manager: 'http://192.168.0.101:8887'
|
// manager: 'http://192.168.0.101:8887'
|
||||||
},
|
},
|
||||||
api_prod: {
|
api_prod: {
|
||||||
common: "https://common-api.pickmall.cn",
|
common: "https://common-api.pickmall.cn",
|
||||||
|
|
|
@ -156,7 +156,7 @@ export default {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "订单编号",
|
title: "订单编号",
|
||||||
key: "sn",
|
key: "orderSn",
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
tooltip: true
|
tooltip: true
|
||||||
},
|
},
|
||||||
|
@ -173,22 +173,31 @@ export default {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "砍价商品结算价格",
|
title: "砍价商品结算价格",
|
||||||
key: "kanjiaSettlementPrice",
|
slot: "kanjiaSettlementPrice",
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
return h(
|
if (params.row.kanjiaSettlementPrice) {
|
||||||
"div",
|
return h(
|
||||||
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
|
"div",
|
||||||
);
|
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return h('div','¥0.00')
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "积分商品结算价格",
|
title: "积分商品结算价格",
|
||||||
key: "pointSettlementPrice",
|
key: "pointSettlementPrice",
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
return h(
|
if (params.row.pointSettlementPrice){
|
||||||
"div",
|
return h(
|
||||||
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
|
"div",
|
||||||
);
|
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return h('div','¥0.00')
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -78,6 +78,7 @@
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.label {
|
.label {
|
||||||
|
|
|
@ -133,6 +133,7 @@
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
<p class="item">
|
<p class="item">
|
||||||
|
|
||||||
<span class="label">营业执照号:</span>
|
<span class="label">营业执照号:</span>
|
||||||
<span class="info">{{storeInfo.licenseNum}}</span>
|
<span class="info">{{storeInfo.licenseNum}}</span>
|
||||||
</p>
|
</p>
|
||||||
|
@ -239,6 +240,7 @@
|
||||||
@on-change="selectDateRange"
|
@on-change="selectDateRange"
|
||||||
placeholder="选择起始时间"
|
placeholder="选择起始时间"
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
|
transfer
|
||||||
></DatePicker>
|
></DatePicker>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Button @click="getOrderData" type="primary" icon="ios-search" class="search-btn">搜索</Button>
|
<Button @click="getOrderData" type="primary" icon="ios-search" class="search-btn">搜索</Button>
|
||||||
|
@ -321,6 +323,7 @@
|
||||||
@on-change="selectRefundGoodsDateRange"
|
@on-change="selectRefundGoodsDateRange"
|
||||||
placeholder="选择起始时间"
|
placeholder="选择起始时间"
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
|
transfer
|
||||||
></DatePicker>
|
></DatePicker>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Form-item label="商家名称" prop="storeName">
|
<Form-item label="商家名称" prop="storeName">
|
||||||
|
@ -443,6 +446,7 @@
|
||||||
@on-change="selectRefundDateRange"
|
@on-change="selectRefundDateRange"
|
||||||
placeholder="选择起始时间"
|
placeholder="选择起始时间"
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
|
transfer
|
||||||
></DatePicker>
|
></DatePicker>
|
||||||
</Form-item>
|
</Form-item>
|
||||||
<Form-item label="商家名称" prop="storeName">
|
<Form-item label="商家名称" prop="storeName">
|
||||||
|
|
|
@ -168,7 +168,7 @@ export default {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "订单编号",
|
title: "订单编号",
|
||||||
key: "sn",
|
key: "orderSn",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "订单金额",
|
title: "订单金额",
|
||||||
|
@ -184,20 +184,28 @@ export default {
|
||||||
title: "砍价商品结算价格",
|
title: "砍价商品结算价格",
|
||||||
key: "kanjiaSettlementPrice",
|
key: "kanjiaSettlementPrice",
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
return h(
|
if (params.row.kanjiaSettlementPrice) {
|
||||||
"div",
|
return h(
|
||||||
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
|
"div",
|
||||||
);
|
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return h('div','¥0.00')
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "积分商品结算价格",
|
title: "积分商品结算价格",
|
||||||
key: "pointSettlementPrice",
|
key: "pointSettlementPrice",
|
||||||
render: (h, params) => {
|
render: (h, params) => {
|
||||||
return h(
|
if (params.row.pointSettlementPrice){
|
||||||
"div",
|
return h(
|
||||||
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
|
"div",
|
||||||
);
|
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return h('div','¥0.00')
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue