Commit 8dddb1d8 authored by 黄媛媛's avatar 黄媛媛
parents e8b11411 d4e37966
......@@ -7,9 +7,13 @@
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate, no-store">
<meta http-equiv="Expires" content="0">
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=ZzGBZF6L0sgFDLlDohyvYhCnWy4dwksX" ></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=ZzGBZF6L0sgFDLlDohyvYhCnWy4dwksX" ></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
<!-- <script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script> -->
<script type="text/javascript" src="static/MarkerClusterer.js"></script>
<script type="text/javascript" src="static/CurveLine.min.js"></script>
<script type="text/javascript" src="http://ditu.google.cn/maps/api/js?key=AIzaSyAZ5MIfzicStzKbIkbI3RcBBeZBjQFKsp0&language=zh-CN"></script>
<title>四川和平国际旅行社</title>
</head>
<body>
......
......@@ -520,7 +520,7 @@ tr._item_list td:last-child {
<el-option value="3" v-if="isShowType" label="单办签证"></el-option>
<el-option value="2" label="国际机票"></el-option>
<el-option value="4" label="国内票务"></el-option>
<el-option value="5" v-if="isShowType" label="散卖机票"></el-option>
<!-- <el-option value="5" v-if="isShowType" label="散卖机票"></el-option> -->
<el-option value="6" v-if="isShowType" label="日本地接部专户"></el-option>
<el-option value="12" v-if="isShowType" label="日本地接部专户(人民币)"></el-option>
<el-option value="7" v-if="isShowType" label="老挝地接部专户"></el-option>
......@@ -529,6 +529,7 @@ tr._item_list td:last-child {
<el-option value="10" v-if="isShowType" label="景点门票"></el-option>
<el-option value="11" v-if="isShowType" label="餐厅美食"></el-option>
<el-option value="13" label="机票折让收入"></el-option>
<el-option value="14" label="单机票收入"></el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -664,6 +665,7 @@ Vue.component("TCIDJump", {
<span style="cursor: pointer" v-if="rowData.DataType===9">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===10">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===11">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===14" @click="goSAirRec('TicketManager',rowData)">{{rowData.TCID}}</span>
</div>
`,
......@@ -704,6 +706,7 @@ Vue.component("TCNUMJump", {
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===7" @click="goRec('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===12" @click="goRec('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===13" @click="goRec('RecPayQuery',rowData)">机票折让{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===14" @click="goSAirRec('TicketManager',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===8" @click="goAIR('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===9">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===10">{{rowData.TCNUM}}</span>
......@@ -756,6 +759,13 @@ Vue.component("TCNUMJump", {
query: {'air':'air','StartDate':StartDate,"BankID":17,blank: "y"}
});
},
goSAirRec(path,rowData){
this.$router.push({
path: "/" + path,
query: {'id':rowData.TCID,blank: "y"}
});
},
goUrl(path, id) {
this.$router.push({
......
......@@ -23,6 +23,46 @@
.page_CompanyAccDetail .CAcc_bg_green{color: #2BB87C}
._addChuNa_tit{color: gray;margin-bottom: 10px;}
._addChuNa_tit span{ color:#333333}
.page_CompanyAccDetail ._addUpload_box{
display: block;
margin-top: 20px;
width:590px;
}
.page_CompanyAccDetail ._addUpload_box>div{
float: left;
width: 138px;
height: 92px;
border: 1px dashed rgba(210,210,210,1);
border-radius: 2px;
cursor: pointer;
padding: 5px;
margin:0 10px 10px 0;
position: relative;
}
.page_CompanyAccDetail .el-upload-dragger {
width: 126px!important;
height: 80px!important;
}
.page_CompanyAccDetail ._addUpload_box .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
.page_CompanyAccDetail ._addUpload_box .icon-guanbi1:hover {
font-size: 12px;
color: #c94052;
}
</style>
<template>
<div class='flexOne page_CompanyAccDetail'>
......@@ -299,7 +339,6 @@
<td>{{moneyFormat(payMsg.allMoney)}}</td>
</tr>
</template>
<tr>
<td height="34px">{{$t('fnc.a_zongjine')}}</td>
<td height="34px" colspan="7">
......@@ -337,12 +376,62 @@
</td>
</tr>
</table>
<el-form label-width="110px">
<el-row>
<el-col :span="12" :gutter="35">
<el-form-item label="上传凭证">
<div class="_addUpload_box clearfix" >
<template v-for="(file,fIndex) in saveMsg">
<div v-if="file.Type==3">
<div style="width:100%;height:100%;overflow: hidden;">
<img :src="file.Url?file.Url:file.Content" @click="showUpLoadFile(file)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
<div v-if="file.Type==1">
<div class="iconfont " :class="file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'" @click="showUpLoadFile(file)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
<div v-if="file.Type==2">
<div class="iconfont icon-excel" @click="showUpLoadFile(file)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
</template>
<div class="_pic_upload">
<el-upload
drag
:http-request="uploadFileBtn"
:multiple="true" :show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">{{$t('active.ld_djscwj')}}</div>
</el-upload>
</div>
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="normalBtn" type="primary" @click="submitAddChuNa">{{$t('pub.saveBtn')}}</button>
&nbsp;
<button class="hollowFixedBtn" @click="initAddChuNa">{{$t('pub.cancelBtn')}}</button>
</div>
</el-dialog>
<div v-if='picIsShow' class="_show_img_box" @click="picIsShow=false,picObj=[]">
<div style="position: absolute; width: 800px; height: 600px; left: 50%; top: 50%; margin-left: -400px; margin-top: -300px;">
<el-carousel :initial-index=initialIndex height="600px" :interval="5000" trigger="click">
<el-carousel-item style="height: 600px;overflow:auto;" v-for="(item,index) in picObj" :key="index">
<img :src="item" style=""/>
</el-carousel-item>
</el-carousel>
</div>
</div>
</div>
</template>
<script>
......@@ -408,6 +497,7 @@ export default {
RemitterName:'',
TradeDate:'',
BankList:[],
vorcherInos:[]
},
AccListT:[],
accountListT:[],
......@@ -421,6 +511,13 @@ export default {
isCheckAll:false,
//是否显示全选框
isShowCheckAll:false,
picIsShow:false,
picObj:[],
imgList:[],
//上传数组
saveMsg:[],
TradeDate:'',
initialIndex: 0,
}
},
created(){
......@@ -628,9 +725,10 @@ export default {
},
initAddChuNa(){
this.payMsgList = [];
this.saveMsg=[];
this.listAllMoney = 0;
this.huikuanren = '';
this.TradeDate = '';
this.TradeDate='';
this.addChuNa = false;
this.payMsg = {
ID:0,
......@@ -803,7 +901,8 @@ export default {
this.allLoading = true
this.apipost('Financial_post_MergeFinance',this.addMsg,r=>{
if(r.data.resultCode === 1) {
this.addChuNa = false
this.addChuNa = false;
this.saveMsg=[];
this.getList()
}else{
this.$message.error(r.data.message)
......@@ -950,6 +1049,63 @@ export default {
}else{}
},err=>{})
},
showUpLoadFile(i){ // 预览上传文件
if(i.Type==3){
this.picObj.push(i.Url);
this.imgList.push(i.Url);
this.picIsShow= false;
// this.hideFlashMan = true;
}else{
if(i.Content.substring(i.Content.lastIndexOf('.')+1,i.Content.length).toUpperCase()=='PDF'){
this.previewPDF(i.Url)
}else{
window.open("https://view.officeapps.live.com/op/view.aspx?src="+i.Url)
}
}
},
deleteUploadFile(i){ // 删除上传文件
this.saveMsg.splice(i,1);
this.addMsg.vorcherInos = this.saveMsg;
},
uploadFileBtn(file) { //上传
if(file.file.size > 1024 * 1024 * 10) {
this.Error('文件大小不能超过10M!')
return
}
// 1 文档 2 数据 3 图片
let typeArr=[
{stringArr:'GIF|JPG|JPEG|PNG|BMP',type:3},
{stringArr:'DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF',type:1},
]
let ft=file.file.name.substring(file.file.name.lastIndexOf('.')+1,file.file.name.length).toUpperCase();
let fileTypeNumber = 2;
let typeOk = false;
typeArr.forEach(x=>{
if(x.stringArr.indexOf(ft)!='-1')
{
fileTypeNumber=x.type
typeOk = true;
}
})
if (!typeOk) return this.Error('请上传图片、word、excel类型的文件!');
let newArr = [];
newArr.push(file.file)
let path = "/Upload/Temporary/"
this.$message.info('上传中...')
this.UploadSelfFileT(path, newArr, x => {
let fileSize = file.file.size<1024? file.file.size:(file.file.size / 1024).toFixed(0);
this.saveMsg.push({
Content: x.data.FilePath,
ID:0,
Type:fileTypeNumber,
Url: this.domainManager().ViittoFileUrl + x.data.FilePath,
})
this.addMsg.vorcherInos = this.saveMsg;
this.Success('上传成功');
});
},
},mounted(){
let userInfo=this.getLocalStorage();
this.getAccountTypeList();
......
......@@ -3,10 +3,35 @@
width: 100%;
height: 100%;
}
.color-info{
position: absolute;
left: 30px;
top: 15px;
padding: 10px 20px;
background-color: rgba(206, 206, 206, .5);
}
.color-info>span{
font-size: 14px;
padding-right: 15px;
}
.color-info .raius-color{
height: 10px;
width: 10px;
display: inline-block;
background-color: #1eb3ff;
border-radius: 50%;
}
.color-info .g .raius-color{
background-color: #5fffa3;
}
</style>
<template>
<div class="customerMap">
<div :style="{height:'100%',width:'100%'}" ref="myEchart" id="centerMpBaidu"></div>
<div class="color-info">
<span class="b">正式: <span class="raius-color"></span></span>
<span class="g">非正式: <span class="raius-color"></span></span>
</div>
</div>
</template>
<script>
......@@ -15,121 +40,80 @@ export default {
return {
map: {},
baiduMapData: [],
centerP: null
centerP: null,
options0: {
size: BMAP_POINT_SIZE_BIGGER,
shape: BMAP_POINT_SHAPE_CIRCLE,
color: '#1eb3ff'
},
options1: {
size: BMAP_POINT_SIZE_BIGGER,
shape: BMAP_POINT_SHAPE_CIRCLE,
color: '#5fffa3'
},
list0: [],
list1: [],
};
},
methods: {
creatMap(arr, type){
let _this = this
let data = this.baiduMapData;
//实例化,并设置最大最小缩放层级
let map = map = new BMap.Map("centerMpBaidu", {
this.map = new BMap.Map("centerMpBaidu", {
minZoom: 3,
maxZoom: 20,
});
//设置中心点、默认缩放层级
if (_this.centerP) {
map.centerAndZoom(new BMap.Point(_this.centerP.Lng, _this.centerP.Lat), 10);
this.map.centerAndZoom(new BMap.Point(_this.centerP.Lng, _this.centerP.Lat), 10);
} else {
map.centerAndZoom(new BMap.Point(104.0727017791, 30.6643622306), 10);
this.map.centerAndZoom(new BMap.Point(104.0727017791, 30.6643622306), 10);
}
this.map.setMapStyleV2({
styleId: '33046c341768c2774ab011cc7cf013d1'
});
//可以鼠标缩放
map.enableScrollWheelZoom(true);
const points = data
const markerClusterers = [[], [], []]
this.map.enableScrollWheelZoom(true);
const points = this.baiduMapData;
const markerClusterers = [[], [], []];
let list0 = [], list1 = [], list2 = [];
points.forEach(item => {
//实例化点
const point = new BMap.Point(item.Lng, item.Lat)
//自定义点的样式
// type 0 激活 绿色 20191125022113414
// 1 未拜访 紫色 20191125022118834
// 2 未激活 蓝色 20191125022116319
const icon = new BMap.Icon(
item.type === 0 ? 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022113414.png' : item.type === 1 ? 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022118834.png' : 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022116319.png',
new BMap.Size(34, 34)
);
//生成点标注
const marker = new BMap.Marker(point, { icon: icon });
// const infoWindow = new BMap.InfoWindow('简易的信息窗口')
//绑定事件,显示窗口
marker.addEventListener("click", function(){
_this.markerClick(point, item)
});
markerClusterers[item.type || 0].push(marker)
//添加点标注即添加覆盖物
map.addOverlay(marker);
})
// //2种聚合的实现
const size = new BMap.Size( 34, 34 )
var markerClusterer1 = new window.BMapLib.MarkerClusterer(map, {
markers: markerClusterers[1],
styles: [{
url:'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022118834.png',
size: size,
textSize: 18,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022118834.png',
size: size,
textSize: 16,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022118834.png',
size: size,
textSize: 14,
textColor: 'white',
}]
})
var markerClusterer2 = new window.BMapLib.MarkerClusterer(map, {
markers: markerClusterers[2],
styles: [{
url:'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022116319.png',
size: size,
textSize: 18,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022116319.png',
size: size,
textSize: 16,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022116319.png',
size: size,
textSize: 14,
textColor: 'white',
}]
let obj = new BMap.Point(item.Lng, item.Lat)
obj.CustomerId = item.CustomerId
if(item.type == 0) {
list0.push(obj)
} else if (item.type == 1){
list1.push(obj)
}
})
var markerClusterer4 = new window.BMapLib.MarkerClusterer(map, { markers: markerClusterers[0],
styles: [{
url:'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022113414.png',
size: size,
textSize: 18,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022113414.png',
size: size,
textSize: 16,
textColor: 'white',
}, {
url: 'http://imgfile.oytour.com/New/Upload/Cloud/2019-11/20191125022113414.png',
size: size,
textSize: 14,
textColor: 'white',
}] })
this.map = map
this.list0 = list0;
this.list1 = list1;
this.changePointsColor(this.list0,this.options0);
this.changePointsColor(this.list1,this.options1);
},
markerClick(point, item){
this.apipost('financestatistics_post_GetCustomerInfoForB2BKB', {CustomerId: item.CustomerId}, res=>{
changePointsColor(points, options){
var map = this.map;
var pointCollection = new BMap.PointCollection(points, options); // 初始化PointCollection
map.addOverlay(pointCollection); // 添加Overlay
this.markerClick(pointCollection);// 给点添加点击事件
},
markerClick(pointCollection){
var _this = this;
var map = this.map;
var data = this.markdatas;
pointCollection.addEventListener('click', function (e) {
_this.apipost('financestatistics_post_GetCustomerInfoForB2BKB', {CustomerId: e.point.CustomerId}, res=>{
if(res.data.resultCode == 1) {
const infoWindow = new BMap.InfoWindow(`
<p>联系人:${res.data.data.Contact}</p>
<p>联系电话:${res.data.data.ContactNumber}</p>
<p>门店名称:${res.data.data.CustomerName}</p>
<p>门店地址:${res.data.data.Address}</p>
<p style="font-size: 14px;">联系人:${res.data.data.Contact}</p>
<p style="font-size: 14px;">联系电话:${res.data.data.ContactNumber}</p>
<p style="font-size: 14px;">门店名称:${res.data.data.CustomerName}</p>
<p style="font-size: 14px;">门店地址:${res.data.data.Address}</p>
`)
this.map.openInfoWindow(infoWindow, point);
_this.map.openInfoWindow(infoWindow, e.point);
}
})
});
}
},
mounted() {
......@@ -148,13 +132,13 @@ export default {
x.type = 0
})
data.InActiveList.map(x=>{
x.type = 2
x.type = 0
})
data.NotVisit.map(x=>{
x.type = 1
})
// let baiduMapData = [...data.ActivateList, ...data.InActiveList, ...data.NotVisit];
let baiduMapData = [...data.NotVisit, ...data.ActivateList];
let baiduMapData = [...data.ActivateList, ...data.InActiveList, ...data.NotVisit];
// let baiduMapData = [...data.NotVisit, ...data.ActivateList];
this.baiduMapData = baiduMapData
this.creatMap()
}
......
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