pull/8/head
xiaozhiyong 2 years ago
parent 0ff8937579
commit bfb9fc7761
  1. 248
      src/views/order/index.vue

@ -1,13 +1,18 @@
<template> <template>
<div class="order"> <div class="order">
<div class="frame"> <div class="frame">
<el-input class="mr20" v-model="parameter.params.id" placeholder="订单编号" clearable></el-input> <el-input
<!-- 公司名称 --> class="mr20"
v-model="parameter.params.id"
placeholder="订单编号"
clearable
></el-input>
<!-- 公司名称 -->
<autocomplete <autocomplete
class="mr20" class="mr20"
:params="parameter.params" :params="parameter.params"
:config="configAutocomplete" :config="configAutocomplete"
/> />
<!-- <el-select style="margin-right: 20px;" v-model="parameter.params.id" placeholder="用户名称" clearable> <!-- <el-select style="margin-right: 20px;" v-model="parameter.params.id" placeholder="用户名称" clearable>
<el-option <el-option
v-for="item in refineryList" v-for="item in refineryList"
@ -56,13 +61,13 @@
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
> >
<el-table-column <el-table-column
prop="id" prop="id"
label="订单ID" label="订单ID"
show-overflow-tooltip show-overflow-tooltip
minWidth="250" minWidth="250"
> >
</el-table-column> </el-table-column>
<el-table-column label="购方客户信息" minWidth="250"> <el-table-column label="购方客户信息" minWidth="250">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<p class="gray"> <p class="gray">
@ -84,29 +89,44 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="salePrice" label="价格" minWidth="90">
prop="salePrice" label="价格" minWidth="90">
</el-table-column> </el-table-column>
<el-table-column
<el-table-column prop="payStatus" label="支付状态" minWidth="120" show-overflow-tooltip> prop="payStatus"
label="支付状态"
minWidth="120"
show-overflow-tooltip
>
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-tag :effect="payTagType(row.payStatus).effect" :type="payTagType(row.payStatus).type">{{ payTagType(row.payStatus).label }}</el-tag> <el-tag
:effect="payTagType(row.payStatus).effect"
:type="payTagType(row.payStatus).type"
>{{ payTagType(row.payStatus).label }}</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="orderStatus" label="订单状态" minWidth="120"> <el-table-column prop="orderStatus" label="订单状态" minWidth="120">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-tag :effect="orderTagType(row.orderStatus).effect" :type="orderTagType(row.orderStatus).type">{{ orderTagType(row.orderStatus).label }}</el-tag> <el-tag
:effect="orderTagType(row.orderStatus).effect"
:type="orderTagType(row.orderStatus).type"
>{{ orderTagType(row.orderStatus).label }}</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="orderSerialNumber" prop="orderSerialNumber"
label="订单提货量(实际/预约)" label="订单提货量(实际/预约)"
minWidth="180" minWidth="180"
> >
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span>{{ row.actQuantity|toNumberFixed }} / {{ row.preQuantity|toNumberFixed }} {{row.productMeasurement}}</span> <span
>{{ row.actQuantity | toNumberFixed }} /
{{ row.preQuantity | toNumberFixed }}
{{ row.productMeasurement }}</span
>
</template> </template>
</el-table-column> </el-table-column>
@ -116,7 +136,10 @@
minWidth="180" minWidth="180"
> >
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span>{{ row.actAmount|toNumberFixed}} / {{ row.preAmount|toNumberFixed }} </span> <span
>{{ row.actAmount | toNumberFixed }} /
{{ row.preAmount | toNumberFixed }} </span
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="时间" minWidth="235"> <el-table-column label="时间" minWidth="235">
@ -129,30 +152,71 @@
</p> </p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="orderSerialNumber" fixed="right" label="操作" width="250"> <el-table-column
prop="orderSerialNumber"
fixed="right"
label="操作"
width="250"
>
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<el-link type="primary" :underline="false" @click="detail(row)" <el-link type="primary" :underline="false" @click="detail(row)"
>详情</el-link >详情</el-link
> >
<el-link v-show="row.orderStatus!=='SUBMITED'&&row.orderStatus!=='ORDER_LOCKED'" type="primary" :underline="false" @click="billOfLading(row)" <el-link
v-show="
row.orderStatus !== 'SUBMITED' &&
row.orderStatus !== 'ORDER_LOCKED'
"
type="primary"
:underline="false"
@click="billOfLading(row)"
>提货单</el-link >提货单</el-link
> >
<el-popconfirm <el-popconfirm
:title="row.orderStatus=='SUBMITED'?'是否确认订单锁定?':'是否确认下单?'" :title="
row.orderStatus == 'SUBMITED'
? '是否确认订单锁定?'
: '是否确认下单?'
"
icon-color="red" icon-color="red"
@confirm="Locked(row)" @confirm="Locked(row)"
> >
<el-link v-show="row.orderStatus=='SUBMITED'||row.orderStatus=='ORDER_LOCKED'" slot="reference" type="primary" :underline="false" <el-link
>{{row.orderStatus=='SUBMITED'?'订单锁定':'下单确认'}}</el-link v-show="
row.orderStatus == 'SUBMITED' ||
row.orderStatus == 'ORDER_LOCKED'
"
slot="reference"
type="primary"
:underline="false"
>{{
row.orderStatus == "SUBMITED" ? "订单锁定" : "下单确认"
}}</el-link
> >
</el-popconfirm> </el-popconfirm>
<el-popconfirm <el-popconfirm
:title="row.orderStatus=='SUBMITED'||row.orderStatus=='ORDER_LOCKED'?'是否确认取消订单?':'是否确认退款?'" :title="
row.orderStatus == 'SUBMITED' ||
row.orderStatus == 'ORDER_LOCKED'
? '是否确认取消订单?'
: '是否确认退款?'
"
icon-color="red" icon-color="red"
@confirm="orderCencle(row)" @confirm="orderCencle(row)"
> >
<el-link v-show="row.orderStatus!=='CANCELED'&&row.payStatus!=='REFUNDED'" slot="reference" type="primary" :underline="false" <el-link
>{{row.orderStatus=='SUBMITED'||row.orderStatus=='ORDER_LOCKED'?'订单取消':'订单退款'}}</el-link v-show="
row.orderStatus !== 'CANCELED' && row.payStatus !== 'REFUNDED'
"
slot="reference"
type="primary"
:underline="false"
>{{
row.orderStatus == "SUBMITED" ||
row.orderStatus == "ORDER_LOCKED"
? "订单取消"
: "订单退款"
}}</el-link
> >
</el-popconfirm> </el-popconfirm>
</template> </template>
@ -190,7 +254,11 @@
</general-details> </general-details>
</el-drawer> </el-drawer>
<!-- 提货单 --> <!-- 提货单 -->
<billOfLading :billData="billData" :controlWindows="controlWindows" @closeWindow="handleCurrentChange" /> <billOfLading
:billData="billData"
:controlWindows="controlWindows"
@closeWindow="handleCurrentChange"
/>
</div> </div>
</template> </template>
@ -204,20 +272,20 @@ import autocomplete from "components/autocomplete/index.vue";
import billOfLading from "./components/billOfLading.vue"; import billOfLading from "./components/billOfLading.vue";
export default { export default {
filters:{ filters: {
toNumberFixed(val){ toNumberFixed(val) {
if(val){ if (val) {
return Number(val).toFixed(2) return Number(val).toFixed(2);
}else{return '--'} } else {
} return "--";
}
},
}, },
data() { data() {
return { return {
controlWindows: { controlWindows: {
add: false, add: false,
addInfo: { addInfo: {},
},
detail: false, detail: false,
bill: false, bill: false,
}, },
@ -231,7 +299,7 @@ export default {
}, },
configAutocompleteLc: { configAutocompleteLc: {
serveTarget: serve.findByEntity, serveTarget: serve.findByEntity,
autocompleteKey: "name", autocompleteKey: "refineryName",
labelKey: "refineryName", labelKey: "refineryName",
valueKey: "id", valueKey: "id",
placeholder: "炼厂名称", placeholder: "炼厂名称",
@ -262,7 +330,7 @@ export default {
params: {}, params: {},
}, },
oilCompanyMatch: {}, oilCompanyMatch: {},
billData:[], billData: [],
mappingData: [ mappingData: [
{ {
carTitle: "", carTitle: "",
@ -285,7 +353,7 @@ export default {
generalDetails, generalDetails,
billOfLading, billOfLading,
autocomplete, autocomplete,
productApi productApi,
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
@ -301,29 +369,43 @@ export default {
this.getByPage(); this.getByPage();
}, },
methods: { methods: {
payTagType(val){ payTagType(val) {
switch(val){ switch (val) {
case 'PREPAID': return {label:'预支付',type:'info'} case "PREPAID":
case 'PAYING': return {label:'支付中',type:'warning'} return { label: "预支付", type: "info" };
case 'SUCCESS': return {label:'支付成功',type:'success',effect:'dark'} case "PAYING":
case 'FAILURE': return {label:'支付失败',type:'danger',effect:'dark'} return { label: "支付中", type: "warning" };
case 'CANCELED': return {label:'支付取消',type:'info'} case "SUCCESS":
case 'REFUNDED': return {label:'退款成功',type:'danger',effect:'dark'} return { label: "支付成功", type: "success", effect: "dark" };
case 'REFUNDING': return{label:'退款中',type:'warning'} case "FAILURE":
case 'REFUNDFAIL': return{label:'退款失败',type:'info',effect:'dark'} return { label: "支付失败", type: "danger", effect: "dark" };
case "CANCELED":
return { label: "支付取消", type: "info" };
case "REFUNDED":
return { label: "退款成功", type: "danger", effect: "dark" };
case "REFUNDING":
return { label: "退款中", type: "warning" };
case "REFUNDFAIL":
return { label: "退款失败", type: "info", effect: "dark" };
} }
return {label:val?val:'暂无数据',type:'info',effect:'plain'} return { label: val ? val : "暂无数据", type: "info", effect: "plain" };
}, },
orderTagType(val){ orderTagType(val) {
switch(val){ switch (val) {
case 'SUBMITED': return {label:'订单提交 ',type:'info'} case "SUBMITED":
case 'ORDER_LOCKED': return {label:'订单锁定',type:'warning'} return { label: "订单提交 ", type: "info" };
case 'ORDER_SUCCESS': return {label:'下单成功',type:'success',effect:'dark'} case "ORDER_LOCKED":
case 'DELIVERING': return {label:'提货中', type: ''} return { label: "订单锁定", type: "warning" };
case 'COMPLETE': return {label:'订单完成',type:'success',effect:'dark'} case "ORDER_SUCCESS":
case 'CANCELED': return {label:'订单取消',type:'info'} return { label: "下单成功", type: "success", effect: "dark" };
case "DELIVERING":
return { label: "提货中", type: "" };
case "COMPLETE":
return { label: "订单完成", type: "success", effect: "dark" };
case "CANCELED":
return { label: "订单取消", type: "info" };
} }
return {label:val?val:'暂无数据',type:'info'} return { label: val ? val : "暂无数据", type: "info" };
}, },
// currentPage change // currentPage change
handleCurrentChange(page) { handleCurrentChange(page) {
@ -350,17 +432,19 @@ export default {
}); });
}, },
// //
orderCencle(row){ orderCencle(row) {
if(row.orderStatus=='SUBMITED'||row.orderStatus=='ORDER_LOCKED'){ if (row.orderStatus == "SUBMITED" || row.orderStatus == "ORDER_LOCKED") {
order.orderUpdate({id:row.id,orderStatus:'CANCELED'}).then((res) => { order
if(res.code==20000){ .orderUpdate({ id: row.id, orderStatus: "CANCELED" })
this.getByPage() .then((res) => {
} if (res.code == 20000) {
}); this.getByPage();
}else{ }
order.orderRefund({id:row.id}).then((res) => { });
if(res.code==20000){ } else {
this.getByPage() order.orderRefund({ id: row.id }).then((res) => {
if (res.code == 20000) {
this.getByPage();
} }
}); });
} }
@ -371,16 +455,16 @@ export default {
this.controlWindows.add = true; this.controlWindows.add = true;
}, },
// //
async billOfLading(row){ async billOfLading(row) {
this.controlWindows.addInfo.title = ""; this.controlWindows.addInfo.title = "";
await order.findDeliveryByOrderId(row.id).then((res) => { await order.findDeliveryByOrderId(row.id).then((res) => {
this.billData.list = res.data this.billData.list = res.data;
}); });
await order.findByOrderId(row.id).then((res) => { await order.findByOrderId(row.id).then((res) => {
this.billData.orderInfo = res.data this.billData.orderInfo = res.data;
}); });
this.controlWindows.addInfo = row this.controlWindows.addInfo = row;
this.controlWindows.bill = true this.controlWindows.bill = true;
}, },
// //
detail(row) { detail(row) {
@ -389,16 +473,16 @@ export default {
}, },
// //
Locked(row) { Locked(row) {
if(row.orderStatus=='SUBMITED'){ if (row.orderStatus == "SUBMITED") {
order.orderLock({id:row.id}).then((res) => { order.orderLock({ id: row.id }).then((res) => {
if(res.code == 20000){ if (res.code == 20000) {
this.getByPage() this.getByPage();
} }
}); });
}else{ } else {
order.orderSuccess({id:row.id}).then((res) => { order.orderSuccess({ id: row.id }).then((res) => {
if(res.code == 20000){ if (res.code == 20000) {
this.getByPage() this.getByPage();
} }
}); });
} }

Loading…
Cancel
Save