订单详情不加载问题

master
lemon橪 2021-07-29 15:49:10 +08:00
commit f63c21b17a
30 changed files with 8747 additions and 8599 deletions

View File

@ -17,13 +17,10 @@
"mv-count-down": "^0.1.15",
"psl": "^1.8.0",
"qs": "^6.9.4",
"swiper": "^5.2.0",
"uuid": "^8.3.2",
"v-distpicker": "^1.0.17",
"view-design": "^4.3.2",
"vue": "^2.5.2",
"vue-awesome": "^4.0.2",
"vue-awesome-swiper": "^4.1.1",
"vue-piczoom": "^1.0.6",
"vue-qr": "^2.3.0",
"vue-router": "^3.0.1",

View File

@ -46,3 +46,14 @@ export function pointGoods (params) {
params
});
}
/**
* 获取积分商品详情
*/
export function pointGoodsDetail (id) {
return request({
url: `/buyer/promotion/pointsGoods/${id}`,
method: Method.GET,
needToken: true,
id
});
}

View File

@ -36,9 +36,11 @@ export default {
},
components: {drawerPage},
computed: {
//
userInfo () {
return Storage.getItem('userInfo');
},
//
cartNum () {
return this.$store.state.cartNum
}

View File

@ -144,6 +144,7 @@ import { addCartGoods } from '@/api/cart.js';
export default {
name: 'ShowGoods',
props: {
//
detail: {
type: Object,
default: null
@ -168,10 +169,7 @@ export default {
isCollected: false //
};
},
components: {
PicZoom,
Promotion
},
components: { PicZoom, Promotion },
methods: {
select (index, value) { //
this.$set(this.currentSelceted, index, value);

View File

@ -1,23 +1,6 @@
<template>
<div>
<div class="item-intro-show">
<!-- <div class="item-intro-recommend">
<div class="item-recommend-title">
<p>店铺热销</p>
</div>
<div class="item-intro-recommend-column">
<div class="item-recommend-column" v-for="(item, index) in hotList" :key="index">
<div class="item-recommend-img">
<img :src="item.img" alt="">
</div>
<div class="item-recommend-intro">
<span>
<span class="item-recommend-top-num">{{index + 1}}</span> 热销{{item.sale}}</span>
<span class="item-recommend-price">{{item.price | unitPrice}}</span>
</div>
</div>
</div>
</div> -->
<div class="item-intro-detail" ref="itemIntroDetail">
<div class="item-intro-nav item-tabs">
<Tabs :animated="false" @on-click="tabClick">
@ -131,7 +114,8 @@ export default {
};
},
computed: {
skuDetail () { // skuId
//
skuDetail () {
return this.detail.data;
}
},

View File

@ -31,15 +31,13 @@
</template>
<!-- 限时秒杀 待完善 -->
<!-- <template v-if="element.type == 'seckill'">
<seckill :data="element"></seckill>
<seckill class="mb_20"></seckill>
</template> -->
<!-- 折扣广告 -->
<template v-if="element.type == 'discountAdvert'">
<div
class="discountAdvert mb_20"
:style="{
'background-image': 'url(' + element.options.bgImg.img + ')',
}"
:style="{'backgroundImage' :'url(' + require('@/assets/images/decorate.png')+')'}"
>
<img
@click="linkTo(item.url)"

View File

@ -14,46 +14,14 @@
{{ actStatus == 0 ? "未开始" : "已结束" }}
</div>
</div>
<div class="section">
<swiper ref="mySwiper" :options="swiperOptions">
<swiper-slide
v-for="(item, index) in options.list[0].goodsList"
:key="index"
class="swiper-slide"
>
<div class="content hover-pointer" @click="goPromotion">
<img :src="item.img" width="140" height="140" :alt="item.name" />
<div class="ellipsis">{{ item.name }}</div>
<div>
<span>{{ item.price | unitPrice("¥") }}</span>
<span>{{ item.originalPrice | unitPrice("¥") }}</span>
</div>
</div>
</swiper-slide>
</swiper>
</div>
</div>
</template>
<script>
import { Swiper, SwiperSlide, directive } from 'vue-awesome-swiper';
// import 'swiper/swiper-bundle.css';
export default {
components: {
Swiper,
SwiperSlide
},
directives: {
swiper: directive
},
props: {
data: {
type: Object,
default: null
}
},
data () {
return {
options: this.data.options, //
list: [], //
actStatus: 0, // 0 1 2
actName: '限时秒杀', //
currHour: '00', //
@ -62,83 +30,22 @@ export default {
hours: 0, //
minutes: 0, //
seconds: 0, //
interval: undefined, //
interval: null, //
swiperOptions: { //
slidesPerView: 5,
autoplay: true,
loop: true
// slidesPerView: 5,
// autoplay: true,
// loop: true
}
};
},
watch: {
diffSeconds (val) { //
const hours = Math.floor(val / 3600);
// / 60
// 3600 / 60 = 60
// 60
const minutes = Math.floor(val / 60) % 60;
// % 60
const seconds = val % 60;
this.hours = hours < 10 ? '0' + hours : hours;
this.minutes = minutes < 10 ? '0' + minutes : minutes;
this.seconds = seconds < 10 ? '0' + seconds : seconds;
if (val === 0) {
clearInterval(this.interval);
this.hours = 0;
this.minutes = 0;
this.seconds = 0;
this.countDown(this.options.list);
}
}
},
mounted () {
this.countDown(this.options.list);
computed: {
},
beforeDestroy () {
clearInterval(this.interval);
},
methods: {
//
countDown (list) {
/**
* 默认倒计时两小时
* 如果没有开始则显示未开始
* 进行中显示倒计时 + 时间
* 今天的秒杀结束则显示已结束
*/
let nowHour = new Date().getHours();
if (nowHour < Number(list[0].time)) {
//
this.currHour = list[0].time;
this.actStatus = 0;
} else if (nowHour >= Number(list[list.length - 1].time + 2)) {
//
this.actStatus = 2;
this.currHour = list[list.length - 1].time;
} else {
//
this.actStatus = 1;
for (let i = 0; i < list.length; i++) {
if (nowHour === Number(list[i].time)) {
this.currHour = list[i].time;
}
if (
nowHour > Number(list[i].time) &&
nowHour < Number(list[i].time + 2)
) {
this.currHour = list[i].time;
}
}
// 0
let zeroTime = new Date(new Date().toLocaleDateString()).getTime();
//
this.diffSeconds = Math.floor((zeroTime + 3600 * 1000 * (this.currHour + 2) - new Date().getTime()) / 1000);
this.interval = setInterval(() => {
this.diffSeconds--;
}, 1000);
}
mounted () {
},
methods: {
goPromotion () { //
let routeUrl = this.$router.resolve({
path: '/seckill'

View File

@ -8,7 +8,7 @@
<h3>积分日志</h3>
<Table :columns="logColumns" :data="logData.records">
<template slot-scope="{ row }" slot="point">
<div><span>{{row.pointType == "1" ? '+' : '-'}}</span>{{ row.variablePoint }}</div>
<div><span>{{row.pointType == "INCREASE" ? '+' : '-'}}</span>{{ row.variablePoint }}</div>
</template>
</Table>
<!-- 分页 -->

View File

@ -31,11 +31,16 @@
<p>配送方式{{order.deliveryMethodValue}}</p>
<p>配送状态{{order.deliverStatusValue}}</p>
</div>
<div class="order-card" v-if="order.order.receipt">
<div class="order-card">
<h3>发票信息</h3>
<template v-if="order.order.receipt">
<p>发票抬头{{order.order.receiptVO.receiptTitle}}</p>
<p>发票内容{{order.order.receiptVO.receiptContent}}</p>
<p v-if="order.order.receiptVO.taxpayerId">{{order.order.receiptVO.taxpayerId}}</p>
</template>
<div v-else style="color:#999;margin-left:5px">
未开发票
</div>
</div>
<!-- 订单商品 -->
<div class="goods">
@ -155,6 +160,7 @@ export default {
p {
color: #999;
margin: 3px;
margin-left: 5px;
}
h3 {
font-weight: normal;

File diff suppressed because it is too large Load Diff

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

@ -12,8 +12,6 @@
<Table :loading="loading" border :columns="columns" :data="data" ref="table" class="mt_10">
<!-- 页面展示 -->
<template slot="shopDisableSlot" slot-scope="scope">
<div>
</div>
<i-switch size="large" true-value="OPEN" false-value="CLOSE" v-model="scope.row.status"
@on-change="changeSwitch(scope.row)">
<span slot="open">展示</span>
@ -53,10 +51,16 @@
<div class="border-b">
<List>
<ListItem>
<ListItemMeta :avatar="infoData.memberProfile" :title="infoData.memberName"
:description="infoData.content"/>
</ListItem>
<div class="score-content">
<span>物流评分{{infoData.deliveryScore}}</span>
<span>服务评分{{infoData.serviceScore}}</span>
<span>描述评分{{infoData.descriptionScore}}</span>
</div>
<div class="" v-if="infoData.haveImage">
评价图
<div style="margin-left: 40px">
@ -82,7 +86,6 @@
<img style="width: 100px;height: 110px" v-for="(img,index) in infoData.replyImage.split(',')" :key="index"
:src="img" alt=""/>
</template>
</div>
</div>
</div>
@ -142,14 +145,28 @@ export default {
} else {
return h("Tag", {props: {color: "red",},}, "差评");
}
}
},
{
title: "物流评分",
key: "deliveryScore",
render: (h, params) => {
return h('div',params.row.deliveryScore || 5 + '星')
},
},
{
title: "评价内容",
key: "content",
align: "left",
minWidth: 200,
tooltip: true,
title: "服务评分",
key: "deliveryScore",
render: (h, params) => {
return h('div',params.row.serviceScore || 5 + '星')
},
},
{
title: "描述评分",
key: "deliveryScore",
render: (h, params) => {
return h('div',params.row.descriptionScore || 5 + '星')
},
},
{
title: "评价时间",
@ -348,4 +365,8 @@ label {
.div-height{
line-height: 25px;
}
.score-content {
margin: 5px 0;
span{margin-right: 20px;}
}
</style>

View File

@ -125,7 +125,7 @@
></liliDialog>
<!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide>
<ossManage @callback="callbackSelected" ref="ossManage" />
<ossManage @callback="callbackSelected" :isComponent="true" ref="ossManage" />
</Modal>
</div>
</template>

View File

@ -130,7 +130,7 @@
></liliDialog>
<!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide>
<ossManage @callback="callbackSelected" ref="ossManage" />
<ossManage @callback="callbackSelected" :isComponent="true" ref="ossManage" />
</Modal>
</div>
</template>

View File

@ -113,7 +113,7 @@
></liliDialog>
<!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide>
<ossManage @callback="callbackSelected" ref="ossManage" />
<ossManage @callback="callbackSelected" :isComponent="true" ref="ossManage" />
</Modal>
</div>
</template>

View File

@ -58,7 +58,7 @@
></liliDialog>
<!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide>
<ossManage @callback="callbackSelected" ref="ossManage" />
<ossManage @callback="callbackSelected" :isComponent="true" ref="ossManage" />
</Modal>
</div>
</template>

View File

@ -134,7 +134,7 @@
></liliDialog>
<!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide>
<ossManage @callback="callbackSelected" ref="ossManage" />
<ossManage @callback="callbackSelected" :isComponent="true" ref="ossManage" />
</Modal>
</div>
</template>

View File

@ -200,7 +200,7 @@
></liliDialog>
<!-- 选择图片 -->
<Modal width="1200px" v-model="picModelFlag" footer-hide>
<ossManage @callback="callbackSelected" ref="ossManage" />
<ossManage @callback="callbackSelected" :isComponent="true" ref="ossManage" />
</Modal>
</div>
</template>

View File

@ -50,10 +50,8 @@ export default {
const data = {
id: this.$route.query.id,
pageData: modelForm,
pageShow,
pageShow
};
console.log(this.modelForm);
API_floor.updateHome(this.$route.query.id, data).then((res) => {
if (res.success) {
this.$Message.success("保存模板成功");

View File

@ -45,7 +45,6 @@ export default {
//
$route: {
handler: function (val, oldVal) {
console.log(val);
if (val.meta.firstRouterName && val.meta.firstRouterName !== this.currNav) {
this.selectNav(val.meta.firstRouterName)
}

View File

@ -172,11 +172,8 @@
</li>
<li v-if="orderInfo.order.priceDetailDTO.payPoint != 0">
<span class="label">使用积分</span>
<span class="txt">{{
orderInfo.order.priceDetailDTO.payPoint
}}</span>
<span class="txt flowPrice">{{orderInfo.order.priceDetailDTO.payPoint}}</span>
</li>
<li>
<span class="label">应付金额</span>
<span class="txt flowPrice">¥{{ orderInfo.order.priceDetailDTO.flowPrice | unitPrice }}</span>

View File

@ -13,7 +13,7 @@
</Row>
<div class="card-list">
<Card v-for="words in data" class="card-item" onclick="">
<Card v-for="words in data" class="card-item" :key="words" onclick="">
<p><a href="#" slot="extra" @click.prevent="add(words)">{{ words }}</a></p>
</Card>
</div>

View File

@ -14,7 +14,7 @@
<Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button>
</Form>
</Row>
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect">
<Table :loading="loading" border :columns="columns" :data="data" ref="table" class="mt_10" @on-selection-change="changeSelect">
</Table>
<Row type="flex" justify="end" class="mt_10">
<Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]"
@ -140,44 +140,44 @@ export default {
};
},
methods: {
//
init() {
this.getDataList();
},
//
changePage(v) {
this.searchForm.pageNumber = v;
this.getDataList();
this.clearSelectAll();
},
//
changePageSize(v) {
this.searchForm.pageNumber = 1
this.searchForm.pageSize = v;
this.getDataList();
},
//
handleSearch() {
this.searchForm.pageNumber = 1;
this.searchForm.pageSize = 10;
this.getDataList();
},
changeSort(e) {
this.searchForm.sort = e.key;
this.searchForm.order = e.order;
if (e.order === "normal") {
this.searchForm.order = "";
}
this.getDataList();
},
//
clearSelectAll() {
this.$refs.table.selectAll(false);
},
//
changeSelect(e) {
this.selectList = e;
this.selectCount = e.length;
},
//
selectDateRange(v) {
if (v) {
this.searchForm.startDate = v[0];
this.searchForm.endDate = v[1];
}
},
//
getDataList() {
this.loading = true;
@ -200,6 +200,7 @@ export default {
this.total = this.data.length;
this.loading = false;
},
//
detail(v) {
let id = v.id;
this.$router.push({

View File

@ -1,8 +1,5 @@
<template>
<div>
<template>
<Row>
<i-col span="24">
<Card>
<p slot="title">商家信息</p>
<div class="flex flex_align_item">
@ -13,13 +10,7 @@
<p>支行联行号{{ bill.bankCode }}</p>
</div>
</Card>
</i-col>
</Row>
</template>
<template>
<Row>
<i-col span="24">
<Card>
<Card class="mt_10 mb_10">
<p slot="title">账单详细</p>
<div class="tips-status">
@ -41,10 +32,6 @@
<i-table :columns="columns" :data="data" stripe></i-table>
</Card>
</i-col>
</Row>
</template>
<template>
<Tabs active-key="key1" @on-click="clickTabs">
<Tab-pane label="入账流水" key="key1">
<Card>
@ -93,7 +80,6 @@
</Card>
</Tab-pane>
</Tabs>
</template>
</div>
</template>
<script>
@ -185,6 +171,26 @@ export default {
);
},
},
{
title: "砍价商品结算价格",
key: "kanjiaSettlementPrice",
render: (h, params) => {
return h(
"div",
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
);
},
},
{
title: "积分商品结算价格",
key: "pointSettlementPrice",
render: (h, params) => {
return h(
"div",
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
);
},
},
{
title: "平台分佣",
key: "commissionPrice",
@ -199,7 +205,6 @@ export default {
{
title: "平台优惠券",
key: "siteCouponPrice",
minWidth: 120,
render: (h, params) => {
if(params.row.siteCouponPrice == null){
return h(

View File

@ -97,17 +97,6 @@
<FormItem
label="路由名称"
prop="name"
v-if="form.level == 0"
class="block-tool"
>
<Tooltip placement="right" content="路由name需英文唯一跳转页面用">
<Input v-model="form.name"/>
</Tooltip>
</FormItem>
<FormItem
label="路由名称"
prop="name"
v-if="form.level != 0"
class="block-tool"
>
<Tooltip placement="right" content="路由name需英文唯一跳转页面用" transfer>
@ -201,17 +190,6 @@
<FormItem
label="路由名称"
prop="name"
v-if="formAdd.level == 0"
class="block-tool"
>
<Tooltip placement="right" content="路由name需英文唯一跳转页面用">
<Input v-model="formAdd.name"/>
</Tooltip>
</FormItem>
<FormItem
label="路由名称"
prop="name"
v-if="formAdd.level != 0"
class="block-tool"
>
<Tooltip placement="right" content="路由name需英文唯一跳转页面用">

View File

@ -26,9 +26,7 @@
style="width: 200px"
/>
</Form-item>
<Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn"
>搜索
</Button>
<Form-item label="上传时间">
<DatePicker
v-model="selectDate"
@ -40,7 +38,9 @@
style="width: 200px"
></DatePicker>
</Form-item>
<Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn"
>搜索
</Button>
</Form>
</Row>
<div class="oss-operation padding-row">
@ -273,6 +273,12 @@ import config from "@/config";
var dp;
export default {
name: "oss-manage",
props:{
isComponent:{
default: false,
type:Boolean
}
},
data() {
return {
config, // api
@ -551,6 +557,11 @@ export default {
pageSizeOpts: [5, 10, 20], //
};
},
watch:{
selectImage(val) {
if (val && !this.data.length) this.init()
}
},
methods: {
/**
* 选择
@ -811,11 +822,14 @@ export default {
},
},
mounted() {
if(!this.isComponent) { //
this.init();
}
this.baseUrl =
process.env.NODE_ENV === "development"
? this.config.api_dev.common
: this.config.api_prod.common;
},
};
</script>

View File

@ -22,7 +22,10 @@ export default {
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

@ -507,7 +507,7 @@ export default {
},
//
filterStatus(status) {
let label = "";
let label = '';
for (let i = 0; i < this.afterSaleStatus.length; i++) {
const obj = this.afterSaleStatus[i];
if (obj.status === status) {
@ -518,8 +518,6 @@ export default {
return label;
},
},
mounted() {
this.sn = this.$route.query.sn;
this.getDetail();

View File

@ -14,8 +14,8 @@
</Form-item>
<Form-item label="状态" prop="receiptStatus">
<Select v-model="searchForm.receiptStatus" placeholder="请选择" clearable style="width: 200px">
<Option value="0">未开票</Option>
<Option value="1">已开票</Option>
<Option :value="0">未开票</Option>
<Option :value="1">已开票</Option>
</Select>
</Form-item>
<Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button>
@ -50,7 +50,7 @@ export default {
pageSize: 10, //
sort: "createTime", //
order: "desc", //
receiptStatus: "", //
receiptStatus: "", //
},
columns: [
{
@ -110,13 +110,13 @@ export default {
width: 100,
tooltip: true,
render: (h, params) => {
if (params.row.receiptStatus == 0) {
if (params.row.receiptStatus === 0) {
return h("div", [
h("tag", { props: { color: "volcano" } }, "未开票"),
]);
} else {
return h("div", [
h("tag", { props: { color: "green" } }, "开票"),
h("tag", { props: { color: "green" } }, "开票"),
]);
}
},

View File

@ -165,17 +165,14 @@ export default {
{
title: "入账时间",
key: "createTime",
minWidth: 120
},
{
title: "订单编号",
key: "sn",
minWidth: 120
},
{
title: "订单金额",
key: "finalPrice",
minWidth: 120,
render: (h, params) => {
return h(
"div",
@ -183,10 +180,29 @@ export default {
);
},
},
{
title: "砍价商品结算价格",
key: "kanjiaSettlementPrice",
render: (h, params) => {
return h(
"div",
this.$options.filters.unitPrice(params.row.kanjiaSettlementPrice, "¥")
);
},
},
{
title: "积分商品结算价格",
key: "pointSettlementPrice",
render: (h, params) => {
return h(
"div",
this.$options.filters.unitPrice(params.row.pointSettlementPrice, "¥")
);
},
},
{
title: "平台分佣",
key: "commissionPrice",
minWidth: 120,
render: (h, params) => {
return h(
"div",
@ -197,7 +213,6 @@ export default {
{
title: "平台优惠券",
key: "siteCouponPrice",
minWidth: 120,
render: (h, params) => {
if(params.row.siteCouponPrice == null){
return h(
@ -216,7 +231,6 @@ export default {
{
title: "分销金额",
key: "distributionRebate",
minWidth: 100,
render: (h, params) => {
if(params.row.distributionRebate == null){
return h(
@ -235,7 +249,6 @@ export default {
{
title: "应结金额",
key: "billPrice",
minWidth: 120,
render: (h, params) => {
return h(
"div",