搜索热词,pc端注释,管理端结算单订单号字段错误

master
mabo 2021-07-30 15:59:14 +08:00
parent 96beccad82
commit ca3cf71c6d
35 changed files with 197 additions and 476 deletions

View File

@ -60,8 +60,8 @@ export function pintuanMembers (pintuanId) {
}
/**
* @param {Number} start 搜索起始下标
* @param {Number} end 搜索结束下标
* 获取搜索热词
* @param {Number} count 获取搜索热词数量
*/
export function hotWords (params) {
return request({

View File

@ -81,16 +81,26 @@ export default {
},
mounted () {
this.searchData = this.$route.query.keyword
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>
<style scoped lang="scss">
.container {
margin: 30px auto;

View File

@ -53,10 +53,10 @@ export default {
data () {
return {
guideArr: [ //
[ '购物指南', '购物流程', '会员介绍', '生活旅行', '常见问题', '大家电', '联系客服' ],
[ '配送方式', '上门自提', '211限时达', '配送服务查询', '收取标准', '海外配送' ],
[ '支付方式', '货到付款', '在线支付', '分期付款', '邮局汇款', '公司转账' ],
[ '售后服务', '售后政策', '价格保护', '退款说明', '返修/退货', '取消订单' ]
[ '购物指南', '购物流程', '会员介绍', '生活旅行', '常见问题' ],
[ '配送方式', '上门自提', '配送服务查询', '收取标准', '物流规则' ],
[ '支付方式', '在线支付', '公司转账', '余额支付', '积分支付' ],
[ '售后服务', '售后政策', '退款说明', '返修/退货', '取消订单' ]
],
moreLink: ['关于我们', '联系我们', '联系客服', '商家帮助', '隐私政策'], //
year: new Date().getFullYear() //
@ -77,7 +77,7 @@ export default {
/*****************************底 部 开 始*****************************/
.footer {
width: 100%;
height: 450px;
height: 380px;
padding-top: 30px;
@include background_color($light_background_color);
@ -124,7 +124,6 @@ export default {
}
.servece-type {
margin: 15px auto;
height: 200px;
width: 800px;
display: flex;
flex-direction: row;

View File

@ -187,7 +187,6 @@ export default {
return i;
}
});
console.log(selectedSkuId);
this.$router.push({
path: '/goodsDetail',
query: { skuId: selectedSkuId.skuId, goodsId: this.skuDetail.goodsId }
@ -235,22 +234,6 @@ export default {
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 () { //
if (this.isCollected) {
let cancel = await cancelCollect('GOODS', this.skuDetail.id)
@ -266,10 +249,9 @@ export default {
}
}
},
//
formatSku (list) {
//
let arr = [{}];
list.forEach((item, index) => {
item.specValues.forEach((spec, specIndex) => {
let name = spec.specName;
@ -347,7 +329,6 @@ export default {
}
})
}
this.formatSku(this.goodsSpecList);
this.promotion()
document.title = this.skuDetail.goodsName
@ -490,10 +471,8 @@ export default {
.item-detail-price-row {
padding: 10px;
display: flex;
// width: 555px;
flex-direction: row;
justify-content: space-between;
// @include background_color($light_background_color);
background: url("../../assets/images/goodsDetail/price-bg.png");
}

View File

@ -39,15 +39,10 @@
<Dropdown placement="bottom-start">
<router-link to="/cart" target="_blank">
<span @mouseenter="getCartList">
<Icon
size="18"
type="ios-cart-outline"
></Icon>
<Icon size="18" type="ios-cart-outline"></Icon>
购物车
</span>
</router-link>
<DropdownMenu slot="list">
<div class="shopping-cart-null" style="width:200px" v-show="shoppingCart.length <= 0">
<Icon type="ios-cart-outline" class="cart-null-icon"></Icon>
@ -83,9 +78,6 @@
<li>
<span class="nav-item" @click="shopEntry"></span>
</li>
<!-- <li>
<router-link to="/feedback">意见反馈</router-link>
</li>-->
</ul>
</div>
</div>
@ -104,21 +96,17 @@ export default {
data () {
return {
//
themeType: 'light',
userInfo: {}, //
shoppingCart: [] //
};
},
computed: {
//
cartNum () {
return this.$store.state.cartNum;
}
},
methods: {
changeCity (city) { //
this.city = city;
},
goToPay () { //
let url = this.$router.resolve({
path: '/cart'
@ -140,7 +128,7 @@ export default {
this.$router.push('/login');
},
goUserCenter (path) {
//
//
if (this.userInfo.username) {
this.$router.push({ path: path });
} else {

View File

@ -18,7 +18,7 @@ export default {
}
},
computed: {
cartNum () { //
cartNum () { //
return this.$store.state.cartNum
}
},

View File

@ -70,6 +70,7 @@ export default {
},
props: ['invoiceData'],
watch: {
//
invoiceData: {
handler (val) {
this.invoiceForm = { ...val };
@ -123,7 +124,7 @@ export default {
return flage;
},
//
async submit () {
if (this.save()) {
this.loading = true;

View File

@ -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>

View File

@ -53,6 +53,7 @@ export default {
};
},
watch: {
//
mapSearch: function (val) {
this.searchOfMap(val);
}

View File

@ -167,7 +167,6 @@ export default {
watch: {
addressId: {
handler: function (v) {
console.log(v);
if (v) {
this.reviewData();
} else {
@ -175,9 +174,6 @@ export default {
}
},
immediate: true
},
addr (v) {
console.log(v);
}
}
};

View File

@ -12,7 +12,7 @@ export default {
* 如果不使用则需要在路由中给需要在菜单中展示的路由设置meta: {title: 'xxx'}
* 用来在菜单中显示文字
*/
useI18n: true,
useI18n: false,
/**
* @description api请求基础路径
*/

View File

@ -17,7 +17,7 @@
:open-names="openName"
@on-select="onSelect"
>
<!-- 循环导航栏 -->
<!-- 循环导航栏 -->
<Submenu
v-show="menu.children"
v-for="(menu, index) in list"
@ -34,7 +34,6 @@
>{{ chlidren.articleCategoryName }}</MenuItem
>
</Submenu>
</Menu>
</Sider>
<Layout class="layout ml_10">

View File

@ -30,11 +30,11 @@
<div class="userBox">
<div class="box">
<!-- 我的订单组件 -->
<myOrderPage :paging="false" :homePage="true" />
<myOrderPage :homePage="true" />
</div>
<div class="box">
<!-- 近期收藏 -->
<myFavorites :paging="false" :homePage="true" />
<myFavorites :homePage="true" />
</div>
<div class="box">
<!-- 猜你喜欢 -->

View File

@ -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>

View File

@ -20,9 +20,7 @@
</template>
<script>
import {
getPwdStatus
} from '@/api/account';
import { getPwdStatus } from '@/api/account';
export default {
name: 'AccountSafe',
data () {

View File

@ -28,9 +28,6 @@
<div class="order-name hover-color" @click="linkTo(`/goodsDetail?goodsId=${item.goodsId}&skuId=${item.skuId}`)">
{{item.goodsName}}
</div>
<div>
x1
</div>
</i-col>
<i-col span="4">{{item.createBy | secrecyMobile}}</i-col>
<i-col span="4">
@ -54,6 +51,7 @@
<Page :total="total" @on-change="changePageNum"
@on-page-size-change="changePageSize"
:page-size="params.pageSize"
show-total
show-sizer>
</Page>
</div>

View File

@ -27,12 +27,15 @@
<td>补充内容</td>
<td>
<div style="display:flex;align-items:center;">
<div class="demo-upload-list" v-for="(img, index) in detail.images.split(',')" :key="index">
<img :src="img">
<div class="demo-upload-list-cover">
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
<template v-if="detail.images">
<div class="demo-upload-list" v-for="(img, index) in detail.images.split(',')" :key="index">
<img :src="img">
<div class="demo-upload-list-cover">
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
</div>
</div>
</div>
</template>
<div v-else></div>
</div>
</td>
</tr>
@ -53,12 +56,15 @@
<td>
<div style="display:flex;align-items:center;">
<div class="demo-upload-list" v-for="(img, index) in detail.appealImages.split(',')" :key="index">
<img :src="img">
<div class="demo-upload-list-cover">
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
<template v-if="detail.appealImages">
<div class="demo-upload-list" v-for="(img, index) in detail.appealImages.split(',')" :key="index">
<img :src="img">
<div class="demo-upload-list-cover">
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon>
</div>
</div>
</div>
</template>
<div v-else></div>
</div>
</td>
</tr>
@ -73,7 +79,7 @@
</table>
<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
class="speak-msg seller"
:class="{'speak-buyer': item.owner == 'BUYER', 'speak-platform': item.owner == 'PLATFORM', 'speak-seller': item.owner == 'STORE',}"
@ -96,7 +102,7 @@
<td>回复</td>
<td><label>
<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>
</tr>
<tr>
@ -124,6 +130,7 @@ export default {
visible: false, //
previewImage: '', //
loading: false, //
submitLoading: false, // loading
//
statusLabel: {
NO_APPLY: '未申请',
@ -163,6 +170,7 @@ export default {
this.$Message.error('请填写对话内容');
return;
}
this.submitLoading = true;
this.params.complainId = this.$route.query.id;
communication(this.params).then((res) => {
this.submitLoading = false;

View File

@ -29,18 +29,10 @@
<div class="order-name hover-color" @click="linkTo(`/goodsDetail?goodsId=${item.goodsId}&skuId=${item.skuId}`)">
{{item.goodsName}}
</div>
<div>
x1
</div>
</i-col>
<i-col span="4">{{statusLabel[item.complainStatus]}}</i-col>
<i-col span="4">
<Tooltip >
<div class="content">{{item.content}}</div>
<div style="white-space: normal;" slot="content">
{{item.content}}
</div>
</Tooltip>
<div class="content">{{item.complainTopic}}</div>
</i-col>
<i-col span="4">
<Tooltip >
@ -60,6 +52,7 @@
<Page :total="total" @on-change="changePageNum"
@on-page-size-change="changePageSize"
:page-size="params.pageSize"
show-total
show-sizer>
</Page>
</div>
@ -193,4 +186,7 @@ export default {
color: $theme_color;
}
}
.page-size{
text-align: right;
}
</style>

View File

@ -237,7 +237,7 @@ export default {
this.withdrawApplyModal = false
this.price = 0;
if (res.success) {
this.$Message.success('提现成功')
this.$Message.success('申请已提交,请等待审核')
this.distribution()
} else {
this.$Message.error(res.message)
@ -333,27 +333,12 @@ export default {
</script>
<style scoped lang='scss'>
.afList{
display: flex;
}
.codeImg{
display: flex;
>img{
width: 150px;
height: 150px;
}
}
.mb_40{margin-bottom: 40px;}
.box {
margin: 20px 0;
}
.page-size {
margin: 15px 0px;
display: flex;
justify-content: flex-end;
align-items: center;
text-align: right;
}
.account-price {
font-weight: bold;
@ -361,12 +346,6 @@ export default {
.subTips {
@include sub_color($light_sub_color);
}
.account-btns {
margin: 10px 0;
}
.ivu-btn {
margin: 0 4px;
}
.fontsize_48 {
font-size: 48px;
}

View File

@ -37,10 +37,6 @@ import { collectList, cancelCollect } from '@/api/member.js'
export default {
name: 'Favorites',
props: {
paging: {
type: Boolean,
default: true
},
homePage: {
type: Boolean,
default: false

View File

@ -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>

View File

@ -126,7 +126,7 @@ export default {
{type: 'string', min: 6, message: '密码不能少于6位'}
],
againPassword: [
{required: true, message: '请输入新密码', trigger: 'blur'},
{required: true, message: '请确认新密码', trigger: 'blur'},
{type: 'string', min: 6, message: '密码不能少于6位'}
]
}
@ -200,13 +200,10 @@ export default {
</script>
<style scoped lang="scss">
.wrapper {
text-align: center;
}
.phone {
text-align: left;
}
</style>

View File

@ -10,21 +10,22 @@
:rules="ruleInline"
>
<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 label="收件地区" prop="address">
<i-input
v-model="formData.address"
disabled
placeholder="请选择收货地址"
style="width: 600px"
></i-input>
<Button type="primary" size="small" @click="$refs.map.showMap = true">选择</Button>
</FormItem>
<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 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 label="地址别名">
<i-input

View File

@ -45,7 +45,6 @@
</div>
</div>
</div>
<div>
<span @click="shopPage(order.shopId)">{{ order.storeName }}</span>
</div>
@ -201,7 +200,7 @@ export default {
this.getList()
},
changePageSize (val) { //
this.pageNumber = 1;
this.params.pageNumber = 1;
this.params.pageSize = val;
this.getList()
},

View File

@ -54,7 +54,7 @@
<td>商品处理方式</td><td>{{afterSale.serviceType == 'RETURN_MONEY' ? '退款' : '退货'}}</td>
</tr>
<tr>
<td>退款原因</td><td>{{afterSale.reason}}</td>
<td>退款原因</td><td>{{afterSale.reasonName}}</td>
</tr>
<tr>
<td>问题描述</td><td>{{afterSale.problemDesc}}</td>
@ -70,7 +70,7 @@
</div>
</template>
<script>
import { afterSaleDetail, afterSaleLog } from '@/api/member.js';
import { afterSaleDetail, afterSaleLog, afterSaleReason } from '@/api/member.js';
import { afterSaleStatusList } from '../enumeration.js'
export default {
name: 'aftersale-detail',
@ -78,6 +78,7 @@ export default {
return {
afterSale: {}, //
logList: [], //
reasonList: [], //
afterSaleStatusList //
};
},
@ -87,6 +88,25 @@ export default {
if (res.success) {
this.afterSale = res.result;
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 });
if (ob.length) return ob[0].name
},
perviewImg (img) {
perviewImg (img) { //
window.open(img, '_blank')
}
},

View File

@ -8,47 +8,45 @@
<span class="color999 ml_20" v-if="order.order">{{order.order.paymentTime}}</span>
</p>
</div>
<ul class="goods-eval">
<li >
<div class="goods-con">
<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>{{orderGoods.goodsPrice | unitPrice('¥')}}</p>
</div>
<div class="goods-eval">
<div class="goods-con">
<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>{{orderGoods.goodsPrice | unitPrice('¥')}}</p>
</div>
<div class="eval-con">
<div>
<span class="color999">投诉主题</span>
<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>
</Select>
<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 class="eval-con">
<div>
<span class="color999">投诉主题</span>
<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>
</Select>
<Input type="textarea" maxlength="500" show-word-limit :rows="4" placeholder="请输入投诉内容" v-model="form.content" />
</div>
</li>
</ul>
<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>
<Button type="primary" class="mt_10" :loading="loading" @click="save"></Button>
<Modal title="View Image" v-model="visible">
<img :src="previewImage" v-if="visible" style="width: 100%">
@ -155,10 +153,8 @@ export default {
font-weight: bold;
}
}
.goods-eval li{
.goods-eval{
display: flex;
border-bottom: 1px solid #eee;
.goods-con {
width: 30%;
padding: 20px;

View File

@ -3,12 +3,10 @@
<card _Title="收货地址" _More="添加新地址" _Src="/home/addAddress"></card>
<div class="address-box" v-for="(item, index) in list" :key="index">
<div class="address-header">
<span
>{{ item.name }}
<span>
{{ item.name }}
<Tag class="ml_10" v-if="item.isDefault" color="red"></Tag>
<Tag class="ml_10" v-if="item.alias" color="warning">{{
item.alias
}}</Tag>
<Tag class="ml_10" v-if="item.alias" color="warning">{{item.alias}}</Tag>
</span>
<div class="address-action">
<span @click="edit(item.id)"><Icon type="edit"></Icon>修改</span>
@ -81,9 +79,6 @@ export default {
},
mounted () {
this.getAddrList();
},
components: {
card
}
};
</script>

View File

@ -60,10 +60,8 @@
</div>
</div>
</div>
<div>
<span @click="shopPage(order.storeId)">{{ order.storeName }}</span
>
<span @click="shopPage(order.storeId)">{{ order.storeName }}</span>
</div>
<div>
<!-- 订单基础操作 -->
@ -79,25 +77,26 @@
<Spin size="large" fix v-if="spinShow"></Spin>
</div>
<!-- 分页 -->
<div class="page-size" v-if="paging">
<div class="page-size" v-if="!homePage">
<Page :total="total" @on-change="changePageNum"
@on-page-size-change="changePageSize"
:page-size="params.pageSize"
show-total
show-sizer>
</Page>
</div>
<!-- 选择售后商品 -->
<Modal v-model="afterSaleModal" title="请选择申请售后的商品">
<div>
<Table
border
:columns="afterSaleColumns"
:data="afterSaleArr"
@on-row-click="afterSaleSelect"
>
</Table>
</div>
<div slot="footer"></div>
<div>
<Table
border
:columns="afterSaleColumns"
:data="afterSaleArr"
@on-row-click="afterSaleSelect"
>
</Table>
</div>
<div slot="footer"></div>
</Modal>
<Modal v-model="cancelAvail" title="请选择取消订单原因" @on-ok="sureCancel" @on-cancel="cancelAvail = false">
<RadioGroup v-model="cancelParams.reason" vertical type="button" button-style="solid">
@ -116,11 +115,7 @@ import { orderStatusList } from '../enumeration.js'
export default {
name: 'MyOrder',
props: {
paging: {
type: Boolean,
default: true
},
homePage: {
homePage: { //
type: Boolean,
default: false
}

View File

@ -96,10 +96,8 @@
</div>
</template>
<script>
import card from '@/components/card';
import { orderDetail, getTraces } from '@/api/order.js';
export default {
components: { card },
name: 'order-detail',
data () {
return {

View File

@ -37,7 +37,6 @@ const ApplyAfterSale = resolve => require(['@/pages/home/orderCenter/ApplyAfterS
const Profile = resolve => require(['@/pages/home/memberCenter/Profile'], resolve);
const AccountSafe = resolve => require(['@/pages/home/memberCenter/AccountSafe'], 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 Distribution = resolve => require(['@/pages/home/memberCenter/Distribution'], 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 ComplainList = resolve => require(['@/pages/home/memberCenter/ComplainList'], 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 MsgList = resolve => require(['@/pages/home/memberCenter/memberMsg/MsgList'], 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 Merchant = resolve => require(['@/pages/Merchant'], resolve);
// const AllCategories = resolve => require(['@/pages/AllCategories'], resolve);
const UserMain = resolve => require(['@/pages/home/Main'], resolve);
/**
* 店铺入驻 首页
* 店铺入驻 申请页
* 店铺入驻
*/
const ShopEntry = resolve => require(['@/pages/shopEntry/shop-entry'], resolve);
@ -253,11 +249,6 @@ export default new Router({
name: 'ComplainDetail',
component: ComplainDetail
},
{
path: 'Invoice',
name: 'Invoice',
component: Invoice
},
{
path: 'AccountSafe',
name: 'AccountSafe',
@ -290,11 +281,6 @@ export default new Router({
name: 'Profile',
component: Profile
},
{
path: 'AccountBind',
name: 'AccountBind',
component: AccountBind
},
{
path: 'AfterSale',
name: 'AfterSale',

View File

@ -17,14 +17,14 @@ export default {
* @description api请求基础路径
*/
api_dev: {
// common: "https://common-api.pickmall.cn",
// buyer: "https://buyer-api.pickmall.cn",
// seller: "https://store-api.pickmall.cn",
// manager: "https://admin-api.pickmall.cn"
common: 'http://192.168.0.101:8890',
buyer: 'http://192.168.0.101:8888',
seller: 'http://192.168.0.101:8889',
manager: 'http://192.168.0.101:8887'
common: "https://common-api.pickmall.cn",
buyer: "https://buyer-api.pickmall.cn",
seller: "https://store-api.pickmall.cn",
manager: "https://admin-api.pickmall.cn"
// common: 'http://192.168.0.101:8890',
// buyer: 'http://192.168.0.101:8888',
// seller: 'http://192.168.0.101:8889',
// manager: 'http://192.168.0.101:8887'
},
api_prod: {
common: "https://common-api.pickmall.cn",

View File

@ -156,7 +156,7 @@ export default {
},
{
title: "订单编号",
key: "sn",
key: "orderSn",
minWidth: 120,
tooltip: true
},
@ -173,22 +173,31 @@ export default {
},
{
title: "砍价商品结算价格",
key: "kanjiaSettlementPrice",
slot: "kanjiaSettlementPrice",
render: (h, params) => {
return h(
"div",
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
);
if (params.row.kanjiaSettlementPrice) {
return h(
"div",
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
);
} else {
return h('div','¥0.00')
}
},
},
{
title: "积分商品结算价格",
key: "pointSettlementPrice",
render: (h, params) => {
return h(
"div",
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
);
if (params.row.pointSettlementPrice){
return h(
"div",
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
);
} else {
return h('div','¥0.00')
}
},
},
{

View File

@ -78,6 +78,7 @@
align-items: flex-start;
line-height: 30px;
margin-bottom: 2px;
position: relative;
}
.label {

View File

@ -133,6 +133,7 @@
</span>
</p>
<p class="item">
<span class="label">营业执照号</span>
<span class="info">{{storeInfo.licenseNum}}</span>
</p>
@ -239,6 +240,7 @@
@on-change="selectDateRange"
placeholder="选择起始时间"
style="width: 200px"
transfer
></DatePicker>
</Form-item>
<Button @click="getOrderData" type="primary" icon="ios-search" class="search-btn">搜索</Button>
@ -321,6 +323,7 @@
@on-change="selectRefundGoodsDateRange"
placeholder="选择起始时间"
style="width: 200px"
transfer
></DatePicker>
</Form-item>
<Form-item label="商家名称" prop="storeName">
@ -443,6 +446,7 @@
@on-change="selectRefundDateRange"
placeholder="选择起始时间"
style="width: 200px"
transfer
></DatePicker>
</Form-item>
<Form-item label="商家名称" prop="storeName">

View File

@ -168,7 +168,7 @@ export default {
},
{
title: "订单编号",
key: "sn",
key: "orderSn",
},
{
title: "订单金额",
@ -184,20 +184,28 @@ export default {
title: "砍价商品结算价格",
key: "kanjiaSettlementPrice",
render: (h, params) => {
return h(
"div",
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
);
if (params.row.kanjiaSettlementPrice) {
return h(
"div",
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
);
} else {
return h('div','¥0.00')
}
},
},
{
title: "积分商品结算价格",
key: "pointSettlementPrice",
render: (h, params) => {
return h(
"div",
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
);
if (params.row.pointSettlementPrice){
return h(
"div",
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
);
} else {
return h('div','¥0.00')
}
},
},
{