Browse Source

2023-3-4

完善订单列表
master
guoxing 2 years ago
parent
commit
c753039b19
  1. 4
      mallplusui-web-admin/config/dev.env.js
  2. 1370
      mallplusui-web-admin/src/router/index.js
  3. 2
      mallplusui-web-admin/src/styles/index.scss
  4. 13
      mallplusui-web-admin/src/views/oms/order/deliverOrderList.vue
  5. 229
      mallplusui-web-admin/src/views/oms/order/index1.vue
  6. 333
      mallplusui-web-admin/src/views/oms/order/orderDetail.vue

4
mallplusui-web-admin/config/dev.env.js

@ -4,6 +4,6 @@ const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
// BASE_API: '"http://mall.yyundong.com/adminapi"',
BASE_API: '"http://127.0.0.1:8085"'
BASE_API: '"http://mall.yyundong.com/adminapi"',
// BASE_API: '"http://127.0.0.1:8085"'
})

1370
mallplusui-web-admin/src/router/index.js

File diff suppressed because it is too large

2
mallplusui-web-admin/src/styles/index.scss

@ -131,7 +131,7 @@ a:hover {
}
//操作栏样式
.operate-container {
margin-top: 20px;
// margin-top: 20px;
}
.operate-container .btn-add {

13
mallplusui-web-admin/src/views/oms/order/deliverOrderList.vue

@ -6,20 +6,20 @@
</el-card>
<div class="table-container">
<el-table ref="deliverOrderTable"
style="width: 100%;"
style="margin-left: 20px;width: 95%;"
:data="list" border>
<el-table-column label="订单编号" width="180" align="center">
<el-table-column label="订单编号" width="200" align="center">
<template slot-scope="scope">{{scope.row.orderSn}}</template>
</el-table-column>
<el-table-column label="收货人" width="180" align="center">
<el-table-column label="收货人" width="120" align="center">
<template slot-scope="scope">{{scope.row.receiverName}}</template>
</el-table-column>
<el-table-column label="手机号码" width="160" align="center">
<template slot-scope="scope">{{scope.row.receiverPhone}}</template>
</el-table-column>
<el-table-column label="邮政编码" width="160" align="center">
<!-- <el-table-column label="邮政编码" width="160" align="center">
<template slot-scope="scope">{{scope.row.receiverPostCode}}</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="收货地址" align="center">
<template slot-scope="scope">{{scope.row.address}}</template>
</el-table-column>
@ -36,7 +36,7 @@
</el-select>
</template>
</el-table-column>
<el-table-column label="物流单号" width="180" align="center">
<el-table-column label="物流单号" width="200" align="center">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.deliverySn"></el-input>
</template>
@ -62,6 +62,7 @@
},
created(){
this.list= this.$route.query.list;
console.log("list", this.list)
},
methods:{
cancel(){

229
mallplusui-web-admin/src/views/oms/order/index1.vue

@ -26,19 +26,19 @@
待收货
</span>
</el-tab-pane>
<el-tab-pane name="4">
<!-- <el-tab-pane name="4">
<span slot="label">
<i class="el-icon-document"></i>
待评价
</span>
</el-tab-pane>
</el-tab-pane> -->
<el-tab-pane name="5">
<span slot="label">
<i class="el-icon-circle-check"></i>
交易完成
</span>
</el-tab-pane>
<el-tab-pane name="13">
<!-- <el-tab-pane name="13">
<span slot="label">
<i class="el-icon-back"></i>
申请退款
@ -49,7 +49,7 @@
<i class="el-icon-finished"></i>
已退款
</span>
</el-tab-pane>
</el-tab-pane> -->
<el-tab-pane name="15">
<span slot="label">
<i class="el-icon-circle-close"></i>
@ -62,28 +62,38 @@
<div>
<i class="el-icon-search"></i>
<span>筛选搜索</span>
<el-button style="float:right" type="primary" @click="handleSearchList()" size="small">查询搜索</el-button>
<el-button style="float:right;margin-right: 15px" @click="handleResetSearch()" size="small">重置</el-button>
<el-button style="float:right" type="primary" @click="handleSearchList()" size="small">查询搜索
</el-button>
<el-button style="float:right;margin-right: 15px" @click="handleResetSearch()" size="small">重置
</el-button>
</div>
<div style="margin-top: 15px">
<el-form :inline="true" :model="listQuery" size="small" label-width="140px">
<el-form-item label="输入搜索:"><el-input v-model="listQuery.id" class="input-width" placeholder="编号"></el-input></el-form-item>
<el-form-item label="订单分类:">
<el-form-item label="输入搜索:">
<el-input v-model="listQuery.id" class="input-width" placeholder="编号"></el-input>
</el-form-item>
<!-- <el-form-item label="订单分类:">
<el-select v-model="listQuery.orderType" class="input-width" placeholder="全部" clearable>
<el-option v-for="item in orderTypeOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-option v-for="item in orderTypeOptions" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="提交时间:">
<el-date-picker class="input-width" v-model="listQuery.createTime" value-format="yyyy-MM-dd" type="date" placeholder="请选择时间"></el-date-picker>
<el-date-picker class="input-width" v-model="listQuery.createTime" value-format="yyyy-MM-dd"
type="date" placeholder="请选择时间"></el-date-picker>
</el-form-item>
<el-form-item label="收货信息 :">
<el-input v-model="listQuery.receiverPhone" class="input-width" placeholder="收货人电话">
</el-input>
</el-form-item>
<el-form-item label="收货信息 :"><el-input v-model="listQuery.receiverPhone" class="input-width" placeholder="收货人电话"></el-input></el-form-item>
<el-form-item label="订单来源:">
<!-- <el-form-item label="订单来源:">
<el-select v-model="listQuery.sourceType" class="input-width" placeholder="全部" clearable>
<el-option v-for="item in sourceTypeOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
<el-option v-for="item in sourceTypeOptions" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
</el-form-item> -->
</el-form>
</div>
</el-card>
@ -109,20 +119,35 @@
<i class="el-icon-tickets"></i>
<span>数据列表</span>
</el-card>
<!-- <div class="batch-operate-container">
<el-checkbox v-model="printChecked" @change="batchSelection"
style="margin-left:23px; margin-right: 20px;"></el-checkbox>
<el-select v-model="batchHandle" @change="handlePrintOption" clearable placeholder="批量操作"
class="filter-item" style="width: 130px; margin-right: 8px;">
<el-option v-for="item in handleOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
<el-select v-model="batchExport" @change="handleExportOption" clearable placeholder="批量导出"
class="filter-item" style="width: 130px">
<el-option v-for="item in exportOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</div> -->
<div class="table-container">
<el-table ref="orderTable" :data="list" style="width: 100%;" @selection-change="handleSelectionChange" v-loading="listLoading" border>
<el-table ref="orderTable" :data="list" style="width: 100%;" @selection-change="handleSelectionChange"
v-loading="listLoading" border>
<el-table-column type="selection" width="60" align="center"></el-table-column>
<el-table-column label="编号" width="80" align="center">
<template slot-scope="scope">
{{ scope.row.id }}
</template>
</el-table-column>
<el-table-column label="订单编号" width="180" align="center">
<el-table-column label="订单编号" width="200" align="center">
<template slot-scope="scope">
{{ scope.row.orderSn }}
</template>
</el-table-column>
<el-table-column label="商品" width="180" align="center">
<el-table-column label="商品" align="center">
<template slot-scope="scope">
{{ scope.row.goodsName }}
</template>
@ -132,7 +157,7 @@
{{ scope.row.createTime | formatCreateTime }}
</template>
</el-table-column>
<el-table-column label="用户账号" align="center">
<el-table-column label="用户账号" width="180" align="center">
<template slot-scope="scope">
{{ scope.row.memberUsername }}
</template>
@ -152,7 +177,7 @@
{{ scope.row.payType | formatPayType }}
</template>
</el-table-column>
<el-table-column label="订单来源" width="120" align="center">
<!-- <el-table-column label="订单来源" width="120" align="center">
<template slot-scope="scope">
{{ scope.row.sourceType | formatSourceType }}
</template>
@ -161,7 +186,7 @@
<template slot-scope="scope">
{{ scope.row.orderType | formatOrderType }}
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="订单状态" width="120" align="center">
<template slot-scope="scope">
@ -171,46 +196,44 @@
<el-table-column label="操作" width="200" align="center">
<template slot-scope="scope">
<el-button size="mini" @click="handleViewOrder(scope.$index, scope.row)">查看订单</el-button>
<el-button size="mini" @click="handleCloseOrder(scope.$index, scope.row)" v-show="scope.row.status === 14">关闭订单</el-button>
<el-button size="mini" @click="handleDeliveryOrder(scope.$index, scope.row)" v-show="scope.row.status === 2">订单发货</el-button>
<el-button size="mini" @click="handleViewLogistics(scope.$index, scope.row)" v-show="scope.row.status > 2 || scope.row.status < 9">订单跟踪</el-button>
<el-button size="mini" type="danger" @click="handleDeleteOrder(scope.$index, scope.row)" v-show="scope.row.status === 15">删除订单</el-button>
<!-- <el-button size="mini" @click="handleCloseOrder(scope.$index, scope.row)"
v-show="scope.row.status === 14">关闭订单</el-button> -->
<el-button size="mini" @click="handleDeliveryOrder(scope.$index, scope.row)"
v-show="scope.row.status === 2">订单发货</el-button>
<!-- <el-button size="mini" @click="handleViewLogistics(scope.$index, scope.row)"
v-show="scope.row.status > 2 || scope.row.status < 9">订单跟踪</el-button> -->
<!-- <el-button size="mini" type="danger" @click="handleDeleteOrder(scope.$index, scope.row)"
v-show="scope.row.status === 15">删除订单</el-button> -->
</template>
</el-table-column>
</el-table>
</div>
<div class="batch-operate-container">
<el-checkbox v-model="printChecked" @change="batchSelection" style="margin-right: 20px;"></el-checkbox>
<el-select v-model="batchHandle" @change="handlePrintOption" clearable placeholder="批量操作" class="filter-item" style="width: 130px; margin-right: 8px;">
<el-option v-for="item in handleOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<el-select v-model="batchExport" @change="handleExportOption" clearable placeholder="批量导出" class="filter-item" style="width: 130px">
<el-option v-for="item in exportOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
<div class="pagination-container">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
layout="total, sizes,prev, pager, next,jumper"
:current-page.sync="listQuery.pageNum"
:page-size="listQuery.pageSize"
:page-sizes="[5, 10, 15]"
:total="total"
></el-pagination>
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
layout="total, sizes,prev, pager, next,jumper" :current-page.sync="listQuery.pageNum"
:page-size="listQuery.pageSize" :page-sizes="[5, 10, 15]" :total="total"></el-pagination>
</div>
</div>
</div>
</template>
<script>
import checkPermission from '@/utils/permission';
import { formatTime } from '@/utils/index';
import { fetchList, closeOrder, deleteOrder, orderData } from '@/api/order';
import { formatDate } from '@/utils/date';
import LogisticsDialog from '@/views/oms/order/components/logisticsDialog';
const defaultListQuery = {
import checkPermission from '@/utils/permission';
import {
formatTime
} from '@/utils/index';
import {
fetchList,
closeOrder,
deleteOrder,
orderData
} from '@/api/order';
import {
formatDate
} from '@/utils/date';
import LogisticsDialog from '@/views/oms/order/components/logisticsDialog';
const defaultListQuery = {
pageNum: 1,
pageSize: 10,
orderSn: null,
@ -219,15 +242,17 @@ const defaultListQuery = {
orderType: null,
sourceType: null,
createTime: null
};
};
export default {
export default {
name: 'orderList',
components: { LogisticsDialog },
components: {
LogisticsDialog
},
data() {
return {
delLoading: false,
status: '-9',
status: '0',
orderType: '0',
createTime: '',
checkList: [],
@ -246,8 +271,7 @@ export default {
content: null,
orderIds: []
},
statusOptions: [
{
statusOptions: [{
label: '待付款',
value: 12
},
@ -276,8 +300,7 @@ export default {
value: 15
}
],
orderTypeOptions: [
{
orderTypeOptions: [{
label: '正常订单',
value: 1
},
@ -306,8 +329,7 @@ export default {
value: 5
}
],
sourceTypeOptions: [
{
sourceTypeOptions: [{
label: '小程序订单',
value: 1
},
@ -324,8 +346,7 @@ export default {
value: 3
}
],
operateOptions: [
{
operateOptions: [{
label: '批量发货',
value: 1
},
@ -340,8 +361,23 @@ export default {
],
logisticsDialogVisible: false,
handleOptions: [{ value: '', label: '批量操作' }, { value: '0', label: '批量打印' }],
exportOptions: [{ value: '', label: '批量导出' }, { value: '0', label: '导出全部' }, { value: '1', label: '导出选中' }],
handleOptions: [{
value: '',
label: '批量操作'
}, {
value: '0',
label: '批量打印'
}],
exportOptions: [{
value: '',
label: '批量导出'
}, {
value: '0',
label: '导出全部'
}, {
value: '1',
label: '导出选中'
}],
caculateInfo: {
orderCount: 0,
orderPay: 0,
@ -360,7 +396,7 @@ export default {
let date = new Date(time);
return formatDate(date, 'yyyy-MM-dd hh:mm:ss');
},
formatPayType(value) {//0->1->2->
formatPayType(value) { //0->1->2->
if (value === 1) {
return '支付宝';
} else if (value === 2) {
@ -371,7 +407,7 @@ export default {
return '积分兑换';
}
},
formatSourceType(value) {//0->PC1->app
formatSourceType(value) { //0->PC1->app
if (value === 4) {
return '小程序';
} else if (value === 2) {
@ -399,7 +435,7 @@ export default {
return '积分订单';
}
},
formatStatus(value) {//0->1->2->3->4->5->
formatStatus(value) { //0->1->2->3->4->5->
if (value === 12) {
return '待付款';
}
@ -439,6 +475,7 @@ export default {
this.listQuery.status = tab.name;
this.getList();
this.orderDatas(tab.name);
console.log("tab", tab)
},
handleResetSearch() {
this.listQuery = Object.assign({}, defaultListQuery);
@ -451,7 +488,12 @@ export default {
this.multipleSelection = val;
},
handleViewOrder(index, row) {
this.$router.push({ path: '/oms/orderDetail', query: { id: row.id } });
this.$router.push({
path: '/oms/orderDetail',
query: {
id: row.id
}
});
},
handleCloseOrder(index, row) {
this.closeOrder.dialogVisible = true;
@ -459,12 +501,18 @@ export default {
},
handleDeliveryOrder(index, row) {
let listItem = this.covertOrder(row);
this.$router.push({ path: '/oms/deliverOrderList', query: { list: [listItem] } });
console.log("listItem", listItem)
this.$router.push({
path: '/oms/deliverOrderList',
query: {
list: [listItem]
}
});
},
handleViewLogistics(index, row) {
this.logisticsDialogVisible = true;
},
handleDeleteOrder(index, row) {//
handleDeleteOrder(index, row) { //
let id = [];
id.push(row.id);
this.deleteOrder(id);
@ -494,7 +542,12 @@ export default {
});
return;
}
this.$router.push({ path: '/oms/deliverOrderList', query: { list: list } });
this.$router.push({
path: '/oms/deliverOrderList',
query: {
list: list
}
});
} else if (this.operateType === 2) {
//
this.closeOrder.orderIds = [];
@ -511,11 +564,13 @@ export default {
this.deleteOrder(ids);
}
},
//
handleSizeChange(val) {
this.listQuery.pageNum = 1;
this.listQuery.pageSize = val;
this.getList();
},
//
handleCurrentChange(val) {
this.listQuery.pageNum = val;
this.getList();
@ -545,14 +600,20 @@ export default {
},
getList() {
this.listLoading = true;
if (this.listQuery.status == 0)
this.listQuery.status = null
console.log("listQuery", this.listQuery)
fetchList(this.listQuery).then(response => {
this.listLoading = false;
console.log("list", response.data.records)
this.list = response.data.records;
this.total = response.data.total;
});
},
orderDatas(status) {
orderData({ status: status }).then(response => {
orderData({
status: status
}).then(response => {
this.caculateInfo = response.data;
});
},
@ -576,7 +637,8 @@ export default {
});
},
covertOrder(order) {
let address = order.receiverProvince + order.receiverCity + order.receiverRegion + order.receiverDetailAddress;
let address = order.receiverProvince + order.receiverCity + order.receiverRegion + order
.receiverDetailAddress;
let listItem = {
orderId: order.id,
orderSn: order.orderSn,
@ -707,11 +769,11 @@ export default {
return row.id !== 1;
}
}
};
};
</script>
<style scoped lang="scss">
.container {
.container {
height: calc(100% - 80px);
position: absolute;
overflow: auto;
@ -722,10 +784,12 @@ export default {
color: #909399;
border-top: 1px solid #f0f0f0;
padding: 20px 10px;
.caculate-title {
display: inline-block;
margin-right: 50px;
}
.caculate-num {
font-size: 20px;
color: #ff4949;
@ -735,9 +799,9 @@ export default {
.el-table th {
background-color: #fafafa;
}
}
}
.footer-contains {
.footer-contains {
position: absolute;
display: -ms-flexbox;
display: flex;
@ -749,10 +813,10 @@ export default {
width: 100%;
z-index: 999;
padding: 0 20px 0 13px;
}
}
/*打印单样式编辑*/
.order-list {
/*打印单样式编辑*/
.order-list {
/* height: 297mm;*/
margin: 0 auto;
width: 210mm;
@ -764,19 +828,22 @@ export default {
font-weight: bolder;
text-align: center;
}
.order-info {
span {
display: inline-block;
padding: 0 0 10px 0;
font-size: 3mm;
}
span.info {
width: 60mm;
}
}
.el-table--small th,
.el-table--small td {
padding: 4px 0;
}
}
}
</style>

333
mallplusui-web-admin/src/views/oms/order/orderDetail.vue

@ -73,11 +73,7 @@
<el-col :span="4" class="table-cell">{{order.integration}}</el-col>
<el-col :span="4" class="table-cell">{{order.growth}}</el-col>
<el-col :span="4" class="table-cell">
<el-popover
placement="top-start"
title="活动信息"
width="200"
trigger="hover"
<el-popover placement="top-start" title="活动信息" width="200" trigger="hover"
:content="order.promotionInfo">
<span slot="reference">{{order.promotionInfo | formatLongText}}</span>
</el-popover>
@ -92,24 +88,21 @@
<el-row>
<el-col :span="6" class="table-cell-title">收货人</el-col>
<el-col :span="6" class="table-cell-title">手机号码</el-col>
<el-col :span="6" class="table-cell-title">邮政编码</el-col>
<el-col :span="6" class="table-cell-title">收货地址</el-col>
<el-col :span="6" class="table-cell-title">所在地区</el-col>
<el-col :span="6" class="table-cell-title">取货地点</el-col>
</el-row>
<el-row>
<el-col :span="6" class="table-cell">{{order.receiverName}}</el-col>
<el-col :span="6" class="table-cell">{{order.receiverPhone}}</el-col>
<el-col :span="6" class="table-cell">{{order.receiverPostCode}}</el-col>
<el-col :span="6" class="table-cell">{{order | formatAddress}}</el-col>
<el-col :span="6" class="table-cell">{{order.receiverRegion}}</el-col>
<el-col :span="6" class="table-cell">{{order.receiverDetailAddress}}</el-col>
</el-row>
</div>
<div style="margin-top: 20px">
<svg-icon icon-class="marker" style="color: #606266"></svg-icon>
<span class="font-small">商品信息</span>
</div>
<el-table
ref="orderItemTable"
:data="order.orderItemList"
style="width: 100%;margin-top: 20px" border>
<el-table ref="orderItemTable" :data="order.orderItemList" style="width: 100%;margin-top: 20px" border>
<el-table-column label="商品图片" width="120" align="center">
<template slot-scope="scope">
<img :src="scope.row.productPic" style="height: 80px">
@ -189,9 +182,7 @@
<svg-icon icon-class="marker" style="color: #606266"></svg-icon>
<span class="font-small">操作信息</span>
</div>
<el-table style="margin-top: 20px;width: 100%"
ref="orderHistoryTable"
:data="order.historyList" border>
<el-table style="margin-top: 20px;width: 100%" ref="orderHistoryTable" :data="order.historyList" border>
<el-table-column label="操作者" width="120" align="center">
<template slot-scope="scope">
{{scope.row.operateMan}}
@ -220,12 +211,8 @@
</el-table-column>
</el-table>
</el-card>
<el-dialog title="修改收货人信息"
:visible.sync="receiverDialogVisible"
width="40%">
<el-form :model="receiverInfo"
ref="receiverInfoForm"
label-width="150px">
<el-dialog title="修改收货人信息" :visible.sync="receiverDialogVisible" width="40%">
<el-form :model="receiverInfo" ref="receiverInfoForm" label-width="150px">
<el-form-item label="收货人姓名:">
<el-input v-model="receiverInfo.receiverName" style="width: 200px"></el-input>
</el-form-item>
@ -238,10 +225,8 @@
</el-input>
</el-form-item>
<el-form-item label="所在区域:">
<v-distpicker :province="receiverInfo.receiverProvince"
:city="receiverInfo.receiverCity"
:area="receiverInfo.receiverRegion"
@selected="onSelectRegion"></v-distpicker>
<v-distpicker :province="receiverInfo.receiverProvince" :city="receiverInfo.receiverCity"
:area="receiverInfo.receiverRegion" @selected="onSelectRegion"></v-distpicker>
</el-form-item>
<el-form-item label="详细地址:">
<el-input v-model="receiverInfo.receiverDetailAddress" type="textarea" rows="3">
@ -253,9 +238,7 @@
<el-button type="primary" @click="handleUpdateReceiverInfo"> </el-button>
</span>
</el-dialog>
<el-dialog title="修改费用信息"
:visible.sync="moneyDialogVisible"
width="40%">
<el-dialog title="修改费用信息" :visible.sync="moneyDialogVisible" width="40%">
<div class="table-layout">
<el-row>
<el-col :span="6" class="table-cell-title">商品合计</el-col>
@ -266,7 +249,8 @@
<el-row>
<el-col :span="6" class="table-cell">{{order.totalAmount}}</el-col>
<el-col :span="6" class="table-cell">
<el-input v-model.number="moneyInfo.freightAmount" size="mini"><template slot="prepend"></template></el-input>
<el-input v-model.number="moneyInfo.freightAmount" size="mini"><template
slot="prepend"></template></el-input>
</el-col>
<el-col :span="6" class="table-cell">-{{order.couponAmount}}</el-col>
<el-col :span="6" class="table-cell">-{{order.integrationAmount}}</el-col>
@ -280,13 +264,15 @@
<el-row>
<el-col :span="6" class="table-cell">-{{order.promotionAmount}}</el-col>
<el-col :span="6" class="table-cell">
<el-input v-model.number="moneyInfo.discountAmount" size="mini"><template slot="prepend">-</template></el-input>
<el-input v-model.number="moneyInfo.discountAmount" size="mini"><template
slot="prepend">-</template></el-input>
</el-col>
<el-col :span="6" class="table-cell">
<span class="color-danger">{{order.totalAmount+moneyInfo.freightAmount}}</span>
</el-col>
<el-col :span="6" class="table-cell">
<span class="color-danger">{{order.payAmount+moneyInfo.freightAmount-moneyInfo.discountAmount}}</span>
<span
class="color-danger">{{order.payAmount+moneyInfo.freightAmount-moneyInfo.discountAmount}}</span>
</el-col>
</el-row>
</div>
@ -295,12 +281,8 @@
<el-button type="primary" @click="handleUpdateMoneyInfo"> </el-button>
</span>
</el-dialog>
<el-dialog title="发送站内信"
:visible.sync="messageDialogVisible"
width="40%">
<el-form :model="message"
ref="receiverInfoForm"
label-width="150px">
<el-dialog title="发送站内信" :visible.sync="messageDialogVisible" width="40%">
<el-form :model="message" ref="receiverInfoForm" label-width="150px">
<el-form-item label="标题:">
<el-input v-model="message.title" style="width: 200px"></el-input>
</el-form-item>
@ -314,11 +296,8 @@
<el-button type="primary" @click="handleSendMessage"> </el-button>
</span>
</el-dialog>
<el-dialog title="关闭订单"
:visible.sync="closeDialogVisible"
width="40%">
<el-form :model="closeInfo"
label-width="150px">
<el-dialog title="关闭订单" :visible.sync="closeDialogVisible" width="40%">
<el-form :model="closeInfo" label-width="150px">
<el-form-item label="操作备注:">
<el-input v-model="closeInfo.note" type="textarea" rows="3">
</el-input>
@ -329,11 +308,8 @@
<el-button type="primary" @click="handleCloseOrder"> </el-button>
</span>
</el-dialog>
<el-dialog title="备注订单"
:visible.sync="markOrderDialogVisible"
width="40%">
<el-form :model="markInfo"
label-width="150px">
<el-dialog title="备注订单" :visible.sync="markOrderDialogVisible" width="40%">
<el-form :model="markInfo" label-width="150px">
<el-form-item label="操作备注:">
<el-input v-model="markInfo.note" type="textarea" rows="3">
</el-input>
@ -348,39 +324,64 @@
</div>
</template>
<script>
import {getOrderDetail,updateReceiverInfo,updateMoneyInfo,closeOrder,updateOrderNote,deleteOrder} from '@/api/order';
import {
getOrderDetail,
updateReceiverInfo,
updateMoneyInfo,
closeOrder,
updateOrderNote,
deleteOrder
} from '@/api/order';
import LogisticsDialog from '@/views/oms/order/components/logisticsDialog';
import {formatDate} from '@/utils/date';
import {
formatDate
} from '@/utils/date';
import VDistpicker from 'v-distpicker';
const defaultReceiverInfo = {
orderId:null,
receiverName:null,
receiverPhone:null,
receiverPostCode:null,
receiverDetailAddress:null,
receiverProvince:null,
receiverCity:null,
receiverRegion:null,
status:null
orderId: null,
receiverName: null,
receiverPhone: null,
receiverPostCode: null,
receiverDetailAddress: null,
receiverProvince: null,
receiverCity: null,
receiverRegion: null,
status: null
};
export default {
name: 'orderDetail',
components: { VDistpicker, LogisticsDialog},
components: {
VDistpicker,
LogisticsDialog
},
data() {
return {
id: null,
order: {},
receiverDialogVisible:false,
receiverInfo:Object.assign({},defaultReceiverInfo),
moneyDialogVisible:false,
moneyInfo:{orderId:null, freightAmount:0, discountAmount:0,status:null},
messageDialogVisible:false,
message: {title:null, content:null},
closeDialogVisible:false,
closeInfo:{note:null,id:null},
markOrderDialogVisible:false,
markInfo:{note:null},
logisticsDialogVisible:false
receiverDialogVisible: false,
receiverInfo: Object.assign({}, defaultReceiverInfo),
moneyDialogVisible: false,
moneyInfo: {
orderId: null,
freightAmount: 0,
discountAmount: 0,
status: null
},
messageDialogVisible: false,
message: {
title: null,
content: null
},
closeDialogVisible: false,
closeInfo: {
note: null,
id: null
},
markOrderDialogVisible: false,
markInfo: {
note: null
},
logisticsDialogVisible: false
}
},
created() {
@ -391,42 +392,42 @@
},
filters: {
formatNull(value) {
if(value===undefined||value===null||value===''){
if (value === undefined || value === null || value === '') {
return '暂无';
}else{
} else {
return value;
}
},
formatLongText(value) {
if(value===undefined||value===null||value===''){
if (value === undefined || value === null || value === '') {
return '暂无';
}else if(value.length>8){
} else if (value.length > 8) {
return value.substr(0, 8) + '...';
}else{
} else {
return value;
}
},
formatPayType(value) {//0->1->2-> 3
formatPayType(value) { //0->1->2-> 3
if (value === 1) {
return '支付宝';
} else if (value === 2) {
return '微信';
} else if (value === 3){
} else if (value === 3) {
return '余额支付';
} else if (value === 5){
} else if (value === 5) {
return '积分兑换';
}
},
formatSourceType(value) {//0->PC1->app
formatSourceType(value) { //0->PC1->app
if (value === 4) {
return '小程序';
} else if (value === 2){
} else if (value === 2) {
return 'h5订单';
}else if (value === 0){
} else if (value === 0) {
return 'PC订单';
}else if (value === 1){
} else if (value === 1) {
return 'android订单';
}else if (value === 5){
} else if (value === 5) {
return 'ios订单';
}
},
@ -435,11 +436,11 @@
return '拼团订单';
} else if (value === 3) {
return '团购订单';
} else if (value === 6){
} else if (value === 6) {
return '秒杀订单';
}else if (value === 1) {
} else if (value === 1) {
return '普通订单';
}else if (value === 4) {
} else if (value === 4) {
return '砍价订单';
} else if (value === 5) {
return '积分订单';
@ -448,10 +449,11 @@
}
},
formatAddress(order) {
let str = order.receiverProvince;
if (order.receiverCity != null) {
str += " " + order.receiverCity;
}
// let str = order.receiverProvince;
// if (order.receiverCity != null) {
// str += " " + order.receiverCity;
// }
let str = "";
str += " " + order.receiverRegion;
str += " " + order.receiverDetailAddress;
return str;
@ -459,9 +461,10 @@
formatStatus(value) {
if (value === 12) {
return '待付款';
}if (value === 1) {
}
if (value === 1) {
return '支付成功,没有回掉';
}else if (value === 2) {
} else if (value === 2) {
return '待发货';
} else if (value === 3) {
return '待收货';
@ -490,14 +493,14 @@
formatPayStatus(value) {
if (value === 0) {
return '未支付';
} else if(value===4){
} else if (value === 4) {
return '已退款';
}else{
} else {
return '已支付';
}
},
formatDeliverStatus(value) {
if (value === 0||value === 1) {
if (value === 0 || value === 1) {
return '未发货';
} else {
return '已发货';
@ -510,27 +513,27 @@
return '赠品';
}
},
formatProductAttr(value){
if(value==null){
formatProductAttr(value) {
if (value == null) {
return '';
}else{
} else {
let attr = JSON.parse(value);
let result='';
for(let i=0;i<attr.length;i++){
result+=attr[i].key;
result+=":";
result+=attr[i].value;
result+=";";
let result = '';
for (let i = 0; i < attr.length; i++) {
result += attr[i].key;
result += ":";
result += attr[i].value;
result += ";";
}
return result;
}
}
},
methods: {
onSelectRegion(data){
this.receiverInfo.receiverProvince=data.province.value;
this.receiverInfo.receiverCity=data.city.value;
this.receiverInfo.receiverRegion=data.area.value;
onSelectRegion(data) {
this.receiverInfo.receiverProvince = data.province.value;
this.receiverInfo.receiverCity = data.city.value;
this.receiverInfo.receiverRegion = data.area.value;
},
formatTime(time) {
if (time == null || time === '') {
@ -549,33 +552,33 @@
} else if (value === 3) {
//
return 4;
}else {
} else {
//
return 1;
}
},
showUpdateReceiverDialog(){
this.receiverDialogVisible=true;
this.receiverInfo={
orderId:this.order.id,
receiverName:this.order.receiverName,
receiverPhone:this.order.receiverPhone,
receiverPostCode:this.order.receiverPostCode,
receiverDetailAddress:this.order.receiverDetailAddress,
receiverProvince:this.order.receiverProvince,
receiverCity:this.order.receiverCity,
receiverRegion:this.order.receiverRegion,
status:this.order.status
showUpdateReceiverDialog() {
this.receiverDialogVisible = true;
this.receiverInfo = {
orderId: this.order.id,
receiverName: this.order.receiverName,
receiverPhone: this.order.receiverPhone,
receiverPostCode: this.order.receiverPostCode,
receiverDetailAddress: this.order.receiverDetailAddress,
receiverProvince: this.order.receiverProvince,
receiverCity: this.order.receiverCity,
receiverRegion: this.order.receiverRegion,
status: this.order.status
}
},
handleUpdateReceiverInfo(){
handleUpdateReceiverInfo() {
this.$confirm('是否要修改收货信息?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
updateReceiverInfo(this.receiverInfo).then(response=>{
this.receiverDialogVisible=false;
updateReceiverInfo(this.receiverInfo).then(response => {
this.receiverDialogVisible = false;
this.$message({
type: 'success',
message: '修改成功!'
@ -586,21 +589,21 @@
});
});
},
showUpdateMoneyDialog(){
this.moneyDialogVisible=true;
this.moneyInfo.orderId=this.order.id;
this.moneyInfo.freightAmount=this.order.freightAmount;
this.moneyInfo.discountAmount=this.order.discountAmount;
this.moneyInfo.status=this.order.status;
showUpdateMoneyDialog() {
this.moneyDialogVisible = true;
this.moneyInfo.orderId = this.order.id;
this.moneyInfo.freightAmount = this.order.freightAmount;
this.moneyInfo.discountAmount = this.order.discountAmount;
this.moneyInfo.status = this.order.status;
},
handleUpdateMoneyInfo(){
handleUpdateMoneyInfo() {
this.$confirm('是否要修改费用信息?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
updateMoneyInfo(this.moneyInfo).then(response=>{
this.moneyDialogVisible=false;
updateMoneyInfo(this.moneyInfo).then(response => {
this.moneyDialogVisible = false;
this.$message({
type: 'success',
message: '修改成功!'
@ -611,40 +614,40 @@
});
});
},
showMessageDialog(){
this.messageDialogVisible=true;
this.message.title=null;
this.message.content=null;
showMessageDialog() {
this.messageDialogVisible = true;
this.message.title = null;
this.message.content = null;
},
handleSendMessage(){
handleSendMessage() {
this.$confirm('是否要发送站内信?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.messageDialogVisible=false;
this.messageDialogVisible = false;
this.$message({
type: 'success',
message: '发送成功!'
});
});
},
showCloseOrderDialog(){
this.closeDialogVisible=true;
this.closeInfo.note=null;
this.closeInfo.id=this.id;
showCloseOrderDialog() {
this.closeDialogVisible = true;
this.closeInfo.note = null;
this.closeInfo.id = this.id;
},
handleCloseOrder(){
handleCloseOrder() {
this.$confirm('是否要关闭?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let params = new URLSearchParams();
params.append("ids",[this.closeInfo.id]);
params.append("note",this.closeInfo.note);
closeOrder(params).then(response=>{
this.closeDialogVisible=false;
params.append("ids", [this.closeInfo.id]);
params.append("note", this.closeInfo.note);
closeOrder(params).then(response => {
this.closeDialogVisible = false;
this.$message({
type: 'success',
message: '订单关闭成功!'
@ -655,23 +658,23 @@
});
});
},
showMarkOrderDialog(){
this.markOrderDialogVisible=true;
this.markInfo.id=this.id;
this.closeOrder.note=null;
showMarkOrderDialog() {
this.markOrderDialogVisible = true;
this.markInfo.id = this.id;
this.closeOrder.note = null;
},
handleMarkOrder(){
handleMarkOrder() {
this.$confirm('是否要备注订单?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let params = new URLSearchParams();
params.append("id",this.markInfo.id);
params.append("note",this.markInfo.note);
params.append("status",this.order.status);
updateOrderNote(params).then(response=>{
this.markOrderDialogVisible=false;
params.append("id", this.markInfo.id);
params.append("note", this.markInfo.note);
params.append("status", this.order.status);
updateOrderNote(params).then(response => {
this.markOrderDialogVisible = false;
this.$message({
type: 'success',
message: '订单备注成功!'
@ -682,15 +685,15 @@
});
});
},
handleDeleteOrder(){
handleDeleteOrder() {
this.$confirm('是否要进行该删除操作?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let params = new URLSearchParams();
params.append("ids",[this.id]);
deleteOrder(params).then(response=>{
params.append("ids", [this.id]);
deleteOrder(params).then(response => {
this.$message({
message: '删除成功!',
type: 'success',
@ -700,8 +703,8 @@
});
})
},
showLogisticsDialog(){
this.logisticsDialogVisible=true;
showLogisticsDialog() {
this.logisticsDialogVisible = true;
}
}
}
@ -753,5 +756,3 @@
color: #303133;
}
</style>

Loading…
Cancel
Save