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.
 
 
 
 
 

239 lines
5.6 KiB

<style lang="less">
@import "@/styles/table-common.less";
</style>
<template>
<div class="search">
<Card>
<Row>
<Form ref="searchForm" :model="searchForm" inline :label-width="100">
<FormItem label="" prop="name">
<div style="display: flex;">
<div style="width: 40px;">完成</div>
<Input v-model="form.orderNumber" style="width: 60px;"></Input>
<div style="width: 180px;">&nbsp;&nbsp;单后免单</div>
</div>
</FormItem>
<FormItem label="免单金额" prop="name">
<Input v-model="form.freeAmount"></Input>
</FormItem>
<FormItem style="margin-left: -35px" class="br">
<Button v-if="isOpen" @click="add" type="primary">开启</Button>
<Button v-else @click="add" type="primary">保存</Button>
<Button @click="close">关闭免单</Button>
</FormItem>
</Form>
</Row>
<Table :loading="loading" border :columns="columns" :data="data" :size="tableSize" ref="table"
sortable="custom" ></Table>
<Row type="flex" justify="end" class="page">
<Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize"
@on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]"
size="small" show-total show-elevator show-sizer></Page>
</Row>
</Card>
<Modal title="订单详情" v-model="Visiable" :mask-closable="false" :scrollabele="true" :width="1000">
<logistics-address v-if="Visiable" @closePage="closePage" ref="dialog"></logistics-address>
<div slot="footer" v-show="Visiable">
<Button type="text" @click="Visiable = false">关闭</Button>
</div>
</Modal>
</div>
</template>
<script>
import {
getMiandan,
addMiandan,
JiangLiList,
closeMiandan
} from "@/api/app";
import {
getOrderDetail
} from "@/api/index";
import logisticsAddress from "@/views/sys/order-manage/logisticsAddress";
export default {
name: "logiticsCompany",
components: {
logisticsAddress,
},
data() {
return {
Visiable: false,
form: {
orderNumber:'',
freeAmount:'',
regionId:JSON.parse(this.getStore("user")).departmentId
},
isOpen:false,
searchForm: {
regionId:JSON.parse(this.getStore("user")).departmentId,
pageNum: 1,
pageSize: 10,
dealingsWay:'免单奖励'
},
columns: [{
type: "index",
width: 60,
align: "center",
},
{
title: "类型",
key: "linkType",
align: "center",
render: (h, params) => {
let re = ""
if (params.row.linkType == 0) {
re = "用户";
} else if (params.row.type == 1) {
re = "配送员";
}
return h(
"div",
re
);
}
},
{
title: "交易方式/附言",
key: "dealingsWay",
align: "center",
},
{
title: "金额",
key: "amount",
align: "center",
},
{
title: "交易时间",
key: "dealingsTime",
align: "center",
},
{
title: "操作",
key: "action",
width: 120,
align: "center",
render: (h, params) => {
return h(
"a", {
on: {
click: () => {
this.showFreeOrderDetail(params.row);
},
},
},
"查看订单"
);
},
}
],
data:[],
total: 0,
};
},
methods: {
init() {
this.getDataList();
this.getJiangLiList();
},
closePage(){
this.Visiable = false;
this.getJiangLiList();
},
getJiangLiList(){
JiangLiList(this.searchForm).then((res) => {
if (res.success) {
this.data = res.result.records
this.total = res.result.total;
if (this.data.length == 0 && this.searchForm.pageNum > 1) {
this.searchForm.pageNum -= 1;
this.getJiangLiList();
}
}
});
},
getDataList() {
getMiandan({
regionId:JSON.parse(this.getStore("user")).departmentId
}).then((res) => {
if (res.success) {
if(res.result == null){
this.isOpen = true
}else{
this.form = res.result;
}
}
});
},
showDetail(v) {
for (let attr in v) {
if (v[attr] == null) {
v[attr] = "";
}
}
let str = JSON.stringify(v);
let data = JSON.parse(str);
this.Visiable = true;
this.$nextTick(() => {
this.$refs.dialog.initRecharge(data);
});
},
showFreeOrderDetail(row) {
if (!row.linkId) {
this.$Message.warning("当前记录没有关联订单");
return;
}
getOrderDetail(row.linkId).then((res) => {
if (res.success) {
this.showDetail(res.result || {
id: row.linkId
});
} else {
this.$Message.error(res.message || "查询订单详情失败");
}
}).catch((err) => {
this.$Message.error((err && err.message) || "查询订单详情失败");
});
},
add() {
addMiandan(this.form).then((res) => {
if (res.success) {
this.$Message.success("操作成功");
this.getJiangLiList();
}
});
},
changePage(v) {
this.searchForm.pageNum = v;
this.getJiangLiList();
},
changePageSize(v) {
this.searchForm.pageSize = v;
this.getJiangLiList();
},
close() {
this.$Modal.confirm({
title: "确认关闭",
content: "您确认要关闭免单优惠吗?",
loading: true,
onOk: () => {
closeMiandan({
regionId:JSON.parse(this.getStore("user")).departmentId
}).then((res) => {
if (res.success) {
this.$Message.success("操作成功");
}
});
this.$Modal.remove();
},
});
},
},
mounted() {
this.init();
},
};
</script>