|
@@ -8,8 +8,8 @@
|
|
|
</div>
|
|
|
<!-- <div style="width:100%;height:10px" v-if="!list.length"></div> -->
|
|
|
<!-- 新订单 -->
|
|
|
- <div v-if="tabNum==0">
|
|
|
- <div class="order_item" v-for="(item,i) in list" :key="i">
|
|
|
+ <div v-if="tabNum===0">
|
|
|
+ <div :class="curIdx === i ? 'order_item active-order-item' : 'order_item'" @click="chooseOrder(item,i)" v-for="(item,i) in list" :key="i">
|
|
|
<div class="order_item_header">
|
|
|
<div class="order_item_header_l">
|
|
|
<div class="Serial_number">#{{item.daySeq}}</div>
|
|
@@ -26,31 +26,29 @@
|
|
|
|
|
|
</div>
|
|
|
<div class="order_item_cont">
|
|
|
- <div class="itme_l">
|
|
|
- <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
- <div class="address">
|
|
|
- {{item.receiptProvinceName}}
|
|
|
- {{item.receiptCityName}}
|
|
|
- {{item.receiptDistrictName}}
|
|
|
- {{item.receiptAddress}}
|
|
|
- <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
- <i class="el-icon-location"></i>
|
|
|
- <span v-if="item.orderDistance < 1000">
|
|
|
- {{item.orderDistance}}m
|
|
|
- </span>
|
|
|
- <span v-else>
|
|
|
- {{item.orderDistance / 1000}}km
|
|
|
- </span>
|
|
|
+ <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
+ <div class="address">
|
|
|
+ {{item.receiptProvinceName}}
|
|
|
+ {{item.receiptCityName}}
|
|
|
+ {{item.receiptDistrictName}}
|
|
|
+ {{item.receiptAddress}}
|
|
|
+ <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
+ <i class="el-icon-location"></i>
|
|
|
+ <span v-if="item.orderDistance < 1000">
|
|
|
+ {{item.orderDistance}}m
|
|
|
</span>
|
|
|
- </div>
|
|
|
+ <span v-else>
|
|
|
+ {{item.orderDistance / 1000}}km
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
<div v-if="item.caution" class="itme_r">备注:{{item.caution}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 预约单 -->
|
|
|
- <div v-if="tabNum==1">
|
|
|
- <div class="order_item" v-for="(item,i) in list" :key="i">
|
|
|
+ <div v-if="tabNum===1">
|
|
|
+ <div :class="curIdx === i ? 'order_item active-order-item' : 'order_item'" @click="chooseOrder(item,i)" v-for="(item,i) in list" :key="i">
|
|
|
<div class="order_item_header">
|
|
|
<div class="order_item_header_l">
|
|
|
<div class="Serial_number">#{{item.daySeq}}</div>
|
|
@@ -64,34 +62,31 @@
|
|
|
<el-button size='small' class="btn" @click.stop="itemAddRemark(item.id, item)">添加备注</el-button>
|
|
|
<el-button size='small' class="btn" @click.stop="iGnoreOrder(item.id)">忽略订单</el-button>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
<div class="order_item_cont">
|
|
|
- <div class="itme_l">
|
|
|
- <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
- <div class="address">
|
|
|
- {{item.receiptProvinceName}}
|
|
|
- {{item.receiptCityName}}
|
|
|
- {{item.receiptDistrictName}}
|
|
|
- {{item.receiptAddress}}
|
|
|
- <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
- <i class="el-icon-location"></i>
|
|
|
- <span v-if="item.orderDistance < 1000">
|
|
|
- {{item.orderDistance}}m
|
|
|
- </span>
|
|
|
- <span v-else>
|
|
|
- {{item.orderDistance / 1000}}km
|
|
|
- </span>
|
|
|
+ <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
+ <div class="address">
|
|
|
+ {{item.receiptProvinceName}}
|
|
|
+ {{item.receiptCityName}}
|
|
|
+ {{item.receiptDistrictName}}
|
|
|
+ {{item.receiptAddress}}
|
|
|
+ <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
+ <i class="el-icon-location"></i>
|
|
|
+ <span v-if="item.orderDistance < 1000">
|
|
|
+ {{item.orderDistance}}m
|
|
|
</span>
|
|
|
- </div>
|
|
|
+ <span v-else>
|
|
|
+ {{item.orderDistance / 1000}}km
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
<div v-if="item.takeRemark" class="itme_r">备注:{{item.takeRemark}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 待接单 -->
|
|
|
- <div v-if="tabNum==2">
|
|
|
- <div class="order_item" v-for="(item,i) in list" :key="i">
|
|
|
+ <div v-if="tabNum===2">
|
|
|
+ <div :class="curIdx === i ? 'order_item active-order-item' : 'order_item'" @click="chooseOrder(item,i)" v-for="(item,i) in list" :key="i">
|
|
|
<div class="order_item_header">
|
|
|
<div class="order_item_header_l">
|
|
|
<div class="Serial_number" v-if="item.daySeq">#{{item.daySeq}}</div>
|
|
@@ -106,31 +101,30 @@
|
|
|
|
|
|
</div>
|
|
|
<div class="order_item_cont">
|
|
|
- <div class="itme_l">
|
|
|
- <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
- <div class="address">
|
|
|
- {{item.receiptProvinceName}}
|
|
|
- {{item.receiptCityName}}
|
|
|
- {{item.receiptDistrictName}}
|
|
|
- {{item.receiptAddress}}
|
|
|
- <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
- <i class="el-icon-location"></i>
|
|
|
- <span v-if="item.orderDistance < 1000">
|
|
|
- {{item.orderDistance}}m
|
|
|
- </span>
|
|
|
- <span v-else>
|
|
|
- {{item.orderDistance / 1000}}km
|
|
|
- </span>
|
|
|
+
|
|
|
+ <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
+ <div class="address">
|
|
|
+ {{item.receiptProvinceName}}
|
|
|
+ {{item.receiptCityName}}
|
|
|
+ {{item.receiptDistrictName}}
|
|
|
+ {{item.receiptAddress}}
|
|
|
+ <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
+ <i class="el-icon-location"></i>
|
|
|
+ <span v-if="item.orderDistance < 1000">
|
|
|
+ {{item.orderDistance}}m
|
|
|
</span>
|
|
|
- </div>
|
|
|
+ <span v-else>
|
|
|
+ {{item.orderDistance / 1000}}km
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
<div v-if="item.caution" class="itme_r">备注:{{item.caution}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 取货中 -->
|
|
|
- <div v-if="tabNum==3">
|
|
|
- <div class="order_item" v-for="(item,i) in list" :key="i">
|
|
|
+ <div v-if="tabNum===3">
|
|
|
+ <div :class="curIdx === i ? 'order_item active-order-item' : 'order_item'" @click="chooseOrder(item,i)" v-for="(item,i) in list" :key="i">
|
|
|
<div class="order_item_header">
|
|
|
<div class="order_item_header_l">
|
|
|
<div class="Serial_number" v-if="item.daySeq">#{{item.daySeq}}</div>
|
|
@@ -142,34 +136,31 @@
|
|
|
<span class="header_r">预计{{item.takeTimeTxt}}取件</span>
|
|
|
<el-button size='small' class="btn" @click.stop="orderPrinter(item.waimaiOrderId)">补打发票</el-button>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
<div class="order_item_cont">
|
|
|
- <div class="itme_l">
|
|
|
- <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
- <div class="address">
|
|
|
- {{item.receiptProvinceName}}
|
|
|
- {{item.receiptCityName}}
|
|
|
- {{item.receiptDistrictName}}
|
|
|
- {{item.receiptAddress}}
|
|
|
- <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
- <i class="el-icon-location"></i>
|
|
|
- <span v-if="item.orderDistance < 1000">
|
|
|
- {{item.orderDistance}}m
|
|
|
- </span>
|
|
|
- <span v-else>
|
|
|
- {{item.orderDistance / 1000}}km
|
|
|
- </span>
|
|
|
+ <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
+ <div class="address">
|
|
|
+ {{item.receiptProvinceName}}
|
|
|
+ {{item.receiptCityName}}
|
|
|
+ {{item.receiptDistrictName}}
|
|
|
+ {{item.receiptAddress}}
|
|
|
+ <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
+ <i class="el-icon-location"></i>
|
|
|
+ <span v-if="item.orderDistance < 1000">
|
|
|
+ {{item.orderDistance}}m
|
|
|
+ </span>
|
|
|
+ <span v-else>
|
|
|
+ {{item.orderDistance / 1000}}km
|
|
|
</span>
|
|
|
- </div>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
<div v-if="item.caution" class="itme_r">备注:{{item.caution}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 配送中 -->
|
|
|
- <div v-if="tabNum==4">
|
|
|
- <div class="order_item" v-for="(item,i) in list" :key="i">
|
|
|
+ <div v-if="tabNum===4">
|
|
|
+ <div :class="curIdx === i ? 'order_item active-order-item' : 'order_item'" @click="chooseOrder(item,i)" v-for="(item,i) in list" :key="i">
|
|
|
<div class="order_item_header">
|
|
|
<div class="order_item_header_l">
|
|
|
<div class="Serial_number" v-if="item.daySeq">#{{item.daySeq}}</div>
|
|
@@ -181,34 +172,31 @@
|
|
|
<span class="header_r" v-if="item.exceptTime">预计{{item.exceptTime}}送达</span>
|
|
|
<el-button size='small' class="btn" @click.stop="orderPrinter(item.waimaiOrderId)">补打发票</el-button>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
<div class="order_item_cont">
|
|
|
- <div class="itme_l">
|
|
|
- <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
- <div class="address">
|
|
|
- {{item.receiptProvinceName}}
|
|
|
- {{item.receiptCityName}}
|
|
|
- {{item.receiptDistrictName}}
|
|
|
- {{item.receiptAddress}}
|
|
|
- <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
- <i class="el-icon-location"></i>
|
|
|
- <span v-if="item.orderDistance < 1000">
|
|
|
- {{item.orderDistance}}m
|
|
|
- </span>
|
|
|
- <span v-else>
|
|
|
- {{item.orderDistance / 1000}}km
|
|
|
- </span>
|
|
|
+ <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
+ <div class="address">
|
|
|
+ {{item.receiptProvinceName}}
|
|
|
+ {{item.receiptCityName}}
|
|
|
+ {{item.receiptDistrictName}}
|
|
|
+ {{item.receiptAddress}}
|
|
|
+ <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
+ <i class="el-icon-location"></i>
|
|
|
+ <span v-if="item.orderDistance < 1000">
|
|
|
+ {{item.orderDistance}}m
|
|
|
+ </span>
|
|
|
+ <span v-else>
|
|
|
+ {{item.orderDistance / 1000}}km
|
|
|
</span>
|
|
|
- </div>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
<div v-if="item.caution" class="itme_r">备注:{{item.caution}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 异常单 -->
|
|
|
- <div v-if="tabNum==5">
|
|
|
- <div class="order_item" v-for="(item,i) in list" :key="i">
|
|
|
+ <div v-if="tabNum===5">
|
|
|
+ <div :class="curIdx === i ? 'order_item active-order-item' : 'order_item'" @click="chooseOrder(item,i)" v-for="(item,i) in list" :key="i">
|
|
|
<div class="order_item_header">
|
|
|
<div class="order_item_header_l">
|
|
|
<div class="Serial_number" v-if="item.daySeq">#{{item.daySeq}}</div>
|
|
@@ -224,34 +212,31 @@
|
|
|
<span class="header_r" v-if="item.cancelType == 5">平台取消</span>
|
|
|
<el-button size='small' class="btn" @click.stop="orderBack(item.id)">撤回订单</el-button>
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
<div class="order_item_cont">
|
|
|
- <div class="itme_l">
|
|
|
- <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
- <div class="address">
|
|
|
- {{item.receiptProvinceName}}
|
|
|
- {{item.receiptCityName}}
|
|
|
- {{item.receiptDistrictName}}
|
|
|
- {{item.receiptAddress}}
|
|
|
- <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
- <i class="el-icon-location"></i>
|
|
|
- <span v-if="item.orderDistance < 1000">
|
|
|
- {{item.orderDistance}}m
|
|
|
- </span>
|
|
|
- <span v-else>
|
|
|
- {{item.orderDistance / 1000}}km
|
|
|
- </span>
|
|
|
+ <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
+ <div class="address">
|
|
|
+ {{item.receiptProvinceName}}
|
|
|
+ {{item.receiptCityName}}
|
|
|
+ {{item.receiptDistrictName}}
|
|
|
+ {{item.receiptAddress}}
|
|
|
+ <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
+ <i class="el-icon-location"></i>
|
|
|
+ <span v-if="item.orderDistance < 1000">
|
|
|
+ {{item.orderDistance}}m
|
|
|
+ </span>
|
|
|
+ <span v-else>
|
|
|
+ {{item.orderDistance / 1000}}km
|
|
|
</span>
|
|
|
- </div>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
<div v-if="item.caution" class="itme_r">备注:{{item.caution}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 异常单 -->
|
|
|
- <div v-if="tabNum==6">
|
|
|
- <div class="order_item" v-for="(item,i) in list" :key="i">
|
|
|
+ <div v-if="tabNum===6">
|
|
|
+ <div :class="curIdx === i ? 'order_item active-order-item' : 'order_item'" @click="chooseOrder(item,i)" v-for="(item,i) in list" :key="i">
|
|
|
<div class="order_item_header">
|
|
|
<div class="order_item_header_l">
|
|
|
<div class="Serial_number" v-if="item.daySeq">#{{item.daySeq}}</div>
|
|
@@ -267,26 +252,23 @@
|
|
|
<span class="header_r" v-if="item.cancelType == 5">平台取消</span>
|
|
|
<!-- <el-button size='small' class="btn" @click.stop="orderBack(item.id)">撤回订单</el-button> -->
|
|
|
</div>
|
|
|
-
|
|
|
</div>
|
|
|
<div class="order_item_cont">
|
|
|
- <div class="itme_l">
|
|
|
- <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
- <div class="address">
|
|
|
- {{item.receiptProvinceName}}
|
|
|
- {{item.receiptCityName}}
|
|
|
- {{item.receiptDistrictName}}
|
|
|
- {{item.receiptAddress}}
|
|
|
- <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
- <i class="el-icon-location"></i>
|
|
|
- <span v-if="item.orderDistance < 1000">
|
|
|
- {{item.orderDistance}}m
|
|
|
- </span>
|
|
|
- <span v-else>
|
|
|
- {{item.orderDistance / 1000}}km
|
|
|
- </span>
|
|
|
+ <div class="content">{{item.receiptContactName}}<span>{{item.receiptPhone}}</span></div>
|
|
|
+ <div class="address">
|
|
|
+ {{item.receiptProvinceName}}
|
|
|
+ {{item.receiptCityName}}
|
|
|
+ {{item.receiptDistrictName}}
|
|
|
+ {{item.receiptAddress}}
|
|
|
+ <span v-if="item.orderDistance" @click.stop="checkMap(item)">
|
|
|
+ <i class="el-icon-location"></i>
|
|
|
+ <span v-if="item.orderDistance < 1000">
|
|
|
+ {{item.orderDistance}}m
|
|
|
+ </span>
|
|
|
+ <span v-else>
|
|
|
+ {{item.orderDistance / 1000}}km
|
|
|
</span>
|
|
|
- </div>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
<div v-if="item.caution" class="itme_r">备注:{{item.caution}}</div>
|
|
|
</div>
|
|
@@ -295,21 +277,15 @@
|
|
|
<div v-if="item.caution" class="itme_r">备注:{{item.caution}}</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
+ <!-- 订单追踪、订单详情 -->
|
|
|
<el-col :span="6">
|
|
|
- <div class="order_detail" v-if="needTrack">
|
|
|
+ <div class="order_detail">
|
|
|
<div class="detail_title">
|
|
|
- <div class="detail_txt" @click="orderDetailStutus=0" :class="{'detail_txt_ac':orderDetailStutus==0?true:false}">订单跟踪</div>
|
|
|
- <div class="detail_txt" @click="orderDetailStutus=1" :class="{'detail_txt_ac':orderDetailStutus==1?true:false}">订单详情</div>
|
|
|
+ <div v-show="needTrack" class="detail_txt" @click="orderDetailStutus=0" :class="{'detail_txt_ac':!orderDetailStutus}">订单跟踪</div>
|
|
|
+ <div class="detail_txt" @click="orderDetailStutus=1" :class="{'detail_txt_ac':!!orderDetailStutus}">订单详情</div>
|
|
|
</div>
|
|
|
- <order-detail v-if="orderDetailStutus==1"></order-detail>
|
|
|
- <order-track v-if="orderDetailStutus==0"></order-track>
|
|
|
- </div>
|
|
|
- <div class="order_detail" v-else>
|
|
|
- <div class="detail_title">
|
|
|
- <div class="detail_txt" @click="orderDetailStutus=1">订单详情</div>
|
|
|
- </div>
|
|
|
- <order-detail v-if="orderDetailStutus==1"></order-detail>
|
|
|
- <order-track v-if="orderDetailStutus==0"></order-track>
|
|
|
+ <order-track :tabNum="tabNum" :orderInfo="orderInfo" v-if="!orderDetailStutus && needTrack"></order-track>
|
|
|
+ <order-detail :tabNum="tabNum" :orderInfo="orderInfo" v-else></order-detail>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -368,7 +344,7 @@ export default {
|
|
|
name: "OrderList",
|
|
|
data() {
|
|
|
return {
|
|
|
- needTrack: true,
|
|
|
+ needTrack: false,
|
|
|
orderDetailStutus: 0,
|
|
|
isLoading: false,
|
|
|
dialogTableVisible: false,
|
|
@@ -377,12 +353,30 @@ export default {
|
|
|
orderId: "",
|
|
|
item: {},
|
|
|
radio: "",
|
|
|
+ needTrack: false,
|
|
|
+ curIdx: 0,
|
|
|
+ orderInfo: {},
|
|
|
};
|
|
|
},
|
|
|
props: {
|
|
|
tabNum: Number,
|
|
|
list: Array,
|
|
|
},
|
|
|
+ watch: {
|
|
|
+ tabNum(newVal, oldVal) {
|
|
|
+ if (newVal === 0 || newVal === 1) {
|
|
|
+ this.needTrack = false;
|
|
|
+ } else {
|
|
|
+ this.needTrack = true;
|
|
|
+ }
|
|
|
+ this.curIdx = 0;
|
|
|
+ },
|
|
|
+ list(newVal, oldVal) {
|
|
|
+ if (newVal.length) {
|
|
|
+ this.orderInfo = newVal[0];
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
components: {
|
|
|
sendOrderPopup,
|
|
|
orderMap,
|
|
@@ -392,8 +386,11 @@ export default {
|
|
|
computed: {
|
|
|
...mapState(["userInfo"]),
|
|
|
},
|
|
|
- mounted() {},
|
|
|
methods: {
|
|
|
+ chooseOrder(v, index) {
|
|
|
+ this.curIdx = index;
|
|
|
+ this.orderInfo = v;
|
|
|
+ },
|
|
|
changeRadio(i) {
|
|
|
this.radio = i;
|
|
|
},
|
|
@@ -611,12 +608,17 @@ export default {
|
|
|
height: 222px;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+.active-order-item {
|
|
|
+ border: 2px solid #fc7200;
|
|
|
+ height: 136px !important;
|
|
|
+ width: calc(100% - 4px) !important;
|
|
|
+}
|
|
|
.order_item {
|
|
|
width: 100%;
|
|
|
height: 140px;
|
|
|
background: #fff;
|
|
|
margin-bottom: 10px;
|
|
|
+ border-radius: 5px;
|
|
|
|
|
|
.order_item_header {
|
|
|
width: 100%;
|
|
@@ -720,7 +722,13 @@ export default {
|
|
|
// right: 10px;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ .order_item_cont {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: space-evenly;
|
|
|
+ padding: 5px 20px;
|
|
|
+ height: 80px;
|
|
|
+ }
|
|
|
.address span {
|
|
|
font-size: 12px;
|
|
|
color: #b1b1b1;
|