作者 小范

新增折扣配置和订单列表界面

import http from "../http";
import axios from "axios";
let baseUrl = 'wlpt-custom-service-charge/billConfigDiscount'
//折扣配置
export const list = params => { return axios.get(`${baseUrl}/list`, params); };
export const save = params => { return axios.post(`${baseUrl}/save`, params); };
export const edit = params => { return axios.put(`${baseUrl}/edit`, params); };
export const remove = params => { return axios.delete(`${baseUrl}/remove`, {params:params}); };
... ...
import http from "../http";
import axios from "axios";
let baseUrl = 'wlpt-custom-service-charge/billOrder'
//订单列表
export const list = params => { return axios.get(`${baseUrl}/list`, params); };
export const save = params => { return axios.post(`${baseUrl}/save`, params); };
export const edit = params => { return axios.put(`${baseUrl}/edit`, params); };
export const remove = params => { return axios.delete(`${baseUrl}/remove`, {params:params}); };
... ...
... ... @@ -117,7 +117,10 @@ import houseRecord from './views/deploy/houseRecord.vue'
import locations from './views/deploy/locations.vue'
import inventroy from './views/deploy/inventroy.vue'
import area from './views/deploy/area.vue'
//账单管理
import discount from './views/charging/discount.vue'
import goods from './views/charging/goods.vue'
import check from './views/charging/check.vue'
import departure from './views/airtransport/departure.vue'
import declare from './views/airtransport/declare.vue'
... ... @@ -539,6 +542,17 @@ let routes = [
]
},
{
path: '/',
component: HomeNew,
name: '计费管理',
iconCls: 'el-icon-delete-location',
children: [
{path:'/discount',component:discount,name:'折扣配置'},
{path:'/goods',component:goods,name:'订单列表'},
{path:'/check',component:check,name:'账单接口'},
]
},
{
path: '/at',
component: HomeNew,
name: '在港动态',
... ...
<template>
<el-row>
<el-card style="background-color: #F5F7FA">
<!-- 搜索区域-->
<el-row class="toolbar">
<el-col :span="5">
<el-input v-model="queryInfo.companyId" prefix-icon="el-icon-search" size="small" style="width: 240px"
placeholder="公司ID" clearable>
<template slot="prepend">公司ID</template>
</el-input>
</el-col>
<el-col :span="5">
<el-input v-model="queryInfo.busnessType" prefix-icon="el-icon-search" size="small" style="width: 240px"
placeholder="业务类型" clearable>
<template slot="prepend">业务类型</template>
</el-input>
</el-col>
<el-col :span="5">
<div class="my-text-area">
<div class="el-input-group__prepend prepand">生效状态</div>
<el-select v-model="queryInfo.state" placeholder="生效状态" size="small" style="width: 140px">
<el-option label="生效" value="Y"></el-option>
<el-option label="失效" value="N"></el-option>
</el-select>
</div>
</el-col>
<el-col :span="5">
<el-button type="primary" icon="el-icon-search" size="small" @click="getList()">
查询
</el-button>
<el-button type="success" icon="el-icon-edit" size="small" @click="applyAdd()">新增</el-button>
</el-col>
</el-row>
<!-- 列表区域-->
<el-row>
<template>
<el-table
:data="tableData"
border
:cell-style="{textAlign:'center'}"
style="border-radius: 10px 10px 0px 0px;line-height: 25px"
:header-cell-style="{background:'#6F8294',color:'#FFFFFF'}" size="small"
>
<el-table-column
prop="creatUserid"
label="创建人"
width="140">
</el-table-column>
<el-table-column
prop="busnessType"
label="业务类型"
width="140">
</el-table-column>
<el-table-column
prop="feeType"
label="费用类别"
width="140">
</el-table-column>
<el-table-column
prop="rate"
label="优惠折扣"
width="120">
</el-table-column>
<el-table-column
prop="state"
label="生效状态"
width="120">
<template slot-scope="scope">
<span v-if="scope.row.busnessType ==='Y'">生效</span>
<span v-if="scope.row.busnessType ==='N'">失效</span>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- fixed-->
<!-- prop="companyId"-->
<!-- label="公司ID"-->
<!-- width="160">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="companyCode"-->
<!-- label="公司代码"-->
<!-- width="130">-->
<!-- </el-table-column>-->
<el-table-column
prop="creatTime"
label="开始时间"
width="180">
</el-table-column>
<el-table-column
prop="updateTime"
label="结束时间"
width="180">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="160">
<template slot-scope="scope">
<el-button type="success" size="mini" @click="applyEdit(scope.row)">编辑</el-button>
<el-button type="danger" size="mini" @click="applyDel(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-row>
<el-row style="margin-top: 10px" class="toolbar">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="queryInfo.limitSize"
:page-size="queryInfo.pageSize"
:page-sizes="[10, 50, 100, 500]"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</el-row>
<el-row>
<el-dialog :title="dialogMap[dialogApply]" :visible.sync="apply_dialog" width="70%" >
<el-form :model="addForm" :rules="rules" ref="addForm" style="margin-top: 40px">
<el-row>
<el-col :span="11">
<el-form-item label=" " :label-width="formLabelWidth" prop="creatUserid">
<el-input v-model="addForm.creatUserid" autocomplete="off" size="small" style="width: 260px">
<template slot="prepend">创建人</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label=" " :label-width="formLabelWidth" prop="feeType">
<el-input v-model="addForm.feeType" autocomplete="off" size="small" style="width: 260px">
<template slot="prepend">费用类型</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label=" " :label-width="formLabelWidth" prop="busnessType">
<el-input v-model="addForm.busnessType" autocomplete="off" size="small" style="width: 260px">
<template slot="prepend">业务类型</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label=" " :label-width="formLabelWidth" prop="rate">
<el-input v-model="addForm.rate" autocomplete="off" size="small" style="width: 260px">
<template slot="prepend">优惠折扣</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label=" " :label-width="formLabelWidth" prop="state">
<div class="my-text-area">
<div class="el-input-group__prepend prepand">生效状态</div>
<el-select v-model="addForm.state" placeholder="请选择生效状态" size="small" style="width: 170px">
<el-option label="生效" value="Y"></el-option>
<el-option label="失效" value="N"></el-option>
</el-select>
</div>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>-->
<!-- <el-col :span="11">-->
<!-- <el-form-item label=" " :label-width="formLabelWidth" prop="creatTime">-->
<!-- <div class="my-text-area">-->
<!-- <div class="el-input-group__prepend prepand">开始时间</div>-->
<!-- <el-date-picker-->
<!-- v-model="addForm.creatTime"-->
<!-- type="datetime" size="mini"-->
<!-- value-format="yyyy-MM-dd HH:mm:ss"-->
<!-- format="yyyy-MM-dd HH:mm:ss"-->
<!-- style="width:170px"-->
<!-- placeholder="选择开始时间">-->
<!-- </el-date-picker>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label=" " :label-width="formLabelWidth" prop="updateTime">-->
<!-- <div class="my-text-area">-->
<!-- <div class="el-input-group__prepend prepand">结束时间</div>-->
<!-- <el-date-picker-->
<!-- v-model="addForm.updateTime"-->
<!-- type="datetime" size="mini"-->
<!-- value-format="yyyy-MM-dd HH:mm:ss"-->
<!-- format="yyyy-MM-dd HH:mm:ss"-->
<!-- style="width:170px"-->
<!-- placeholder="选择结束时间">-->
<!-- </el-date-picker>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="apply_dialog = false" size="small">取 消</el-button>
<el-button type="primary" @click="dialogApply==='create'?add():edit()" size="small">提 交</el-button>
</div>
</el-dialog>
</el-row>
</el-card>
</el-row>
</template>
<script>
import {list,save,edit,remove} from '../../api/consigner/cost';
export default {
name: "discount",
data() {
return {
queryInfo: {
companyId:'',
busnessType:'',
state:'',
// 当前页数
limitSize: 1,
// 每页大小
pageSize: 10,
},
total: 0,
tableData:[],
dialogMap: {
update: '编辑',
create: '新增'
},
dis: undefined,
dialogApply: 'create',
apply_dialog: false,
addForm: {
busnessType: '',
companyCode: '',
companyId: '',
creatTime: '',
creatUserid: '',
feeType: '',
id:'',
rate:'',
state:'',
updateTime:''
},
formLabelWidth: '220px',
rules: {
companyId: [
{ required: true, message: '必填', trigger: 'change' }
],
// needCount: [
// { required: true, message: '请输入需要车辆数量', trigger: 'blur' },
// ],
// orginStation: [
// { required: true, message: '请输入起始场站', trigger: 'blur' },
// ],
// endStation: [
// { required: true, message: '请输入目的场站', trigger: 'blur' },
// ],
},
}
},
methods: {
handleSizeChange(val) {
this.queryInfo.pageSize = val
this.getList()
},
handleCurrentChange(val) {
this.queryInfo.limitSize = val
this.getList()
},
getList() {
const _this = this
list(this.queryInfo).then((response) => {
const res = response.data
console.log(response.data)
if (res.code !== '200') {
return _this.$message.error('获取消息收发记录,失败!')
}
// 获取列表数据
_this.tableData = res.data.list
// 获取列表的总记录数
_this.total = res.data.total
_this.$message.success('获取消息收发记录,成功!')
}).catch(error => {
// 关闭加载
_this.$message.error(error.toString())
})
},
// 添加对话框,打开事件
applyAdd() {
this.addForm = {
busnessType: '',
companyCode: '',
companyId: '',
creatTime: '',
creatUserid: '',
feeType: '',
id:'',
rate:'',
state:'',
updateTime:''
};
this.dialogApply= 'create';
this.dis= 'create';
this.apply_dialog = true;
},
// 添加功能
add() {
this.$refs.addForm.validate(valid => {
// 未通过,表单预校验
if (!valid) return;
save(this.addForm).then((response) => {
let res = response.data;
// 添加失败
if (res.code !== '200') {
return this.$message.error(res.msg);
}
// 添加,成功
this.$message.success(res.msg);
// 隐藏对话框
this.apply_dialog = false;
// 刷新列表
this.getList();
}).catch(error => {
this.$message.error(error.toString());
});
})
},
// 打开编辑
applyEdit(row) {
this.apply_dialog = true;
this.dialogApply = 'update';
this.dis= 'update';
this.addForm=row;
},
// 编辑功能
edit() {
// 进行表单的预验证
this.$refs.addForm.validate(valid => {
// 未通过,表单预校验
if (!valid) return
edit(this.addForm).then((response) => {
// console.log(row)
const res = response.data
if (res.code != '200') {
return this.$message.error(res.msg)
}
this.$message.success(res.msg)
// 隐藏对话框
this.apply_dialog = false
// 刷新列表
this.getList()
}).catch(error => {
this.$message.error(error.toString())
})
})
},
// 删除
applyDel(row) {
// 弹框询问是否删除?
this.$confirm('此操作永久删除该消息收发记录, 是否继续?', '警告', {
confirmButtonText: '确定删除',
cancelButtonText: '取消',
type: 'warning'
}
).then(() => {
remove(row).then((response) => {
// console.log(row)
const res = response.data
this.$message.success(res.msg)
this.getList()
}).catch(error => {
this.$message.error(error)
})
}).catch(() => {
})
},
},
mounted() {
this.getList();
// this.getYardList();
}
}
</script>
<style scoped>
.toolbar{
height: 60px;
background-color: white;
/*line-height: 60px;*/
vertical-align: middle;
border-radius: 5px 5px 5px 5px;
padding: 15px 0 0 20px;
box-shadow: 0px 5px 5px #e5e8eb;
}
.my-text-area .prepand{
float: left;
width:89px;
height: 28px;
font-size: 12px;
line-height: 28px;
}
</style>
<style>
.my-text-area .el-textarea__inner{
min-height: 28px;
height: 28px;
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
</style>
... ...
<template>
<el-row>
<el-card style="background-color: #F5F7FA">
<!-- 搜索区域-->
<el-row class="toolbar">
<!-- <el-col :span="5">-->
<!-- <el-input v-model="queryInfo.companyId" prefix-icon="el-icon-search" size="small" style="width: 240px"-->
<!-- placeholder="公司ID" clearable>-->
<!-- <template slot="prepend">公司ID</template>-->
<!-- </el-input>-->
<!-- </el-col>-->
<!-- <el-col :span="5">-->
<!-- <el-input v-model="queryInfo.busnessType" prefix-icon="el-icon-search" size="small" style="width: 240px"-->
<!-- placeholder="业务类型" clearable>-->
<!-- <template slot="prepend">业务类型</template>-->
<!-- </el-input>-->
<!-- </el-col>-->
<!-- <el-col :span="5">-->
<!-- <div class="my-text-area">-->
<!-- <div class="el-input-group__prepend prepand">生效状态</div>-->
<!-- <el-select v-model="queryInfo.state" placeholder="生效状态" size="small" style="width: 140px">-->
<!-- <el-option label="生效" value="Y"></el-option>-->
<!-- <el-option label="失效" value="N"></el-option>-->
<!-- </el-select>-->
<!-- </div>-->
<!-- </el-col>-->
<el-col :span="5">
<el-button type="primary" icon="el-icon-search" size="small" @click="getList()">
查询
</el-button>
<el-button type="success" icon="el-icon-edit" size="small" @click="applyAdd()">新增</el-button>
</el-col>
</el-row>
<!-- 列表区域-->
<el-row>
<template>
<el-table
:data="tableData"
border
:cell-style="{textAlign:'center'}"
style="border-radius: 10px 10px 0px 0px;line-height: 25px"
:header-cell-style="{background:'#6F8294',color:'#FFFFFF'}" size="small"
>
<el-table-column
fixed
prop="orderAuthorName"
label="结算人名称"
width="100">
</el-table-column>
<el-table-column
prop="orderAuthorid"
label="结算人ID"
width="120">
</el-table-column>
<el-table-column
prop="orderRemark"
label="支付方式"
width="120">
</el-table-column>
<el-table-column
prop="orderState"
label="支付状态"
width="120">
<template slot-scope="scope">
<span v-if="scope.row.orderState ==='000'">未支付</span>
<span v-if="scope.row.orderState ==='001'">已支付</span>
<span v-if="scope.row.orderState ==='111'">作废</span>
</template>
</el-table-column>
<el-table-column
prop="orderOperatorId"
label="经办人"
width="120">
</el-table-column>
<el-table-column
prop="orderTotalAmount"
label="订单总额度"
width="120">
</el-table-column>
<el-table-column
prop="orderCreatTime"
label="订单创建时间"
width="150">
</el-table-column>
<el-table-column
prop="orderUpdateTime"
label="订单修改时间"
width="150">
</el-table-column>
<el-table-column
prop="orderRemark"
label="备注">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="160">
<template slot-scope="scope">
<el-button type="success" size="mini" @click="applyEdit(scope.row)">编辑</el-button>
<el-button type="danger" size="mini" @click="applyDel(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-row>
<el-row style="margin-top: 10px" class="toolbar">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="queryInfo.limitSize"
:page-size="queryInfo.pageSize"
:page-sizes="[10, 50, 100, 500]"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</el-row>
<el-row>
<el-dialog :title="dialogMap[dialogApply]" :visible.sync="apply_dialog" width="70%" >
<el-form :model="addForm" :rules="rules" ref="addForm" style="margin-top: 40px">
<el-row>
<el-col :span="11">
<el-form-item label=" " :label-width="formLabelWidth" prop="orderAuthorName">
<el-input v-model="addForm.orderAuthorName" autocomplete="off" size="small" style="width: 350px">
<template slot="prepend">结算人名称</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label=" " :label-width="formLabelWidth" prop="orderAuthorid">
<el-input v-model="addForm.orderAuthorid" autocomplete="off" size="small" style="width: 350px">
<template slot="prepend">结算人ID</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label=" " :label-width="formLabelWidth" prop="orderOperatorId">
<el-input v-model="addForm.orderOperatorId" autocomplete="off" size="small" style="width: 350px">
<template slot="prepend">经办人</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label=" " :label-width="formLabelWidth" prop="orderTotalAmount">
<el-input v-model="addForm.orderTotalAmount" autocomplete="off" size="small" style="width: 350px">
<template slot="prepend">订单总额度</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label=" " :label-width="formLabelWidth" prop="orderType">
<div class="my-text-area">
<div class="el-input-group__prepend prepand">支付方式</div>
<el-select v-model="addForm.orderType" placeholder="请选择生效状态" size="small" style="width: 260px">
<el-option label="现金" value="现金"></el-option>
<el-option label="支付宝" value="支付宝"></el-option>
<el-option label="现金" value="微信"></el-option>
<el-option label="支付宝" value="银行转账"></el-option>
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label=" " :label-width="formLabelWidth" prop="orderState">
<div class="my-text-area">
<div class="el-input-group__prepend prepand">支付状态</div>
<el-select v-model="addForm.orderState" placeholder="请选择生效状态" size="small" style="width: 260px">
<el-option label="未支付" value="000"></el-option>
<el-option label="已支付" value="001"></el-option>
<el-option label="作废" value="111"></el-option>
</el-select>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label=" " :label-width="formLabelWidth" prop="orderRemark">
<el-input v-model="addForm.orderRemark" autocomplete="off" size="small" style="width: 350px">
<template slot="prepend">备注</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="apply_dialog = false" size="small">取 消</el-button>
<el-button type="primary" @click="dialogApply==='create'?add():edit()" size="small">提 交</el-button>
</div>
</el-dialog>
</el-row>
</el-card>
</el-row>
</template>
<script>
import {list,save,edit,remove} from '../../api/consigner/goods';
export default {
name: "goods",
data() {
return {
queryInfo: {
// companyId:'',
// busnessType:'',
// state:'',
// 当前页数
limitSize: 1,
// 每页大小
pageSize: 10,
},
total: 0,
tableData:[],
dialogMap: {
update: '编辑',
create: '新增'
},
dis: undefined,
dialogApply: 'create',
apply_dialog: false,
addForm: {
orderAuthorName: '',
orderAuthorid: '',
orderCreatTime: '',
orderOperatorId: '',
orderRemark: '',
orderState: '',
orderTotalAmount:'',
orderUpdateTime:'',
orderType:''
},
formLabelWidth: '120px',
rules: {
companyId: [
{ required: true, message: '必填', trigger: 'change' }
],
// needCount: [
// { required: true, message: '请输入需要车辆数量', trigger: 'blur' },
// ],
// orginStation: [
// { required: true, message: '请输入起始场站', trigger: 'blur' },
// ],
// endStation: [
// { required: true, message: '请输入目的场站', trigger: 'blur' },
// ],
},
}
},
methods: {
handleSizeChange(val) {
this.queryInfo.pageSize = val
this.getList()
},
handleCurrentChange(val) {
this.queryInfo.limitSize = val
this.getList()
},
getList() {
const _this = this
list(this.queryInfo).then((response) => {
const res = response.data
console.log(response.data)
if (res.code !== '200') {
return _this.$message.error('获取消息收发记录,失败!')
}
// 获取列表数据
_this.tableData = res.data.list
// 获取列表的总记录数
_this.total = res.data.total
_this.$message.success('获取消息收发记录,成功!')
}).catch(error => {
// 关闭加载
_this.$message.error(error.toString())
})
},
// 添加对话框,打开事件
applyAdd() {
this.addForm = {
orderAuthorName: '',
orderAuthorid: '',
orderCreatTime: '',
orderOperatorId: '',
orderRemark: '',
orderState: '',
orderTotalAmount:'',
orderUpdateTime:'',
orderType:''
};
this.dialogApply= 'create';
this.dis= 'create';
this.apply_dialog = true;
},
// 添加功能
add() {
this.$refs.addForm.validate(valid => {
// 未通过,表单预校验
if (!valid) return;
save(this.addForm).then((response) => {
let res = response.data;
// 添加失败
if (res.code !== '200') {
return this.$message.error(res.msg);
}
// 添加,成功
this.$message.success(res.msg);
// 隐藏对话框
this.apply_dialog = false;
// 刷新列表
this.getList();
}).catch(error => {
this.$message.error(error.toString());
});
})
},
// 打开编辑
applyEdit(row) {
this.apply_dialog = true;
this.dialogApply = 'update';
this.dis= 'update';
this.addForm=row;
},
// 编辑功能
edit() {
// 进行表单的预验证
this.$refs.addForm.validate(valid => {
// 未通过,表单预校验
if (!valid) return
edit(this.addForm).then((response) => {
// console.log(row)
const res = response.data
if (res.code != '200') {
return this.$message.error(res.msg)
}
this.$message.success(res.msg)
// 隐藏对话框
this.apply_dialog = false
// 刷新列表
this.getList()
}).catch(error => {
this.$message.error(error.toString())
})
})
},
// 删除
applyDel(row) {
// 弹框询问是否删除?
this.$confirm('此操作永久删除该消息收发记录, 是否继续?', '警告', {
confirmButtonText: '确定删除',
cancelButtonText: '取消',
type: 'warning'
}
).then(() => {
// console.log(row);
remove(row).then((response) => {
// console.log(row)
const res = response.data
this.$message.success(res.msg)
this.getList()
}).catch(error => {
this.$message.error(error)
})
}).catch(() => {
})
},
},
mounted() {
this.getList();
// this.getYardList();
}
}
</script>
<style scoped>
.toolbar{
height: 60px;
background-color: white;
/*line-height: 60px;*/
vertical-align: middle;
border-radius: 5px 5px 5px 5px;
padding: 15px 0 0 20px;
box-shadow: 0px 5px 5px #e5e8eb;
}
.my-text-area .prepand{
float: left;
width:89px;
height: 28px;
font-size: 12px;
line-height: 28px;
}
</style>
<style>
.my-text-area .el-textarea__inner{
min-height: 28px;
height: 28px;
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}
</style>
... ...