Commit efe33787 authored by 黄奎's avatar 黄奎
parents 093944b0 c31ca7eb
......@@ -1522,7 +1522,7 @@
}
},
savePassenger(type) {
if ((this.LineId === 14 || this.LineId === 2) && (this.addMsg.IdCard === '' || this.addMsg.IdCard.length < 18)) {
if ((this.LineId === 14 || this.LineId === 2) && this.addMsg.IdCard === '') {
return this.$message.error('请填写身份证号码!');
}
this.addMsg.EconomicCapabilityList = [];
......
......@@ -1703,7 +1703,7 @@
<el-tooltip effect="dark" content="更多" placement="top-start" style="float:left">
<el-popover width='100' trigger="hover">
<div class="groupTourOrder_more">
<div @click="goUrlT('confirmationOrder',item.orderId)">确认函</div>
<div @click="goUrlT('confirmationOrder',item.orderId)">确认函{{item.operationState === 2 ? '(拒绝)' : item.operationState === 1 ? '(通过)' : item.operationState === 0 ? '(待审核)' : ''}}</div>
<div v-if="userId==1" @click="getSalerInfo(item)">修改业务员</div>
<div v-if="item.isGuestOk=='1'&&item.outNotice==1" @click="toTrip(item)">出团通知书<span
v-if="item.outNotice==1">(OK)</span><span v-else>(暂定)</span></div>
......
......@@ -1717,7 +1717,7 @@
<el-tooltip effect="dark" content="更多" placement="top-start" style="float:left">
<el-popover width='100' trigger="hover">
<div class="groupTourOrder_more">
<div @click="goUrlT('confirmationOrder',item.orderId)">确认函</div>
<div @click="goUrlT('confirmationOrder',item.orderId)">确认函 {{item.operationState === 2 ? '(拒绝)' : item.operationState === 1 ? '(通过)' : item.operationState === 0 ? '(待审核)' : ''}}</div>
<div v-if="userId==1" @click="getSalerInfo(item)">修改业务员</div>
<div v-if="item.isGuestOk=='1'&&item.outNotice==1" @click="toTrip(item)">出团通知书<span v-if="item.outNotice==1">(OK)</span><span v-else>(暂定)</span></div>
<div v-if="item.orderState!='4'" @click="goUrlP('旅客名单','passengerSaleList',item)">旅客名单</div>
......@@ -2013,7 +2013,7 @@
<el-tooltip effect="dark" content="更多" placement="top-start" style="float:left">
<el-popover width='100' trigger="hover">
<div class="groupTourOrder_more">
<div @click="goUrlT('confirmationOrder',item.orderId)">认函</div>
<div @click="goUrlT('confirmationOrder',item.orderId)">{{item.operationState}}认函{{item.operationState === 2 ? '(拒绝)' : item.operationState === 1 ? '(通过)' : '(待审核)'}}</div>
<div v-if="userId==1" @click="getSalerInfo(item)">修改业务员</div>
<div v-if="item.isGuestOk=='1'&&item.outNotice==1" @click="toTrip(item)">出团通知书<span v-if="item.outNotice==1">(OK)</span><span v-else>(暂定)</span></div>
<div v-if="item.orderState!='4'" @click="goUrlP('旅客名单','passengerSaleList',item)">旅客名单</div>
......
......@@ -1731,7 +1731,7 @@
<el-tooltip effect="dark" content="更多" placement="top-start" style="float:left">
<el-popover width='100' trigger="hover">
<div class="groupTourOrder_more">
<div @click="goUrlT('confirmationOrder',item.orderId)">确认函</div>
<div @click="goUrlT('confirmationOrder',item.orderId)">确认函{{item.operationState === 2 ? '(拒绝)' : item.operationState === 1 ? '(通过)' : item.operationState === 0 ? '(待审核)' : ''}}</div>
<div v-if="userId==1" @click="getSalerInfo(item)">修改业务员</div>
<div v-if="item.isGuestOk=='1'&&item.outNotice==1" @click="toTrip(item)">出团通知书<span v-if="item.outNotice==1">(OK)</span><span v-else>(暂定)</span></div>
<div v-if="item.orderState!='4'" @click="goUrlP('旅客名单','passengerSaleList',item)">旅客名单</div>
......@@ -2024,7 +2024,7 @@
<el-tooltip effect="dark" content="更多" placement="top-start" style="float:left">
<el-popover width='100' trigger="hover">
<div class="groupTourOrder_more">
<div @click="goUrlT('confirmationOrder',item.orderId)">确认函</div>
<div @click="goUrlT('confirmationOrder',item.orderId)">确认函{{item.operationState === 2 ? '(拒绝)' : item.operationState === 1 ? '(通过)' : item.operationState === 0 ? '(待审核)' : ''}}</div>
<div v-if="userId==1" @click="getSalerInfo(item)">修改业务员</div>
<div v-if="item.isGuestOk=='1'&&item.outNotice==1" @click="toTrip(item)">出团通知书<span v-if="item.outNotice==1">(OK)</span><span v-else>(暂定)</span></div>
<div v-if="item.orderState!='4'" @click="goUrlP('旅客名单','passengerSaleList',item)">旅客名单</div>
......
......@@ -1696,7 +1696,7 @@
<el-tooltip effect="dark" content="更多" placement="top-start" style="float:left">
<el-popover width='100' trigger="hover">
<div class="groupTourOrder_more">
<div @click="goUrlT('confirmationOrder',item.orderId)">确认函</div>
<div @click="goUrlT('confirmationOrder',item.orderId)">确认函{{item.operationState === 2 ? '(拒绝)' : item.operationState === 1 ? '(通过)' : item.operationState === 0 ? '(待审核)' : ''}}</div>
<div v-if="userId==1" @click="getSalerInfo(item)">修改业务员</div>
<div v-if="item.isGuestOk=='1'&&item.outNotice==1" @click="toTrip(item)">出团通知书<span
v-if="item.outNotice==1">(OK)</span><span v-else>(暂定)</span></div>
......
<template>
<div class="flexOne groupts ConfirmationAdui">
<div class="enrollTotalSearch">
<ul>
<li><span><em>线路</em>
<el-select class='w200' v-model="msg.LineId" filterable :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" value='-1'></el-option>
<el-option v-for="item in LineList" :label='item.LineName' :value='item.LineID' :key='item.LineID'>
</el-option>
</el-select>
</span>
</li>
<li><span><em>公司</em>
<el-select class='w200' v-model="msg.BranchId" filterable :placeholder="$t('pub.pleaseSel')" @change='linkageDepartment()'>
<el-option label="不限" value='-1'></el-option>
<el-option v-for="item in companyList" :label='item.BName' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li v-show="!isOwn">
<span><em class="fl" style="margin-top: 10px!important;">部门选择</em>
<treeselect class='w200 fl' :options="departmentList" v-model="msg.RB_Department_Id" placeholder="不限"
:normalizer="normalizer" @select='linkageEmployeeMsg' />
</span>
</li>
<li><span><em>参团类型</em>
<el-select class='w200' v-model="msg.GroupType" filterable :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" value='-1'></el-option>
<el-option v-for="item in ctlxList" :key='item.Id' :label='item.Name' :value='item.Id'></el-option>
</el-select>
</span>
</li>
<li>
<span><em>团号</em></span>
<el-input class='w200' v-model='msg.TCNUM'></el-input>
</li>
<li v-show="!isOwn">
<span><em>人员选择</em></span>
<el-select class='w200' v-model="msg.CreateBy" filterable :placeholder="$t('pub.pleaseSel')">
<el-option label='不限' value='-1'></el-option>
<el-option v-for='item in employeeList' :label='item.name' :value='item.empId' :key='item.empId'>
</el-option>
</el-select>
</li>
<li>
<span><em>订单号</em></span>
<el-input class='w200' v-model='msg.tempOrderId'></el-input>
</li>
<li>
<span><em>订单状态</em></span>
<el-select v-model='msg.OrderState' filterable :placeholder="$t('pub.pleaseSel')" class='w200'>
<el-option label="不限" value='-1'></el-option>
<el-option v-for="item in ddztList" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</li>
<li>
<span><em>订单类型</em></span>
<el-select v-model='msg.IsOneDay' filterable :placeholder="$t('pub.pleaseSel')" class='w200'>
<el-option label="不限" value='-1'></el-option>
<el-option label="跟团游订单" :value='0'></el-option>
<el-option label="一日游订单" :value='1'></el-option>
</el-select>
</li>
<li><span><em>发团日期</em>
<el-date-picker v-model='msg.QStartDate' @change="dataDuiQ()" class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
-
<el-date-picker v-model='msg.QEndDate' @change="dataDuiQ()" class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<li><span><em>报名日期</em>
<el-date-picker v-model='msg.CStartDate' @change="dataDui()" class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
-
<el-date-picker v-model='msg.CEndDate' @change="dataDui()" class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<li>
<input type="button" class="hollowFixedBtn" value="查询" @click="getList();resetPageIndex()" />
</li>
</ul>
</div>
<!-- 表格 -->
<div style="clear: both; width: 100%;height: 20px;"></div>
<table class="enrollTotalSearchTable" border="0" cellspacing="0" cellpadding="0" v-loading='loading'>
<tr>
<th width="130">单号&团号</th>
<th width="60">客户信息</th>
<th width="70">类型</th>
<th width="180">系列&线路</th>
<th width="100">人数/机位数</th>
<th width="80">单价</th>
<th width="80">成交单价</th>
<th width="80">应收总额</th>
<th width="80">实收</th>
<th width="80">优惠</th>
<th width="60">小费</th>
<th width="80">退款</th>
<th width="80">平台税金</th>
<th width="80">平台在途</th>
<th width="80">待收金额</th>
<th width="60">状态</th>
<th width="140">操作</th>
</tr>
<tr>
<td v-show="list.length==0" colspan="17" align="center">暂无数据</td>
</tr>
<tbody v-for="(item,index) in list" :key="index">
<tr>
<td rowspan="3">
<p v-if="item.isChargeLossOrders==1" style="color:red"></p>
<p class="fbold over_ellipsis" style="width: 100%;cursor:pointer;" :title="item.orderId" @click="goUrlX('团报名清单', item.isOneDay === 1 ? 'groupTourOrderByTuanOne' : 'groupTourOrderByTuan',item.tcid,item.tcnum)">{{item.orderId}}
<el-tooltip class="item" effect="dark" content="通过小程序确认单报名" placement="top" v-show="item.orderForm==4"> <i class="iconfont icon-xiaochengxu" style="font-size:22px;color:red;"></i></el-tooltip>
</p>
<p class="fz12 over_ellipsis" style="width: 100%;text-decoration:underline;cursor:pointer;" :title="item.alName"
@click="goUrlX('产品查询', item.isOneDay === 1 ? 'productQueryOne' : 'productQuery',item.tcid,item.tcnum)">{{item.tcnum}}</p>
<p class="fz12 over_ellipsis" style="width: 100%;">{{item.createBy}}<span v-if="item.leaveStr!=''" style="color:red">({{item.leaveStr}})</span></p>
<p class="fz12 over_ellipsis" style="width: 100%;">{{item.commissionSPeopleName=='无'?'':item.commissionSPeopleName}}</p>
<p>发团:{{item.startDate}}</p>
<p v-if="item.tradeWay ==1">{{item.platformOrder}}</p>
<p v-if='item.commissionMoney' style="color:red">提成:{{item.commissionMoney}}</p>
<p v-else-if="item.latestCommissionMoney" style="color:red">提成:{{item.latestCommissionMoney}}</p>
<div v-if="item.extraRewardMoney!=null&&item.extraRewardMoney>0">奖励金额:<span style="color:#e95252">{{item.extraRewardMoney}}</span></div>
<div v-if="item.extraDeductMoney!=null&&item.extraDeductMoney>0">扣除金额:<span style="color:#e95252">{{item.extraDeductMoney}}</span></div>
</td>
<td>
<p class="over_ellipsis" style="width: 150px;" :title="item.contactName">{{item.contactName}}</p>
<p>{{item.contactMobile}}</p>
</td>
<td>
<p class="fz12 over_ellipsis" style="width: 100%;">{{item.orderTypeName}}</p>
</td>
<td class="fz12">
<p style="max-width: 160px;display: block;" class="over_ellipsis" :title="item.lineName">
<span>{{item.lineName}}</span>
</p>
<p style="max-width: 160px;display: block;" class="over_ellipsis" :title="item.ltName">{{item.ltName}}</p>
</td>
<td>
{{item.guestNum}}/{{item.ySeatNum>0? item.ySeatNum+'Y ':''}}{{item.eSeatNum>0? item.eSeatNum+'E ':''}}{{item.fSeatNum>0? item.fSeatNum+'F ':''}}
<br/>
<span v-if="item.refuseVisaNum>0" style="color:red">
(拒签 {{item.refuseVisaNum}}人)
</span>
</td>
<td style="color:#FF9C00">{{item.tC_Price}}</td>
<td style="color:#FF9C00">{{item.unit_Price}}</td>
<td>
<p style="color:#FF9C00">{{item.preferPrice}}</p>
</td>
<td>
<span v-if='item.isEnd==0' style="cursor: pointer;">{{item.income}}</span>
<span v-if='item.isEnd!=0' style="cursor: pointer;color: #e95252;">{{item.income}}</span>
</td>
<!-- 优惠 -->
<td>
<el-popover style='padding: 0;' width="600" trigger="click">
<div class="personNolayer">
<table border="0" cellspacing="1" cellpadding="1">
<tr>
<th>优惠券名称</th>
<th>优惠券类型</th>
<th>抵扣金额/折扣</th>
<th>使用条件</th>
<th>获取方式</th>
<th>获取日期</th>
</tr>
<tr v-if='item.couponAllotList.length>0' v-for="(item2,index2) in item.couponAllotList" :key="index2">
<td>{{item2.couponsName}}</td>
<td>
<span v-if="item2.couponsType==1">抵用券</span>
<span v-if="item2.couponsType==2">折扣卷</span>
</td>
<td>{{item2.denomination}}</td>
<td>{{item2.useCondition}}可用</td>
<td>
<span v-if="item2.accessType==1">抽奖</span>
<span v-else></span>
</td>
<td>{{item2.acessDate}}</td>
</tr>
<tr v-if='item.couponAllotList.length==0'>
<td colspan="6" align="center">暂无数据</td>
</tr>
</table>
</div>
<span style="cursor: pointer;color: #e95252;" slot="reference">{{moneyFormat(item.discountMoney)}}</span>
</el-popover>
</td>
<td v-if="item.tipMoney">{{item.tipMoney}}</td>
<td v-else>0.00</td>
<td>{{item.refund}}</td>
<td>{{item.platformTax}}</td>
<td>{{item.zaiTuMoney}}</td>
<td><span :class="{color_red_order:item.dueInMoney!==item.preferPrice}">{{item.dueInMoney}}</span></td>
<td v-if="item.isChargeLossOrders==1" class="fz12" style="color: #e95252">收损</td>
<td v-else class="fz12" :style="item.orderState===3?'color: #e95252;':''">{{item.statsstr}}</td>
<td class="_icon_btn" style=" border-bottom: 1px solid #cccccc;">
<el-tooltip class="item" effect="dark" content="通过" placement="top">
<i class="iconfont icon-duigou" @click="UpdateOrderConfirmation(1, item.orderId)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="拒绝" placement="top">
<i class="iconfont icon-quxiao1" @click="UpdateOrderConfirmation(2, item.orderId)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="查看" placement="top">
<i class="iconfont icon-sousuo" @click="goUrl('confirmationOrder', item.orderId)"></i>
</el-tooltip>
</td>
</tr>
<tr style="height:20px">
<td colspan="15" class="RL_Order" style="height:20px">
<span style="font-size: 14px;color: #333333">名单:</span>
<span v-for="(childItem) in item.guestList" style="font-size: 14px;color: blue">{{childItem.userName}}&nbsp;&nbsp;</span>
<!-- <span v-else>暂无名单</span>-->
<span style="display: block;font-size: 14px;color: #333333">房间信息:{{item.orderGuestHouseStr}}</span>
</td>
</tr>
<tr>
<td colspan="3" class="groupTourOrder_remarks" style="height: 40px;">
<div>
<div><span>备注:</span>
<span v-if="item.tsIdList.length>0">投诉单号:
<a class="underline" v-for="ts in item.tsIdList" href="javascript:void(0);" @click="goUrlTS('ComplaintsDetail',ts,item.orderId,'投诉详情')">{{ts}} </a> ;
</span>
<p><span v-if='item.clientSource==1&&item.brandName!=""'>{{item.brandName}}订单 {{item.platformOrder}};</span>{{item.remarks}}</p>
</div>
<div>
<span>{{item.remarksName}}&ensp;{{item.rematksTime}}</span>
<el-popover width="600" placement="bottom-end" trigger="click">
<div class="groupTourOrder_remarks_popover">
<div>历史备注</div>
<p v-if="item.remarksList.length !== 0" v-for="(item2, index2) in item.remarksList" :key="index2">
<span>{{item2.remarks}}</span>
<span>{{item2.createByName}} <span style="color: #666666;">{{item2.createDate}}</span></span>
</p>
<span v-if="item.remarksList.length === 0">暂无数据</span>
</div>
<el-button slot="reference" icon="iconfont icon-gengduo" style="padding:0px;border:none;background-color:transparent;"
class="groupTourOrder_remarks_btn"></el-button>
</el-popover>
</div>
</div>
</td>
<td colspan="4" class="groupTourOrder_remarks" style="height: 40px;">
<div>
<div>
<span>OP备注:</span>
<p>{{item.oP_Remarks ? item.oP_Remarks : '无'}}</p>
</div>
</div>
</td>
<td colspan="9" class="groupTourOrder_tickets" style="height: 40px;cursor: pointer;">
<div @click="goUrlSFD('SalesFinancialDetail', '销售财务单据', item)">
<div>收款单据:</div>
<div>
<span v-for="(item2,index2) in item.financeList" :key="index2">
<span v-if="item2.colorState===1" class="groupTourOrder_tickets_blue">{{item2.frID}}</span>
<span v-else-if="item2.colorState===2" class="groupTourOrder_tickets_green">{{item2.frID}}</span>
<span v-else-if="item2.colorState===3" class="groupTourOrder_tickets_red">{{item2.frID}}</span>
<span v-else-if="item2.colorState===4" class="groupTourOrder_tickets_black">{{item2.frID}}</span>
</span>
<span v-if="item.financeList.length===0" style="cursor: default;">暂无数据</span>
</div>
</div>
<div @click="goUrlSFD('SalesFinancialDetail', '销售财务单据', item)">
<div>付款单据:</div>
<div>
<span v-for="(item2,index2) in item.refundFinanceList" :key="index2">
<span v-if="item2.colorState===1" class="groupTourOrder_tickets_blue">{{item2.frID}}</span>
<span v-else-if="item2.colorState===2" class="groupTourOrder_tickets_green">{{item2.frID}}</span>
<span v-else-if="item2.colorState===3" class="groupTourOrder_tickets_red">{{item2.frID}}</span>
<span v-else-if="item2.colorState===4" class="groupTourOrder_tickets_black">{{item2.frID}}</span>
</span>
<span v-if="item.financeList.length===0" style="cursor: default;">暂无数据</span>
</div>
</div>
<div>
<div>发票单据:</div>
<div>
<span v-for="(item2,index2) in item.invoiceApplyList" :key="index2">
<span v-if="item2.invoiceApplyState === 6" class="groupTourOrder_tickets_blue" @click="goIisDetail(item2.id)">{{item2.id}}</span>
<span v-else-if="item2.invoiceApplyState === 1 || item2.invoiceApplyState === 3 || item2.invoiceApplyState === 6" class="groupTourOrder_tickets_green" @click="goIisDetail(item2.id)">{{item2.id}}</span>
<span v-else-if="item2.invoiceApplyState === 5 || item2.invoiceApplyState === 4 " class="groupTourOrder_tickets_red" @click="goIisDetail(item2.id)">{{item2.id}}</span>
<span v-else-if="item2.invoiceApplyState === 2" class="groupTourOrder_tickets_black" @click="goIisDetail(item2.id)">{{item2.id}}</span>
</span>
<span v-if="item.invoiceApplyList.length===0" style="cursor: default;">暂无数据</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper"
:page-size=msg.pageSize :total=total></el-pagination>
<div class="combottomDiv" v-if="showChangeSales" style="height:200px;">
<updateSalesMan @closeUpdiv="closeSalseDiv" @getList="getList" :subInfo="subInfo"></updateSalesMan>
</div>
</div>
</template>
<script>
import Treeselect from "@riophae/vue-treeselect";
import updateSalesMan from "../commonPage/updateSalesMan.vue";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
components: {
Treeselect,
updateSalesMan
},
data() {
return {
normalizer(node) {
var obj = {
id: node.DepartmentId,
label: node.DepartmentName,
};
if (node.ChildList != null && node.ChildList.length > 0) {
obj.children = node.ChildList;
}
return obj;
},
defaultImg: 'this.src="' + require("../../assets/img/litheader.png") + '"',
currentPage: 1,
total: 0,
loading: false,
msg: {
LineId: "-1",
RB_Department_Id: null,
CreateBy: "-1",
OrderState: "-1",
CStartDate: "",
CEndDate: "",
QStartDate: "",
QEndDate: "",
pageIndex: 1,
pageSize: 10,
tempOrderId: "",
SellFormEmp: 0,
GroupType: '-1',
TCNUM: '',
BranchId:'-1',
IsOneDay: '-1'
},
employeeMsg: {
RB_Group_id: "0",
RB_Branch_id: "-1",
departmentId: "0",
IsLeave: "-1"
},
getCompanyMsg: {
RB_Group_Id: '0',
Status: '0',
},
getDepartmentMsg: {
RB_Group_Id: '0',
RB_Branch_Id: '-1',
Status: '0',
},
isOwn: false,
list: [],
LineList: [],
LineTeamList: [],
departmentList: [],
employeeList: [],
companyList: [],
ddztList: [],
ctlxList: [],
showChangeSales:false,
//订单编号及业务员信息
subInfo:{
CreateBy:'',
OrderId:0
},
userId:0,
};
},
methods: {
UpdateOrderConfirmation: function (type, id) {
this.apipost('sellorder_post_UpdateOrderConfirmation', {OrderId: id, OperationState: type}, res=>{
if (res.data.resultCode == 1) {
this.$message.success(res.data.message)
this.getList()
}
}, null)
},
//跳转
goUrlTS (path, id, orderId, title) {
this.$router.push({
name: path,
query: {
'id': id,
'orderId': orderId,
blank: 'y',
tab: title
}
})
},
goUrlSFD: function (path, name, item) {
let obj = JSON.parse(JSON.stringify(item))
obj.oP_Remarks = ''
obj.remarksList = []
obj.refundFinanceList = []
obj.remarks = []
obj.ltName = []
obj.lineName = []
obj.financeList = []
obj.guestList = []
obj.description = []
this.$router.push({
name: path,
query: { blank: 'y', tab: name, item: JSON.stringify(obj)}
});
},
// 结束日期不能大于开始日期
dataDui() {
if (this.msg.CStartDate > this.msg.CEndDate && this.msg.CEndDate !== "") {
this.$message.error("结束日期不能大于开始日期");
this.msg.CEndDate = "";
}
},
dataDuiQ() {
if (this.msg.QStartDate > this.msg.QEndDate && this.msg.QEndDate !== "") {
this.$message.error("结束日期不能大于开始日期");
this.msg.QEndDate = "";
}
},
goUrl(path, id) {
this.$router.push({
name: path,
query: {
id: id,
isShen: 1,
blank: 'y',
}
});
},
goUrlX(name, path, id, tcmun) {
this.$router.push({
name: path,
query: {
id: id,
tcmun: tcmun,
blank: 'y',
tab: name
}
});
},
linkageEmployeeMsg(node, instanceId) {
this.employeeMsg.departmentId = node.DepartmentId;
this.msg.CreateBy = "-1";
this.getEmployee();
},
getDdztList() {
this.apipost(
"sellorder_post_GetSellOrderStatusEnumList", {},
res => {
if (res.data.resultCode == 1) {
this.ddztList = res.data.data;
}
},
err => {}
);
},
getEmployee() {
this.apipost(
"app_get_company_employee",
this.employeeMsg,
res => {
if (res.data.resultCode == 1) {
this.employeeList = res.data.data;
}
},
err => {}
);
},
getLineList() {
this.apipost("line_post_GetAllList", {}, res => {
if (res.data.resultCode == 1) {
this.LineList = res.data.data;
} else {
this.$message.error(res.data.message);
}
});
},
//获取公司
getCompany() {
this.apipost('admin_get_BranchGetList', this.getCompanyMsg, res => {
if (res.data.resultCode == 1) {
this.companyList = res.data.data;
} else {}
}, err => {})
},
linkageDepartment() { //联动部门
this.msg.RB_Department_Id = null;
if(this.msg.BranchId!=0){
this.getDepartmentMsg.RB_Branch_Id = this.msg.BranchId;
}
this.getDepartment();
},
getDepartment() {
this.apipost(
"admin_Get_GetDepartmentTreeForReceiveQuery",
this.getDepartmentMsg,
res => {
if (res.data.resultCode == 1) {
this.departmentList = res.data.data;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
getList() {
this.loading = true;
this.apipost(
"sellorder_post_GetOrderConfirmationList",
this.msg,
res => {
if (res.data.resultCode == 1) {
this.loading = false;
this.total = res.data.data.count;
this.list = res.data.data.pageData;
} else {
this.loading = false;
this.$message.error(res.data.message);
}
},
err => {}
);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
// 获取参团类型
getCtlxList() {
this.apipost('sellorder_get_GetOrderJoinEnumList', {}, res => {
if (res.data.resultCode == 1) {
this.ctlxList = res.data.data
}
}, err => {})
},
//点击修改业务员
getSalerInfo(item){
this.subInfo.CreateBy = item.createBy;
this.subInfo.OrderId = item.orderId;
this.showChangeSales = true;
},
//关闭修改业务员
closeSalseDiv(){
this.showChangeSales=false;
},
goIisDetail: function (id) { // 跳转发票详情页面
this.$router.push({
name: 'invoicesManagerDetail',
query: { id: id,noDetail: 1,blank: "y",}
});
},
},
mounted() {
let userInfo = this.getLocalStorage();
this.userId = userInfo.EmployeeId;
this.getCompanyMsg.RB_Group_Id = this.getDepartmentMsg.RB_Group_Id = userInfo.RB_Group_id; //集团
this.getCompany();
this.getCtlxList()
this.getEmployee();
this.getLineList();
this.getDepartment();
this.getDdztList();
if (this.$route.query.id) {
this.msg.tempOrderId = this.$route.query.id;
}
if (this.$route.query.isOwn) {
this.isOwn = true;
this.msg.SellFormEmp = 1;
}
this.msg.CreateBy = this.$route.query.EmployeeId === undefined ? "-1" : this.$route.query.EmployeeId;
this.msg.QStartDate = this.$route.query.starTime === undefined ? "" : this.$route.query.starTime;
this.msg.QEndDate = this.$route.query.endTime === undefined ? "" : this.$route.query.endTime;
if (this.msg.QStartDate === "" && this.msg.QEndDate === "" && !this.msg.tempOrderId) {
let nowDay = new Date().toLocaleDateString();
this.msg.QStartDate = nowDay;
this.msg.QEndDate = nowDay;
}
if (this.$route.query.orderId) {
this.msg.tempOrderId = this.$route.query.orderId;
this.msg.QStartDate = "";
this.msg.QEndDate = "";
}
this.getList();
}
};
</script>
<style>
.groupts .underline{
text-decoration: underline;
margin: 5px;
text-align: center;
}
.color_red_order{
color: #e95252 !important;
}
.enrollTotalSearch {
width: 100%;
min-height: auto;
padding: 0 0 20px 0;
}
.enrollTotalSearch::after {
display: block;
clear: both;
content: "";
visibility: hidden;
height: 0;
}
.enrollTotalSearch li {
float: left;
font-size: 12px;
height: 40px;
color: #666;
margin: 20px 10px 10px 0;
}
.enrollTotalSearch li>span {
display: inline-block;
}
.enrollTotalSearch li span>em {
display: inline-block;
min-width: 60px;
text-align: right;
font-style: normal;
margin: 0 12px 0 0;
}
.enrollTotalSearch li:last-child {
float: right;
position: fixed;
top: 36px;
right: 20px;
text-align: right;
z-index: 50;
}
.enrollTotalSearchTable {
width: 100%;
font-size: 14px;
color: #333;
border-bottom: 1px solid #cccccc;
border-right: 1px solid #cccccc;
border-collapse: collapse;
}
.enrollTotalSearchTable tr {
/* border-bottom: 2px solid #333; */
}
.enrollTotalSearchTable tr th {
background: #bdbdbd;
height: 30px;
font-size: 12px;
text-align: center;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.enrollTotalSearchTable tr {
background: #fff;
text-align: left;
}
.enrollTotalSearchTable tbody tr:last-child {
border-bottom: 2px solid #333;
}
.enrollTotalSearchTable tr:first-child td:first-child {
border-bottom: 2px solid #333;
}
.enrollTotalSearchTable tr td {
height: 80px;
padding: 10px;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.enrollTotalSearchTable tr td>img {
width: 32px;
height: 32px;
border-radius: 16px;
vertical-align: middle;
margin-right: 5px;
}
.enrollTotalSearchTable tr td p {
line-height: 20px;
}
.groupTourOrder_count_green {
color: #1BC594;
}
.groupTourOrder_count_blue {
color: #4D7AFD;
}
.groupTourOrder_count_yellow {
color: #FF9C00;
}
.groupTourOrder_count_gray {
color: #999999;
}
.groupTourOrder_count {
margin: 0 0 20px 0;
width: 100%;
height: auto;
}
.groupTourOrder_count_col {
height: 80px;
}
.groupTourOrder_count_item {
font-weight: 400;
padding: 10px;
height: 100%;
border: 1px solid #E6E6E6;
background-color: #FFFFFF;
color: #333333;
}
.groupTourOrder_count_item>div>i {
font-size: 12px;
vertical-align: bottom;
}
.groupTourOrder_count_item>div>span:nth-child(2) {
font-size: 14px;
vertical-align: bottom;
}
.groupTourOrder_count_item>div>span:nth-child(3) {
font-weight: bold;
font-size: 16px;
vertical-align: bottom;
}
.groupTourOrder_count_item>p {
font-size: 12px;
line-height: 18px;
}
.groupTourOrder_count_item>p>span {
margin: 0 5px 0 0;
white-space: nowrap;
}
.groupTourOrder_more {
margin: 0 -12px;
}
.groupTourOrder_more>div {
width: 100%;
height: 30px;
line-height: 30px;
text-align: center;
font-size: 12px;
color: #333333;
background-color: #FFFFFF;
cursor: pointer;
}
.groupTourOrder_more>div:hover {
color: #297BEF;
background-color: #DCEBFF;
}
.groupTourOrder_remarks {
font-size: 0px;
}
.groupTourOrder_remarks>div {}
.groupTourOrder_remarks>div>div:nth-child(1) {
float: left;
display: flex;
align-items: flex-start;
}
.groupTourOrder_remarks>div>div:nth-child(1)>span {
line-height: 20px;
font-size: 12px;
color: #e95252;
white-space: nowrap;
}
.groupTourOrder_remarks>div>div:nth-child(1)>p {
line-height: 20px;
font-size: 12px;
color: #e95252;
}
.groupTourOrder_remarks>div>div:nth-child(2) {
float: right;
text-align: right;
font-size: 12px;
color: #e95252;
}
.groupTourOrder_remarks>div>div:nth-child(2)>i {
font-size: 10px;
cursor: pointer;
}
.groupTourOrder_remarks>div::after {
display: block;
clear: both;
content: "";
visibility: hidden;
height: 0;
}
.groupTourOrder_remarks_btn {
padding: 0px;
width: 12px;
height: 12px;
border: none;
background-color: transparent;
}
.groupTourOrder_remarks_btn>i {
color: #e95252;
font-size: 12px;
}
.groupTourOrder_remarks_popover>div {
display: inline-block;
font-size: 14px;
color: #000000;
}
.groupTourOrder_remarks_popover>div::before {
content: '';
display: inline-block;
margin: 0 5px 0 0;
width: 2px;
height: 12px;
background-color: #e95252;
}
.groupTourOrder_remarks_popover>span {
display: block;
margin: 0 0 0 0;
width: 100%;
text-align: center;
font-size: 12px;
color: #000000;
}
.groupTourOrder_remarks_popover>p {
margin: 5px 0 0 0;
padding: 3px;
width: 100%;
max-height: 300px;
overflow-y: auto;
font-size: 12px;
color: #000000;
}
.groupTourOrder_remarks_popover>p:nth-child(even) {
background-color: #E6E6E6;
}
.groupTourOrder_remarks_popover>p>span:nth-child(1) {
float: left;
}
.groupTourOrder_remarks_popover>p>span:nth-child(2) {
margin: 0 10px 0 0;
float: right;
}
.groupTourOrder_remarks_popover>p::after {
display: block;
clear: both;
content: "";
visibility: hidden;
height: 0;
}
/* .groupTourOrder_tickets>div>span{
margin: 0 5px 0 0;
cursor: pointer;
} */
.groupTourOrder_tickets>div>div>span {
display: inline-block;
margin: 0 10px 0 0;
}
.groupTourOrder_tickets_red {
color: #FF0000;
text-decoration: underline;
}
.groupTourOrder_tickets_blue {
color: #0000FF;
text-decoration: underline;
}
.groupTourOrder_tickets_green {
color: #008000;
text-decoration: underline;
}
.groupTourOrder_tickets_black {
color: #000000;
text-decoration: underline;
}
.groupTourOrderByTuan_ico {
margin: 0 10px 0 0;
}
.groupTourOrderByTuan_ico>i {
display: inline-block;
margin: 0 2px 0 0;
width: 8px;
height: 8px;
border-radius: 2px;
vertical-align: middle;
}
.groupTourOrderByTuan_ico>span {
vertical-align: middle;
}
.groupTourOrder_tickets>div>div {
display: table-cell;
cursor: pointer;
}
.groupTourOrder_tickets>div>div:nth-child(1) {
width: 80px;
}
.groupTourOrder_tickets>div>div>span {
display: inline-block;
margin: 0 10px 0 0;
}
.ConfirmationAdui ._icon_btn i{width: 30px;height: 30px;display: inline-block;color: white !important;border-radius: 50%;text-align: center;line-height: 30px;margin-right: 10px;cursor: pointer;outline: none;}
.ConfirmationAdui ._icon_btn i.icon-sousuo{background-color: #00C6FF;font-size: 16px;}
.ConfirmationAdui ._icon_btn i.icon-sousuo:hover{background-color: #59daff}
.ConfirmationAdui ._icon_btn i.icon-sousuo:active{background-color: #00b8ec}
.ConfirmationAdui ._icon_btn i.icon-duigou{background-color: #47BF8C;}
.ConfirmationAdui ._icon_btn i.icon-duigou:hover{background-color: #66bb97}
.ConfirmationAdui ._icon_btn i.icon-duigou:active{background-color: #35ab79}
.ConfirmationAdui ._icon_btn i.icon-quxiao1{background-color: #F16C3C;}
.ConfirmationAdui ._icon_btn i.icon-quxiao1:hover{background-color: #e87c54}
.ConfirmationAdui ._icon_btn i.icon-quxiao1:active{background-color: #f76630}
</style>
<template>
<div>
<span class="confirmationOrderNormalBtn" @click="toPDF('旅游行程确认件')">保存PDF</span>
<div style="width: 800px; margin: 10px auto 0;" id='pdfDom'>
<div class="confirmationOrder">
<p class="f22 center" style="margin: 20px 0 0 0;">{{GroupName}}</p>
<p class="f22 center" >旅游行程确认件</p>
<p class="f14" style="text-indent: 36px;">
经甲乙双方友好协商,现甲方委托乙方承办甲方所组旅游团队/散客的游览事宜,达成如下协议,烦请仔细审核,核实无误后烦请签字盖章回传确认件(本确认件现为业务合同,传真件具有同等法律效力)。
</p>
<template>
<span
v-if="ConfirmationDetails.OperationState === -1 || ConfirmationDetails.OperationState === 2"
class="confirmationOrderNormalBtn"
@click="SetOrderConfirmation()"
>申请</span>
<span
v-if="ConfirmationDetails.OperationState === 1"
class="confirmationOrderNormalBtn"
@click="toPDF('旅游行程确认件')"
>下载PDF</span>
<span class="confirmationOrderNormalBtn confirmationOrderNormalBtn2" v-if="ConfirmationDetails.OperationState === 2" @click="outerVisible = true">修改账户</span>
</template>
<div style="width: 800px; margin: 10px auto 0;" id="pdfDom">
<div
v-if="ConfirmationDetails.ConfirmationContent"
v-html="ConfirmationDetails.ConfirmationContent"
></div>
<div class="confirmationOrder" v-else>
<p class="f22 center" style="margin: 20px 0 0 0;">{{list.CompanyTitle}}</p>
<p class="f22 center">旅游行程确认件</p>
<p
class="f14"
style="text-indent: 36px;"
>经甲乙双方友好协商,现甲方委托乙方承办甲方所组旅游团队/散客的游览事宜,达成如下协议,烦请仔细审核,核实无误后烦请签字盖章回传确认件(本确认件现为业务合同,传真件具有同等法律效力)。</p>
<table class="confirmationOrderTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20" rowspan="3">甲方</td>
<td width="125" rowspan="3">委托社名称及许可证号</td>
<td width="260" rowspan="3">
<!-- <input v-if='!isPrint' class="wp100" v-model="list.CustomerName" type="text">
<span v-if='isPrint'>{{list.CustomerName}}</span> -->
<span contenteditable="true">{{list.CustomerName}}</span>
<span v-if='isPrint'>{{list.CustomerName}}</span>-->
<span class="__input" :contenteditable="true">{{list.CustomerName}}</span>
</td>
<td width="80" rowspan="3">经办人</td>
<td width="80" rowspan="3" >
<input v-if='!isPrint' style="width: 50px;" v-model="list.Contact" type="text">
<span v-if='isPrint'>{{list.Contact}}</span>
<td width="80" rowspan="3">
<span class="__input" :contenteditable="true">{{list.Contact}}</span>
</td>
<td width="60">电话</td>
<td>
<input v-if='!isPrint' v-model="list.ContactNumber" type="text">
<span v-if='isPrint'>{{list.ContactNumber}}</span>
<span class="__input" :contenteditable="true">{{list.ContactNumber}}</span>
</td>
</tr>
<tr>
<td>传真</td>
<td>
<input v-if='!isPrint' type="text" v-model="cz">
<span v-if='isPrint'>{{cz}}</span>
<span class="__input" :contenteditable="true">{{cz}}</span>
</td>
</tr>
<tr>
<td>邮箱</td>
<td>
<input v-if='!isPrint' type="text" v-model="yx">
<span v-if='isPrint'>{{yx}}</span>
<span class="__input" :contenteditable="true">{{yx}}</span>
</td>
</tr>
<tr>
<td rowspan="3">乙方</td>
<td rowspan="3" >受托社名称及许可证号</td>
<td rowspan="3">
{{list.GroupName}}({{list.BranchName}})
</td>
<td rowspan="3">受托社名称及许可证号</td>
<td rowspan="3">{{list.CompanyTitle}}</td>
<td rowspan="3">经办人</td>
<td rowspan="3" >
<input v-if='!isPrint' style="width: 50px;" v-model="list.EmName" type="text">
<span v-if='isPrint'>{{list.EmName}}</span>
<td rowspan="3">
<span class="__input" :contenteditable="true">{{list.EmName}}</span>
</td>
<td>电话</td>
<td>
<input v-if='!isPrint' v-model="list.EmMobile" type="text">
<span v-if='isPrint'>{{list.EmMobile}}</span>
<span class="__input" :contenteditable="true">{{list.EmMobile}}</span>
</td>
</tr>
<tr>
<td>传真</td>
<td>
<input v-if='!isPrint' type="text" v-model="cz1">
<span v-if='isPrint'>{{cz1}}</span>
<span class="__input" :contenteditable="true">{{cz1}}</span>
</td>
</tr>
<tr>
<td>邮箱</td>
<td>
<input v-if='!isPrint' type="text" v-model="yx1">
<span v-if='isPrint'>{{yx1}}</span>
<span class="__input" :contenteditable="true">{{yx1}}</span>
</td>
</tr>
<tr>
......@@ -80,30 +85,33 @@
<td colspan="4">团号:{{list.TCNUM}}</td>
</tr>
<tr>
<td colspan="7">时间:{{list.StartDate}}-{{list.EndDate}}&nbsp;&nbsp;&nbsp;{{list.DayNum}}{{list.NightNum}}</td>
<td
colspan="7"
>时间:{{list.StartDate}}-{{list.EndDate}}&nbsp;&nbsp;&nbsp;{{list.DayNum}}天{{list.NightNum}}晚</td>
</tr>
<tr>
<td colspan="3">出境地:{{list.StartCity}}</td>
<td colspan="4">入境地:{{list.ReturnCity}}</td>
</tr>
<tr>
<td colspan="3">参团人数:
<input v-if='!isPrint' class="w40" v-model="list.GuestNum" type="text">
<span v-if='isPrint'>{{list.GuestNum}}</span>
大:<input v-if='!isPrint' class="w40" v-model="list.ManNum" type="text">
<span v-if='isPrint'>{{list.ManNum}}</span>
小:<input v-if='!isPrint' class="w40" v-model="list.ChildNum" type="text">
<span v-if='isPrint'>{{list.ChildNum}}</span>
<td colspan="3">
参团人数:
<span class="__input" :contenteditable="true">{{list.GuestNum}}</span>
大:
<span class="__input" :contenteditable="true">{{list.ManNum}}</span>
小:
<span class="__input" :contenteditable="true">{{list.ChildNum}}</span>
</td>
<td colspan="4">客户姓名:
<input v-if='!isPrint' type="text" style="width:280px;" v-model="list.ClientName" />
<span v-if='isPrint'>{{list.ClientName}}</span>
<!--<textarea class="wp100" v-model="list.ClientName" @input="MaxMe($event)" style="overflow: hidden"></textarea>-->
<td colspan="4">
客户姓名:
<span class="__input" :contenteditable="true">{{list.ClientName}}</span>
</td>
</tr>
<tr>
<td colspan="2">费用包含:</td>
<td colspan="5"><input class="wp100" v-if='!isPrint' v-model="list.CostInclude" type="text"><span v-if='isPrint'>{{list.CostInclude}}</span></td>
<td colspan="5">
<span class="__input" :contenteditable="true">{{list.CostInclude}}</span>
</td>
</tr>
<tr>
<td colspan="2">行程:</td>
......@@ -111,56 +119,68 @@
</tr>
<tr>
<td colspan="3">
结算价格:<input v-if='!isPrint' style="width: 200px;" v-model="list.SettlePrice" type="text">
<span v-if='isPrint'>{{list.SettlePrice}}</span>
<br />
合计:<input v-if='!isPrint' style="width: 200px;" v-model="list.PreferPrice" type="text">
<span v-if='isPrint'>{{list.PreferPrice}}</span>
结算价格:
<span class="__input" :contenteditable="true">{{list.SettlePrice}}</span>
<br>合计:
<span class="__input" :contenteditable="true">{{list.PreferPrice}}</span>
</td>
<td colspan="4">结算方式:<input v-if='!isPrint' style="width: 280px;" v-model="list.PayType" type="text">
<span v-if='isPrint'>{{list.PayType}}</span>
<td colspan="4">
结算方式:
<span class="__input" :contenteditable="true">{{list.PayType}}</span>
</td>
</tr>
<tr>
<td colspan="3">预付款金额:
<input v-if='!isPrint' style="width: 280px;" v-model="list.PrepaidMoney" type="text">
<span v-if='isPrint'>{{list.PrepaidMoney}}</span>
<td colspan="3">
预付款金额:
<span class="__input" :contenteditable="true">{{list.PrepaidMoney}}</span>
</td>
<td colspan="4">
<div style="float: left; margin-bottom:30px;">支付时间:</div>
<div>
确认件双方签字栏生效时间后三个工作日完成预付款的支付。(预付款包含:机位舱位预定费、签证/签注费、公证费等)
</div>
<div>确认件双方签字栏生效时间后三个工作日完成预付款的支付。(预付款包含:机位舱位预定费、签证/签注费、公证费等)</div>
</td>
</tr>
<tr>
<td colspan="3">尾款金额:
<input v-if='!isPrint' style="width: 280px;" v-model="list.RetainageMoney" type="text">
<span v-if='isPrint'>{{list.RetainageMoney}}</span>
<td colspan="3">
尾款金额:
<span class="__input" :contenteditable="true">{{list.RetainageMoney}}</span>
</td>
<td colspan="4">
<div style="float: left; margin-bottom: 30px;">支付时间:</div>
<div>
出团前七个工作日完成尾款支付。(甲方未及时付清尾款,造成乙方无法接待,甲方已付订金不予退回)
</div>
<div>出团前七个工作日完成尾款支付。(甲方未及时付清尾款,造成乙方无法接待,甲方已付订金不予退回)</div>
</td>
</tr>
<tr>
<td colspan="7">
<p>
<span>甲方同意本订单所有费用在出发前支付到乙方指定账户:</span>
<el-select v-if="printShow===true&&!isPrint" class="wp40 accountList" v-model="accountNum" @change="accountChange" placeholder="请选择">
<el-option
<!-- && !isSave -->
<select
v-if="printShow===true&&!isPrint "
class="wp40 accountList"
v-model="accountNum"
@change="accountChange"
placeholder="请选择"
>
<option
v-for="(item,index) in accountList"
:key="index"
:label="item.BankSubName"
:value="index">
</el-option>
</el-select>
:value="index"
></option>
</select>
</p>
<p class="fnormal">
户名:
<span class="__input" :contenteditable="true">{{accountInfo.BankName}}</span>
</p>
<p class="fnormal">
开户行名称:
<span class="__input" :contenteditable="true">{{accountInfo.BankSubName}}</span>
</p>
<p class="fnormal">
帐号:
<span class="__input" :contenteditable="true">{{accountInfo.BankNum}}</span>
</p>
<p class="fnormal">户名:<input class="wp80" v-if='!isPrint' v-model="accountInfo.BankName" type="text"><span v-if='isPrint'>{{accountInfo.BankName}}</span></p>
<p class="fnormal">开户行名称:<input class="wp80" v-if='!isPrint' v-model="accountInfo.BankSubName" type="text"><span v-if='isPrint'>{{accountInfo.BankSubName}}</span></p>
<p class="fnormal">帐号:<input class="wp80" v-if='!isPrint' v-model="accountInfo.BankNum" type="text"><span v-if='isPrint'>{{accountInfo.BankNum}}</span> </p>
</td>
</tr>
<tr>
......@@ -168,13 +188,20 @@
<td colspan="4">提交资料时间:{{list.SendVisaTime}}</td>
</tr>
<tr height="120">
<td colspan="2" align="center">甲方
<br/>确认章并签字:</td>
<td colspan="2" align="center">
甲方
<br>确认章并签字:
</td>
<td valign="bottom">时间:</td>
<td colspan="2" align="center">乙方
<br/>确认章并签字:</td>
<td colspan="2" align="center">
乙方
<br>确认章并签字:
</td>
<td valign="bottom" colspan="2" style="position: relative;">
<img :src="'data:image/jpeg;base64,'+list.ImagePath" style="position: absolute; left: 10px; top: 10px;" />
<img
:src="'data:image/jpeg;base64,'+list.ImagePath"
style="position: absolute; left: 10px; top: 10px;"
>
时间:{{list.Date}}
</td>
</tr>
......@@ -189,135 +216,369 @@
</table>
</div>
</div>
<el-dialog custom-class="w450"
title="修改账户"
:visible.sync="outerVisible"
center
:before-close="closeChangeMachie">
<p style="margin-bottom: 10px;">
<span>账户:</span>
<!-- && !isSave -->
<el-select
v-if="printShow===true&&!isPrint "
class="wp40 accountList"
v-model="accountNum"
@change="accountChange()"
placeholder="请选择"
>
<el-option
v-for="(item,index) in accountList"
:key="index"
:label="item.BankSubName"
:value="index"
></el-option>
</el-select>
</p>
<p class="fnormal" style="margin-bottom: 10px;">
户名:
<span class="__input" :contenteditable="true">{{accountInfo.BankName}}</span>
</p>
<p class="fnormal" style="margin-bottom: 10px;">
开户行名称:
<span class="__input" :contenteditable="true">{{accountInfo.BankSubName}}</span>
</p>
<p class="fnormal" style="margin-bottom: 10px;">
帐号:
<span class="__input" :contenteditable="true">{{accountInfo.BankNum}}</span>
</p>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible=false">取消</button>
<button class="normalBtn" @click="outerVisible = false">确定</button>
</div>
</el-dialog>
</div>
</div>
</template>
<script>
export default {
data(){
return{
cz:'',
cz1:'',
yx:'',
yx1:'',
isPrint:false,
data() {
return {
cz: "",
cz1: "",
yx: "",
yx1: "",
isPrint: false,
printShow: true,
list:{},
bank:{},
GroupName: '',
list: {},
bank: {},
accountNum: 0,
accountList: [],
accountInfo: {
BankName: '',
BankSubName: '',
BankNum: ''
BankName: "111",
BankSubName: "222",
BankNum: "333"
},
ConfirmationDetails: {},
BankSubName: "",
isSave: false,
outerVisible: false,
};
},
mounted() {
this.apipost(
"sellorder_get_GetConfirmationInfoForFinance",
{ OrderId: this.$route.query.id },
res => {
if (res.data.resultCode === 1) {
this.accountList = res.data.data;
this.accountChange(0);
// 获取确认函状态等信息
this.getConfifmationDetails();
} else {
this.$message.error("账户信息获取失败");
}
},
err => {}
);
this.apipost(
"sellorder_get_GetOrderConfirmationInfo",
{ OrderId: this.$route.query.id },
res => {
if (res.data.resultCode == 1) {
this.list = res.data.data;
} else {
this.$message.error(res.data.message);
}
},
mounted(){
// 获取当前公司名称
this.GroupName = this.getLocalStorage().GroupName
this.apipost('sellorder_get_GetConfirmationInfoForFinance',{OrderId:this.$route.query.id},res=>{
err => {}
);
this.apipost(
"OnlinePay_post_GetPayConfigList",
{ OrderId: this.$route.query.id },
res => {
this.bank = res.data.data;
},
err => {}
);
},
methods: {
setHtml: function() {
let dom = document.getElementById("selectBox")
if (!dom) return
let str = `<p>
<span>甲方同意本订单所有费用在出发前支付到乙方指定账户:</span>
<!-- && !isSave -->
</p>
<p class="fnormal">
户名:
<span class="__input" :contenteditable="true">${
this.accountInfo.BankName
}</span>
</p>
<p class="fnormal">
开户行名称:
<span class="__input" :contenteditable="true">${
this.accountInfo.BankSubName
}</span>
</p>
<p class="fnormal">
帐号:
<span class="__input" :contenteditable="true">${this.accountInfo.BankNum}</span>
</p>`;
document.getElementById("selectBox").innerHTML = str;
},
getConfifmationDetails: function() {
this.apipost(
"sellorder_post_GetOrderConfirmationDetails",
{ orderId: this.$route.query.id },
res => {
if (res.data.resultCode === 1) {
this.accountList=res.data.data
this.accountChange(0)
let data = res.data.data;
data.ConfirmationContent = data.ConfirmationContent
? JSON.parse(data.ConfirmationContent)
: null;
this.accountNum = data.BankIndexNum;
this.ConfirmationDetails = data;
this.accountChange();
setTimeout(() => {
this.setHtml();
if (data.OperationState === 0 && this.$route.query.isShen) {
let ele=document.getElementsByClassName('__input')
for(var i=0;i<ele.length;i++){
ele[i].contentEditable = false
}
}
}, 1000);
} else {
this.$message.error('账户信息获取失败')
this.$message.error(res.data.message);
}
},err=>{})
this.apipost('sellorder_get_GetOrderConfirmationInfo',{OrderId:this.$route.query.id},res=>{
},
null
);
},
// 保存确认函
SetOrderConfirmation: function() {
this.isSave = true;
setTimeout(() => {
let msg = {
ID: this.ConfirmationDetails.ID,
OrderId: this.$route.query.id,
ConfirmationContent: JSON.stringify(
document.getElementById("pdfDom").innerHTML
),
OperationState: 0,
BankIndexNum: this.accountNum
};
this.apipost(
"sellorder_post_SetOrderConfirmation",
msg,
res => {
if (res.data.resultCode == 1) {
this.list=res.data.data
}else{
this.$message.error(res.data.message)
this.getConfifmationDetails();
} else {
this.$message.error(res.data.message);
}
},err=>{})
this.apipost('OnlinePay_post_GetPayConfigList',{OrderId:this.$route.query.id},res=>{
this.bank=res.data.data
},err=>{})
},
methods:{
// toPDF: function (title) {
// this.printShow = false
// setTimeout(() => {
// this.getPdf(title,() => {
// this.printShow = true
// })
// }, 0)
// },
toPDF: function (title) {
this.isPrint=true
this.$forceUpdate()
setTimeout(()=>{
let pageData = document.getElementById('pdfDom').innerHTML
let urlObj = this.domainManager()
null
);
}, 500);
},
// toPDF: function (title) {
// this.printShow = false
// setTimeout(() => {
// this.getPdf(title,() => {
// this.printShow = true
// })
// }, 0)
// },
toPDF: function(title) {
this.isPrint = true;
this.$forceUpdate();
setTimeout(() => {
let pageData = document.getElementById("pdfDom").innerHTML;
let urlObj = this.domainManager();
this.$http({
headers: {'Content-Type': 'application/json'},
method: 'post',
url: urlObj.DomainUrl+'/api/file/GetWebHtmlTwo',
data: {"msg":pageData,sign:"new_file"}
}).then(res => {
headers: { "Content-Type": "application/json" },
method: "post",
url: urlObj.DomainUrl + "/api/file/GetWebHtmlTwo",
data: { msg: pageData, sign: "new_file" }
})
.then(res => {
if (res.data.resultCode === 1) {
setTimeout(()=>{
setTimeout(() => {
// let sign = title+parseInt(Math.random()*1000)
let sign = title
const a = document.createElement('a');
a.setAttribute('download', '');
a.setAttribute('href', urlObj.DomainUrl+'/api/file/DownloadFileForPdf?fileName='+sign+'.pdf&&fPath='+res.data.data);
let sign = title;
const a = document.createElement("a");
a.setAttribute("download", "");
a.setAttribute(
"href",
urlObj.DomainUrl +
"/api/file/DownloadFileForPdf?fileName=" +
sign +
".pdf&&fPath=" +
res.data.data
);
a.click();
this.isPrint=false
},1000)
this.isPrint = false;
}, 1000);
} else {
this.$message.error('PDF获取失败');
this.$message.error("PDF获取失败");
}
this.pdfLoading = false
}).catch(err => {
console.log(err)
this.pdfLoading = false;
})
},500)
.catch(err => {
console.log(err);
});
}, 500);
},
accountChange: function (index) {
this.accountNum = index
this.accountInfo.BankName = this.accountList[index].BankName
this.accountInfo.BankSubName = this.accountList[index].BankSubName
this.accountInfo.BankNum = this.accountList[index].BankNum
accountChange: function() {
this.accountInfo.BankName = this.accountList[this.accountNum].BankName;
this.accountInfo.BankSubName = this.BankSubName = this.accountList[
this.accountNum
].BankSubName;
this.accountInfo.BankNum = this.accountList[this.accountNum].BankNum;
this.setHtml()
},
MaxMe(o) {
if (window.navigator.userAgent.indexOf("Firefox") > -1) {
o.style.height = o.scrollTop + o.scrollHeight + "px";
} else {
if (o.scrollTop > 0) o.style.height = o.scrollTop + o.scrollHeight + "px";
}
if (o.scrollTop > 0)
o.style.height = o.scrollTop + o.scrollHeight + "px";
}
},
closeChangeMachie(done) {
//弹出框关闭初始化弹框内表单
done();
},
}
}
};
</script>
<style>
@import "../assets/css/cssReset.css";
.confirmationOrder{line-height: 18px; }
.confirmationOrderNormalBtn{ color: #fff; float: right; width: 60px;
font-size: 14px; box-sizing: content-box; top:10px;
text-align: center; line-height: 30px; padding: 0 10px;display: block;
height:30px; background:#E95252; border: 1px solid #E95252; cursor: pointer;
border-radius: 15px; position: absolute; left: 70%; margin-left: -30px;}
.confirmationOrder{width: 800px; font-weight: bold; margin: auto; font-family: "宋体"; letter-spacing: 1px;}
.confirmationOrder>p{line-height: 26px;}
.confirmationOrder .center{text-align: center;}
.confirmationOrder .fnormal{font-weight: normal!important;}
.confirmationOrder .f22{font-size: 22px;}
.confirmationOrder .f20{font-size: 20px;}
.confirmationOrder .f18{font-size: 18px;}
.confirmationOrder .f16{font-size: 16px;}
.confirmationOrder .f14{font-size: 14px;}
.confirmationOrder .w40{width: 40px!important;}
.confirmationOrder .wp40{width: 40%}
.confirmationOrder .wp80{width: 80%}
.confirmationOrder .wp100{width: 100%}
.confirmationOrderTable{width: 800px; border:1px solid #000}
.confirmationOrderTable tr td{background: #fff; font-size: 14px; padding:3px 10px; border-bottom: 1px solid #000; border-right: 1px solid #000;}
.confirmationOrderTable tr:last-child td{border-bottom: none;}
.confirmationOrderTable tr td:last-child{border-right: none;}
.confirmationOrder input{display: inline-block; border: none; outline: none; font-size: 14px; font-weight: bold; color: #333; font-family: "宋体"; letter-spacing: 1px;}
.accountList input{border-bottom:1px solid #dcdfe6;}
@import "../assets/css/cssReset.css";
.confirmationOrder {
line-height: 18px;
}
.confirmationOrderNormalBtn {
color: #fff;
float: right;
width: 60px;
font-size: 14px;
box-sizing: content-box;
top: 10px;
text-align: center;
line-height: 30px;
padding: 0 10px;
display: block;
height: 30px;
background: #e95252;
border: 1px solid #e95252;
cursor: pointer;
border-radius: 15px;
position: absolute;
left: 70%;
margin-left: -30px;
}
.confirmationOrderNormalBtn2{
left: 78%;
}
.confirmationOrder {
width: 800px;
font-weight: bold;
margin: auto;
font-family: "宋体";
letter-spacing: 1px;
}
.confirmationOrder > p {
line-height: 26px;
}
.confirmationOrder .center {
text-align: center;
}
.confirmationOrder .fnormal {
font-weight: normal !important;
}
.confirmationOrder .f22 {
font-size: 22px;
}
.confirmationOrder .f20 {
font-size: 20px;
}
.confirmationOrder .f18 {
font-size: 18px;
}
.confirmationOrder .f16 {
font-size: 16px;
}
.confirmationOrder .f14 {
font-size: 14px;
}
.confirmationOrder .w40 {
width: 40px !important;
}
.confirmationOrder .wp40 {
width: 40%;
}
.confirmationOrder .wp80 {
width: 80%;
}
.confirmationOrder .wp100 {
width: 100%;
}
.confirmationOrderTable {
width: 800px;
border: 1px solid #000;
}
.confirmationOrderTable tr td {
background: #fff;
font-size: 14px;
padding: 3px 10px;
border-bottom: 1px solid #000;
border-right: 1px solid #000;
}
.confirmationOrderTable tr:last-child td {
border-bottom: none;
}
.confirmationOrderTable tr td:last-child {
border-right: none;
}
.confirmationOrder input {
display: inline-block;
border: none;
outline: none;
font-size: 14px;
font-weight: bold;
color: #333;
font-family: "宋体";
letter-spacing: 1px;
}
.accountList input {
border-bottom: 1px solid #dcdfe6;
}
.__input {
display: inline-block;
min-width: 60px;
}
</style>
\ No newline at end of file
......@@ -3019,6 +3019,14 @@ export default {
title: '工作委托'
},
},
{
path: '/ConfirmationAdui',
name: 'ConfirmationAdui',
component: resolve => require(['@/components/administrative/ConfirmationAdui'], resolve),
meta: {
title: '确认函审核'
},
},
{
path: '/WorkEntrustment',
name: 'WorkEntrustment',
......@@ -3511,7 +3519,7 @@ export default {
meta: {
title: '供应商投诉'
},
}
},
]
},
]
......
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