Commit e4323fce authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/huaguohao/crm

# Conflicts:
#	src/components/customerManage/orderDetailsDrawer.vue
#	src/components/customerManage/orderList.vue
parents 59d305cf 2385084b
......@@ -186,7 +186,7 @@
</div>
<div>
<el-pagination class="Mypagination" background @current-change="handleCurrentChange"
:page-sizes="[30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next"
:page-sizes="[15, 30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next"
@size-change="handleSizeChange" :total="total">
</el-pagination>
</div>
......
......@@ -200,7 +200,7 @@
<orderList :dataList="dataList" :loading="loading" @emptyMore="emptyMore" :superManage="superManage"></orderList>
<div>
<el-pagination class="Mypagination" background @current-change="handleCurrentChange"
:page-sizes="[30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next"
:page-sizes="[15, 30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next"
@size-change="handleSizeChange" :total="total">
</el-pagination>
</div>
......@@ -214,6 +214,24 @@
},
data() {
return {
MultipleChoiceList: [ //多选项目
{
Name: '机票',
Id: '1'
}, {
Name: '签证',
Id: '2'
}, {
Name: '地接',
Id: '3'
}, {
Name: '套餐',
Id: '4'
}, {
Name: '其他',
Id: '5'
}
],
superManage:"订单统计",
StatModel:{},// 合计
loading:false,
......@@ -351,6 +369,18 @@
});
};
addList(data);
data.forEach(item=>{
if(item.OrderType){
let list = item.OrderType&&item.OrderType.split(',')
for(let j=0;j<list.length;j++){
for(let i=0;i<this.MultipleChoiceList.length;i++){
if(list[j]==this.MultipleChoiceList[i].Id){
item.MultipleChoiceList.push(this.MultipleChoiceList[i])
}
}
}
}
})
this.dataList = res.data.data.Data.pageData;
this.total = res.data.data.Data.count;
this.StatModel = res.data.data.StatModel
......
......@@ -183,7 +183,7 @@
<orderList :dataList="dataList" :loading="loading" @emptyMore="emptyMore"></orderList>
<div>
<el-pagination class="Mypagination" background @current-change="handleCurrentChange"
:page-sizes="[30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next"
:page-sizes="[15, 30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next"
@size-change="handleSizeChange" :total="total">
</el-pagination>
</div>
......@@ -197,6 +197,24 @@
},
data() {
return {
MultipleChoiceList: [ //多选项目
{
Name: '机票',
Id: '1'
}, {
Name: '签证',
Id: '2'
}, {
Name: '地接',
Id: '3'
}, {
Name: '套餐',
Id: '4'
}, {
Name: '其他',
Id: '5'
}
],
StatModel:{},// 合计
loading:false,
total:0,
......@@ -332,6 +350,18 @@
});
};
addList(data);
data.forEach(item=>{
if(item.OrderType){
let list = item.OrderType&&item.OrderType.split(',')
for(let j=0;j<list.length;j++){
for(let i=0;i<this.MultipleChoiceList.length;i++){
if(list[j]==this.MultipleChoiceList[i].Id){
item.MultipleChoiceList.push(this.MultipleChoiceList[i])
}
}
}
}
})
this.dataList = res.data.data.Data.pageData;
this.total = res.data.data.Data.count;
this.StatModel = res.data.data.StatModel
......
......@@ -19,13 +19,14 @@
flex-direction: column;
}
.orderDetails-body .order-info {
height: 115px;
padding: 30px;
box-sizing: border-box;
font-size: 12px;
background-color: #f6f4fc;
}
.orderDetails-body .order-info .order-lable-box {
.order-lable-box {
display: flex;
justify-content: space-between;
color: #999999;
}
.orderDetails-content {
......@@ -35,6 +36,19 @@
.no-relative .el-tabs__content {
position: unset !important;
}
.order-lable-box:last-child {
margin-top: 20px;
}
.order-lable {
display: flex;
flex-direction: column;
}
.order-lable span:last-child {
font-size: 18px;
font-weight: bold;
color: #333;
margin-top: 5px;
}
</style>
<template>
<div class="orderDetails-box">
......@@ -49,14 +63,14 @@
<div class="orderDetails-body">
<div class="order-info">
<div class="order-lable-box">
<div><span class="order-lable">关联销售:</span><span>5555</span></div>
<div><span class="order-lable">订单号:</span><span >111</span></div>
<div><span class="order-lable">客户姓名:</span><span>1</span></div>
<div class="order-lable"><span>关联销售:</span><span>5555</span></div>
<div class="order-lable"><span>订单号:</span><span >111</span></div>
<div class="order-lable"><span>客户姓名:</span><span>1</span></div>
</div>
<div>
<div><span class="order-lable">性质:</span><span>1</span></div>
<div><span class="order-lable">形成概述:</span><span>111</span></div>
<div><span class="order-lable">状态:</span><span>1</span></div>
<div class="order-lable-box">
<div class="order-lable"><span>性质:</span><span>1</span></div>
<div class="order-lable"><span>形成概述:</span><span>111</span></div>
<div class="order-lable"><span>状态:</span><span>1</span></div>
</div>
</div>
<div class="orderDetails-content">
......
......@@ -58,7 +58,9 @@
<tbody v-for="(item, index) in dataList" :key="index">
<tr>
<td :rowspan="3">
<p class="OrderId-text" @click="clickSingleNumber(item)">{{item.OrderId}}</p>
<p class="OrderId-text" @click="clickSingleNumber(item)">{{item.OrderId}}
<!-- <span class="OrderType-text" v-for="(items,index) in item.MultipleChoiceList">{{items.Name}}</span> -->
</p>
<p class="CreateByName-text">{{item.CreateByName}}</p>
<p class="CreateByName-text">业务员:<span class="colorblue">{{item.EnterName}}</span></p>
<p>{{item.CreateTime}}</p>
......@@ -86,14 +88,14 @@
{{item.PayMoney}}
</td>
<td style="border:none">
{{item.TaxMoney}}
{{item.TaxMoney}}
</td>
<td style="border:none">
{{item.DueinMoney}}
<span :style="{color: item.DueinMoney!=0?'red':''}">{{item.DueinMoney}}</span>
</td>
<td style="border:none">
<p class="TicketVoucher-box">
<span @click="modifyStatus(item)"
<span @click="item.TicketStatusName!='无需机票'?modifyStatus(item):''"
class="cp tatusText"
:class="item.TicketStatus==1?'grey':
(item.TicketStatus==2?'success':
......@@ -101,7 +103,8 @@
(item.TicketStatus==4?'Black':'')))">
{{item.TicketStatusName}}
</span>
<i v-if="item.TicketStatus!=1&&item.TicketVoucherList!=[]&&item.CancelVoucherList!=[]" class="iconfont iconpingzhengchaxun Credentials" @click="viewCredentials(item)"></i>
<i v-if="item.TicketStatus!=1&&item.TicketVoucherList!=[]&&item.CancelVoucherList!=[]&&item.TicketStatusName!='无需机票'" class="iconfont iconpingzhengchaxun Credentials"
@click="viewCredentials(item)"></i>
</p>
</td>
......@@ -210,8 +213,8 @@
:label="item.Id">{{item.Name}}</el-radio>
</el-radio-group>
<div class="agreement-Cancel">
<span @click="popCancelClick(item,index,1)">取消</span>
<span @click="popClick(item,index,1)">确定</span>
<span @click="popCancelClick(item,index,3)">取消</span>
<span @click="popClick(item,index,3)">确定</span>
</div>
</div>
......@@ -228,7 +231,7 @@
<customerInfoBox :CustomerId="CustomerId" />
</el-drawer>
<!-- 单号抽屉 -->
<el-drawer :with-header="false" @closed="closeOrderDrawerHandler" size='70%' :visible.sync="orderDrawer" direction="rtl" :before-close="handleClose">
<el-drawer :with-header="false" size='70%' :visible.sync="orderDrawer" direction="rtl" :before-close="handleClose">
<orderDetailsDrawer v-if="currentOrder" :orderId="currentOrder.OrderId" />
</el-drawer>
......@@ -236,950 +239,835 @@
</template>
<script>
import customerInfoBox from "../guestManagement/customerInfoBox";
import orderDetailsDrawer from "./orderDetailsDrawer";
export default {
components: {
customerInfoBox,
orderDetailsDrawer,
},
props: {
//订单
dataList: {
type: Array,
default: null,
},
loading: {
type: Boolean,
default: false,
},
superManage: {
type: String,
default: "",
},
},
data() {
return {
MultipleChoiceList: [
//多选项目
{
Name: "机票",
Id: "1",
},
{
Name: "签证",
Id: "2",
},
{
Name: "地接",
Id: "3",
import customerInfoBox from "../guestManagement/customerInfoBox";
import orderDetailsDrawer from "./orderDetailsDrawer";
export default {
components: {
customerInfoBox,
orderDetailsDrawer
},
{
Name: "套餐",
Id: "4",
},
],
userInfo: {},
MoreList: [
{
Name: "取消订单",
Id: "1",
},
{
Name: "订单转交",
Id: "2",
},
{
Name: "修改出票状态",
Id: "4",
props: {
//订单
dataList: {
type: Array,
default: null
},
loading: {
type: Boolean,
default: false,
},
superManage: {
type: String,
default: ""
}
},
{
Name: "操作日志",
Id: "3",
data() {
return {
MultipleChoiceList: [ //多选项目
{
Name: '机票',
Id: '1'
}, {
Name: '签证',
Id: '2'
}, {
Name: '地接',
Id: '3'
}, {
Name: '套餐',
Id: '4'
}
],
userInfo: {},
MoreList: [{
Name: '取消订单',
Id: '1'
}, {
Name: '订单转交',
Id: '2'
}, {
Name: '修改出票状态',
Id: '4'
}, {
Name: '操作日志',
Id: '3'
}, ],
clickMore: '',
drawer: false,
orderDrawer: false,
CustomerId: '',
CustomerName: '',
currentOrder:null
};
},
],
clickMore: "",
drawer: false,
orderDrawer: false,
CustomerId: "",
CustomerName: "",
currentOrder: null,
};
},
created() {},
watch: {
loading: {
handler(val, oldVal) {
this.loading = val;
},
deep: true,
},
},
mounted() {
this.userInfo = this.getLocalStorage();
let $this = this;
$this.MsgBus.$on("closeBillMaking", function() {
for (let i = 0; i < $this.dataList.length; i++) {
$this.dataList[i].checkList = [];
$this.dataList[i].MultipleChoiceList = [];
$this.dataList[i].selectedType = "";
$this.dataList[i].actuallyReceived = false;
$this.dataList[i].cost = false;
}
});
},
methods: {
// 多选发生变化
clickMultipleChoice(row, index, num) {
if (num == 1) {
if (row.checkList.slice(-1)[0] == 4) {
this.delType(row, 1);
this.delType(row, 2);
this.delType(row, 3);
this.delType(row, 5);
row.selectedType = row.checkList.join(",");
} else if (row.checkList.slice(-1)[0] == 5) {
this.delType(row, 1);
this.delType(row, 2);
this.delType(row, 3);
this.delType(row, 4);
row.selectedType = row.checkList.join(",");
} else {
this.delType(row, 4);
this.delType(row, 5);
row.selectedType = row.checkList.join(",");
}
}
},
// 删除套餐值
delType(row, item) {
for (let i = 0; i < row.checkList.length; i++) {
if (row.checkList[i] == item) {
row.checkList.splice(i, 1);
}
}
},
// 取消
popCancelClick(row, index, num) {
if (num == 1) {
}
this.dataList.forEach((item) => {
return (item.actuallyReceived = false);
});
if (num == 3) {
}
this.dataList.forEach((item) => {
return (item.cost = false);
});
created() {
this.dataList.forEach((item) => {
item.checkList = [];
item.MultipleChoiceList = [];
item.selectedType = "";
});
},
// 确定弹窗
popClick(row, index, num) {
if (!row.selectedType) {
this.$message.warning("请选择类型!");
return;
}
this.makeAdocumentFun(row, index, num);
if (num == 1) {
if (this.dataList[index].checkList.length == 1) {
} else {
this.dataList[index].actuallyReceived = false;
}
}
if (num == 3) {
this.dataList[index].cost = false;
}
},
// 点击单号
clickSingleNumber(item) {
this.currentOrder = item;
this.orderDrawer = true;
},
closeOrderDrawerHandler() {
this.currentOrder = null;
this.orderDrawer = false;
},
handleClose(done) {
done();
},
openNameDetails(item) {
this.drawer = true;
this.CustomerId = item.GuestId;
this.CustomerName = item.GuestName;
},
// 查看出票凭据
viewCredentials(row) {
let $this = this;
this.MsgBus.$emit(
"CredentialsOrderTicketOrderBoxOpen",
$this.ID,
row,
true
);
},
chooseMore(row) {
// 取消订单
if (row.More == "1") {
this.cancelOrder(row);
}
// 订单转换
if (row.More == "2") {
this.convertOrder(row);
}
// 操作日志
if (row.More == "3") {
this.operationLog(row);
}
// 修改出票状态
if (row.More == "4") {
this.modifyStatus(row);
}
// 编辑订单金额
if (row.More == "5") {
this.editOrderAmount(row);
}
},
// 转换订单
convertOrder(row) {
this.MsgBus.$emit(
"convertOrderTicketOrderBoxOpen",
row.GuestId,
row,
true
);
},
// 验证操作员
ValidateOperator() {
this.$message({
type: "warning",
message: "抱歉,该订单您没有操作权限!",
});
this.$emit("emptyMore");
},
// 制作单据
makeAdocument(row, index, num) {
this.dataList[index].MultipleChoiceList = [];
let list = row.OrderType && row.OrderType.split(",");
if (list != null && list.length > 1 && num == 1) {
this.dataList.forEach((item) => {
return (item.cost = false);
});
this.dataList.forEach((item) => {
return (item.actuallyReceived = false);
});
this.dataList[index].actuallyReceived = true;
for (let j = 0; j < list.length; j++) {
for (let i = 0; i < this.MultipleChoiceList.length; i++) {
if (list[j] == this.MultipleChoiceList[i].Id) {
this.dataList[index].MultipleChoiceList.push(
this.MultipleChoiceList[i]
);
}
}
}
} else if (list != null && list.length > 1 && num == 3) {
this.dataList.forEach((item) => {
return (item.actuallyReceived = false);
});
this.dataList.forEach((item) => {
return (item.cost = false);
});
this.dataList[index].cost = true;
for (let j = 0; j < list.length; j++) {
for (let i = 0; i < this.MultipleChoiceList.length; i++) {
if (list[j] == this.MultipleChoiceList[i].Id) {
this.dataList[index].MultipleChoiceList.push(
this.MultipleChoiceList[i]
);
}
}
}
} else {
this.makeAdocumentFun(row, index, num);
}
},
makeAdocumentFun(row, index, num) {
let list = row.OrderType && row.OrderType.split(",");
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator();
} else {
if (row.OrderStatus != "2") {
if (list && list.length > 1) {
let typeList = row.selectedType.split(",");
if (num == "1" && typeList.length >= 2) {
let type;
type = num == 1 ? 1 : 2; // 1收款 2退款 3成本anceId2 = num
let $this = this;
row.ReFinanceId2 = num;
this.MsgBus.$emit("BillMakingOrderBoxOpen", $this.ID, row, true);
}
if ((typeList.length == 1 && num == "1") || num == "3") {
let type;
type = num == 1 ? 1 : 2; // 1收款 2退款 3成本
let href;
let url = this.domainManager().erpRoutingUrl;
let data = [
{
path: "ChoiceAddFinancialDocuments",
type: type,
OtherType: 55,
ReFinanceId: row.OrderId,
ReFinanceId2: num,
GuestId: row.GuestId,
RelevanceFrId: row.selectedType, // 单据类型
},
];
href =
url +
"automaticLogin?token=" +
this.getLocalStorage().token +
"&data=" +
JSON.stringify(data);
window.open(href);
for (let i = 0; i < this.dataList.length; i++) {
this.dataList[i].checkList = [];
this.dataList[i].MultipleChoiceList = [];
this.dataList[i].selectedType = "";
this.dataList[i].actuallyReceived = false;
this.dataList[i].cost = false;
}
}
if (num == "2") {
let type;
type = num == 1 ? 1 : 2; // 1收款 2退款 3成本
let href;
let url = this.domainManager().erpRoutingUrl;
let data = [
{
path: "ChoiceAddFinancialDocuments",
type: type,
OtherType: 55,
ReFinanceId: row.OrderId,
ReFinanceId2: num,
GuestId: row.GuestId,
},
];
href =
url +
"automaticLogin?token=" +
this.getLocalStorage().token +
"&data=" +
JSON.stringify(data);
window.open(href);
for (let i = 0; i < this.dataList.length; i++) {
this.dataList[i].checkList = [];
this.dataList[i].MultipleChoiceList = [];
this.dataList[i].selectedType = "";
this.dataList[i].actuallyReceived = false;
this.dataList[i].cost = false;
}
}
} else {
let type;
type = num == 1 ? 1 : 2; // 1收款 2退款 3成本
let href;
let url = this.domainManager().erpRoutingUrl;
let data;
if (num == 1 || num == 2) {
data = [
{
path: "ChoiceAddFinancialDocuments",
type: type,
OtherType: 55,
ReFinanceId: row.OrderId,
ReFinanceId2: num,
GuestId: row.GuestId,
RelevanceFrId: row.OrderType, // 单据类型
},
];
}
if (num == 3) {
data = [
{
path: "ChoiceAddFinancialDocuments",
type: type,
OtherType: 55,
ReFinanceId: row.OrderId,
ReFinanceId2: num,
GuestId: row.GuestId,
},
watch: {
loading: {
handler(val, oldVal) {
this.loading = val
},
];
}
href =
url +
"automaticLogin?token=" +
this.getLocalStorage().token +
"&data=" +
JSON.stringify(data);
window.open(href);
for (let i = 0; i < this.dataList.length; i++) {
this.dataList[i].checkList = [];
this.dataList[i].MultipleChoiceList = [];
this.dataList[i].selectedType = "";
this.dataList[i].actuallyReceived = false;
this.dataList[i].cost = false;
deep: true
}
}
}
}
},
// 操作日志
operationLog(row) {
this.MsgBus.$emit("logTicketOrderBoxOpen", row.GuestId, row, true);
},
// 修改出票状态
modifyStatus(row) {
if (this.superManage) {
this.ModifyStatusfun(row);
} else {
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator();
} else {
this.ModifyStatusfun(row);
}
}
},
ModifyStatusfun(row) {
if (
row.TicketStatus == 3 ||
row.TicketStatus == 4 ||
row.OrderStatus == "2"
) {
return;
} else {
this.MsgBus.$emit("reviseTicketOrderBoxOpen", row.GuestId, row, true);
}
},
// 取消订单
cancelOrder(row) {
if (this.superManage) {
this.cancelOrderfun(row);
} else {
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator();
} else {
this.cancelOrderfun(row);
}
}
},
cancelOrderfun(row) {
if (
row.OrderStatus != "2" &&
row.IncomeFinance.length == 0 &&
row.BackFinance.length == 0 &&
row.PayFinance.length == 0
) {
let tips = "此操作将取消该订单,是否继续取消?";
this.$confirm(tips, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.apipost(
"/api/Order/SetGuestOrderState",
{
OrderId: row.OrderId,
Type: "1",
},
(res) => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.getList();
},
mounted() {
this.userInfo = this.getLocalStorage();
let $this = this
$this.MsgBus.$on("closeBillMaking", function() {
for(let i=0;i<$this.dataList.length;i++){
$this.dataList[i].checkList = []
$this.dataList[i].selectedType = ""
$this.dataList[i].actuallyReceived = false
$this.dataList[i].cost = false
}
}
);
})
.catch(() => {
this.$emit("emptyMore");
this.$message({
type: "info",
message: "已取消",
});
});
} else {
this.$emit("emptyMore");
}
},
// 编辑订单
editOrder(row) {
if (this.superManage) {
this.editOrderfun(row);
} else {
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator();
} else {
this.editOrderfun(row);
}
}
},
editOrderfun(row) {
if (row.TicketStatus == 1 && row.OrderStatus == 1) {
this.MsgBus.$emit(
"editOrderTicketOrderBoxOpen",
row.GuestId,
row,
true
);
} else {
this.$emit("emptyMore");
}
},
// 编辑订单金额
editOrderAmount(row) {
if (this.superManage) {
this.editOrderAmountfun(row);
} else {
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator();
} else {
this.editOrderAmountfun(row);
}
}
},
editOrderAmountfun(row) {
if (row.TicketStatus == 1 && row.OrderStatus == 1) {
this.MsgBus.$emit("editTicketOrderBoxOpen", row.GuestId, row, true);
} else {
this.$emit("emptyMore");
}
},
openDetails(item) {
let href;
let url = this.domainManager().erpRoutingUrl;
let data = [
{
path: "FinancialDocumentsDetail",
id: item.FrID,
},
];
href =
url +
"automaticLogin?token=" +
this.getLocalStorage().token +
"&data=" +
JSON.stringify(data);
window.open(href);
},
// 获取出票状态枚举
GetTicketStatusEnumList() {
this.msg.GuestId = row.GuestId;
this.apipost("/api/Order/GetTicketStatusEnumList", {}, (res) => {
if (res.data.resultCode == 1) {
this.ticketingStatusList = res.data.data;
let data = {
Name: "全部",
Id: "0",
};
this.ticketingStatusList.unshift(data);
} else {
this.$message.error(res.data.message);
methods: {
// 多选发生变化
clickMultipleChoice(row, index, num) {
if(num == 1){
if(row.checkList.slice(-1)[0] == 4){
this.delType(row,1)
this.delType(row,2)
this.delType(row,3)
this.delType(row,5)
row.selectedType = row.checkList.join(',')
}else if(row.checkList.slice(-1)[0] == 5){
this.delType(row,1)
this.delType(row,2)
this.delType(row,3)
this.delType(row,4)
row.selectedType = row.checkList.join(',')
}else{
this.delType(row,4)
this.delType(row,5)
row.selectedType = row.checkList.join(',')
}
}
},
// 删除套餐值
delType(row,item) {
for (let i = 0; i < row.checkList.length; i++) {
if (row.checkList[i] == item) {
row.checkList.splice(i, 1)
}
}
},
// 取消
popCancelClick(row, index, num){
this.dataList.forEach(item=>{
item.checkList = []
item.selectedType = ''
item.actuallyReceived =false
item.cost =false
})
},
// 确定弹窗
popClick(row, index, num){
if(!row.selectedType){
this.$message.warning('请选择类型!');
return
}
this.makeAdocumentFun(row, index, num)
this.dataList[index].actuallyReceived =false
this.dataList[index].cost =false
},
// 点击单号
clickSingleNumber(item){
this.currentOrder=item
this.orderDrawer = true
},
handleClose(done) {
done();
},
openNameDetails(item) {
this.drawer = true;
this.CustomerId = item.GuestId;
this.CustomerName = item.GuestName;
},
// 查看出票凭据
viewCredentials(row) {
let $this = this;
this.MsgBus.$emit("CredentialsOrderTicketOrderBoxOpen", $this.ID, row, true);
},
chooseMore(row) {
// 取消订单
if (row.More == '1') {
this.cancelOrder(row)
}
// 订单转换
if (row.More == '2') {
this.convertOrder(row)
}
// 操作日志
if (row.More == '3') {
this.operationLog(row)
}
// 修改出票状态
if (row.More == '4') {
this.modifyStatus(row)
}
// 编辑订单金额
if (row.More == '5') {
this.editOrderAmount(row)
}
},
// 转换订单
convertOrder(row) {
this.MsgBus.$emit("convertOrderTicketOrderBoxOpen", row.GuestId, row, true);
},
// 验证操作员
ValidateOperator() {
this.$message({
type: 'warning',
message: '抱歉,该订单您没有操作权限!'
});
this.$emit('emptyMore')
},
// 制作单据
makeAdocument(row, index, num) {
let list = row.OrderType&&row.OrderType.split(',')
if(list!=null&&list.length>1&&num==1){
this.dataList.forEach(item=>{
return item.cost = false
})
this.dataList.forEach(item=>{
return item.actuallyReceived = false
})
this.dataList[index].actuallyReceived = true
}
else if(list!=null&&list.length>1&&num==3){
this.dataList.forEach(item=>{
return item.actuallyReceived = false
})
this.dataList.forEach(item=>{
return item.cost = false
})
this.dataList[index].cost = true
}else{
this.makeAdocumentFun(row, index, num)
}
},
makeAdocumentFun(row, index, num){
let type
type = num == 1 ? 1 : 2 // 1收款 2退款 3成本
let href
let url = this.domainManager().erpRoutingUrl
let data
let list = row.OrderType&&row.OrderType.split(',')
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator()
} else {
if (row.OrderStatus != '2') {
if(list&&list.length>1){
let typeList = row.selectedType.split(',')
if(num==1&&typeList.length>=2){
let $this = this;
row.ReFinanceId2 = num
this.MsgBus.$emit("BillMakingOrderBoxOpen", $this.ID, row, true);
}if(typeList.length==1&&num=='1'||num=='3'){
data = [{
path: 'ChoiceAddFinancialDocuments',
type: type,
OtherType: 55,
ReFinanceId: row.OrderId,
ReFinanceId2: num,
GuestId: row.GuestId,
RelevanceFrId: row.selectedType, // 单据类型
}]
href = url + 'automaticLogin?token=' + this.getLocalStorage().token + '&data=' + JSON.stringify(data)
window.open(href);
for(let i=0;i<this.dataList.length;i++){
this.dataList[i].checkList = []
this.dataList[i].selectedType = ""
this.dataList[i].actuallyReceived = false
this.dataList[i].cost = false
}
}if(num=='2'){
data = [{
path: 'ChoiceAddFinancialDocuments',
type: type,
OtherType: 55,
ReFinanceId: row.OrderId,
ReFinanceId2: num,
GuestId: row.GuestId,
}]
href = url + 'automaticLogin?token=' + this.getLocalStorage().token + '&data=' + JSON.stringify(data)
window.open(href);
for(let i=0;i<this.dataList.length;i++){
this.dataList[i].checkList = []
this.dataList[i].selectedType = ""
this.dataList[i].actuallyReceived = false
this.dataList[i].cost = false
}
}
}else{
if(num==1||num==2){
data = [{
path: 'ChoiceAddFinancialDocuments',
type: type,
OtherType: 55,
ReFinanceId: row.OrderId,
ReFinanceId2: num,
GuestId: row.GuestId,
RelevanceFrId: row.OrderType, // 单据类型
}]
}
if(num==3){
data = [{
path: 'ChoiceAddFinancialDocuments',
type: type,
OtherType: 55,
ReFinanceId: row.OrderId,
ReFinanceId2: num,
GuestId: row.GuestId,
}]
}
href = url + 'automaticLogin?token=' + this.getLocalStorage().token + '&data=' + JSON.stringify(data)
window.open(href);
for(let i=0;i<this.dataList.length;i++){
this.dataList[i].checkList = []
this.dataList[i].selectedType = ""
this.dataList[i].actuallyReceived = false
this.dataList[i].cost = false
}
}
}
}
},
// 操作日志
operationLog(row) {
this.MsgBus.$emit("logTicketOrderBoxOpen", row.GuestId, row, true);
},
// 修改出票状态
modifyStatus(row) {
if (this.superManage) {
this.ModifyStatusfun(row)
} else {
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator()
} else {
this.ModifyStatusfun(row)
}
}
},
ModifyStatusfun(row) {
if (row.TicketStatus == 3 || row.TicketStatus == 4 || row.OrderStatus == '2') {
return
} else {
this.MsgBus.$emit("reviseTicketOrderBoxOpen", row.GuestId, row, true);
}
},
// 取消订单
cancelOrder(row) {
if (this.superManage) {
this.cancelOrderfun(row)
} else {
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator()
} else {
this.cancelOrderfun(row)
}
}
},
cancelOrderfun(row) {
if (row.OrderStatus != '2' && row.IncomeFinance.length == 0 && row.BackFinance.length == 0 && row.PayFinance.length == 0) {
let tips = '此操作将取消该订单,是否继续取消?'
this.$confirm(tips, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apipost('/api/Order/SetGuestOrderState', {
OrderId: row.OrderId,
Type: '1',
}, res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.getList()
}
})
}).catch(() => {
this.$emit('emptyMore')
this.$message({
type: 'info',
message: '已取消'
});
});
} else {
this.$emit('emptyMore')
}
},
// 编辑订单
editOrder(row) {
if (this.superManage) {
this.editOrderfun(row)
} else {
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator()
} else {
this.editOrderfun(row)
}
}
},
editOrderfun(row) {
if (row.TicketStatus == 1 && row.OrderStatus == 1) {
this.MsgBus.$emit("editOrderTicketOrderBoxOpen", row.GuestId, row, true);
} else {
this.$emit('emptyMore')
}
},
// 编辑订单金额
editOrderAmount(row) {
if (this.superManage) {
this.editOrderAmountfun(row)
} else {
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator()
} else {
this.editOrderAmountfun(row)
}
}
},
editOrderAmountfun(row) {
if (row.TicketStatus == 1 && row.OrderStatus == 1) {
this.MsgBus.$emit("editTicketOrderBoxOpen", row.GuestId, row, true);
} else {
this.$emit('emptyMore')
}
},
openDetails(item) {
let href
let url = this.domainManager().erpRoutingUrl
let data = [{
path: 'FinancialDocumentsDetail',
id: item.FrID
}]
href = url + 'automaticLogin?token=' + this.getLocalStorage().token + '&data=' + JSON.stringify(data)
window.open(href);
},
// 获取出票状态枚举
GetTicketStatusEnumList() {
this.msg.GuestId = row.GuestId
this.apipost(
"/api/Order/GetTicketStatusEnumList", {},
(res) => {
if (res.data.resultCode == 1) {
this.ticketingStatusList = res.data.data;
let data = {
Name: '全部',
Id: '0'
}
this.ticketingStatusList.unshift(data)
} else {
this.$message.error(res.data.message);
}
}
);
},
}
});
},
},
};
};
</script>
<style>
li {
list-style-type: none;
}
.classorder ul {
padding: 0px;
}
.classorder .price-popup {
border-radius: 4px;
}
.classorder .el-range-editor .el-range-input {
background: none;
}
.classorder .el-range-editor.el-input__inner {
background-color: transparent;
}
.classorder .q-mb-md {
margin-bottom: 0;
}
.classorder .stics {
padding: 10px 20px;
background: #dddee0;
border-radius: 4px;
font-size: 14px;
color: #000000;
font-weight: bold;
}
.classorder .stics .stics-name {
color: #2d2d2d;
font-weight: 600;
margin-right: 10px;
}
.classorder .tis {
margin: 10px 0;
align-items: center;
}
.classorder .tis .tis-k {
width: 10px;
height: 10px;
margin-right: 8px;
}
.classorder .tis span {
font-size: 14px;
color: #2d2d2d;
font-weight: 600;
margin-right: 20px;
}
.classorder table {
padding: 10px 0;
width: 100%;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.enrollTotalSearchTable td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid rgba(138, 138, 138, 0.09);
text-align: left;
}
.classorder table ._color_666 {
color: #666666;
}
.classorder table tr._color_666 th {
padding: 9px 15px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.classorder table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
}
.classorder table ._color_666 {
color: #666666;
}
.classorder table tr._color_666 th {
padding: 9px 15px;
}
.classorder .enrollTotalSearchTable {
width: 100%;
font-size: 14px;
color: #333;
border-bottom: 1px solid #cccccc;
border-right: 1px solid #cccccc;
border-collapse: collapse;
}
.classorder .enrollTotalSearchTable tr {
}
.classorder .enrollTotalSearchTable tr th {
background: #dddee0;
height: 30px;
font-size: 12px;
text-align: left;
}
.classorder .enrollTotalSearchTable tr {
background: #fff;
text-align: left;
}
.classorder .enrollTotalSearchTable tbody tr:last-child {
border-bottom: 2px solid #ddd;
}
.classorder .enrollTotalSearchTable tr:first-child td:first-child {
border-bottom: 2px solid #ddd;
}
.classorder .enrollTotalSearchTable tr td {
height: 46px;
padding: 10px;
}
.classorder .enrollTotalSearchTable tr td > img {
width: 32px;
height: 32px;
border-radius: 16px;
vertical-align: middle;
margin-right: 5px;
}
.classorder .enrollTotalSearchTable tr td p {
line-height: 20px;
}
.classorder .remarks {
font-size: 14px;
color: #2d2d2d;
}
.classorder .remarks-b {
height: 34px;
background: #f0f5fb;
margin-top: 10px;
padding: 15px;
font-size: 12px;
color: #999999;
position: relative;
overflow: hidden;
display: -webkit-box;
line-height: 20px;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}
.classorder .remarks-b-b {
text-align: right;
position: absolute;
right: 0px;
bottom: 0px;
}
.classorder .on-left {
margin-right: 5px;
}
.classorder .finance {
padding: 1px 10px;
align-items: center;
justify-content: center;
border-radius: 4px;
margin: 5px 3px 3px 0;
}
.classorder .order_OfferId {
font-size: 18px;
color: #2961fe;
margin-bottom: 10px;
font-weight: bold;
text-decoration: underline;
cursor: pointer;
}
.takeContract {
cursor: pointer;
color: rgb(41, 97, 254);
}
.Contract_Table {
width: 100%;
border-collapse: collapse;
}
.Contract_Table th,
.Contract_Table td {
padding: 5px;
color: #000;
text-align: center;
}
.table-body {
overflow-x: hidden;
overflow-y: auto;
}
.classorder .redstyle {
color: var(--q-color-negative);
}
.order_OferTitle {
font-size: 14px;
color: #333333;
margin-bottom: 10px;
}
.tatusText.grey {
color: grey;
}
.tatusText.success {
color: #21ba45;
}
.tatusText.error {
color: #f2c037;
}
.tatusText.Black {
color: Black;
}
.ToBeReceived.red {
color: #fd397a;
}
.ToBeReceived.blue {
color: #409eff;
}
.documents-text {
display: flex;
justify-content: space-between;
}
.documents-left {
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: 2px 0;
}
.documents-left span {
margin-right: 10px;
border-radius: 3px;
padding: 2px 6px;
}
.documents-left span:hover {
cursor: pointer;
}
.documents-left span.one {
background-color: rgba(41, 97, 254, 0.2);
color: rgb(41, 97, 254);
}
.documents-left span.two {
background-color: rgba(242, 140, 29, 0.2);
color: rgb(242, 140, 29);
}
.documents-left span.three {
background-color: rgba(63, 196, 255, 0.2);
color: rgb(63, 196, 255);
}
.documents-left.num span {
background-color: rgba(41, 97, 254, 0);
color: rgb(41, 97, 254);
padding: 0;
}
.documents-right {
margin-right: 20px;
position: relative;
}
.OrderId-text {
font-size: 19px;
/* text-decoration:underline; */
font-weight: bold;
color: #2961fe;
margin-bottom: 10px;
cursor: pointer;
}
.CreateByName-text {
margin-bottom: 10px;
}
.colorblue {
color: #2961fe;
}
.enedit-box {
display: flex;
align-items: center;
}
.select-right {
margin-left: 5px;
}
.Credentials {
color: #2961fe;
}
.TicketVoucher-box {
display: flex;
}
.TicketVoucher-box span {
flex-shrink: 0;
}
.TicketVoucher-box i {
margin-left: 5px;
}
.agreement-IncomeMoney-box {
position: relative;
}
.agreement-IncomeMoney-pop {
position: absolute;
top: -20px;
left: -270px;
z-index: 1;
background: #fff;
padding: 10px 19px 10px 19px;
box-shadow: 5px 5px 10px 5px #ccc;
}
.agreement-Cancel {
text-align: right;
color: #409eff;
}
.agreement-Cancel span:first-child {
color: #999999;
margin-right: 20px;
}
.agreement-Cancel span:hover {
cursor: pointer;
}
.float-flag-shape {
position: absolute;
top: 20px;
border: 1px solid #fff;
height: 0;
width: 0;
border-top: 6px solid transparent;
border-left: 10px solid #fff;
border-bottom: 3px solid transparent;
right: -11px;
}
.el-checkbox-group,
.el-radio-group {
display: flex !important;
margin-bottom: 10px !important;
}
.font-color-link {
cursor: pointer;
}
</style>
li {
list-style-type: none;
}
.classorder ul {
padding: 0px;
}
.classorder .price-popup {
border-radius: 4px;
}
.classorder .el-range-editor .el-range-input {
background: none;
}
.classorder .el-range-editor.el-input__inner {
background-color: transparent;
}
.classorder .q-mb-md {
margin-bottom: 0;
}
.classorder .stics {
padding: 10px 20px;
background: #dddee0;
border-radius: 4px;
font-size: 14px;
color: #000000;
font-weight: bold;
}
.classorder .stics .stics-name {
color: #2d2d2d;
font-weight: 600;
margin-right: 10px;
}
.classorder .tis {
margin: 10px 0;
align-items: center;
}
.classorder .tis .tis-k {
width: 10px;
height: 10px;
margin-right: 8px;
}
.classorder .tis span {
font-size: 14px;
color: #2d2d2d;
font-weight: 600;
margin-right: 20px;
}
.classorder table {
padding: 10px 0;
width: 100%;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.enrollTotalSearchTable td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid rgba(138, 138, 138, 0.09);
text-align: left;
}
.classorder table ._color_666 {
color: #666666;
}
.classorder table tr._color_666 th {
padding: 9px 15px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.classorder table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
}
.classorder table ._color_666 {
color: #666666;
}
.classorder table tr._color_666 th {
padding: 9px 15px;
}
.classorder .enrollTotalSearchTable {
width: 100%;
font-size: 14px;
color: #333;
border-bottom: 1px solid #cccccc;
border-right: 1px solid #cccccc;
border-collapse: collapse;
}
.classorder .enrollTotalSearchTable tr {}
.classorder .enrollTotalSearchTable tr th {
background: #dddee0;
height: 30px;
font-size: 12px;
text-align: left;
}
.classorder .enrollTotalSearchTable tr {
background: #fff;
text-align: left;
}
.classorder .enrollTotalSearchTable tbody tr:last-child {
border-bottom: 2px solid #ddd;
}
.classorder .enrollTotalSearchTable tr:first-child td:first-child {
border-bottom: 2px solid #ddd;
}
.classorder .enrollTotalSearchTable tr td {
height: 46px;
padding: 10px;
}
.classorder .enrollTotalSearchTable tr td>img {
width: 32px;
height: 32px;
border-radius: 16px;
vertical-align: middle;
margin-right: 5px;
}
.classorder .enrollTotalSearchTable tr td p {
line-height: 20px;
}
.classorder .remarks {
font-size: 14px;
color: #2d2d2d;
}
.classorder .remarks-b {
height: 34px;
background: #f0f5fb;
margin-top: 10px;
padding: 15px;
font-size: 12px;
color: #999999;
position: relative;
overflow: hidden;
display: -webkit-box;
line-height: 20px;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}
.classorder .remarks-b-b {
text-align: right;
position: absolute;
right: 0px;
bottom: 0px;
}
.classorder .on-left {
margin-right: 5px;
}
.classorder .finance {
padding: 1px 10px;
align-items: center;
justify-content: center;
border-radius: 4px;
margin: 5px 3px 3px 0;
}
.classorder .order_OfferId {
font-size: 18px;
color: #2961fe;
margin-bottom: 10px;
font-weight: bold;
text-decoration: underline;
cursor: pointer;
}
.takeContract {
cursor: pointer;
color: rgb(41, 97, 254);
}
.Contract_Table {
width: 100%;
border-collapse: collapse;
}
.Contract_Table th,
.Contract_Table td {
padding: 5px;
color: #000;
text-align: center;
}
.table-body {
overflow-x: hidden;
overflow-y: auto;
}
.classorder .redstyle {
color: var(--q-color-negative);
}
.order_OferTitle {
font-size: 14px;
color: #333333;
margin-bottom: 10px;
}
.tatusText.grey {
color: grey;
}
.tatusText.success {
color: #21BA45;
}
.tatusText.error {
color: #F2C037;
}
.tatusText.Black {
color: Black;
}
.ToBeReceived.red {
color: #fd397a;
}
.ToBeReceived.blue {
color: #409eff;
}
.documents-text {
display: flex;
justify-content: space-between;
}
.documents-left {
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: 2px 0;
}
.documents-left span {
margin-right: 10px;
border-radius: 3px;
padding: 2px 6px;
}
.documents-left span:hover {
cursor: pointer;
}
.documents-left span.one {
background-color: rgba(41, 97, 254, 0.2);
color: rgb(41, 97, 254);
}
.documents-left span.two {
background-color: rgba(242, 140, 29, 0.2);
color: rgb(242, 140, 29);
}
.documents-left span.three {
background-color: rgba(63, 196, 255, 0.2);
color: rgb(63, 196, 255);
}
.documents-left.num span {
background-color: rgba(41, 97, 254, 0);
color: rgb(41, 97, 254);
padding: 0;
}
.documents-right {
margin-right: 20px;
position: relative;
}
.OrderId-text {
font-size: 19px;
/* text-decoration:underline; */
font-weight: bold;
color: #2961fe;
margin-bottom: 10px;
cursor: pointer;
}
.CreateByName-text {
margin-bottom: 10px;
}
.colorblue {
color: #2961fe;
}
.enedit-box {
display: flex;
align-items: center;
}
.select-right {
margin-left: 5px;
}
.Credentials {
color: #2961FE;
}
.TicketVoucher-box {
display: flex;
}
.TicketVoucher-box span {
flex-shrink: 0;
}
.TicketVoucher-box i {
margin-left: 5px;
}
.agreement-IncomeMoney-box{
position: relative;
}
.agreement-IncomeMoney-pop{
position: absolute;
top: -20px;
left: -270px;
z-index: 1;
background: #fff;
padding: 10px 19px 10px 19px;
Box-shadow:5px 5px 10px 5px #ccc;
}
.agreement-Cancel{
text-align: right;
color: #409eff;
}
.agreement-Cancel span:first-child{
color: #999999;
margin-right: 20px;
}
.agreement-Cancel span:hover{
cursor: pointer;
}
.float-flag-shape{
position: absolute;
top:20px;
border: 1px solid #fff;
height: 0;
width: 0;
border-top: 6px solid transparent;
border-left: 10px solid #fff;
border-bottom: 3px solid transparent;
right:-11px;
}
.el-checkbox-group,.el-radio-group{
display: flex !important;
margin-bottom: 10px !important;
}
.font-color-link{
cursor: pointer;
}
</style>
\ No newline at end of file
......@@ -72,15 +72,18 @@
color: #2961FE;
}
.agreement-IncomeMoney-box{
/* position: relative; */
}
.agreement-IncomeMoney-box .numIcon{
position: relative;
}
.agreement-IncomeMoney-pop{
position: absolute;
top: -15px;
left: 80px;
left: 30px;
z-index: 1;
background: #fff;
padding: 3px 19px 5px 19px;
padding: 10px 19px 10px 19px;
Box-shadow:5px 5px 10px 5px #ccc;
}
/deep/.el-table .cell{
......@@ -151,6 +154,7 @@
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
:height="dataList.length > 0 ? '600' : '660'"
row-class-name="font-size-12">
<el-table-column
fixed
......@@ -158,7 +162,7 @@
show-overflow-tooltip>
<template slot-scope="scope">
{{scope.row.OrderId}}
<!-- <p @click="openDetails(scope)" class="font-color-link cp">{{scope.row.OrderId}}</p> -->
<!-- <p v-for="(item,index) in scope.row.MultipleChoiceList">{{item.Name}}</p> -->
</template>
</el-table-column>
<el-table-column fixed label="业务员" show-overflow-tooltip :width="120">
......@@ -185,7 +189,7 @@
{{scope.row.IncomeMoney}}
<i v-if="scope.row.OrderStatus==1"
@click="makeAdocument(scope.row,scope.$index,1)"
class="iconfont iconjia- numIcon"></i>
class="iconfont iconjia- numIcon">
<div v-show="scope.row.actuallyReceived" class="agreement-IncomeMoney-pop">
<div class="float-flag-shape"></div>
<el-checkbox-group v-model="scope.row.checkList"
......@@ -194,11 +198,13 @@
:label="item.Id">{{item.Name}}</el-checkbox>
</el-checkbox-group>
<div class="agreement-Cancel">
<span @click="popCancelClick(scope.row,scope.$index,1)">取消</span>
<span @click="popClick(scope.row,scope.$index,1)">确定</span>
<span @click.stop="popCancelClick(scope.row,scope.$index,1)">取消</span>
<span @click.stop="popClick(scope.row,scope.$index,1)">确定</span>
</div>
</div>
</i>
</div>
......@@ -214,19 +220,23 @@
<template slot-scope="scope">
<div class="agreement-IncomeMoney-box">
{{scope.row.PayMoney}}<i v-if="scope.row.OrderStatus==1"
@click="makeAdocument(scope.row,scope.$index,3)" class="iconfont iconjia- numIcon"></i>
<div v-show="scope.row.cost" class="agreement-IncomeMoney-pop">
<div class="float-flag-shape"></div>
<el-radio-group v-model="scope.row.selectedType" @change="clickMultipleChoice(scope.row,scope.$index,3)">
<el-radio v-for="(item,index) in scope.row.MultipleChoiceList" :key="index"
:label="item.Id">{{item.Name}}</el-radio>
</el-radio-group>
<div class="agreement-Cancel">
<span @click="popCancelClick(scope.row,scope.$index,3)">取消</span>
<span @click="popClick(scope.row,scope.$index,3)">确定</span>
@click="makeAdocument(scope.row,scope.$index,3)" class="iconfont iconjia- numIcon">
<div v-show="scope.row.cost" class="agreement-IncomeMoney-pop">
<div class="float-flag-shape"></div>
<el-radio-group v-model="scope.row.selectedType" @change="clickMultipleChoice(scope.row,scope.$index,3)">
<el-radio v-for="(item,index) in scope.row.MultipleChoiceList" :key="index"
:label="item.Id">{{item.Name}}</el-radio>
</el-radio-group>
<div class="agreement-Cancel">
<span @click.stop="popCancelClick(scope.row,scope.$index,3)">取消</span>
<span @click.stop="popClick(scope.row,scope.$index,3)">确定</span>
</div>
</div>
</i>
</div>
</div>
</template>
</el-table-column>
......@@ -323,7 +333,7 @@
</el-table>
</div>
<div v-if="total>0">
<el-pagination class="Mypagination" background @current-change="handleCurrentChange" :page-sizes="[30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next" @size-change="handleSizeChange" :total="total">
<el-pagination class="Mypagination" background @current-change="handleCurrentChange" :page-sizes="[10, 30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next" @size-change="handleSizeChange" :total="total">
</el-pagination>
</div>
</div>
......@@ -374,7 +384,7 @@
loading: false,
msg: {
pageIndex: 1,
pageSize: 30,
pageSize: 10,
OrderId: "",
GuestId: "",
TicketStatus: '0',
......@@ -406,7 +416,6 @@
$this.MsgBus.$on("closeBillMaking", function() {
for(let i=0;i<$this.dataList.length;i++){
$this.dataList[i].checkList = []
$this.dataList[i].MultipleChoiceList = []
$this.dataList[i].selectedType = ""
$this.dataList[i].actuallyReceived = false
$this.dataList[i].cost = false
......@@ -416,16 +425,11 @@
methods: {
// 取消
popCancelClick(row, index, num){
if(num==1){
this.dataList[index].actuallyReceived =false
}
if(num==3){
this.dataList[index].cost =false
}
this.dataList.forEach(item=>{
item.checkList = []
item.MultipleChoiceList = []
item.selectedType = ''
item.actuallyReceived =false
item.cost =false
})
},
// 确定弹窗
......@@ -435,17 +439,8 @@
return
}
this.makeAdocumentFun(row, index, num)
if(num==1){
if(this.dataList[index].checkList.length==1){
}else{
this.dataList[index].actuallyReceived =false
}
}
if(num==3){
this.dataList[index].cost =false
}
this.dataList[index].actuallyReceived =false
this.dataList[index].cost =false
},
// 查看出票凭据
......@@ -529,7 +524,6 @@
},
// 制作单据
makeAdocument(row, index, num) {
this.dataList[index].MultipleChoiceList=[]
let list = row.OrderType&&row.OrderType.split(',')
if(list!=null&&list.length>1&&num==1){
this.dataList.forEach(item=>{
......@@ -539,13 +533,6 @@
return item.actuallyReceived = false
})
this.dataList[index].actuallyReceived = true
for(let j=0;j<list.length;j++){
for(let i=0;i<this.MultipleChoiceList.length;i++){
if(list[j]==this.MultipleChoiceList[i].Id){
this.dataList[index].MultipleChoiceList.push(this.MultipleChoiceList[i])
}
}
}
}
else if(list!=null&&list.length>1&&num==3){
......@@ -556,18 +543,16 @@
return item.cost = false
})
this.dataList[index].cost = true
for(let j=0;j<list.length;j++){
for(let i=0;i<this.MultipleChoiceList.length;i++){
if(list[j]==this.MultipleChoiceList[i].Id){
this.dataList[index].MultipleChoiceList.push(this.MultipleChoiceList[i])
}
}
}
}else{
this.makeAdocumentFun(row, index, num)
}
},
makeAdocumentFun(row, index, num){
let type
type = num == 1 ? 1 : 2 // 1收款 2退款 3成本
let href
let url = this.domainManager().erpRoutingUrl
let data
let list = row.OrderType&&row.OrderType.split(',')
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator()
......@@ -576,17 +561,11 @@
if(list&&list.length>1){
let typeList = row.selectedType.split(',')
if(num=='1'&&typeList.length>=2){
let type
type = num == 1 ? 1 : 2 // 1收款 2退款 3成本anceId2 = num
let $this = this;
row.ReFinanceId2 = num
this.MsgBus.$emit("BillMakingOrderBoxOpen", $this.ID, row, true);
}if(typeList.length==1&&num=='1'||num=='3'){
let type
type = num == 1 ? 1 : 2 // 1收款 2退款 3成本
let href
let url = this.domainManager().erpRoutingUrl
let data = [{
data = [{
path: 'ChoiceAddFinancialDocuments',
type: type,
OtherType: 55,
......@@ -599,17 +578,12 @@
window.open(href);
for(let i=0;i<this.dataList.length;i++){
this.dataList[i].checkList = []
this.dataList[i].MultipleChoiceList = []
this.dataList[i].selectedType = ""
this.dataList[i].actuallyReceived = false
this.dataList[i].cost = false
}
}if(num=='2'){
let type
type = num == 1 ? 1 : 2 // 1收款 2退款 3成本
let href
let url = this.domainManager().erpRoutingUrl
let data = [{
data = [{
path: 'ChoiceAddFinancialDocuments',
type: type,
OtherType: 55,
......@@ -621,7 +595,6 @@
window.open(href);
for(let i=0;i<this.dataList.length;i++){
this.dataList[i].checkList = []
this.dataList[i].MultipleChoiceList = []
this.dataList[i].selectedType = ""
this.dataList[i].actuallyReceived = false
this.dataList[i].cost = false
......@@ -629,11 +602,6 @@
}
}else{
let type
type = num == 1 ? 1 : 2 // 1收款 2退款 3成本
let href
let url = this.domainManager().erpRoutingUrl
let data
if(num==1||num==2){
data = [{
path: 'ChoiceAddFinancialDocuments',
......@@ -659,7 +627,6 @@
window.open(href);
for(let i=0;i<this.dataList.length;i++){
this.dataList[i].checkList = []
this.dataList[i].MultipleChoiceList = []
this.dataList[i].selectedType = ""
this.dataList[i].actuallyReceived = false
this.dataList[i].cost = false
......@@ -813,6 +780,19 @@
});
};
addList(data);
data.forEach(item=>{
if(item.OrderType){
let list = item.OrderType&&item.OrderType.split(',')
for(let j=0;j<list.length;j++){
for(let i=0;i<this.MultipleChoiceList.length;i++){
if(list[j]==this.MultipleChoiceList[i].Id){
item.MultipleChoiceList.push(this.MultipleChoiceList[i])
}
}
}
}
})
this.dataList = data;
this.total = res.data.data.count;
this.loading = false
......
......@@ -41,6 +41,10 @@
.income_2{
color: #3FC4FF;
}
.finance-content{
height: 600px;
overflow-y: scroll;
}
</style>
<template>
<div class="Business">
......@@ -75,86 +79,87 @@
</el-row>
</div>
<div class="page-content">
<el-table
v-loading="loading"
stripe
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
row-class-name="font-size-12">
<el-table-column
fixed
label="单号"
show-overflow-tooltip>
<template slot-scope="scope">
<p @click="openDetails(scope.row)" class="font-color-link cp">{{scope.row.FrID}}</p>
</template>
</el-table-column>
<el-table-column
label="单据类型"
show-overflow-tooltip>
<template slot-scope="scope">
<p>{{scope.row.Type==1?'收入':(scope.row.Type==2?'支出':'不限')}}</p>
</template>
</el-table-column>
<el-table-column
label="费用类型"
show-overflow-tooltip>
<template slot-scope="scope">
<p v-for="(item,index) in scope.row.CostTypeList" :key="index">
{{item}}
</p>
</template>
</el-table-column>
<el-table-column
label="交易方式"
show-overflow-tooltip width="200">
<template slot-scope="scope">
<div class="_TradeWayList"
v-for="(item,index) in scope.row.TradeWayList"
:key="index"
style="line-height: normal !important;padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;margin: 10px 0;width:230px">
<p><span style="font-weight: bold;color:#333333">{{item.Alias}}</span>
<span class="_bank_name" style="height:20px;;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;margin-letf:10px">{{scope.row.TradeWayList[0].TypeName}}</span><span style="height:20px;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;" :style="{'background-color':item.AccountType=='私'?'#2AAEF2':'#FF9C01'}">{{item.AccountType==""?'无':item.AccountType}}</span> </p>
<p style="color:#333333">{{item.BankNo}}</p>
</div>
</template>
</el-table-column>
<el-table-column
label="金额" width="150">
<template slot-scope="scope">
<p>{{scope.row.Type==1?'应收:':(scope.row.Type==2?'应付:':'')}}{{scope.row.Money}}</p>
<p>{{scope.row.Type==1?'实收:':(scope.row.Type==2?'实付:':'')}}{{scope.row.PayMoney}}</p>
</template>
</el-table-column>
<el-table-column
label="付款对象"
show-overflow-tooltip width="260">
<template slot-scope="scope">
{{scope.row.Type==2?scope.row.ClientTypeName+':':'汇款人:'}}{{scope.row.RemitterName}}
</template>
</el-table-column>
<el-table-column
label="制单人员"
show-overflow-tooltip>
<template slot-scope="scope">
{{scope.row.EmName}}
</template>
</el-table-column>
<el-table-column
fixed="right"
label="当前状态"
show-overflow-tooltip width="110">
<template slot-scope="scope">
{{scope.row.StatusStr}}
</template>
</el-table-column>
</el-table>
<el-table
v-loading="loading"
stripe
ref="multipleTable"
:data="dataList"
tooltip-effect="dark"
style="width: 100%"
:height="dataList.length > 0 ? '600' : '660'"
row-class-name="font-size-12">
<el-table-column
fixed
label="单号"
show-overflow-tooltip>
<template slot-scope="scope">
<p @click="openDetails(scope.row)" class="font-color-link cp">{{scope.row.FrID}}</p>
</template>
</el-table-column>
<el-table-column
label="单据类型"
show-overflow-tooltip>
<template slot-scope="scope">
<p>{{scope.row.Type==1?'收入':(scope.row.Type==2?'支出':'不限')}}</p>
</template>
</el-table-column>
<el-table-column
label="费用类型"
show-overflow-tooltip>
<template slot-scope="scope">
<p v-for="(item,index) in scope.row.CostTypeList" :key="index">
{{item}}
</p>
</template>
</el-table-column>
<el-table-column
label="交易方式"
show-overflow-tooltip width="200">
<template slot-scope="scope">
<div class="_TradeWayList"
v-for="(item,index) in scope.row.TradeWayList"
:key="index"
style="line-height: normal !important;padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;margin: 10px 0;width:230px">
<p><span style="font-weight: bold;color:#333333">{{item.Alias}}</span>
<span class="_bank_name" style="height:20px;;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;margin-letf:10px">{{scope.row.TradeWayList[0].TypeName}}</span><span style="height:20px;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;" :style="{'background-color':item.AccountType=='私'?'#2AAEF2':'#FF9C01'}">{{item.AccountType==""?'无':item.AccountType}}</span> </p>
<p style="color:#333333">{{item.BankNo}}</p>
</div>
</template>
</el-table-column>
<el-table-column
label="金额" width="150">
<template slot-scope="scope">
<p>{{scope.row.Type==1?'应收:':(scope.row.Type==2?'应付:':'')}}{{scope.row.Money}}</p>
<p>{{scope.row.Type==1?'实收:':(scope.row.Type==2?'实付:':'')}}{{scope.row.PayMoney}}</p>
</template>
</el-table-column>
<el-table-column
label="付款对象"
show-overflow-tooltip width="260">
<template slot-scope="scope">
{{scope.row.Type==2?scope.row.ClientTypeName+':':'汇款人:'}}{{scope.row.RemitterName}}
</template>
</el-table-column>
<el-table-column
label="制单人员"
show-overflow-tooltip>
<template slot-scope="scope">
{{scope.row.EmName}}
</template>
</el-table-column>
<el-table-column
fixed="right"
label="当前状态"
show-overflow-tooltip width="110">
<template slot-scope="scope">
{{scope.row.StatusStr}}
</template>
</el-table-column>
</el-table>
</div>
<div v-if="total>0">
<el-pagination class="Mypagination" background @current-change="handleCurrentChange"
:page-sizes="[30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next"
:page-sizes="[10, 30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next"
@size-change="handleSizeChange" :total="total">
</el-pagination>
</div>
......@@ -183,7 +188,7 @@ export default {
loading: false,
msg: {
pageIndex: 1,
pageSize: 30,
pageSize: 10,
FrID:"0",
Type:"-1",
Status: "-1",
......
......@@ -507,7 +507,7 @@
<el-col :span="8" v-if="name=='新建机票订单'||name=='编辑机票订单'">
<div class="MyEditForm-item">
<el-form-item label="出行概述" prop="StartCityName">
<el-input placeholder="请输入出发时间、出发地、目的地" v-model="form.StartCityName"></el-input>
<el-input placeholder="出发时间、出发地、目的地" v-model="form.StartCityName"></el-input>
</el-form-item>
</div>
</el-col>
......@@ -1064,7 +1064,7 @@
ground:{
title:"地接",
WBMoney:0,//原币总金额
OriginalFee:"",//原币手续费
OriginalFee:0,//原币手续费
RelevanceFrId:"1",//订单类型 1机票 2签证 3地接 4套餐 5其他
TotalCost:"",
detailList:[
......@@ -1096,7 +1096,7 @@
airTickets:{
title:"机票",
WBMoney:0,//原币总金额
OriginalFee:"",//原币手续费
OriginalFee:0,//原币手续费
RelevanceFrId:"1",//订单类型 1机票 2签证 3地接 4套餐 5其他
TotalCost:"",
detailList:[
......@@ -1213,7 +1213,7 @@
}, ],
StartCityName: [{
required: true,
message: "请输入出时间、出发地、目的地",
message: "请输入出时间、出发地、目的地",
trigger: "blur"
}, ],
// EndCityName: [
......@@ -1458,7 +1458,7 @@
OtherType:this.BillMaking.OtherType,//默认=55
ReFinanceId:this.obj.OrderId,//订单ID
ReFinanceId2:this.obj.ReFinanceId2,//类型 1收款
GuestId:this.GuestId,//客人ID
GuestId:this.obj.GuestId,//客人ID
RelevanceFrId:"",//订单类型 1机票 2签证 3地接 4套餐 5其他
vorcherInos:[],
detailList:[]
......@@ -2003,10 +2003,6 @@
this.$message.warning('请输入机票单价');
return
}
if(item.Remark==""){
this.$message.warning('请输入机票备注');
return
}
})
this.obj.checkList.indexOf('2')!=-1&&this.visa.detailList.forEach(item=>{
if(!item.CostTypeId){
......@@ -2021,10 +2017,6 @@
this.$message.warning('请输入签证单价');
return
}
if(item.Remark==""){
this.$message.warning('请输入签证备注');
return
}
})
this.obj.checkList.indexOf('3')!=-1&&this.ground.detailList.forEach(item=>{
if(!item.CostTypeId){
......@@ -2131,6 +2123,9 @@
}
this.msgList.push(this.BillMaking)
}
// console.log(this.msgList,'=====')
// return
this.clickShow = true
this.apipost2("Financial_post_SetFinanceInfoForCRMIn",this.msgList,(res)=>{
if (res.data.resultCode == 1) {
this.clickShow = false
......@@ -2147,6 +2142,7 @@
});
} else {
this.msgList=[]
this.clickShow = false
this.$message.error(res.data.message);
}
......@@ -2195,7 +2191,6 @@
});
}
if(this.name=='制单'){
this.clickShow = true
this.Financial_post_SetFinanceInfoForCRMIn()
}
......
......@@ -319,16 +319,10 @@
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:page-sizes="[30, 60,90,100]"
:page-size="msg.pageSize"
layout="total,prev,sizes,pager,next"
:total="total"
style="margin-top: 12px; float: right">
</el-pagination>
<div v-if="total>0">
<el-pagination class="Mypagination" background @current-change="handleCurrentChange" :page-sizes="[30, 60, 90, 100]" :page-size="msg.pageSize" layout="total, sizes, prev, pager, next" @size-change="handleSizeChange" :total="total">
</el-pagination>
</div>
</div>
</div>
......
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