积分商城后台管理
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

299 lines
8.0 KiB

<template>
<div class="article-manager">
<el-card :bordered="false" shadow="never" class="ivu-mt mt16" :body-style="{ padding: '0 20px 20px' }">
<div style="background: #f3f3f3;height:60px">
<span style="line-height:60px;margin:0px 30px;color:red; font-size:16px"> 当前订单状态{{ detailData.orderStatus | orderStatus }}</span>
</div>
<el-descriptions title="基本信息" class="text" direction="vertical" :column="6" border>
<el-descriptions-item label="订单编号">{{ detailData.orderCode }}</el-descriptions-item>
<el-descriptions-item label="用户账号">{{ detailData.acctId }}</el-descriptions-item>
<el-descriptions-item label="支付积分">{{ detailData.integral }}</el-descriptions-item>
<el-descriptions-item label="下单时间">{{ detailData.createTime }}</el-descriptions-item>
<el-descriptions-item label="自提油站">{{ detailData.takeSiteName }}</el-descriptions-item>
<el-descriptions-item label="提货码">{{ detailData.takeCode }}</el-descriptions-item>
</el-descriptions>
<el-descriptions title="收货人信息" class="text" direction="vertical" :column="3" border>
<el-descriptions-item label="收货人">{{ detailData.customerName }}</el-descriptions-item>
<el-descriptions-item label="手机号码">{{ detailData.customerPhone }}</el-descriptions-item>
<el-descriptions-item label="订单备注">{{ detailData.remark || '暂无' }}</el-descriptions-item>
</el-descriptions>
<div class="text">商品信息</div>
<el-table
:data="detailData.mallOrderInfoDetails"
class="ivu-mt mt14"
v-loading="loading"
highlight-current-row
empty-text="暂无数据"
show-summary
:summary-method="getSummaries"
>
<el-table-column label="商品图片" min-width="80" align="center" prop="oderDetailImg">
<template slot-scope="scope">
<el-image style="width: 60px; height: 50px" :src="scope.row.oderDetailImg"> </el-image>
</template>
</el-table-column>
<el-table-column label="商品名称" min-width="120" align="center" prop="productName">
<template slot-scope="scope">
<span>{{ scope.row.productName }}</span>
</template>
</el-table-column>
<el-table-column label="价格/货号" min-width="120" prop="marketPrice">
<template slot-scope="scope">
<span>价格:¥{{ scope.row.marketPrice }}</span>
<br />
<span>货号:{{ scope.row.productNum }}</span>
</template>
</el-table-column>
<el-table-column label="属性" min-width="60" align="center">
<template slot-scope="scope">
<span>{{ scope.row.attributeJson }}</span>
</template>
</el-table-column>
<el-table-column label="数量" min-width="80" align="center" prop="orderNum"> </el-table-column>
<el-table-column label="小计" min-width="120" align="center" prop="allMarketPrice"> </el-table-column>
</el-table>
<div class="text">操作信息</div>
<el-table :data="detailData.mallOrderInfoRecords" class="ivu-mt mt14" v-loading="loading" border highlight-current-row empty-text="暂无数据">
<el-table-column label="操作者" min-width="120" align="center">
<template slot-scope="scope">
<span>{{ scope.row.customerName }}</span>
</template>
</el-table-column>
<el-table-column label="操作时间" min-width="60" align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="订单状态" min-width="100" align="center">
<template slot-scope="scope">
<span>{{ scope.row.orderStatus | orderStatus }}</span>
</template>
</el-table-column>
<el-table-column label="支付状态" min-width="100" align="center">
<template slot-scope="scope">
<span>{{ scope.row.payStatus | payStatus }}</span>
</template>
</el-table-column>
<el-table-column label="备注" min-width="120" align="center">
<template slot-scope="scope">
<span>{{ scope.row.remark }}</span>
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
export default {
filters: {
orderStatus(e) {
switch (e) {
case '0':
return '已下单'
case '1':
return '待核销'
case '2':
return '已核销'
case '-1':
return '已取消'
default:
return '暂无'
}
},
payStatus(e) {
switch (e) {
case '0':
return '待支付'
case '1':
return '已经发'
case '2':
return '退款申请'
case '3':
return '全部退款'
case '4':
return '部分退款'
default:
return '暂无'
}
}
},
props: {
detailData: {
type: Object,
default() {}
}
},
data() {
return {
template: false,
modals: false,
batchModal: false,
grid: {
xl: 6,
lg: 8,
md: 12,
sm: 24,
xs: 24
}
}
},
created() {},
activated() {},
methods: {
getSummaries(param) {
// 合计
const { columns, data } = param
const sums = []
if (columns && data) {
let allMarketPrice = 0 // 交易金额
data.forEach(item => {
allMarketPrice += item.allMarketPrice ? item.allMarketPrice : 0
})
allMarketPrice = allMarketPrice.toFixed(2)
columns.forEach((column, index) => {
switch (
column.property // column.property可以匹配它的每一列的命名, 然后赋值
) {
case 'allMarketPrice':
sums[index] = '合计' + allMarketPrice + '元' // 值取自后台
break
default:
break
}
})
return sums
} else {
return sums
}
}
}
}
</script>
<style scoped lang="scss">
::v-deep .el-tabs__item {
height: 54px !important;
line-height: 54px !important;
}
::v-deep .ivu-modal-mask {
z-index: 999 !important;
}
::v-deep .ivu-modal-wrap {
z-index: 999 !important;
}
.Box {
::v-deep .ivu-modal-body {
height: 700px;
overflow: auto;
}
}
.batch-box {
::v-deep .ivu-modal-body {
overflow: auto;
min-height: 350px;
}
}
.tabBox_img {
width: 36px;
height: 36px;
border-radius: 4px;
cursor: pointer;
img {
width: 100%;
height: 100%;
}
}
.bg {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 11;
}
::v-deep .happy-scroll-content {
width: 100%;
.demo-spin-icon-load {
animation: ani-demo-spin 1s linear infinite;
}
@keyframes ani-demo-spin {
from {
transform: rotate(0deg);
}
50% {
transform: rotate(180deg);
}
to {
transform: rotate(360deg);
}
}
.demo-spin-col {
height: 100px;
position: relative;
border: 1px solid #eee;
}
}
.labelInput {
border: 1px solid #dcdee2;
width: 100%;
padding: 0 15px;
border-radius: 5px;
min-height: 30px;
cursor: pointer;
font-size: 12px;
.span {
color: #c5c8ce;
}
.iconxiayi {
font-size: 12px;
}
}
.el-dropdown-link {
cursor: pointer;
color: var(--prev-color-primary);
font-size: 12px;
}
.el-icon-arrow-down {
font-size: 12px;
}
.el-dropdown-menu__item {
a {
color: #606266;
}
}
.label_width {
width: 400px;
}
.text {
font-size: 16px;
font-weight: bold;
margin-top: 20px;
}
</style>