搜索热词,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) { export function hotWords (params) {
return request({ return request({

View File

@ -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 => { //
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 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;

View File

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

View File

@ -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");
} }

View File

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

View File

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

View File

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

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: { watch: {
//
mapSearch: function (val) { mapSearch: function (val) {
this.searchOfMap(val); this.searchOfMap(val);
} }

View File

@ -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);
} }
} }
}; };

View File

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

View File

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

View File

@ -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">
<!-- 猜你喜欢 --> <!-- 猜你喜欢 -->

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> </template>
<script> <script>
import { import { getPwdStatus } from '@/api/account';
getPwdStatus
} from '@/api/account';
export default { export default {
name: 'AccountSafe', name: 'AccountSafe',
data () { data () {

View File

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

View File

@ -27,12 +27,15 @@
<td>补充内容</td> <td>补充内容</td>
<td> <td>
<div style="display:flex;align-items:center;"> <div style="display:flex;align-items:center;">
<template v-if="detail.images">
<div class="demo-upload-list" v-for="(img, index) in detail.images.split(',')" :key="index"> <div class="demo-upload-list" v-for="(img, index) in detail.images.split(',')" :key="index">
<img :src="img"> <img :src="img">
<div class="demo-upload-list-cover"> <div class="demo-upload-list-cover">
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon> <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;">
<template v-if="detail.appealImages">
<div class="demo-upload-list" v-for="(img, index) in detail.appealImages.split(',')" :key="index"> <div class="demo-upload-list" v-for="(img, index) in detail.appealImages.split(',')" :key="index">
<img :src="img"> <img :src="img">
<div class="demo-upload-list-cover"> <div class="demo-upload-list-cover">
<Icon type="ios-eye-outline" @click.native="handleView(img)"></Icon> <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;

View File

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

View File

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

View File

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

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位'} {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>

View File

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

View File

@ -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()
}, },

View File

@ -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')
} }
}, },

View File

@ -8,8 +8,7 @@
<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>
@ -47,8 +46,7 @@
<div class="describe">上传投诉凭证最多5张</div> <div class="describe">上传投诉凭证最多5张</div>
</div> </div>
</div> </div>
</li> </div>
</ul>
<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;

View File

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

View File

@ -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,10 +77,11 @@
<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>
@ -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
} }

View File

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

View File

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

View File

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

View File

@ -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) => {
if (params.row.kanjiaSettlementPrice) {
return h( return h(
"div", "div",
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥") 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) => {
if (params.row.pointSettlementPrice){
return h( return h(
"div", "div",
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥") this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
); );
} else {
return h('div','¥0.00')
}
}, },
}, },
{ {

View File

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

View File

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

View File

@ -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) => {
if (params.row.kanjiaSettlementPrice) {
return h( return h(
"div", "div",
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥") 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) => {
if (params.row.pointSettlementPrice){
return h( return h(
"div", "div",
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥") this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
); );
} else {
return h('div','¥0.00')
}
}, },
}, },
{ {