Commit 3657dccf authored by 吴春's avatar 吴春
parents e87d70d7 2cbf429f
...@@ -12,10 +12,10 @@ ...@@ -12,10 +12,10 @@
<div class="showMyCareer" v-if="showCareer"> <div class="showMyCareer" v-if="showCareer">
<mycareer :show-close="true" :uid="careerId" @close="closeCareer"></mycareer> <mycareer :show-close="true" :uid="careerId" @close="closeCareer"></mycareer>
</div> </div>
<customerService v-show="showCustomerService" @close="showCustomerService=false"/> <customerService v-show="showCustomerService" />
<img @click="showCustomerService=!showCustomerService" <!-- <img @click="showCustomerService=!showCustomerService"
class="customerServiceButton" class="customerServiceButton"
src="./assets/img/kefu1.png" alt=""/> src="./assets/img/kefu1.png" alt=""/> -->
</div> </div>
</template> </template>
...@@ -237,6 +237,9 @@ ...@@ -237,6 +237,9 @@
this.MsgBus.$on("changeTheme", t => { this.MsgBus.$on("changeTheme", t => {
this.isRed = t == 1; this.isRed = t == 1;
}); });
this.MsgBus.$on("showCustomerServiceHandler", (isShow) => {
this.showCustomerService = isShow;
});
} }
}; };
......
src/assets/img/AI.png

2.78 KB | W: | H:

src/assets/img/AI.png

2.69 KB | W: | H:

src/assets/img/AI.png
src/assets/img/AI.png
src/assets/img/AI.png
src/assets/img/AI.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -479,6 +479,36 @@ ...@@ -479,6 +479,36 @@
</table> </table>
</div> </div>
</div> </div>
<div v-if="OtherType==91">
<div class="_tit">
<span class="_text">预存预付对象</span>
<div>
<span class="_btn" v-if="tableShow" @click="tableShow=false">{{$t('fnc.shouqi')}} <i class="iconfont icon-gengduo _rotate"></i> </span>
<span class="_btn" v-else @click="tableShow=true">{{$t('fnc.zhankai')}} <i class="iconfont icon-gengduo"></i> </span>
</div>
</div>
<div v-show="tableShow" class="sanjiao-box _padding_20_15">
<table border="1" class="czBillModule _border_color_b Receipt_table" bordercolor="#c94052" style="border-collapse:collapse;width: 100%;" v-loading='loading'>
<tr>
<th>{{$t('objFill.duixiangmc')}}</th>
<th>{{$t('system.table_uniqueMark')}}</th>
<th width="160">{{$t('hotel.hotel_remark')}}</th>
<th>{{$t('fnc.w_shou')}}</th>
<th>{{$t('fnc.w_zhi')}}</th>
<th>{{$t('fnc.yueacc')}}</th>
</tr>
<tr class="_color_b" v-for="(item,index) in advanceObjList" :key="index">
<td>{{item.Name}}</td>
<th>{{item.DutyNo}}</th>
<td>{{item.Remark}}</td>
<!-- <td class="hover_text" @click="goDetail(item.FrID)" ><span>{{item.FrID}}</span></td> -->
<th>{{item.Income}}</th>
<td>{{item.Refund}}</td>
<td>{{item.Surplus}}</td>
</tr>
</table>
</div>
</div>
</div> </div>
</template> </template>
...@@ -515,6 +545,7 @@ export default { ...@@ -515,6 +545,7 @@ export default {
JapanCarModel: {}, JapanCarModel: {},
saleClaimList: [], saleClaimList: [],
IsFinanceORAdmin:false, IsFinanceORAdmin:false,
advanceObjList:[],
} }
},watch:{ },watch:{
'GetDetail': { 'GetDetail': {
...@@ -609,6 +640,8 @@ export default { ...@@ -609,6 +640,8 @@ export default {
this.getSaleClaimList(); this.getSaleClaimList();
}else if(this.details.SpecialType && this.details.SpecialType==17){ }else if(this.details.SpecialType && this.details.SpecialType==17){
this.getOPFinanceFeeList(22); this.getOPFinanceFeeList(22);
}else if(this.OtherType==91){
this.getAdvanceObjList();
} }
}, },
goTravelControlList(id){ goTravelControlList(id){
...@@ -727,6 +760,23 @@ export default { ...@@ -727,6 +760,23 @@ export default {
} }
}, err => {}) }, err => {})
}, },
getAdvanceObjList(){
this.loading = true
let msg={
pageIndex:1,
pageSize:12,
Id:this.ReFinanceId,
};
this.apipost('Financial_post_GetAdvancePaymentPageList', msg, res => {
this.loading = false
if (res.data.resultCode == 1) {
this.advanceObjList=res.data.data.pageData;
}
else{
this.Error(res.data.message)
}
}, err => {})
},
getSaleClaimList(){ getSaleClaimList(){
this.loading = true this.loading = true
let msg={ let msg={
......
<style scoped>
/deep/.el-table th.el-table__cell{
background-color: #E6E6E6;
}
</style>
<template >
<div class="page_fnDm page_RecPayQuery" @keyup.enter="resetPageIndex()">
<div class="query-box" style="margin-bottom: 0px;">
<el-form class="_info_box clearfix" label-width="110px">
<el-row style="padding:15px 20px 0 0;">
<el-col :span="4">
<el-form-item label="关键字">
<el-input placeholder="请输入关键字查询" class="" v-model="msg.Name"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="">
<el-checkbox v-model="msg.IsBalance" :true-label="1" :false-label="0">只看有余额</el-checkbox>
</el-form-item>
</el-col>
</el-row>
</el-form>
<ul class="clearfix">
<li class="hight_query">
<button class="hollowFixedBtn" @click="resetPageIndex()">{{$t('pub.searchBtn')}}</button>
<button class="normalBtn" @click="method5()">{{$t('visa.v_daochu')}}</button>
</li>
</ul>
</div>
<div style="color: red;font-size: 13px;text-align: right;padding: 10px 0;">注* 余额为正数表示待退回,余额为负数表示要待收回</div>
<div class="_fnDm_content" v-loading='loading'>
<el-table
ref="multipleTable"
:data="DataList"
tooltip-effect="dark"
style="width: 100%"
>
<el-table-column prop="Name" label="名称"></el-table-column>
<el-table-column prop="DutyNo" label="唯一标识"></el-table-column>
<el-table-column prop="Remark" label="备注"></el-table-column>
<el-table-column prop="StartMoney" label="期初"></el-table-column>
<el-table-column prop="Income" label="收">
<template slot-scope="scope">
<span style="cursor: pointer;color: #00C6FF;" @click="seeDeta(scope.row)">{{ scope.row.Income }}</span>
</template>
</el-table-column>
<el-table-column prop="Refund" label="支">
<template slot-scope="scope">
<span style="cursor: pointer;color: #00C6FF;" @click="seeDeta(scope.row)">{{ scope.row.Refund }}</span>
</template>
</el-table-column>
<el-table-column prop="Surplus" label="余额"></el-table-column>
<el-table-column :label="$t('system.table_operation')">
<template slot-scope="scope">
<span style="cursor: pointer;color: #00C6FF;" @click="downloadDetail(scope.row)">{{$t('objFill.xiazamx')}}</span>
</template>
</el-table-column>
</el-table>
<div style="padding-bottom:15px">
<el-pagination background @current-change="handleCurrentChange"
layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total='total'>
</el-pagination>
</div>
</div>
<detailList v-if="showdetail" :ClientId="detailObj&&detailObj.Id" @cancel="showdetail=false"></detailList>
</div>
</template>
<script>
import Vue from 'vue'
import detailList from "./components/AdvanceDetailList.vue";
export default {
components: {
detailList
},
data(){
return{
detailObj: null,
showdetail: false,
DataList:[],
msg:{
pageIndex:1,
pageSize: 10,
Id:0,
Name:'',
IsBalance:1,
EmployeeId:'',
},
loading: false,
total: 0,
productionDate:[],
branchList:[]
}
},
created(){
if(this.$route.query.Id){
this.msg.Id = this.$route.query.Id
}
},
mounted(){
let userInfo=this.getLocalStorage();
this.msg.EmployeeId= userInfo.EmployeeId;
this.getPageList();
},
methods:{
seeDeta(row){
this.detailObj = row
this.showdetail = true
},
getPageList(){ // 获取列表数据
this.loading= true;
this.apipost('Financial_post_GetAdvancePaymentPageList',this.msg,res=>{
if(res.data.resultCode == 1) {
let data = res.data.data.pageData;
this.total = res.data.data.count;
if(this.total==0){
this.DataList=[];
}else{
this.DataList = data;
}
this.loading=false;
}else{
this.loading= false;
this.$message.error(res.data.message);
}
},err=>{})
},
method5() {
let time = this.getBeforeDate(0,new Date().Format("yyyy-MM-dd"))
var fileName = `预收预付${time}.xls`;
this.GetLocalFile("Financial_post_DownLoadAdvancePayment", this.msg,fileName);
},
downloadDetail(item) {
let time = this.getBeforeDate(0,new Date().Format("yyyy-MM-dd"))
var fileName = `预收预付明细${time}.xls`;
this.GetLocalFile("Financial_post_DownLoadAdvancePaymentLog", {ReFinanceId:item.Id,EmployeeId:this.msg.EmployeeId},fileName);
} ,
handleCurrentChange(val) { //翻页
this.msg.pageIndex = val;
this.getPageList();
},
resetPageIndex(){ // 重置页码
this.msg.pageIndex=1;
this.getPageList();
},
}
}
</script>
<style scoped>
</style>
<template >
<el-dialog :title="$t('objFill.shiyongmx')" :visible.sync="showDetail" center @close="cancelBtn">
<div class="page_fnDm page_RecPayQuery">
<div class="_fnDm_content" v-loading='loading'>
<el-table
ref="multipleTable"
:data="DataList"
tooltip-effect="dark"
style="width: 100%"
>
<el-table-column prop="CreateDate" :label="$t('pub.date')" min-width="120"></el-table-column>
<el-table-column
prop=""
:label="$t('system.query_type')">
<template slot-scope="scope">
{{ scope.row.Type}}
</template>
</el-table-column>
<el-table-column prop="" :label="$t('objFill.jinchujine')">
<template slot-scope="scope">
<span :style="{'color': scope.row.Type==2?'#E95252':''}">
{{ scope.row.Type==1?'+':'-'}}{{ scope.row.Money}}
</span>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('objFill.guanliandanhao')">
<template slot-scope="scope">
<span style="cursor: pointer;color: #00C6FF;" @click="openDetails(scope.row.FrID)">{{ scope.row.FrID }}</span>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('objFill.dabhaozhuantai')">
<template slot-scope="scope">
<span style="font-size: 12px;">
<i v-if="scope.row.Status===1" class="iconfont icon-daiqueren" style="color: #4BCA81;font-size: 12px;">{{scope.row.StatusName}}</i>
<i v-if="scope.row.Status===4" class="iconfont icon-yiquxiao" style="color: #4BCA81">{{scope.row.StatusName}}</i>
<i v-if="scope.row.Status===2" class="iconfont icon-yiqueren" style="color: #959595;font-size: 12px;">{{scope.row.StatusName}}</i>
<i v-if="scope.row.Status===3" class="iconfont icon-shenhebohui" style="color: #E95252">{{scope.row.StatusName}}</i>
<i v-if="scope.row.Status===0" class="iconfont icon-zancun" style="color: #FF9C01">{{scope.row.StatusName}}</i>
</span>
</template>
</el-table-column>
<el-table-column prop="CreateName" :label="$t('admin.admin_czPerson')" min-width="130"></el-table-column>
</el-table>
<div style="padding-bottom:15px">
<el-pagination background @current-change="handleCurrentChange"
layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total='total'>
</el-pagination>
</div>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button class="hollowFixedBtn" @click="cancelBtn">{{$t('pub.cancelBtn')}}</el-button>
<el-button class="normalBtn" type="primary" @click="cancelBtn">{{$t('pub.sureBtn')}}</el-button>
</div>
</el-dialog>
</template>
<script>
import Vue from 'vue'
export default {
props:['ClientId'],
data(){
return{
showDetail: true,
DataList:[],
msg:{
pageIndex:1,
pageSize: 10,
OtherType:91,
ReFinanceId:'',
},
loading: false,
total: 0,
productionDate:[]
}
},
created(){
},components: {
},
mounted(){
this.msg.ReFinanceId = this.ClientId
this.getPageList();
},
methods:{
// 单据详情
openDetails(FrID) {
this.cancelBtn()
let query = {
id: FrID,
blank: "y",
};
this.$router.push({
path: "/FinancialDocumentsDetail",
query
});
},
cancelBtn(){
this.$emit('cancel')
},
getPageList(){ // 获取列表数据
this.loading= true;
this.apipost('Financial_post_GetAdvancePaymentLogPageList',this.msg,res=>{
if(res.data.resultCode == 1) {
let data = res.data.data.pageData;
this.total = res.data.data.count;
if(this.total==0){
this.DataList=[];
}else{
this.DataList = data;
}
this.loading=false;
}else{
this.loading= false;
this.$message.error(res.data.message);
}
},err=>{})
},
timeAdd(){ // 日期格式
if(!this.productionDate){
this.msg.StartTime = '';
this.msg.EndTime = '';
return
}
this.msg.StartTime = this.productionDate[0];
this.msg.EndTime = this.productionDate[1];
},
method5: function() {
let time = this.getBeforeDate(0,new Date().Format("yyyy-MM-dd"))
var fileName = `${this.$t('objFill.monthlystatementofcosts')}${time}.xls`;
this.GetLocalFile("Financial_get_GetCostMonthALLExport", this.msg,fileName);
} ,
handleCurrentChange(val) { //翻页
this.msg.pageIndex = val;
this.getPageList();
},
resetPageIndex(){ // 重置页码
this.msg.pageIndex=1;
this.getPageList();
},
}
}
</script>
...@@ -186,7 +186,7 @@ export default { ...@@ -186,7 +186,7 @@ export default {
}, },
downloadDetail(item) { downloadDetail(item) {
let time = this.getBeforeDate(0,new Date().Format("yyyy-MM-dd")) let time = this.getBeforeDate(0,new Date().Format("yyyy-MM-dd"))
var fileName = `${this.$t('objFill.kehuycmx')}${ttime}.xls`; var fileName = `${this.$t('objFill.kehuycmx')}${time}.xls`;
this.GetLocalFile("Financial_post_DownLoadFinanceDepositLog", {DepositCustomerId:item.CustomerId,EmployeeId:this.msg.EmployeeId},fileName); this.GetLocalFile("Financial_post_DownLoadFinanceDepositLog", {DepositCustomerId:item.CustomerId,EmployeeId:this.msg.EmployeeId},fileName);
} , } ,
handleCurrentChange(val) { //翻页 handleCurrentChange(val) { //翻页
......
...@@ -866,6 +866,7 @@ ...@@ -866,6 +866,7 @@
</div> </div>
<!-- ld 2025-07-07 这个
<template v-if="!BillSonName.includes('分摊')&&!BillSonName.includes('预付')"> <template v-if="!BillSonName.includes('分摊')&&!BillSonName.includes('预付')">
<div> <div>
<p> <p>
...@@ -882,7 +883,7 @@ ...@@ -882,7 +883,7 @@
</p> </p>
</div> </div>
</template> </template> -->
<template v-if="(isHandFee&&is_HandFee)||(is_HandFee&&this.GetDetail.Status==0)"> <template v-if="(isHandFee&&is_HandFee)||(is_HandFee&&this.GetDetail.Status==0)">
<div> <div>
<p> <p>
...@@ -966,6 +967,60 @@ ...@@ -966,6 +967,60 @@
<td height="26px">{{DepositCustomer.depositMoney?DepositCustomer.depositMoney:'-'}}</td> <td height="26px">{{DepositCustomer.depositMoney?DepositCustomer.depositMoney:'-'}}</td>
</tr> </tr>
</table> </table>
<!-- 预收预付管理 -->
<div v-if="IsAdvance==1||IsAdvance==2">
<p v-if="IsAdvanceAdd==false">
<span style="color:red">
{{(IsAdvance==1?"保证金对象":IsAdvance==2?"借贷对象":"")}}
<el-tooltip class="item" effect="dark" content="默认显示20个对象,请输入关键词(姓名/公司名称/税号等)查询更多对象" placement="top-start">
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
</span>
<span>
<el-select filterable v-model='AdvanceObjId' class="w135 _border_b_1" placeholder="请输入关键词"
remote reserve-keyword :remote-method="getAdvanceList"
>
<el-option v-for='item in AdvanceObjList' :label="`${item.Name}/${item.DutyNo}`" :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</span>
<span style="margin-left:15px">
<el-tooltip class="item" effect="dark" content="关键字未查询到相关对象、请新增对象" placement="top-start">
<el-button type="primary" icon="el-icon-plus" circle size="mini" @click="IsAdvanceAdd=true"></el-button>
</el-tooltip>
</span>
</p>
<p v-if="IsAdvanceAdd">
<span style="color:red">
{{(IsAdvance==1?"保证金对象":IsAdvance==2?"借贷对象":"")}}
<el-tooltip class="item" effect="dark" content="个人用户请填入姓名,供应商或平台等请填公司全称" placement="top-start">
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
</span>
<el-input class="w120 _border_b_1" v-model="AdvanceObjMsg.Name" placeholder="请输入对象全称"></el-input>
</p>
<p v-if="IsAdvanceAdd">
<span style="color:red">
唯一标识
<el-tooltip class="item" effect="dark" content="个人用户请填入身份证,供应商或平台等请填入税号,财务部将审核唯一标识不合符标准的驳回处理" placement="top-start">
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
</span>
<el-input class="w120 _border_b_1" v-model="AdvanceObjMsg.DutyNo" placeholder="请输入税号/身份证"></el-input>
</p>
<p v-if="IsAdvanceAdd">
<span style="color:red">备注:</span>
<el-input class="w120 _border_b_1" v-model="AdvanceObjMsg.Remark" placeholder="请输入描述"></el-input>
</p>
<span v-if="IsAdvanceAdd" style="margin-left:15px">
<el-tooltip class="item" effect="dark" content="保存对象" placement="top-start">
<el-button type="primary" icon="el-icon-check" circle size="mini" @click="SaveAdvance()"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="取消" placement="top-start">
<el-button type="primary" icon="el-icon-close" circle size="mini" @click="IsAdvanceAdd=false"></el-button>
</el-tooltip>
</span>
</div>
</div> </div>
<div class="_remark"> <div class="_remark">
<p>{{$t('system.label_info')}}</p> <p>{{$t('system.label_info')}}</p>
...@@ -1287,6 +1342,16 @@ ...@@ -1287,6 +1342,16 @@
isHandFee: false, isHandFee: false,
is_HandFee: true, //是否开启 is_HandFee: true, //是否开启
HandlingChargeType: 0, //月结制单 1转账手续费 2转账手续费差额 HandlingChargeType: 0, //月结制单 1转账手续费 2转账手续费差额
IsAdvance:0,// 预存预付对象标识 1保证金 2借贷
IsAdvanceAdd:false,
AdvanceObjId:'',
AdvanceObjList:[],// 预存预付对象列表
AdvanceObjMsg:{
Id:0,
Name:'',
DutyNo:'',
Remark:''
}
} }
}, },
methods: { methods: {
...@@ -1381,6 +1446,19 @@ ...@@ -1381,6 +1446,19 @@
}, },
// 获取当前手配费选项 // 获取当前手配费选项
chooseHandFee() { chooseHandFee() {
//验证是否有暂存暂付款
if(this.msg.OrderSource!=8 &&this.msg.OrderSource!=10 && this.msg.OrderID<=0 && this.msg.OtherType !=55&& this.msg.OtherType !=61&& this.msg.OtherType !=66
&& this.msg.OtherType !=67&& this.msg.OtherType !=80&& this.msg.OtherType !=83 && !this.$route.query.tradeObj&& !this.$route.query.orderObj&& !this.$route.query.crmOrderObj){
this.IsAdvance=0;
if(this.msg.OtherType==91){this.msg.OtherType=0;this.msg.ReFinanceId = 0;this.msg.ReFinanceId2 = 0;}
this.msg.detailList.forEach((x, index) => {
if(x.IsAdvance==1||x.IsAdvance==2){
this.IsAdvance= x.IsAdvance;
}
})
if(this.AdvanceObjList.length==0 && (this.IsAdvance==1||this.IsAdvance==2)){this.getAdvanceToIdList(0,true);}
}
let handfreeCount = 0; let handfreeCount = 0;
let companyID = this.$route.query.companyID; let companyID = this.$route.query.companyID;
if (companyID == 1220) { if (companyID == 1220) {
...@@ -1984,6 +2062,17 @@ ...@@ -1984,6 +2062,17 @@
this.msg.ReTCID = this.czmsg.ReTCID; this.msg.ReTCID = this.czmsg.ReTCID;
} }
//预存预付对象
if(this.IsAdvance==1||this.IsAdvance==2){
this.msg.OtherType=91;
this.msg.ReFinanceId = this.AdvanceObjId;
this.msg.ReFinanceId2 = this.IsAdvance;
if(this.AdvanceObjId<=0){
this.Error("请选择"+(this.IsAdvance==1?"保证金对象":"借贷对象"));
return;
}
}
// 是否是日本客户 // 是否是日本客户
let that = this let that = this
let ClientAccountObj = this.ClientAccountList.find(x => { let ClientAccountObj = this.ClientAccountList.find(x => {
...@@ -2258,12 +2347,15 @@ ...@@ -2258,12 +2347,15 @@
if (x.ID == i) { if (x.ID == i) {
if (t >= 0) { if (t >= 0) {
this.msg.detailList[t].CostTypeName = x.Name; this.msg.detailList[t].CostTypeName = x.Name;
this.msg.detailList[t].IsAdvance = x.IsA;
console.log('ld1:'+x.IsA);
if (x.ID === 56) { if (x.ID === 56) {
this.msg.detailList[t].Remark = this.orderObj.TCNUMS ? this.msg.detailList[t].Remark = this.orderObj.TCNUMS ?
`${this.$t('objFill.dijiefeilqzdsc')}:${this.orderObj.TCNUMS}` : ''; `${this.$t('objFill.dijiefeilqzdsc')}:${this.orderObj.TCNUMS}` : '';
} }
} else { } else {
this.detailList.CostTypeName = x.Name; this.detailList.CostTypeName = x.Name;
this.detailList.IsAdvance = x.IsA;
if (x.ID === 56) { if (x.ID === 56) {
this.detailList.Remark = this.orderObj.TCNUMS ? this.detailList.Remark = this.orderObj.TCNUMS ?
`${this.$t('objFill.dijiefeilqzdsc')}:${this.orderObj.TCNUMS}` : ''; `${this.$t('objFill.dijiefeilqzdsc')}:${this.orderObj.TCNUMS}` : '';
...@@ -2656,6 +2748,12 @@ ...@@ -2656,6 +2748,12 @@
} }
this.GetDetail = data; this.GetDetail = data;
this.GetHandFeeList() //获取手配费功能权限配置 this.GetHandFeeList() //获取手配费功能权限配置
//预收预付对象处理
if(data.OtherType==91){
this.IsAdvance=data.ReFinanceId2;
this.AdvanceObjId = data.ReFinanceId;
this.getAdvanceToIdList(data.ReFinanceId);
}
if (this.orderObj != null && this.orderObj.OrderSource === 10) { if (this.orderObj != null && this.orderObj.OrderSource === 10) {
} else { } else {
...@@ -3055,6 +3153,36 @@ ...@@ -3055,6 +3153,36 @@
} }
}, err => {}) }, err => {})
}, },
SaveAdvance(){
this.apipost('Financial_post_SetAdvancePaymentInfo', this.AdvanceObjMsg, res => {
if (res.data.resultCode == 1) {
this.AdvanceObjId = res.data.data;
this.getAdvanceToIdList(this.AdvanceObjId);
this.IsAdvanceAdd=false;
this.AdvanceObjMsg.Name='';
this.AdvanceObjMsg.DutyNo='';
this.AdvanceObjMsg.Remark='';
}
}, err => {})
},
getAdvanceList(query){
if (query !== ''){
this.apipost('Financial_post_GetAdvancePaymentPageList', {pageIndex:1,pageSize:20,Name:query}, res => {
if (res.data.resultCode == 1) {
this.AdvanceObjList = res.data.data.pageData;
}
}, err => {})
}
},
getAdvanceToIdList(id,isAll){
if (id>0||isAll){
this.apipost('Financial_post_GetAdvancePaymentPageList', {pageIndex:1,pageSize:20,Id:id}, res => {
if (res.data.resultCode == 1) {
this.AdvanceObjList = res.data.data.pageData;
}
}, err => {})
}
}
}, },
created() { created() {
var that = this; var that = this;
......
...@@ -689,7 +689,7 @@ ...@@ -689,7 +689,7 @@
</template> </template>
</div> </div>
<template v-if="!BillSonName.includes('分摊')&&!BillSonName.includes('预付')"> <!-- <template v-if="!BillSonName.includes('分摊')&&!BillSonName.includes('预付')">
<div> <div>
<p> <p>
{{$t('objFill.daishoukuanyuangs')}}: {{$t('objFill.daishoukuanyuangs')}}:
...@@ -705,7 +705,7 @@ ...@@ -705,7 +705,7 @@
</p> </p>
</div> </div>
</template> </template> -->
<table v-if="ContractCustomer" class="Receipt_table" border="1" bordercolor="#c94052" <table v-if="ContractCustomer" class="Receipt_table" border="1" bordercolor="#c94052"
style="border-collapse:collapse;margin-top: 10px;"> style="border-collapse:collapse;margin-top: 10px;">
<tr> <tr>
...@@ -741,6 +741,60 @@ ...@@ -741,6 +741,60 @@
<td height="26px">{{DepositCustomer.depositMoney?DepositCustomer.depositMoney:'-'}}</td> <td height="26px">{{DepositCustomer.depositMoney?DepositCustomer.depositMoney:'-'}}</td>
</tr> </tr>
</table> </table>
<!-- 预收预付管理 -->
<div v-if="IsAdvance==1||IsAdvance==2">
<p v-if="IsAdvanceAdd==false">
<span style="color:red">
{{(IsAdvance==1?"保证金对象":IsAdvance==2?"借贷对象":"")}}
<el-tooltip class="item" effect="dark" content="默认显示20个对象,请输入关键词(姓名/公司名称/税号等)查询更多对象" placement="top-start">
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
</span>
<span>
<el-select filterable v-model='AdvanceObjId' class="w135 _border_b_1" placeholder="请输入关键词"
remote reserve-keyword :remote-method="getAdvanceList"
>
<el-option v-for='item in AdvanceObjList' :label="`${item.Name}/${item.DutyNo}`" :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</span>
<span style="margin-left:15px">
<el-tooltip class="item" effect="dark" content="关键字未查询到相关对象、请新增对象" placement="top-start">
<el-button type="primary" icon="el-icon-plus" circle size="mini" @click="IsAdvanceAdd=true"></el-button>
</el-tooltip>
</span>
</p>
<p v-if="IsAdvanceAdd">
<span style="color:red">
{{(IsAdvance==1?"保证金对象":IsAdvance==2?"借贷对象":"")}}
<el-tooltip class="item" effect="dark" content="个人用户请填入姓名,供应商或平台等请填公司全称" placement="top-start">
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
</span>
<el-input class="w120 _border_b_1" v-model="AdvanceObjMsg.Name" placeholder="请输入对象全称"></el-input>
</p>
<p v-if="IsAdvanceAdd">
<span style="color:red">
唯一标识
<el-tooltip class="item" effect="dark" content="个人用户请填入身份证,供应商或平台等请填入税号,财务部将审核唯一标识不合符标准的驳回处理" placement="top-start">
<i class="el-tooltip el-icon-info"></i>
</el-tooltip>
</span>
<el-input class="w120 _border_b_1" v-model="AdvanceObjMsg.DutyNo" placeholder="请输入税号/身份证"></el-input>
</p>
<p v-if="IsAdvanceAdd">
<span style="color:red">备注:</span>
<el-input class="w120 _border_b_1" v-model="AdvanceObjMsg.Remark" placeholder="请输入描述"></el-input>
</p>
<span v-if="IsAdvanceAdd" style="margin-left:15px">
<el-tooltip class="item" effect="dark" content="保存对象" placement="top-start">
<el-button type="primary" icon="el-icon-check" circle size="mini" @click="SaveAdvance()"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="取消" placement="top-start">
<el-button type="primary" icon="el-icon-close" circle size="mini" @click="IsAdvanceAdd=false"></el-button>
</el-tooltip>
</span>
</div>
</div> </div>
<div class="_remark"> <div class="_remark">
<p>{{$t('system.label_info')}}</p> <p>{{$t('system.label_info')}}</p>
...@@ -1091,7 +1145,17 @@ ...@@ -1091,7 +1145,17 @@
Type:2, Type:2,
FinanceId:0 FinanceId:0
}, },
multipleSelection:[] multipleSelection:[],
IsAdvance:0,// 预存预付对象标识 1保证金 2借贷
IsAdvanceAdd:false,
AdvanceObjId:'',
AdvanceObjList:[],// 预存预付对象列表
AdvanceObjMsg:{
Id:0,
Name:'',
DutyNo:'',
Remark:''
}
} }
}, },
methods: { methods: {
...@@ -1721,6 +1785,17 @@ ...@@ -1721,6 +1785,17 @@
this.msg.OrderTradeWay = this.tradeWay; this.msg.OrderTradeWay = this.tradeWay;
this.msg.PlatformAccountId = this.platformAccount; this.msg.PlatformAccountId = this.platformAccount;
//预存预付对象
if(this.IsAdvance==1||this.IsAdvance==2){
this.msg.OtherType=91;
this.msg.ReFinanceId = this.AdvanceObjId;
this.msg.ReFinanceId2 = this.IsAdvance;
if(this.AdvanceObjId<=0){
this.Error("请选择"+(this.IsAdvance==1?"保证金对象":"借贷对象"));
return;
}
}
if(this.clientData&&this.clientData.State&&this.clientData.State==1 if(this.clientData&&this.clientData.State&&this.clientData.State==1
&&(!this.msg.PayReceipt_No||this.msg.PayReceipt_No=='')){ &&(!this.msg.PayReceipt_No||this.msg.PayReceipt_No=='')){
let text = this.$t('objFill.xuanzheptname') let text = this.$t('objFill.xuanzheptname')
...@@ -1901,6 +1976,18 @@ ...@@ -1901,6 +1976,18 @@
} }
this.countFee(); this.countFee();
//验证是否有暂存暂付款
if(this.msg.OrderSource!=8 &&this.msg.OrderSource!=10 && this.msg.OrderID<=0 && this.msg.OtherType !=55&& this.msg.OtherType !=61&& this.msg.OtherType !=66
&& this.msg.OtherType !=67&& this.msg.OtherType !=80&& this.msg.OtherType !=83 && !this.$route.query.tradeObj&& !this.$route.query.orderObj&& !this.$route.query.crmOrderObj){
this.IsAdvance=0;
if(this.msg.OtherType==91){this.msg.OtherType=0;this.msg.ReFinanceId = 0;this.msg.ReFinanceId2 = 0;}
this.msg.detailList.forEach((x, index) => {
if(x.IsAdvance==1||x.IsAdvance==2){
this.IsAdvance= x.IsAdvance;
}
})
if(this.AdvanceObjList.length==0 && (this.IsAdvance==1||this.IsAdvance==2)){this.getAdvanceToIdList(0,true);}
}
}, },
getcommission() { //计算手续费 满足平台账户 而且是结算方式为百分比 SettlementType=1 getcommission() { //计算手续费 满足平台账户 而且是结算方式为百分比 SettlementType=1
let obj = null let obj = null
...@@ -2045,8 +2132,10 @@ ...@@ -2045,8 +2132,10 @@
if (x.ID == i) { if (x.ID == i) {
if (t >= 0) { if (t >= 0) {
this.msg.detailList[t].CostTypeName = x.Name; this.msg.detailList[t].CostTypeName = x.Name;
this.msg.detailList[t].IsAdvance = x.IsA;
} else { } else {
this.detailList.CostTypeName = x.Name; this.detailList.CostTypeName = x.Name;
this.detailList.IsAdvance = x.IsA;
} }
} }
}) })
...@@ -2169,6 +2258,14 @@ ...@@ -2169,6 +2258,14 @@
this.msg.OrderID = data.OrderID; this.msg.OrderID = data.OrderID;
this.msg.OrderSource = 0; this.msg.OrderSource = 0;
this.msg.TCID = data.TCID; this.msg.TCID = data.TCID;
//预收预付对象处理
if(data.OtherType==91){
this.IsAdvance=data.ReFinanceId2;
this.AdvanceObjId = data.ReFinanceId;
this.getAdvanceToIdList(data.ReFinanceId);
}
if (this.orderObj) { if (this.orderObj) {
this.msg.OrderID = this.orderObj.OrderID ? this.orderObj.OrderID : 0; this.msg.OrderID = this.orderObj.OrderID ? this.orderObj.OrderID : 0;
this.OrderSource = this.msg.OrderSource = this.orderObj.OrderSource ? this.orderObj.OrderSource : 0; this.OrderSource = this.msg.OrderSource = this.orderObj.OrderSource ? this.orderObj.OrderSource : 0;
...@@ -2478,6 +2575,36 @@ ...@@ -2478,6 +2575,36 @@
}, },
BankTradeDateChange(){ BankTradeDateChange(){
this.GetBankFlowData(0); this.GetBankFlowData(0);
},
SaveAdvance(){
this.apipost('Financial_post_SetAdvancePaymentInfo', this.AdvanceObjMsg, res => {
if (res.data.resultCode == 1) {
this.AdvanceObjId = res.data.data;
this.getAdvanceToIdList(this.AdvanceObjId);
this.IsAdvanceAdd=false;
this.AdvanceObjMsg.Name='';
this.AdvanceObjMsg.DutyNo='';
this.AdvanceObjMsg.Remark='';
}
}, err => {})
},
getAdvanceList(query){
if (query !== ''){
this.apipost('Financial_post_GetAdvancePaymentPageList', {pageIndex:1,pageSize:20,Name:query}, res => {
if (res.data.resultCode == 1) {
this.AdvanceObjList = res.data.data.pageData;
}
}, err => {})
}
},
getAdvanceToIdList(id,isAll){
if (id>0||isAll){
this.apipost('Financial_post_GetAdvancePaymentPageList', {pageIndex:1,pageSize:20,Id:id}, res => {
if (res.data.resultCode == 1) {
this.AdvanceObjList = res.data.data.pageData;
}
}, err => {})
}
} }
}, },
created() { created() {
......
...@@ -33,49 +33,27 @@ ...@@ -33,49 +33,27 @@
</ul> </ul>
</div> </div>
<div> <div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading='loading'> <div style="color:red;margin-bottom:5px;">价格实时变动,以下价格仅供参考。</div>
<tr> <el-table :data="processedData" border style="width: 100%" v-loading='loading' :span-method="objectSpanMethod"
<th width="200">酒店名称</th> :header-cell-style="{background: '#f5f7fa', fontWeight: 'bold'}" max-height="670px" highlight-current-row>
<th width="70">类型</th> <el-table-column prop="DiDaHotelName" label="酒店名称" width="200" align="center" fixed></el-table-column>
<template v-if="dataList&&dataList.length>0"> <el-table-column prop="priceType" label="类型" width="70" align="center" fixed></el-table-column>
<template v-for="(hItem,hIndex) in dataList[0].SubList"> <el-table-column v-for="(header, index) in dateHeaders" :key="index" :label="header.label" align="center"
<th :key="`d_h_`+hIndex"> min-width="75">
{{hItem.CheckInStr}}({{hItem.WeekStr}}) <template slot-scope="scope">
</th> <el-tooltip content="点击查看详情">
</template> <span v-if="scope.row.priceType === '直客价'"
:style="{color: scope.row.SubList[index].Price <scope.row.SubList[index].TeamPrice ? 'red' : ''}"
@click="gotoPage(1,scope.row.SubList[index])" style="cursor:pointer;">
{{ scope.row.SubList[index].Price }}
</span>
<span v-else @click="gotoPage(2,scope.row.SubList[index])" style="cursor:pointer;">
{{ scope.row.SubList[index].TeamPrice}}
</span>
</el-tooltip>
</template> </template>
</tr> </el-table-column>
<template v-for="(item,index) in dataList"> </el-table>
<tr :key="`d_1_`+index">
<td rowspan="2">
{{item.DiDaHotelName}}
</td>
<td>
直客价
</td>
<template v-for="(hItem,hIndex) in item.SubList">
<td :key="`d_1_`+index+`d1_`+hIndex">
<template v-if="hItem.Price<hItem.TeamPrice">
<font style="color:red;">{{hItem.Price}}</font>
</template>
<template v-else>
{{hItem.Price}}
</template>
</td>
</template>
</tr>
<tr :key="`d_2_`+index">
<td>
道旅价
</td>
<template v-for="(hItem,hIndex) in item.SubList">
<td :key="`d_2_`+index+`d2_`+hIndex">
{{hItem.TeamPrice}}
</td>
</template>
</tr>
</template>
</table>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.pageIndex" <el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.pageIndex"
layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="msg.total"></el-pagination> layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="msg.total"></el-pagination>
</div> </div>
...@@ -124,7 +102,80 @@ ...@@ -124,7 +102,80 @@
loading: false, loading: false,
}; };
}, },
computed: {
// 处理表头数据
dateHeaders() {
if (this.dataList.length > 0 && this.dataList[0].SubList) {
return this.dataList[0].SubList.map(item => ({
label: `${item.CheckInStr}(${item.WeekStr})`
}));
}
return [];
},
// 处理表格数据
processedData() {
const result = [];
this.dataList.forEach(hotel => {
// 直客价行
result.push({
DiDaHotelName: hotel.DiDaHotelName,
priceType: '直客价',
SubList: hotel.SubList,
rowspan: 2 // 用于合并单元格
});
// 道旅价行
result.push({
priceType: '道旅价',
SubList: hotel.SubList,
rowspan: 0 // 用于合并单元格
});
});
return result;
}
},
methods: { methods: {
gotoPage(type, item) {
//直客,天巡
if (type == 1) {
var txUrl = "https://www.tianxun.com/hotels/search?entity_id=" + item.HotelId + "&checkin=" + item
.CheckInDate + "&checkout=" + item.CheckOutDate + "&adults=2&rooms=1&sort=-relevance";
window.open(txUrl);
}
//道旅
else if (type == 2) {
var dlUrl = `http://${window.location.host}/#/` + "HotelDetails?id=" + item.DiDaHotelId + "&StartDate=" + item
.CheckInDate + "&EndDate=" + item.CheckOutDate;
window.open(dlUrl);
}
},
// 单元格合并方法
objectSpanMethod({
row,
column,
rowIndex,
columnIndex
}) {
if (columnIndex === 0) { // 酒店名称列
if (row.rowspan === 2) {
return {
rowspan: 2,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}
if (columnIndex === 1) { // 类型列不需要合并
return {
rowspan: 1,
colspan: 1
};
}
},
//翻页功能按钮 //翻页功能按钮
handleCurrentChange(val) { handleCurrentChange(val) {
this.msg.pageIndex = val; this.msg.pageIndex = val;
...@@ -173,6 +224,7 @@ ...@@ -173,6 +224,7 @@
// } // }
} }
let myDate = new Date(); let myDate = new Date();
myDate.setDate(myDate.getDate() + 14);
let nowDate = let nowDate =
myDate.getFullYear() + myDate.getFullYear() +
"-" + "-" +
...@@ -180,11 +232,10 @@ ...@@ -180,11 +232,10 @@
"-" + "-" +
myDate.getDate(); myDate.getDate();
this.msg.QStartDate = nowDate; this.msg.QStartDate = nowDate;
var currentDate = new Date(); // 获取当前时间
currentDate.setMonth(currentDate.getMonth() + 1); // 将当前时间的月份加1 myDate.setMonth(myDate.getMonth() + 1); // 将当前时间的月份加1
this.msg.QEndDate = currentDate.getFullYear() + "-" + parseInt(currentDate.getMonth() + 1) + "-" + currentDate this.msg.QEndDate = myDate.getFullYear() + "-" + parseInt(myDate.getMonth() + 1) + "-" + myDate
.getDate(); .getDate();
this.getHotelList(); this.getHotelList();
}, },
mounted() { mounted() {
......
<template> <template>
<div class="dialogPptistVisible-box" style="width: 100%;height: 100%;"> <div class="dialogPptistVisible-box" style="width: 100%;height: 100%;">
<div style="position: relative;width: 800px;"> <div style="position: relative;width: 800px;">
<span style="opacity: 0;">1</span> <span style="opacity: 0;">1</span>
<div class="item"> <div class="item">
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<iframe id="myTemplateUrl" v-if="Url!=''" name="myTemplateUrl" :src="Url" class="TemplateIframe"> <iframe id="myTemplateUrl" v-if="Url!=''" name="myTemplateUrl" :src="Url" class="TemplateIframe">
</iframe> </iframe>
</div> </div>
</template> </template>
<script> <script>
import { compressToBase64 } from '@/utils/compression'; import { compressToBase64 } from '@/utils/compression';
...@@ -47,7 +47,7 @@ import { compressToBase64 } from '@/utils/compression'; ...@@ -47,7 +47,7 @@ import { compressToBase64 } from '@/utils/compression';
}, },
methods: { methods: {
close() { close() {
this.$emit('close') this.MsgBus.$emit("showCustomerServiceHandler",false);
}, },
async createInitDifyAsync(){ async createInitDifyAsync(){
const userInfo = this.getLocalStorage(); const userInfo = this.getLocalStorage();
...@@ -113,7 +113,7 @@ import { compressToBase64 } from '@/utils/compression'; ...@@ -113,7 +113,7 @@ import { compressToBase64 } from '@/utils/compression';
right: -40px; right: -40px;
top: -10px; top: -10px;
z-index: 99; z-index: 99;
} }
.itemBox{ .itemBox{
width: 30px; width: 30px;
......
...@@ -284,15 +284,22 @@ ...@@ -284,15 +284,22 @@
</el-dropdown> </el-dropdown>
</li> </li>
<template v-if="userInfo.RB_Group_id == 2"> <template v-if="userInfo.RB_Group_id == 2">
<li style="position: relative;"> <!-- <li style="position: relative;">
<!--||MsgCount>0-->
<i class="iconfont icon-imessage_top" <i class="iconfont icon-imessage_top"
:class="[(hasNewMsg > 0) && !IM_bodyIsShow ? 'animation red' : '', IM_bodyIsShow ? 'red' : '']" :class="[(hasNewMsg > 0) && !IM_bodyIsShow ? 'animation red' : '', IM_bodyIsShow ? 'red' : '']"
@click="IM_bodyIsShow = !IM_bodyIsShow, IM_navType = 1"></i> @click="IM_bodyIsShow = !IM_bodyIsShow, IM_navType = 1"></i>
</li> </li> -->
<li style="display: flex;flex-direction: column;align-items: center;justify-content: center;"> <li style="display: flex;flex-direction: column;align-items: center;justify-content: center;">
<!-- <i class="iconfont icon-banbengengxin" @click="goUrlLog()"></i> --> <!-- <i class="iconfont icon-banbengengxin" @click="goUrlLog()"></i> -->
<img src="../assets/img/AI.png" style="width: 25px;cursor: pointer;" title="AI行程" @click="goRequirement()"> <el-tooltip effect="dark" content="AI行程" placement="top">
<img src="../assets/img/AI.png" style="width: 30px;cursor: pointer;" @click="goRequirement()">
</el-tooltip>
</li>
<li style="display: flex;flex-direction: column;align-items: center;justify-content: center;">
<el-tooltip effect="dark" content="ERP智能客服" placement="top">
<!-- <img src="../assets/img/AI.png" style="width: 30px;cursor: pointer;" @click="goRequirement()"> -->
<div class="top-right-menu-item" style="margin-top: -10px;" @click="showCustomerServiceHandler()" ></div>
</el-tooltip>
</li> </li>
<li v-if="!useRed"><i class="iconfont icon-gonggao" <li v-if="!useRed"><i class="iconfont icon-gonggao"
@click="IM_bodyIsShow = !IM_bodyIsShow, IM_navType = 52"></i> @click="IM_bodyIsShow = !IM_bodyIsShow, IM_navType = 52"></i>
...@@ -2075,6 +2082,9 @@ export default { ...@@ -2075,6 +2082,9 @@ export default {
} }
}, },
methods: { methods: {
showCustomerServiceHandler() {
this.MsgBus.$emit("showCustomerServiceHandler",true);
},
// 销售看板 // 销售看板
SalesBoard() { SalesBoard() {
this.apipost( this.apipost(
...@@ -4673,7 +4683,17 @@ export default { ...@@ -4673,7 +4683,17 @@ export default {
.downmz .khd a { .downmz .khd a {
color: #fff; color: #fff;
} }
.top-right-menu-item{
width: 30px;
height: 30px;
background-image: url('../assets/img/robot.png');
background-size: 100% 100%;
background-repeat: no-repeat;
cursor: pointer;
}
.top-right-menu-item:hover{
background-image: url('../assets/img/robot_hover.png');
}
.downmz .khd { .downmz .khd {
display: inline-block; display: inline-block;
width: 162px; width: 162px;
......
...@@ -196,7 +196,7 @@ ...@@ -196,7 +196,7 @@
</li> </li>
<li> <li>
<button class="hollowFixedBtn" @click="getList(),getTongji()">{{$t('pub.searchBtn')}}</button> <button class="hollowFixedBtn" @click="resetPageIndex(),getList(),getTongji()">{{$t('pub.searchBtn')}}</button>
<button class="hollowFixedBtn" @click="outerVisible=true">{{$t('objFill.daoru')}}</button> <button class="hollowFixedBtn" @click="outerVisible=true">{{$t('objFill.daoru')}}</button>
<a class="hollowFixedBtn downBtn" style="padding:6px 9px;" :href="downList">{{$t('objFill.v101.FinancialModule.daorumobxz')}}</a> <a class="hollowFixedBtn downBtn" style="padding:6px 9px;" :href="downList">{{$t('objFill.v101.FinancialModule.daorumobxz')}}</a>
<button class="normalBtn" @click="method5()">{{$t('visa.v_daochu')}}</button> <button class="normalBtn" @click="method5()">{{$t('visa.v_daochu')}}</button>
......
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
<div class="option-label">{{ item.label }}</div> <div class="option-label">{{ item.label }}</div>
</div> </div>
</div> </div>
<div class="qrcode-area" style="margin: 24px 0; text-align: center;" v-loading="createQrcode"> <div v-if="currentPublishOption!='pdfItinerary'" class="qrcode-area" style="margin: 24px 0; text-align: center;" v-loading="createQrcode">
<div style="height: 100px; width: 100px; background: #f5f5f5; display: inline-block; border-radius: 8px; line-height: 100px;"> <div style="height: 100px; width: 100px; background: #f5f5f5; display: inline-block; border-radius: 8px; line-height: 100px;">
<!-- 这里放二维码图片 --> <!-- 这里放二维码图片 -->
<img :src="qrcodeUrl" style="width: 100%; height: 100%;" /> <img :src="qrcodeUrl" style="width: 100%; height: 100%;" />
...@@ -134,12 +134,13 @@ ...@@ -134,12 +134,13 @@
<el-input <el-input
v-model="publishShareLink" v-model="publishShareLink"
readonly readonly
placeholder="这里是分享链接" placeholder=""
style="width: 100%;" style="width: 100%;"
v-if="currentPublishOption!='wechatH5'" v-if="currentPublishOption!='wechatH5'"
> >
<template #append> <template #append>
<el-button @click="copyPublishLink">复制</el-button> <el-button @click="copyPublishLink">复制</el-button>
<el-button @click="openUrl(publishShareLink)">打开</el-button>
</template> </template>
</el-input> </el-input>
<div style="height: 30px;"></div> <div style="height: 30px;"></div>
...@@ -362,7 +363,7 @@ export default { ...@@ -362,7 +363,7 @@ export default {
}, },
handlePDFItinerary(row) { handlePDFItinerary(row) {
// 下载PDF行程书 // 下载PDF行程书
window.open(`${this.baseHref}/api/itinerary/pdf/book/${row.id}`, '_blank'); this.getDownloadTDUrl(row);
}, },
handleWebSchedule(row) { handleWebSchedule(row) {
// 打开Web行程单页面 // 打开Web行程单页面
...@@ -453,6 +454,33 @@ export default { ...@@ -453,6 +454,33 @@ export default {
); );
} }
}, },
getDownloadTDUrl(row) {
if(row.tdId == 0){
this.$message.error('请先创建TD行程');
return;
}
this.apipost && this.apipost(
"triptemplate_GetTripOther", {Id:row.tdId},
res => {
if (res.data && res.data.resultCode == 1) {
const params = {"Id":row.tdId,"Hash":res.data.data.HashInfo,"Range":"","Quality":1,"DownloadType":0}
this.apipost("ppt_get_downloadtoken",params,res=>{
if(res.data && res.data.resultCode == 1){
this.publishShareLink = `${this.domainManager().PptUrl}/download/${res.data.data}`;
}
});
} else {
this.$message.error('获取TD行程失败');
}
},
err => {
this.$message.error('获取TD行程失败');
}
);
},
openUrl(url){
window.open(url, '_blank');
},
editTD(row) { editTD(row) {
// 先请求接口获取uid,再拼接PPT预览链接 // 先请求接口获取uid,再拼接PPT预览链接
if (row.tdId > 0) { if (row.tdId > 0) {
...@@ -461,7 +489,7 @@ export default { ...@@ -461,7 +489,7 @@ export default {
res => { res => {
if (res.data && res.data.resultCode == 1) { if (res.data && res.data.resultCode == 1) {
let href = this.domainManager().PptUrl; let href = this.domainManager().PptUrl;
const pageUrl = `/editor/${row.tdId}/1/1/0/e/1/c/1` const pageUrl = `/editor/${row.tdId}/${row.tdTemplate}/1/0/e/1/c/1`
let url = `${href}/autoLogin?uid=${res.data.data}&model=1001&redict=${encodeURIComponent(pageUrl)}`; let url = `${href}/autoLogin?uid=${res.data.data}&model=1001&redict=${encodeURIComponent(pageUrl)}`;
window.open(url, '_blank'); window.open(url, '_blank');
} else { } else {
......
...@@ -3479,6 +3479,14 @@ export default { ...@@ -3479,6 +3479,14 @@ export default {
title: '财务单据审核' title: '财务单据审核'
}, },
}, },
{ // 客户预存管理
path: '/TempHoldPay',
name: 'TempHoldPay',
component: resolve => require(['@/components/FinancialModule/PrestorageManagement/TempHoldPay'], resolve),
meta: {
title: '预收预付管理'
},
},
{ // 客户预存管理 { // 客户预存管理
path: '/prestoreList', path: '/prestoreList',
name: 'prestoreList', name: 'prestoreList',
......
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