Commit 0554f9fb authored by 黄奎's avatar 黄奎

1

parent 989a51ae
......@@ -8,96 +8,104 @@
<div class="content">
<div >
<span>商品分类</span>
<el-select style="margin:0 10px" class="w100" @change="msg.pageIndex=1,getList()" v-model="msg.OrderClassify" size="small"
placeholder="请选择">
<el-option v-for="item in OrderClass" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
<span>供应商</span>
<el-select style="margin:0 10px" class="w100" @change="msg.pageIndex=1,getList()" v-model="msg.SupplierId" size="small"
<span>下单时间:</span>
<el-date-picker v-model="dateList" @change="msg.pageIndex=1,getList()" size="small" type="datetimerange"
range-separator="至" value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
<span style="margin-left:15px">订单来源:</span>
<el-select class="w120" @change="msg.pageIndex=1,getList()" v-model="msg.OrderSource" size="small"
placeholder="请选择">
<el-option label="不限" :value="0"></el-option>
<el-option v-for="item in SupplierData" :key="item.Id" :label="item.Name" :value="item.ID">
<el-option v-for="item in platList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
<span>制单类型</span>
<el-select style="margin:0 10px" class="w100" @change="msg.pageIndex=1,getList()" v-model="msg.IsSelectAll" size="small"
<span style="margin-left:15px">订单类型:</span>
<el-select class="w120" @change="msg.pageIndex=1,getList()" v-model="msg.OrderType" size="small"
placeholder="请选择">
<el-option v-for="item in MakingType" :key="item.Id" :label="item.Name" :value="item.Id">
<el-option label="全部订单" :value="0"></el-option>
<el-option v-for="item in orderTypeList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
<span>是否制单</span>
<el-select class="w100" style="margin-right: 10px;" @change="msg.pageIndex=1,getList()" v-model="msg.IsFinance" size="small"
<span style="margin-left:15px">是否制单:</span>
<el-select class="w120" @change="msg.pageIndex=1,getList()" v-model="msg.IsSelectCostFinance" size="small"
placeholder="请选择">
<el-option label="全部" :value="0"></el-option>
<el-option label="不限" :value="0"></el-option>
<el-option label="已制单" :value="1"></el-option>
<el-option label="未制单" :value="2"></el-option>
</el-select>
<span>日期</span>
<el-date-picker v-model="dateList" @change="msg.pageIndex=1,getList()" size="small" type="datetimerange" range-separator="至"
value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
<span style="margin-left: 5px">商品名称</span>
<div class="searchInput" style="width:250px">
<el-input @keyup.enter.native="msg.pageIndex=1,getList()" style="display:inline-block;width:225px;height:30px"
placeholder="请输入商品名称搜索"
v-model="msg.GoodsName"
@clear="msg.pageIndex=1,getList()"
size="small"
clearable>
</el-input>
<span @click="msg.pageIndex=1,getList()" class="el-icon-search" style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
</div>
</div>
<div style="margin-bottom:20px;margin-top: 5px">
<span >订单号</span>
<div class="searchInput" style="width:200px">
<el-input @keyup.enter.native="msg.pageIndex=1,getList()" style="display:inline-block;width:175px;height:30px"
placeholder="请输入订单号搜索"
v-model="msg.OrderNo"
@clear="msg.pageIndex=1,getList()"
size="small"
clearable>
<el-input @clear="msg.pageIndex=1,getList()" @keyup.enter.native="msg.pageIndex=1,getList()" clearable
style="margin-left:15px;width:300px" class="input-with-select" placeholder="请输入内容" v-model="msgVal"
size="small">
<el-select class="pendSelect" @change="ChangeId" v-model="msgId" slot="prepend" placeholder="请选择">
<el-option v-for="item in option" :key="item.Id" :label="item.name" :value="item.Id">
</el-option>
</el-select>
</el-input>
<span @click="msg.pageIndex=1,getList()" class="el-icon-search" style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
</div>
</div>
<el-table :data="tableData" v-loading="loading" border style="width: 100%"
<el-table :data="tableData" v-loading="loading" border style="width: 100%;margin-top:15px"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" style="text-align:center;">
</el-table-column>
<el-table-column prop="OrderNo" label="订单号" width="220">
</el-table-column>
<el-table-column prop="GoodsName" label="商品名称">
<template slot-scope="scope">
<div style="display: flex;align-items: center;">
<span v-if="scope.row.OrderType==1 && scope.row.HotelList.length>0">{{scope.row.HotelList[0].HotelName}}</span>
<span v-if="scope.row.OrderType==2 && scope.row.DiningList.length>0">{{scope.row.DiningList[0].MealName}}</span>
<span v-if="scope.row.OrderType==3 && scope.row.TicketList.length>0">{{scope.row.TicketList[0].TicketName}}</span>
<span v-if="scope.row.OrderType==4 && scope.row.CarList.length>0">{{scope.row.CarList[0].StartCityName}}-{{scope.row.CarList[0].ArriveCityName}}</span>
<span v-if="scope.row.OrderType==5 && scope.row.SDGoodsList.length>0">{{scope.row.SDGoodsList[0].GoodsName}}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="Original_Price" label="金额" width="80">
<el-table-column prop="Income" label="金额" width="80">
</el-table-column>
<el-table-column prop="CostMoney" label="成本" width="80">
<el-table-column prop="CouponMoney" label="成本" width="80">
</el-table-column>
<el-table-column prop="CostFinanceId" label="成本单据" width="100">
<template slot-scope="scope">
<div style="display: flex;align-items: center;">
{{scope.row.CostFinanceId>0?scope.row.CostFinanceId:'-'}}
</div>
</template>
</el-table-column>
<el-table-column prop="FreightCostMoney" label="快递成本" width="80" v-if="msg.OrderClassify==0">
</el-table-column>
<el-table-column prop="FreightFinanceId" label="运费成本单据" width="120" v-if="msg.OrderClassify==0">
</el-table-column>
<el-table-column prop="InsuranceCostMoney" label="保险成本" width="80" v-if="msg.OrderClassify==1">
</el-table-column>
<el-table-column prop="InsuranceFinanceId" label="保险成本单据" width="120" v-if="msg.OrderClassify==1">
</el-table-column>
</el-table>
<el-pagination style="text-align:right" background @current-change="handleCurrentChange" :page-size="msg.pageSize" :current-page.sync="msg.pageIndex"
:page-sizes="[15, 30, 45, 60,75,90]"
:page-sizes="[15, 30, 45, 60,75,90,100]"
@size-change="handleSizeChange"
layout="sizes,prev, pager, next" :total="total">
</el-pagination>
</div>
<!-- 选择是否公账 -->
<el-dialog title="请选择" :visible.sync="choiceFin" width="400px">
<el-dialog title="生成单据" :visible.sync="choiceFin" width="400px">
<div>
<span style="margin-right:10px">付款类型</span>
<el-radio v-model="finMsg.IsPublic" label="0">私账</el-radio>
<el-radio v-model="finMsg.IsPublic" label="1">公账</el-radio>
</div>
<div style="margin-top:10px">
<span style="margin-right:10px">客户类型</span>
<el-select class="w200" v-model="finMsg.ClientType" size="small" placeholder="请选择" @change="financeinfo_post_GetClientAccountList(finMsg.ClientType)">
<el-option v-for="item in ClientTypeList" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</div>
<div style="margin-top:10px">
<span style="margin-right:10px">客户名称</span>
<el-select class="w200" v-model="finMsg.ClientID" size="small" placeholder="请选择" >
<el-option v-for="item in ClientAccountList" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="choiceFin=false">取消</el-button>
<el-button type="primary" size="small" @click="setFince()">确定</el-button>
......@@ -117,14 +125,21 @@
msg: {
pageIndex: 1,
pageSize: 15,
SupplierId: 0, //供应商
IsFinance: 0, //是否制单 0-全部 1-已制单 2-未制单
OrderSource:0,
OrderType: 0,
OrderId: 0,
StartTime: '',
EndTime: '',
IsSelectAll:0,
GoodsName:'',
OrderNo:'',
OrderClassify:0,
OrderStatus: 0,
OrderNo: '',
UserName: '',
UserId: '',
Consignee: '',
Mobile: '',
ProductCode: '',
Recycled: 2,
IsSelectCostFinance: 0, //是否制单 0-全部 1-已制单 2-未制单
},
SupplierData: [], //供应商data
MakingType:[
......@@ -142,13 +157,26 @@
total: 0,
tableData: [], //列表数据
finMsg: {
SupplierId: 0,
IsFinance: 0,
IdList: [],
OrderList: [],
IsPublic: '0', //0-私账1-公账
IsSelectAll:0,
ClientType:'',//客人类型
ClientID:'',//账户id
},
ERPEmpId:0,
platList: [],
orderTypeList:[],
msgId: 1,
option: [{Id: 1,name: '订单号' },
{ Id: 2, name: '用户名' },
{Id: 3,name: '用户ID' },
{Id: 4,name: '联系人' },
{Id: 5,name: '联系电话' },
],
msgVal: '',
ClientTypeList:[],
ClientAccountList:[],
}
},
created() {
......@@ -156,19 +184,22 @@
this.ERPEmpId = currentUser.ERPEmpId
},
mounted() {
this.getAllSupplier();
this.getList();
this.getplat();
this.getOrderType();
this.getclientList()
},
methods: {
//获取供应商
getAllSupplier() {
this.apipost("/api/Supplier/GetSupplierAllList", {}, res => {
if (res.data.resultCode == 1) {
this.SupplierData = res.data.data;
}
})
},
getList() {
this.ChangeId(this.msgId);
if (!this.msgVal || this.msgVal == '') {
this.msg.OrderNo = '';
this.msg.UserName = '';
this.msg.UserId = '';
this.msg.Consignee = '';
this.msg.Mobile = '';
}
if (this.dateList && this.dateList.length > 0) {
this.msg.StartTime = this.dateList[0];
this.msg.EndTime = this.dateList[1];
......@@ -177,7 +208,7 @@
this.msg.EndTime = '';
}
this.loading = true;
this.apipost("/api/Supplier/GetSupplierGoodsList", this.msg, res => {
this.lxymallapipost("/api/DmcOrder/GetDmcOrderCostPageList", this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
......@@ -193,10 +224,11 @@
this.msg.pageIndex = 1;
this.msg.pageSize = val;
this.getList();
},
//点击生成单据
creatDanju() {
if (this.finMsg.IdList.length == 0) {
if (this.finMsg.OrderList.length == 0) {
this.Info('请选择单据');
} else {
this.choiceFin = true;
......@@ -204,21 +236,19 @@
},
handleSelectionChange(val) {
var selectRow = JSON.parse(JSON.stringify(val));
this.finMsg.IdList = [];
if (selectRow.length > 0) {
selectRow.forEach(x => {
this.finMsg.IdList.push(x.Id);
});
}
this.finMsg.OrderList = selectRow
},
//设置单据
setFince() {
this.finMsg.SupplierId = this.msg.SupplierId;
this.finMsg.IsFinance = this.msg.IsFinance;
this.finMsg.IsSelectAll = this.msg.IsSelectAll;
this.finMsg.OrderClassify = this.msg.OrderClassify;
this.finMsg.FinanceCreateBy = this.ERPEmpId;
this.apipost("/api/Supplier/PayCostFinance", this.finMsg, res => {
if(this.finMsg.ClientType == ''){
this.Info('请选择客户类型');
return
}
if(this.finMsg.ClientID == ''){
this.Info('请选择客户名称');
return
}
this.lxymallapipost("/api/DmcOrder/SetDmcOrderCostFinance", this.finMsg, res => {
if (res.data.resultCode == 1) {
this.Success('设置成功');
this.choiceFin = false;
......@@ -227,8 +257,85 @@
this.choiceFin = false;
}
})
},
getOrderType() {
this.lxymallapipost("/api/DmcOrder/GetOrderTypeEnumList", {}, res => {
this.orderTypeList = res.data.data;
})
},
getplat() {
this.lxymallapipost("/api/DmcOrder/GetUserSourceEnumList", {}, res => {
this.platList = res.data.data;
})
},
ChangeId(val) {
let msgVal = this.msgVal;
if (val == 1) {
this.msg.OrderNo = msgVal;
this.msg.UserName = '';
this.msg.UserId = '';
this.msg.Consignee = '';
this.msg.Mobile = '';
} else if (val == 2) {
this.msg.OrderNo = '';
this.msg.UserName = msgVal;
this.msg.UserId = '';
this.msg.Consignee = '';
this.msg.Mobile = '';
} else if (val == 3) {
this.msg.OrderNo = '';
this.msg.UserName = '';
this.msg.UserId = msgVal;
this.msg.Consignee = '';
this.msg.Mobile = '';
} else if (val == 4) {
this.msg.OrderNo = '';
this.msg.UserName = '';
this.msg.UserId = '';
this.msg.Consignee = msgVal;
this.msg.Mobile = '';
} else if (val == 5) {
this.msg.OrderNo = '';
this.msg.UserName = '';
this.msg.UserId = '';
this.msg.Consignee = '';
this.msg.Mobile = msgVal;
}
},
getclientList(){ // 获取对象类型
this.apipost('financeinfo_post_GetClientTypeList',{}, res => {
if(res.data.resultCode == 1) {
this.ClientTypeList = res.data.data;
}
}, err => {})
},
financeinfo_post_GetClientAccountList(t){
let msg = {
ID:0,
Type:t,
ObjID:0,
CardNum:''
}
this.apipost('financeinfo_post_GetClientAccountList',msg, res => {
if(res.data.resultCode == 1) {
this.finMsg.ClientID = '';
let data = res.data.data;
let ClientAccountList = [];
data.forEach(x=>{
let obj = {
ID:x.ID,
Name:x.AccountHolder + `(${x.AccountAlias})`,
Nom:x.CardNum,
OpenBankName:x.OpenBankName,
ObjID:x.ObjID,
}
ClientAccountList.push(obj)
})
this.ClientAccountList = ClientAccountList;
}
}, err => {})
}
}
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment