Commit ed2ff8fb authored by liudong1993's avatar liudong1993

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

parents a3cb6a19 b0de9f7f
......@@ -113,7 +113,7 @@
<productDetails :detailsData="detailsData"></productDetails>
</el-tab-pane>
<el-tab-pane label="订单核算" name="2">
<orderProfits :orderId="orderId"></orderProfits>
<orderProfits :orderId="orderId" :GuestId="detailsData.GuestId"></orderProfits>
</el-tab-pane>
<el-tab-pane label="订单日志" name="3">
<orderLog :orderId="orderId"></orderLog>
......@@ -139,6 +139,10 @@ export default {
type: Number,
required: true,
},
activeNameNum: {
type: String,
required: true
}
},
data() {
return {
......@@ -156,7 +160,7 @@ export default {
this.orderId = val
},
deep: true,
},
}
},
mounted() {
let $this = this;
......@@ -165,6 +169,9 @@ export default {
this.MsgBus.$on("RefreshInfoBox", function() {
$this.init();
});
if(this.activeNameNum=="2"){
this.activeName = this.activeNameNum
}
},
methods: {
init() {
......
......@@ -58,7 +58,8 @@
<tbody v-for="(item, index) in dataList" :key="index">
<tr>
<td :rowspan="3">
<p class="OrderId-text" @click="clickSingleNumber(item)">{{item.OrderId}}
<p class="OrderId-text" @click="clickSingleNumber(item)">
<span class="text-underline">{{item.OrderId}}</span>
<span class="OrderType-text"
:class="items.Id==1?'one':(items.Id==2?'two':(items.Id==3?'three':(items.Id==4?'four':(items.Id==5?'five':''))))"
v-for="(items,index) in item.MultipleChoiceList">{{items.Name}}</span>
......@@ -234,7 +235,7 @@
</el-drawer>
<!-- 单号抽屉 -->
<el-drawer @closed="closeOrderDrawerHandler" :with-header="false" size='70%' :visible.sync="orderDrawer" direction="rtl" :before-close="handleClose">
<orderDetailsDrawer v-if="currentOrder" :orderId="currentOrder.OrderId" />
<orderDetailsDrawer v-if="currentOrder" :orderId="currentOrder.OrderId" :activeNameNum="activeNameNum" />
</el-drawer>
</div>
......@@ -265,6 +266,7 @@ export default {
},
data() {
return {
activeNameNum:"1",
MultipleChoiceList: [ //多选项目
{
Name: '机票',
......@@ -473,16 +475,25 @@ export default {
}
},
makeAdocumentFun(row, index, num) {
if (this.superManage) {
this.makeAdocumentFunction(row, index, num)
}else{
if (this.userInfo.EmName != row.EnterName) {
this.ValidateOperator();
} else {
this.makeAdocumentFunction(row, index, num)
}
}
},
makeAdocumentFunction(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 (row.OrderStatus != "2") {
if (list && list.length > 1) {
let typeList = row.selectedType.split(",");
if (num == 1 && typeList.length >= 2) {
......@@ -582,9 +593,7 @@ export default {
}
}
}
}
},
// 操作日志
operationLog(row) {
this.MsgBus.$emit("logTicketOrderBoxOpen", row.GuestId, row, true);
......@@ -607,6 +616,13 @@ export default {
row.TicketStatus == 4 ||
row.OrderStatus == "2"
) {
this.$confirm('该订单已经无法修改出票状态', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
}).catch(() => {})
return;
} else {
this.MsgBus.$emit("reviseTicketOrderBoxOpen", row.GuestId, row, true);
......@@ -647,7 +663,6 @@ export default {
(res) => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.getList();
}
}
);
......@@ -660,6 +675,13 @@ export default {
});
});
} else {
this.$confirm('该订单已经无法取消', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
}).catch(() => {})
this.$emit("emptyMore");
}
},
......@@ -684,6 +706,13 @@ export default {
true
);
} else {
this.$confirm('该订单已经无法编辑', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
}).catch(() => {})
this.$emit("emptyMore");
}
},
......@@ -703,6 +732,13 @@ export default {
if (row.TicketStatus == 1 && row.OrderStatus == 1) {
this.MsgBus.$emit("editTicketOrderBoxOpen", row.GuestId, row, true);
} else {
this.$confirm('该订单已经无法编辑金额', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
}).catch(() => {})
this.$emit("emptyMore");
}
},
......@@ -809,12 +845,6 @@ export default {
font-size: 12px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.enrollTotalSearchTable td {
background-color: #ffffff;
padding: 9px 15px;
......@@ -831,12 +861,6 @@ export default {
padding: 9px 15px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.classorder table td {
background-color: #ffffff;
padding: 9px 15px;
......@@ -1226,13 +1250,6 @@ li {
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;
......@@ -1252,7 +1269,8 @@ li {
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
text-indent: 0;
padding: 0 5px;
}
.classorder table td {
......@@ -1303,7 +1321,7 @@ li {
.classorder .enrollTotalSearchTable tr td {
height: 46px;
padding: 10px;
padding: 10px 5px;
}
.classorder .enrollTotalSearchTable tr td > img {
......@@ -1478,6 +1496,12 @@ li {
margin-bottom: 10px;
cursor: pointer;
}
.OrderId-text .text-underline{
margin-right: 5px;
}
.OrderId-text .text-underline:hover{
text-decoration: underline;
}
.CreateByName-text {
margin-bottom: 10px;
......
......@@ -58,12 +58,18 @@
.orderlog-box-center{
margin: 0 10px;
}
.noData{
width: 100%;
text-align: center;
padding: 20px 0;
font-size: 12px;
color: #333;
}
</style>
<template>
<!-- :style="{height:logData.length>0?'460px':'400px'}" -->
<div class="orderProductDetails-box">
<div class="orderlog-box">
<div v-if="total>0" class="orderlog-box">
<div class="orderlog-box-center" v-for="(item,index) in logData" :key="index">
<div class="form-box-log">
<div class="form-log-title">
......@@ -83,12 +89,14 @@
</div>
</div>
</div>
<div v-else class="noData">暂无数据</div>
<div v-if="total>0">
<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>
</template>
<script>
......
......@@ -165,12 +165,15 @@
</div>
<div class="Team_collection" v-if="d">
<div class="clearfix TB_PrintDiv">
<div class="TB_comtitle TB-Title">其他收入
<span>
<span class="span_all">应收:¥{{d.OtherYS}}</span>
<span class="span_all">实收:¥{{d.OtherSS}}</span>
</span>
<div class="TB_comtitle TB-Title">
<div>其他收入
<span>
<span class="span_all">应收:¥{{d.OtherYS}}</span>
<span class="span_all">实收:¥{{d.OtherSS}}</span>
</span>
</div>
</div>
<el-button style="float: right;" size="mini" type="primary" @click="makeAdocument(d,1)">制单</el-button>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
......@@ -281,6 +284,7 @@
<span class="span_all">实付:¥{{d.OtherSF}}</span>
</span>
</div>
<el-button style="float: right;" size="mini" type="primary" @click="makeAdocument(d,3)">制单</el-button>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr>
......@@ -388,14 +392,16 @@
<script>
export default {
props: ["orderId"],
props: ["orderId","GuestId"],
data() {
return {
loading: true,
d: null,
userInfo:{}
};
},
mounted() {
this.userInfo = this.getLocalStorage();
this.init();
},
methods: {
......@@ -450,6 +456,54 @@ export default {
return this.d.FinanceList.filter((x) => x.ReFinanceId2 == 2);
}
},
// 制作单据
makeAdocument(row, num) {
this.makeAdocumentFun(row, num);
},
makeAdocumentFun(row, num) {
let type;
type = num == 1 ? 1 : 2; // 1收款 2退款 3成本
let href;
let url = this.domainManager().erpRoutingUrl;
let data;
if (this.userInfo.EmName == row.EnterName) {
if (row.OrderStatus != "2") {
if (num == '1' || num == '3') {
data = [
{
path: "ChoiceAddFinancialDocuments",
type: type,
OtherType: 55,
ReFinanceId: this.orderId,
ReFinanceId2: num,
GuestId: this.GuestId,
RelevanceFrId: 5, // 单据类型 5其他
},
];
}
if (num == '2') {
data = [
{
path: "ChoiceAddFinancialDocuments",
type: type,
OtherType: 55,
ReFinanceId: this.orderId,
ReFinanceId2: num,
GuestId: this.GuestId,
},
];
}
href =
url +
"automaticLogin?token=" +
this.getLocalStorage().token +
"&data=" +
JSON.stringify(data);
window.open(href);
}
}
},
},
};
</script>
......@@ -497,12 +551,14 @@ export default {
.singeRowTable tr th {
height: 30px;
text-align: left !important;
padding-left: 12px !important;
}
.singeRowTable tr td {
border: 1px solid #e5e5e5;
padding: 0px !important;
padding-left: 12px !important;
font-size: 13px;
}
/* .Team_Content .el-col-5 {
......@@ -523,6 +579,10 @@ export default {
position: relative;
top: 10px;
}
.TB-Title.B-Title-fr{
display: flex;
justify-content: space-between;
}
.Team_ComCoin {
width: 60%;
......@@ -536,6 +596,12 @@ export default {
.Team_collection {
margin-top: 40px;
display: flex;
flex-direction: column;
}
.Team_collection tr th{
border: 1px solid #e5e5e5;
font-size: 14px;
}
.Team_outCome {
......
......@@ -74,7 +74,7 @@
<template>
<div class="orderProductDetails-box">
<el-form class="MyEditForm">
<div class="MultipleChoice-item">
<div v-if="checkList.length>0" class="MultipleChoice-item">
<div class="MultipleChoice-left">
<div v-for="(item,index) in checkList" :key="index">
{{item.Name}}
......@@ -126,6 +126,7 @@
</div>
</div>
</div>
<div v-else class="noData">暂无数据</div>
</el-form>
</div>
</template>
......
......@@ -87,8 +87,8 @@
padding: 10px 19px 10px 19px;
Box-shadow:5px 5px 10px 5px #ccc;
}
/deep/.el-table .cell{
overflow: initial;
/deep/.Agreement-Business .el-table .cell{
overflow: initial !important;
}
.agreement-Cancel{
text-align: right;
......@@ -116,13 +116,42 @@
/deep/.el-table .cell.el-tooltip{
overflow: hidden !important;
}
/deep/.classorder .Agreement-Business table th{
text-indent:0 !important;
}
/deep/.el-table th>.cell{
text-align: left !important;
}
.OrderType-text-box{
word-break: break-word;
word-wrap: break-word;
white-space: -moz-pre-wrap;
white-space: -hp-pre-wrap;
white-space: -o-pre-wrap;
white-space: -pre-wrap;
white-space: pre;
white-space: pre-wrap;
white-space: pre-line;
}
.text-underline{
font-size: 16px;
color: rgb(41, 97, 254);
margin-right: 10px;
font-weight: bold;
display: inline;
cursor: pointer;
}
.OrderType-text-box .text-underline:hover{
text-decoration: underline;
}
.OrderType-text{
font-size: 11px;
font-size: 10px;
font-weight: 100;
margin-left: 5px;
border-radius: 3px;
display: inline-block;
padding: 0 1px;
margin-bottom: 2px;
}
.OrderType-text-box .OrderType-text:nth-child(2){
margin-left: 0;
......@@ -149,7 +178,7 @@
}
</style>
<template>
<div class="Business">
<div class="Agreement-Business">
<div class="add-Enclosure">
<el-row :gutter="16">
<el-col :span="8">
......@@ -190,10 +219,10 @@
row-class-name="font-size-12">
<el-table-column
fixed
label="订单号" width="110">
label="订单号" :width="110">
<template slot-scope="scope">
<div class="OrderType-text-box">
<p>{{scope.row.OrderId}}</p>
<div class="OrderType-text-box" @click="clickSingleNumber(scope.row)">
<span class="text-underline">{{scope.row.OrderId}}</span>
<span class="OrderType-text"
:class="items.Id==1?'one':(items.Id==2?'two':(items.Id==3?'three':(items.Id==4?'four':(items.Id==5?'five':''))))"
v-for="(items,index) in scope.row.MultipleChoiceList">{{items.Name}}</span>
......@@ -201,25 +230,25 @@
</template>
</el-table-column>
<el-table-column fixed label="业务员" show-overflow-tooltip :width="120">
<el-table-column fixed label="业务员" show-overflow-tooltip :width="120">
<template slot-scope="scope">
<p>{{scope.row.EnterName}}</p>
<p>{{scope.row.CreateTime}}</p>
</template>
</el-table-column>
<el-table-column label="出行概述" show-overflow-tooltip :width="120">
<el-table-column label="出行概述" show-overflow-tooltip :width="120">
<template slot-scope="scope">
<p>人数:{{scope.row.GuestCount}}</p>
<p>{{scope.row.StartCityName}}</p>
</template>
</el-table-column>
<el-table-column label="应收" show-overflow-tooltip>
<el-table-column label="应收" show-overflow-tooltip>
<template slot-scope="scope">
<p @click="editOrderAmount(scope.row)" class="cp"
:class="scope.row.TicketStatus==1&&scope.row.OrderStatus==1?'font-color-link':''">{{scope.row.Money}}</p>
</template>
</el-table-column>
<el-table-column label="实收" width="120">
<el-table-column label="实收" :width="120">
<template slot-scope="scope">
<div class="agreement-IncomeMoney-box">
{{scope.row.IncomeMoney}}
......@@ -246,13 +275,13 @@
</template>
</el-table-column>
<el-table-column label="退款" width="120">
<el-table-column label="退款" :width="120">
<template slot-scope="scope">
{{scope.row.BackMoney}}<i v-if="scope.row.OrderStatus==1"
@click="makeAdocument(scope.row,scope.$index,2)" class="iconfont iconjia- numIcon"></i>
</template>
</el-table-column>
<el-table-column label="成本" width="120">
<el-table-column label="成本" :width="120">
<template slot-scope="scope">
<div class="agreement-IncomeMoney-box">
{{scope.row.PayMoney}}<i v-if="scope.row.OrderStatus==1"
......@@ -276,16 +305,16 @@
</div>
</template>
</el-table-column>
<el-table-column prop="TaxMoney" label="手续费" show-overflow-tooltip>
<el-table-column prop="TaxMoney" label="手续费" show-overflow-tooltip>
</el-table-column>
<el-table-column label="待收" show-overflow-tooltip>
<el-table-column label="待收" show-overflow-tooltip>
<template slot-scope="scope">
<p class="ToBeReceived" :class="scope.row.DueinMoney==0?'blue':'red'">
{{scope.row.DueinMoney}}
</p>
</template>
</el-table-column>
<el-table-column label="出票状态" width="90">
<el-table-column label="出票状态" :width="90">
<template slot-scope="scope">
<span @click="modifyStatus(scope.row)"
class="cp tatusText"
......@@ -301,12 +330,12 @@
scope.row.TicketStatusName!='无需机票'" class="iconfont iconpingzhengchaxun Credentials" @click="viewCredentials(scope.row)"></i>
</template>
</el-table-column>
<el-table-column label="订单状态" show-overflow-tooltip>
<el-table-column label="订单状态" show-overflow-tooltip>
<template slot-scope="scope">
{{scope.row.OrderStatus==1?"正常":"取消"}}
</template>
</el-table-column>
<el-table-column prop="Remark" label="客户需求" show-overflow-tooltip>
<el-table-column prop="Remark" label="客户需求" show-overflow-tooltip>
</el-table-column>
<el-table-column label="收入单据" show-overflow-tooltip>
......@@ -318,7 +347,7 @@
</p>
</template>
</el-table-column>
<el-table-column label="退款单据" show-overflow-tooltip>
<el-table-column label="退款单据" show-overflow-tooltip>
<template slot-scope="scope">
<p v-for="(item,index) in scope.row.BackFinance" :key="index"
:class="item.Status==1?'income_1':'income_2'"
......@@ -327,7 +356,7 @@
</p>
</template>
</el-table-column>
<el-table-column label="成本单据" show-overflow-tooltip>
<el-table-column label="成本单据" show-overflow-tooltip>
<template slot-scope="scope">
<p v-for="(item,index) in scope.row.PayFinance" :key="index"
:class="item.Status==1?'income_1':'income_2'"
......@@ -336,9 +365,9 @@
</p>
</template>
</el-table-column>
<el-table-column prop="CreateByName" label="创建人" show-overflow-tooltip>
<el-table-column prop="CreateByName" label="创建人" show-overflow-tooltip>
</el-table-column>
<el-table-column fixed="right" label="操作" width="120">
<el-table-column fixed="right" label="操作" :width="120">
<template slot-scope="scope">
<div class="item-but-box">
<div class="enedit-box">
......@@ -372,10 +401,18 @@
<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>
<!-- 单号抽屉 -->
<el-drawer @closed="closeOrderDrawerHandler" :with-header="false" size='70%' :append-to-body="true" :visible.sync="orderDrawer" direction="rtl" :before-close="handleClose">
<orderDetailsDrawer v-if="currentOrder" :orderId="currentOrder.OrderId" />
</el-drawer>
</div>
</template>
<script>
import orderDetailsDrawer from "../customerManage/orderDetailsDrawer";
export default {
components: {
orderDetailsDrawer
},
props: ["ID", "BusinessType"],
data() {
return {
......@@ -430,7 +467,9 @@
EnterID: "",
userInfo: {}
},
total: 0
total: 0,
currentOrder: null,
orderDrawer:false,
};
},
watch: {
......@@ -459,6 +498,18 @@
});
},
methods: {
// 点击单号
clickSingleNumber(item) {
this.currentOrder = item;
this.orderDrawer = true;
},
closeOrderDrawerHandler() {
this.currentOrder = null;
this.orderDrawer = false;
},
handleClose(done) {
done();
},
// 取消
popCancelClick(row, index, num){
this.dataList.forEach(item=>{
......
......@@ -200,7 +200,7 @@
position: absolute;
width: 5px;
height: 5px;
left: -3px;
left: -8px;
border-radius: 100%;
top: 15px;
background: rgba(255, 164, 117, 1);
......@@ -278,7 +278,7 @@
.MultipleChoice-left .el-checkbox-group .el-checkbox {
flex: 1;
padding: 30px 19px;
padding: 10px 19px;
}
.MultipleChoice-right {
......@@ -292,7 +292,7 @@
background: #fff;
flex: 1;
padding: 9px 19px;
margin-bottom: 20px;
margin-bottom: 10px;
}
.MultipleChoice-right-box.active {
......@@ -645,7 +645,6 @@
:multiple="true"
accept="image/jpeg,image/gif,image/png,image/bmp"
:before-upload="handleAvatarUpload"
:on-progress="handleAvatarProgres"
:on-success="handleAvatarSuccess"
>
<i class="el-icon-upload"></i>
......@@ -987,7 +986,6 @@
action=""
:http-request="uploadImg"
:multiple="true"
:on-progress="handleAvatarprogress"
:before-upload="handleAvatarUploadType"
:on-success="handleAvatarSuccess"
>
......
......@@ -171,7 +171,7 @@
<div v-if="scope.row.OrderId === 0">
-
</div>
<div v-else @click="toOrder(scope.row.OrderId)" class="hover">
<div v-else @click="toOrder(scope.row)" class="hover">
{{scope.row.OrderId}}
</div>
</template>
......@@ -181,7 +181,7 @@
<div v-if="scope.row.OrderId === 0">
-
</div>
<div v-else>
<div v-else @click="openNameDetails(scope.row)" class="hover">
{{scope.row.GuestName}}
</div>
</template>
......@@ -332,11 +332,24 @@
</div>
</div>
<el-drawer :with-header="false" size='70%' :visible.sync="drawer" direction="rtl" :before-close="handleClose">
<customerInfoBox :CustomerId="CustomerId" />
</el-drawer>
<!-- 单号抽屉 -->
<el-drawer @closed="closeOrderDrawerHandler" :with-header="false" size='70%' :append-to-body="true" :visible.sync="orderDrawer" direction="rtl" :before-close="handleClose">
<orderDetailsDrawer v-if="currentOrder" :orderId="currentOrder.OrderId" :activeNameNum="activeNameNum"/>
</el-drawer>
</div>
</template>
<script>
import customerInfoBox from "../guestManagement/customerInfoBox";
import orderDetailsDrawer from "../customerManage/orderDetailsDrawer";
export default {
components: {
customerInfoBox,
orderDetailsDrawer
},
created() {
// erp自动登陆传过来的参数
if (this.$route.query.erpOrderObj) {
......@@ -382,10 +395,29 @@ export default {
],
EmployeeList: [],
tableData: [],
StatModel:[]
StatModel:[],
currentOrder:null,
orderDrawer:false,
activeNameNum:"2",
drawer:false,
CustomerId:"",
CustomerName:""
};
},
methods: {
// 点击单号
clickSingleNumber(item) {
this.currentOrder = item;
this.orderDrawer = true;
},
closeOrderDrawerHandler() {
this.currentOrder = null;
this.orderDrawer = false;
},
handleClose(done) {
done();
},
// 获取业务员
Employee() {
let userInfo = this.getLocalStorage();
......@@ -436,7 +468,6 @@ export default {
this.tableData = data;
this.msg.pageSize = res.data.data.pageSize
this.total = res.data.data.count;
console.log(this.total)
} else {
this.$message.error(res.data.message);
}
......@@ -473,8 +504,15 @@ export default {
);
},
//订单跳转
toOrder(val){
this.$router.push({path:'/customerOrder',query:{OrderId:val}})
toOrder(item){
this.currentOrder = item;
this.orderDrawer = true;
},
// 点击客人名称
openNameDetails(item) {
this.drawer = true;
this.CustomerId = item.GuestId;
this.CustomerName = item.GuestName;
},
//改变状态背景颜色
columenStyle({columnIndex}){
......@@ -511,9 +549,12 @@ export default {
}
}
}
.hover:hover{
.hover{
color:#2961fe;
cursor: pointer;
color: skyblue;
}
.hover:hover{
text-decoration: underline;
}
}
</style>
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