Commit b1221515 authored by liudong1993's avatar liudong1993
parents a968bcc7 adca0d86
......@@ -688,7 +688,8 @@
</span>
<button class="hollowFixedBtn" @click="resetPageIndex(),getPageList()">{{$t('pub.searchBtn')}}</button>
<button class="normalBtn" @click="method5()">导出</button>
<button v-if="DataList&&DataList.length>0" class="hollowFixedBtn" @click="Markers">标记</button>
<!-- <button v-if="DataList&&DataList.length>0" class="hollowFixedBtn" @click="Markers">标记</button> -->
<button v-if="DataList&&DataList.length>0" class="hollowFixedBtn" @click="outerVisibleAdd=true,Markers">导入</button>
</li>
</ul>
<!-- <div style="text-align: right;">
......@@ -845,6 +846,18 @@
</el-upload>
</el-dialog>
<el-dialog custom-class='w700' title="导入" :visible.sync="outerVisibleAdd" center>
<el-upload style="text-align: center;" drag class="upload-demo"
:action="importFileUrl3"
:on-success="handleAvatarSuccessStatus"
:before-upload="beforeAvatarUpload">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<!-- <div slot="tip" class="el-upload__tip">只能上传Excel文件</div> -->
</el-upload>
</el-dialog>
</div>
</template>
<script>
......@@ -864,6 +877,7 @@
searchList: [],
widthSon: '700px',
colorSon: "#f5f5f5",
outerVisibleAdd:false,
Finance_InvoiceUpdate:false,
Finance_ExpenseType:false,
msg: {
......@@ -1023,6 +1037,7 @@
IsLeave:0,
},
importFileUrl2:'',
importFileUrl3:'',
outerVisible: false
}
},
......@@ -1038,6 +1053,11 @@
"?cmd=dmc_post_LocalFileUpload&Type=15&fileType=1&fileLimit=10&EmployeeId="+userInfo.EmployeeId
+'&RB_Group_id='+userInfo.RB_Group_id +'&KingdeeBId=' + this.msg.RB_Branch_Id
;
this.importFileUrl3=this.domainManager().UploadFileUrl +
"?cmd=dmc_post_LocalFileUpload&Type=17&fileType=1&fileLimit=10&EmployeeId="+userInfo.EmployeeId
+'&RB_Group_id='+userInfo.RB_Group_id +'&KingdeeBId=' + this.msg.RB_Branch_Id
;
this.getCompanyMsg.RB_Group_Id = this.employeeMsg.GroupId = this.getDepartmentMsg.RB_Group_Id = userInfo
.RB_Group_id; //集团ID
this.DepartIDs = userInfo.RB_Department_Id;
......@@ -1399,6 +1419,28 @@
}
},
//上传
handleAvatarSuccessStatus(res, file) {
let that = this
if (res.resultCode == 1) {
this.Success(res.message);
this.outerVisibleAdd = false;
this.getPageList();
}else{
that.$confirm(res.message, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
}).catch(() => {
});
}
},
financeRemove(id) { //作废
this.$confirm('是否对申请单进行作废操作?作废后不可恢复!', '提示', {
confirmButtonText: '确定',
......
......@@ -594,7 +594,7 @@ tr._item_list td:last-child {
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="是否联运:">
<el-select v-model="msg.Is_Transport" filterable class="w150">
......@@ -635,6 +635,16 @@ tr._item_list td:last-child {
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="团队类型 :">
<el-select v-model="msg.TeamType" class="w150">
<el-option value="0" label="不限"></el-option>
<el-option value="1" label="常规团"></el-option>
<el-option value="2" label="小包团"></el-option>
<el-option value="3" label="当地游"></el-option>
</el-select>
</el-form-item>
</el-col>
</template>
<el-col :span="4" v-if="userId==1 || userId==5 || F_GeneralManager">
......@@ -1221,6 +1231,7 @@ export default {
LeaderId:0,
LeaderType:0,
OutTCStatus:'0',
TeamType:'0',
IsSelectReceipt:0,
StandardCurrencyId: -1
},
......
......@@ -194,7 +194,7 @@
</tr>
</table>
<span style="font-weight:bold;font-size:14px;">报价酒店:<font style="color:red;">{{subItem.OfferHotelName}}(
{{subItem.OfferUnitPrice}}/标间)</font></span>
{{subItem.OfferUnitPrice}}/)</font></span>
</td>
<!-- 机位总数/(Y/E/F) -->
<td v-if="childIndex==0" :rowspan="6">
......
<template>
<div class="mb30" v-loading='loading'>
<input type="button" @click="downloadMoneyPlan()" value="下载" style="display:none;" />
<div style="display: flex;justify-content: end;margin-top: 10px;margin-bottom: 10px;">
<p><span class="groupTourOrderByTuan_ico"><i
style="background-color:#3FC4FF"></i><span>{{$t('fnc.yidadan')}}</span></span>
......@@ -309,7 +310,7 @@
</template>
<br />
<span style="font-weight:bold;font-size:14px;">报价酒店:<font style="color:red;">{{subItem.OfferHotelName}}(
{{subItem.OfferUnitPrice}}/标间)</font></span>
{{subItem.OfferUnitPrice}}/)</font></span>
<br />
<span style="color:red" v-if="subItem.StandardRoomPrice">实际金额 :{{subItem.StandardRoomPrice}}/人(标间)</span>
</td>
......@@ -924,12 +925,11 @@
<!-- <el-input class="w300" v-if="leadr.LeaderGetPrice < leadr.PlanPrice" type="number"
v-model="leadr.LeaderGetPriceT" @input="changePrice"></el-input> -->
<el-input class="w300" type="number" v-model="leadr.LeaderGetPriceT"
@input="changePrice"></el-input>
<el-input class="w300" type="number" v-model="leadr.LeaderGetPriceT" @input="changePrice"></el-input>
</template>
</div>
<span style="color:red;font-weight:bold;">
注意:<span>1、合团的请分别领款!</span> <span style="margin-left: 20px;">2、如需日本PIC付款,请选择PIC相关付款流程,请注意日本转账手续费</span>
注意:<span>1、合团的请分别领款!</span> <span style="margin-left: 20px;">2、如需日本PIC付款,请选择PIC相关付款流程,请注意日本转账手续费</span>
</span>
</td>
<td>
......@@ -1135,6 +1135,15 @@
commonHotelInfo
},
methods: {
//用款计划下载
downloadMoneyPlan() {
var fileName = "test";
fileName += ".xls"
this.loading = true;
this.GetLocalFile("dmcstatistics_post_DownLoadGroupLeaderUserMoneyPlan",this.msg, fileName, res => {
this.loading = false;
});
},
changePrice() {
this.$forceUpdate();
},
......
......@@ -547,13 +547,14 @@
})
fileName = fileName + TempfileName
fileName = fileName + this.$route.query.alcode
//国航的用word
// if (this.QueryMsg.TempCode == "CATempla") {
// fileName = fileName + ".doc";
// } else {
// fileName = fileName + ".xls";
// }
fileName = fileName + ".xls";
console.log("QueryMsg",this.QueryMsg);
//厦航的用csv
if (this.QueryMsg.TempCode == "MF") {
fileName = fileName + ".csv";
} else {
fileName = fileName + ".xls";
}
// fileName = fileName + ".xls";
this.GetLocalFile("travel_get_GetAirTicketGuestExport", msg, fileName);
},
handleCurrentChange(val) {
......
......@@ -1139,9 +1139,11 @@
<el-dropdown-item v-if="CurrentUserInfo.RB_Group_id==2||FenFangBiaoXiaZai">
<div @click='exportExcel_singleRoom(item)'>{{$t('op.FFBDowmLoad')}} </div>
</el-dropdown-item>
<!-- HK 2023-12-05注释
<el-dropdown-item v-if="CurrentUserInfo.RB_Group_id==2||LookOPCommission">
<div @click='goOPCommissionInfo(item.TCID,item)'>查看OP提成 </div>
</el-dropdown-item>
-->
<el-dropdown-item v-if="item.IsSetOut==0">
<div @click='setIsSetOutOffer(item,1)'>取消发团 </div>
</el-dropdown-item>
......
......@@ -148,7 +148,7 @@
<div>
<p style="font-size:14px">
<el-tooltip popper-class="max-w250" effect="dark" :content="item.Title" placement="top-start">
<span>{{item.Title}}</span>
<span>{{getTitle(item)}}</span>
</el-tooltip>
</p>
<p>客户名称:{{item.CustomerName}}</p>
......@@ -300,6 +300,11 @@
<i class="iconfont icon-copy"></i>
</el-tooltip>
</span>
<span style="background:#85ce61;display:none;" class="newAopbdd" @click="downLoadOffer(item)">
<el-tooltip class="item" effect="dark" content="下载" placement="top-start" popper-class="max-w250">
<i class="iconfont icon-bb-xiazai"></i>
</el-tooltip>
</span>
</div>
</div>
</li>
......@@ -537,6 +542,17 @@
},
},
methods: {
getTitle(item) {
var str = "";
if (item.Title && item.Title != '') {
if (item.Title.length > 60) {
str = item.Title.substring(0, 60) + "...";
} else {
str = item.Title;
}
}
return str;
},
//复制报价单
copyOffer(item) {
var that = this;
......@@ -793,6 +809,28 @@
this.downLoadMsg.FileName = fileName;
this.downloadBill = true;
},
downLoadOffer(item) {
var downMsg = {
OfferId: item.ID,
};
var fileName = "【" + item.OutDateTime + "】";
if (item.TCNUMS && item.TCNUMS.length < 20) {
fileName += item.TCNUMS;
}
if (item.Title) {
if (item.Title.length > 20) {
fileName += item.Title.substring(0, 20);
} else {
fileName += item.Title;
}
}
fileName += ".xls"
this.loading = true;
this.GetLocalFile("quotation_get_DownLoadQuotation", downMsg, fileName, res => {
this.loading = false;
});
},
//报价单下载
DownLoadFile() {
this.downloadBill = false;
......
......@@ -487,17 +487,16 @@
</el-input>
</el-form-item> -->
<el-form-item label="选择人员" prop="customerIds">
<template v-if="customerList&&customerList.length>0">
<template v-for="(item,index) in customerList">
<template v-if="checkedCustomerList&&checkedCustomerList.length>0">
<template v-for="(item,index) in checkedCustomerList">
<template v-if="item.ischecked">
<el-tag :key="index+10000" closable @close="deleteTag(item)">{{item.customerName}}({{item.contact}})
</el-tag>
</template>
</template>
</template>
<!--v-if="xuanzeCustomer"-->
<el-popover trigger="click" placement="bottom-start">
<el-popover trigger="click" placement="top-start">
<div class="_TravelPricePopover" style="height: 300px;overflow: auto;width: 350px;">
<div class="ScenicDiv">
<el-input class="w180" v-model="grantCouponMsg.customerInfo"
......@@ -514,10 +513,10 @@
<el-checkbox @change="getSelect(fitem)" v-model="fitem.ischecked"></el-checkbox>
</td>
<td>
{{fitem.customerName}}
{{fitem.customerName}}- {{fitem.contact}}
</td>
<td>
{{fitem.contact}}
{{fitem.contactNumber}}
</td>
</tr>
</table>
......@@ -531,7 +530,7 @@
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="autoCouponDialog = false">取 消</el-button>
<el-button size="small" type="danger" @click="sureUpdatekucun()">确 定</el-button>
<el-button size="small" type="danger" @click="AdminGrantCoupon()">确 定</el-button>
</span>
</el-dialog>
</div>
......@@ -701,7 +700,7 @@
CouponPlatformEnumList: [],
companyList: [],
customerList: [],
layerCustomerList: [],
checkedCustomerList: [],//选择的人员信息
layerDepartMentList: [],
departMentList: [],
PostList: [],
......@@ -748,13 +747,7 @@
},
methods: {
//删除客户标签
deleteTag(item) {
item.ischecked=false;
},
getSelect(item) {
},
getcouponPriceList() {
this.addMsg.couponPriceList = []
this.addMsg.couponPriceLists.forEach(item => {
......@@ -815,8 +808,24 @@
//发放优惠券
AutoGrantCounItem(item) {
this.grantCouponMsg = Object.assign({}, item);
this.customerList=[];
this.checkedCustomerList=[];
console.log("grantCouponMsg", this.grantCouponMsg);
},
//发放优惠券确认
AdminGrantCoupon() {
this.apipost("coupon_post_AdminGrantCoupon", {Id:this.grantCouponMsg.id,CustomerList:this.checkedCustomerList}, res => {
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.updateKucundialog = false;
this.getList();
this.upDateKcMsg.number = '';
} else {
this.Error(res.data.message)
}
}, null);
},
//点击确定修改库存
sureUpdatekucun() {
this.apipost("coupon_post_UpdateCouponCount", this.upDateKcMsg, res => {
......@@ -841,13 +850,36 @@
}
}
);
},
//删除客户标签
deleteTag(item) {
let result = this.customerList.find(temp => temp.customerId ===item.customerId);
if(result){ result.ischecked=false;
}
let index = this.checkedCustomerList.indexOf(item);
if (index !== -1) {
this.checkedCustomerList.splice(index, 1);
}
},
getSelect(item) {
if(item.ischecked){
this.checkedCustomerList.push(item);
}else{
let index = this.checkedCustomerList.indexOf(item.customerId);
this.checkedCustomerList.splice(index, 1);
}
},
//查询客户
getCustomerBrandByKeyWord() {
this.xuanzeCustomerLoading = true;
this.customerList = [];
console.log("this.grantCouponMsg.customerType",this.grantCouponMsg.customerType);
let cmdStr="app_post_GetCustomerBrandByKeyWord";
if(this.grantCouponMsg.customerType==1){
cmdStr="Sell_Post_GetDirectCustomerListByKey";
}
this.apipost(
"app_post_GetCustomerBrandByKeyWord",
cmdStr,
this.grantCouponMsg,
res => {
this.xuanzeCustomerLoading = false;
......@@ -855,7 +887,12 @@
var tempData = res.data.data;
if (tempData && tempData.length > 0) {
tempData.forEach(item => {
item.ischecked = false;
let result = this.checkedCustomerList.find(temp => temp.customerId ===item.customerId);
if(result){ item.ischecked=true;
}
else{
item.ischecked = false;
}
})
}
this.customerList = tempData;
......
......@@ -556,26 +556,27 @@
}
console.log("title", title);
var fileName = title + ".pdf";
if (this.orderId && this.orderId > 0) {
//出团通知书下载
this.pdfDownLoad(fileName, msg);
} else if (urlObj.IsOnline == 0) {
//本地行程下载
this.pdfDownLoad(fileName, msg);
} else {
//阿里云行程下载
var objFileKey = "TripDownLoad"
objFileKey += "/" + msg.configId + "_" + msg.tcid;
objFileKey += "/" + msg.configId + "_" + msg.tcid + ".pdf";
that.downloadChengDuFileRename(objFileKey, fileName, res => {
console.log("ali_doanload", res)
if (res.resultCode == 0) {
that.pdfDownLoad(fileName, msg);
} else {
that.pdfLoading = false;
}
})
}
that.pdfDownLoad(fileName, msg);
// if (this.orderId && this.orderId > 0) {
// //出团通知书下载
// this.pdfDownLoad(fileName, msg);
// } else if (urlObj.IsOnline == 0) {
// //本地行程下载
// this.pdfDownLoad(fileName, msg);
// } else {
// //阿里云行程下载
// var objFileKey = "TripDownLoad"
// objFileKey += "/" + msg.configId + "_" + msg.tcid;
// objFileKey += "/" + msg.configId + "_" + msg.tcid + ".pdf";
// that.downloadChengDuFileRename(objFileKey, fileName, res => {
// console.log("ali_doanload", res)
// if (res.resultCode == 0) {
// } else {
// that.pdfLoading = false;
// }
// })
// }
},
pdfDownLoad: function (fileName, msg) {
let urlObj = this.domainManager();
......@@ -595,7 +596,7 @@
this.pdfLoading = true;
let urlObj = this.domainManager();
var ocrUrl = "";
ocrUrl = urlObj.ocrUrl + "/Home/DownloadFileForPdf?configId=" + msg.configId + "&url=" +
ocrUrl = urlObj.ocrUrl + "/Home/DownloadFileForPdfERP?configId=" + msg.configId + "&url=" +
encodeURIComponent(path);
this.$http({
headers: {
......
......@@ -125,6 +125,14 @@
<!-- ppt 模版行程 -->
<div v-if="FeatureData.FeatureType==9&&FeatureDataFlag">
<div style="text-align: center;margin-bottom: 20px;font-size: 14px;color: #808080;">暂无数据,右上角编辑行程试试吧!</div>
<div v-if="FeatureData.TripImageListNew&&FeatureData.TripImageListNew.length>0">
<template v-for="url in FeatureData.TripImageListNew">
<el-image
style="width: 100%; height: auto"
:src="url"
:preview-src-list="FeatureData.TripImageListNew"></el-image>
</template>
</div>
</div>
</div>
</div>
......@@ -294,7 +302,7 @@
handleMessage(event,targetOrigin) {
if(this.isPostMessage) return
if(event.data=='行程数据保存成功'){
this.dialogPptistVisible = false
// this.dialogPptistVisible = false
this.isPostMessage = true
this.$emit('ConfigInfo')
}
......@@ -302,12 +310,11 @@
// 添加编辑模版
journeyTemplate(type){
this.isPostMessage = false
// console.log(this.userInfo.EmployeeId,'-----',this.FeatureData.ConfigId)
let href = window.location.href.indexOf('localhost:')!=-1?'http://localhost:8080/':'http://localhost:8080/'
let href = this.domainManager().PptUrl
if(type&&type==1){
this.TemplateUrl=`${href}?uid=${this.userInfo.EmployeeId}&model=1`
this.TemplateUrl=`${href}/?uid=${this.userInfo.EmployeeId}&model=1`
}else{
this.TemplateUrl=`${href}?uid=${this.userInfo.EmployeeId}&ConfigId=${this.FeatureData.ConfigId}`
this.TemplateUrl=`${href}/?uid=${this.userInfo.EmployeeId}&ConfigId=${this.FeatureData.ConfigId}`
}
this.dialogPptistVisible = true
},
......
......@@ -304,16 +304,6 @@
};
},
methods: {
handleMessage(event,targetOrigin) {
console.log(event.data,'------',targetOrigin)
if(this.isPostMessage) return
if(event.data=='行程数据保存成功'){
this.isPostMessage = true
}
if(event.origin === targetOrigin){
}
},
/*获取行程特色内容对象*/
getFeature(featureObj) {
this.PostFeature = featureObj;
......@@ -754,6 +744,7 @@
this.FeatureData.ID = tempData.Feature.ID;
this.FeatureData.ConfigId = tempData.Feature.ConfigId;
this.FeatureData.FeatureType = tempData.Feature.FeatureType;
this.FeatureData.TripImageListNew = tempData.Feature.TripImageListNew;
this.FeatureData.FeatureImg = tempData.Feature.FeatureImg;
this.FeatureData.TemplateId = tempData.Feature.TemplateId;
this.FeatureData.FeatureContent = tempData.Feature.FeatureContent;
......
......@@ -183,6 +183,7 @@ export default {
lxymallUrl: lxymallUrl,
crmUrl: crmUrl,
crmRoutingUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://fcrmyx.oytour.com/#/" : "http://localhost:8081/#/",
PptUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://fcrmyx.oytour.com/#/" : "http://localhost:8080",
};
return obj;
},
......
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