订单发货、表格优化

master
chuzhichao 2 years ago
parent 1073dd35e0
commit 625dca80eb

@ -61,3 +61,12 @@ export function saveMerchantNote(data){
data: data data: data
}) })
} }
// 发货
export function deliverProduct(data){
return request({
url: '/oms/order/deliverProduct',
method: 'post',
data: data
})
}

@ -44,7 +44,7 @@
<el-table v-loading="loading" :data="omsOrderList" border @selection-change="handleSelectionChange" cell-class-name="my-cell"> <el-table v-loading="loading" :data="omsOrderList" border @selection-change="handleSelectionChange" cell-class-name="my-cell">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="收件信息" prop="receiverName" width="380"> <el-table-column label="收件信息" prop="receiverName" width="280">
<template v-slot="scope"> <template v-slot="scope">
<div> <div>
<span>{{ getHiddenName(scope.row.receiverName) }} {{ scope.row.receiverPhone }}</span> <span>{{ getHiddenName(scope.row.receiverName) }} {{ scope.row.receiverPhone }}</span>
@ -83,8 +83,8 @@
</el-table-column> </el-table-column>
<el-table-column label="下单时间/支付时间" prop="payTime" width="200" > <el-table-column label="下单时间/支付时间" prop="payTime" width="200" >
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.createTime">{{ parseTime(scope.row.createTime, '')}} </div> <div v-if="scope.row.createTime">{{ parseTime(scope.row.createTime, '{mm}-{dd} {hh}:{ii}')}} </div>
<div v-if="scope.row.payTime">{{ parseTime(scope.row.payTime, '')}} </div> <div v-if="scope.row.payTime">{{ parseTime(scope.row.payTime, '{mm}-{dd} {hh}:{ii}')}} </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="合计" prop="totalAmount" width="140"> <el-table-column label="合计" prop="totalAmount" width="140">
@ -96,7 +96,7 @@
<div>总价 {{ scope.row.totalAmount }}</div> <div>总价 {{ scope.row.totalAmount }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品规格" prop="productList" width="400"> <el-table-column label="商品规格" prop="productList" width="340">
<template v-slot="scope"> <template v-slot="scope">
<div v-for="item in scope.row.productList" class="product-container"> <div v-for="item in scope.row.productList" class="product-container">
<el-popover <el-popover
@ -131,7 +131,7 @@
>编辑</el-button> >编辑</el-button>
</div> </div>
<div v-if="scope.row.deliverySn">{{ scope.row.deliverySn}} <div v-if="scope.row.deliverySn">{{ scope.row.deliverySn}}
<el-link @click="copyOrderSn(scope.row.deliverySn)" :underline="false"><i class="el-icon-document-copy el-icon--right"></i> </el-link> <el-link @click="copy(scope.row.deliverySn)" :underline="false"><i class="el-icon-document-copy el-icon--right"></i> </el-link>
</div> </div>
<div v-if="scope.row.deliveryTime">{{ parseTime(scope.row.deliveryTime, '')}}</div> <div v-if="scope.row.deliveryTime">{{ parseTime(scope.row.deliveryTime, '')}}</div>
</template> </template>
@ -145,7 +145,7 @@
<!-- icon="el-icon-document-copy"--> <!-- icon="el-icon-document-copy"-->
<!-- @click="copyOrderSn(scope.row.orderSn)"--> <!-- @click="copyOrderSn(scope.row.orderSn)"-->
<!-- ></el-link>--> <!-- ></el-link>-->
<el-link @click="copyOrderSn(scope.row.orderSn)" :underline="false"><i class="el-icon-document-copy el-icon--right"></i> </el-link> <el-link @click="copy(scope.row.orderSn)" :underline="false"><i class="el-icon-document-copy el-icon--right"></i> </el-link>
</div> </div>
<el-button <el-button
size="mini" size="mini"
@ -173,7 +173,7 @@
<!-- 发货对话框 --> <!-- 发货对话框 -->
<el-dialog :title="deliveryObj.title" :visible.sync="deliveryObj.open" width="500px" append-to-body> <el-dialog :title="deliveryObj.title" :visible.sync="deliveryObj.open" width="500px" append-to-body>
<el-form ref="deliveryForm" :model="deliveryForm" :rules="rules" label-width="100px"> <el-form ref="deliveryForm" :model="deliveryObj.form" :rules="rules" label-width="100px">
<el-form-item label="快递公司" prop="expressName"> <el-form-item label="快递公司" prop="expressName">
<el-select v-model="deliveryObj.form.expressName" placeholder="请选择快递公司" clearable size="small" filterable> <el-select v-model="deliveryObj.form.expressName" placeholder="请选择快递公司" clearable size="small" filterable>
<!-- <el-option v-for="(item, index) in experssList" :label="item.expressName" :value="item.expressCode"/>--> <!-- <el-option v-for="(item, index) in experssList" :label="item.expressName" :value="item.expressCode"/>-->
@ -187,10 +187,10 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" v-hasPermi="['manager:oms:order:delivery']" @click="handleDelivery('deliveryForm')"> <el-button type="primary" @click="submitDelivery('deliveryForm')">
</el-button> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancelDelivery"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 保存商家备注对话框 --> <!-- 保存商家备注对话框 -->
@ -204,14 +204,14 @@
<el-button type="primary" size="small" @click="submitNoteForm()"> <el-button type="primary" size="small" @click="submitNoteForm()">
确认修改 确认修改
</el-button> </el-button>
<el-button size="small" @click="this.noteObj.open = false"> </el-button> <el-button size="small" @click="cancelNote"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { listOmsOrder, getOmsOrder, delOmsOrder, addOmsOrder, updateOmsOrder, exportOmsOrder, saveMerchantNote } from "@/api/oms/order"; import { listOmsOrder, getOmsOrder, delOmsOrder, addOmsOrder, updateOmsOrder, exportOmsOrder, saveMerchantNote, deliverProduct } from "@/api/oms/order";
import AddressSelector from "@/views/components/AddressSelector/index.vue"; import AddressSelector from "@/views/components/AddressSelector/index.vue";
import dateUtil from '@/utils/DateUtil'; import dateUtil from '@/utils/DateUtil';
@ -479,9 +479,9 @@ export default {
case 1: case 1:
return '待发货'; return '待发货';
case 2: case 2:
return '待发货';
case 3:
return '已发货'; return '已发货';
case 3:
return '已完成';
case 4: case 4:
return '已关闭'; return '已关闭';
case 5: case 5:
@ -512,7 +512,7 @@ export default {
const id = row.id const id = row.id
this.$router.push({path: '/order/detail', query: {id}}) this.$router.push({path: '/order/detail', query: {id}})
}, },
copyOrderSn(data) { copy(data) {
let url = data; let url = data;
let oInput = document.createElement('input'); let oInput = document.createElement('input');
oInput.value = url; oInput.value = url;
@ -523,10 +523,23 @@ export default {
this.$modal.msgSuccess('复制成功'); this.$modal.msgSuccess('复制成功');
oInput.remove() oInput.remove()
}, },
handleDelivery(id){ handleDelivery(row){
this.deliveryObj.form.orderId = id this.deliveryObj.form.orderId = row.id
this.deliveryObj.open = true this.deliveryObj.open = true
}, },
submitDelivery(){
deliverProduct(this.deliveryObj.form).then(resp => {
this.$modal.msgSuccess('发货成功')
this.cancelDelivery()
this.getList()
})
},
cancelDelivery(){
this.deliveryObj.open = false
this.deliveryObj.form.orderId = null
this.deliveryObj.form.expressName = null
this.deliveryObj.form.expressSn = null
},
handleSaveNote(row){ handleSaveNote(row){
const merchantNote = row.merchantNote const merchantNote = row.merchantNote
if (merchantNote){ if (merchantNote){
@ -543,10 +556,15 @@ export default {
saveMerchantNote(this.noteObj.form).then(resp => { saveMerchantNote(this.noteObj.form).then(resp => {
if (resp > 0){ if (resp > 0){
this.$modal.msgSuccess('修改成功') this.$modal.msgSuccess('修改成功')
this.noteObj.open = false this.cancelNote()
this.getList() this.getList()
} }
}) })
},
cancelNote(){
this.noteObj.open = false
this.noteObj.form.id = null
this.noteObj.form.merchantNote = null
} }
} }
@ -557,10 +575,10 @@ export default {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
width: 400px; width: 340px;
.product-item{ .product-item{
margin: auto; margin: auto;
width: 350px; width: 290px;
.sp-data{ .sp-data{
font-size: 13px; font-size: 13px;
} }

Loading…
Cancel
Save