Commit 4ca22c56 authored by youjie's avatar youjie
parents 55bfa3eb 9da31480
...@@ -65,18 +65,19 @@ ...@@ -65,18 +65,19 @@
text-align: center; text-align: center;
margin: 10px; margin: 10px;
} }
.PassengerList .disClick { .PassengerList .disClick {
background-color: #d1d1d1; background-color: #d1d1d1;
color: #fff; color: #fff;
border: 1px solid #d1d1d1; border: 1px solid #d1d1d1;
} }
.PassengerList .disClick:hover { .PassengerList .disClick:hover {
background-color: #d1d1d1 !important; background-color: #d1d1d1 !important;
cursor: default !important; cursor: default !important;
box-shadow: none !important; box-shadow: none !important;
} }
</style> </style>
<template> <template>
...@@ -99,7 +100,6 @@ ...@@ -99,7 +100,6 @@
</table> </table>
</li> </li>
<li> <li>
<!-- <input type="button" class="normalBtn" v-if="!allDIs" value="分房表确认" @click="querenHotel(2)"> -->
<input type="button" class="normalBtn" v-if="allDIs" value="取消分房表确认" @click="querenHotel(0)"> <input type="button" class="normalBtn" v-if="allDIs" value="取消分房表确认" @click="querenHotel(0)">
<input type="button" class="normalBtn" value="分房表下载" @click="exportExcel_singleRoom()"> <input type="button" class="normalBtn" value="分房表下载" @click="exportExcel_singleRoom()">
<input type="button" class="normalBtn" value="旅客名单下载" @click="exportExcel()"> <input type="button" class="normalBtn" value="旅客名单下载" @click="exportExcel()">
...@@ -148,12 +148,8 @@ ...@@ -148,12 +148,8 @@
</el-select> </el-select>
</td> </td>
<td> <td>
<!-- <el-select v-model="subItem.HouseType" placeholder="请选择" @change="changeRmType(subItem, subIndex)" v-if="subItem.IsLeaderOrder==1"> <el-select v-model="subItem.HouseType" placeholder="请选择"
<el-option :disabled="(subItem.HouseType == 1 && IsLeaderGuide == 1) || allDIs" @change="changeRmType1(subItem, subIndex,subItem.HouseType)" v-if="subItem.IsLeaderOrder==1">
v-for="(hs, hsIndex) in HouseTypeList" :key="hsIndex" :label="hs.HouseName" :value="hs.HouseType">
</el-option>
</el-select> -->
<el-select v-model="subItem.HouseType" placeholder="请选择" @change="changeRmType1(subItem, subIndex,subItem.HouseType)" v-if="subItem.IsLeaderOrder==1">
<el-option :disabled="(hs.disabled && IsLeaderGuide == 1) || allDIs" <el-option :disabled="(hs.disabled && IsLeaderGuide == 1) || allDIs"
v-for="(hs, hsIndex) in HouseTypeList" :key="hsIndex" :label="hs.HouseName" :value="hs.HouseType"> v-for="(hs, hsIndex) in HouseTypeList" :key="hsIndex" :label="hs.HouseName" :value="hs.HouseType">
</el-option> </el-option>
...@@ -189,7 +185,8 @@ ...@@ -189,7 +185,8 @@
</tr> </tr>
<tr v-if="!allDIs" style="height:50px; line-height:50px;"> <tr v-if="!allDIs" style="height:50px; line-height:50px;">
<td style="text-align:right" colspan="23"> <td style="text-align:right" colspan="23">
<input type="button" value="保存" :class="{'disClick':!isSubmit}" class="leader2Btn" @click="saveOPSetGuestHouse"> <input type="button" value="保存" :class="{'disClick':!isSubmit}" class="leader2Btn"
@click="saveOPSetGuestHouse">
</td> </td>
</tr> </tr>
</tbody> </tbody>
...@@ -260,12 +257,12 @@ ...@@ -260,12 +257,12 @@
houseList: [], houseList: [],
HouseTypeList: [], HouseTypeList: [],
//领队才能选数据 //领队才能选数据
LeaderHouseList:[], LeaderHouseList: [],
numberList: [], numberList: [],
dataList: [], dataList: [],
otherList: [], //单机票和自由行列表 otherList: [], //单机票和自由行列表
//只有两个项、 //只有两个项、
twoList:[], twoList: [],
allDIs: false, allDIs: false,
//验证重复提交 //验证重复提交
isSubmit: true, isSubmit: true,
...@@ -277,7 +274,7 @@ ...@@ -277,7 +274,7 @@
this.apipost( this.apipost(
"travel_get_UpdateOpSureHouse", { "travel_get_UpdateOpSureHouse", {
TCID: this.TCID, TCID: this.TCID,
OpSureHouse:OpSureHouse OpSureHouse: OpSureHouse
}, },
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
...@@ -291,11 +288,11 @@ ...@@ -291,11 +288,11 @@
); );
}, },
// 修改类型1 // 修改类型1
changeRmType1: function (obj, index,type) { changeRmType1: function (obj, index, type) {
if(type==1||type==6){ if (type == 1 || type == 6) {
this.HouseTypeList.forEach((x,index)=>{ this.HouseTypeList.forEach((x, index) => {
if(index!=0&&index!=5){ if (index != 0 && index != 5) {
x.disabled=true x.disabled = true
} }
}) })
} }
...@@ -309,7 +306,6 @@ ...@@ -309,7 +306,6 @@
list = list.sort(this.compare) list = list.sort(this.compare)
this.dataList = list; this.dataList = list;
}, },
// 修改类型 // 修改类型
changeRmType: function (obj, index) { changeRmType: function (obj, index) {
let list = this.dataList; let list = this.dataList;
...@@ -387,26 +383,6 @@ ...@@ -387,26 +383,6 @@
} }
return str; return str;
}, },
//获取房间类型
getHouseTypeStr(HouseType) {
var str = "";
if (HouseType == 1) {
str = "自然单间";
} else if (HouseType == 2) {
str = "标准双人间";
} else if (HouseType == 3) {
str = "大床房";
} else if (HouseType == 4) {
str = "三人间";
} else if (HouseType == 5) {
str = "拼凑双人间";
}else if (HouseType == 6) {
str = "司导间";
} else {
str = "未分配";
}
return str;
},
getHouseTypeList: function () { getHouseTypeList: function () {
this.apipost( this.apipost(
"travel_get_GetHouseType", "travel_get_GetHouseType",
...@@ -415,14 +391,14 @@ ...@@ -415,14 +391,14 @@
this.QueryMsg.loading = false; this.QueryMsg.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.HouseTypeList = res.data.data; this.HouseTypeList = res.data.data;
this.LeaderHouseList=[]; this.LeaderHouseList = [];
this.twoList=[]; this.twoList = [];
this.HouseTypeList.forEach(x=>{ this.HouseTypeList.forEach(x => {
x.disabled=false; x.disabled = false;
if(x.HouseType!=6){ if (x.HouseType != 6) {
this.LeaderHouseList.push(x) this.LeaderHouseList.push(x)
} }
if(x.HouseType==1||x.HouseType==6){ if (x.HouseType == 1 || x.HouseType == 6) {
this.twoList.push(x); this.twoList.push(x);
} }
}) })
...@@ -431,30 +407,6 @@ ...@@ -431,30 +407,6 @@
err => {} err => {}
); );
}, },
setDataList: function (list) {
var Diningmap = {},
Diningdest = [];
for (var i = 0; i < list.length; i++) {
var ai = list[i];
if (!Diningmap[ai.HouseNo]) {
Diningdest.push({
HouseType: ai.HouseType,
HouseNo: ai.HouseNo,
data: [ai]
});
Diningmap[ai.HouseNo] = ai;
} else {
for (var j = 0; j < Diningdest.length; j++) {
var dj = Diningdest[j];
if (dj.HouseType == ai.HouseType && dj.HouseNo == ai.HouseNo) {
dj.data.push(ai);
break;
}
}
}
}
this.QueryMsg.dataList = Diningdest;
},
//获取数据 //获取数据
getList() { getList() {
this.QueryMsg.loading = true; this.QueryMsg.loading = true;
...@@ -513,27 +465,26 @@ ...@@ -513,27 +465,26 @@
TCID: this.msg.TCID, TCID: this.msg.TCID,
isGetTicket: 1, //不查询机票 isGetTicket: 1, //不查询机票
isGetZiYouXing: 0, //查询自由行 isGetZiYouXing: 0, //查询自由行
isOnlyFenFang:1,//只查询已分房的 isOnlyFenFang: 1, //只查询已分房的
}; };
var fileName = "旅客名单.xls"; var fileName = "旅客名单.xls";
if (this.QueryMsg.TeamInfoData != null) { if (this.QueryMsg.TeamInfoData != null) {
fileName = fileName =
"【" + this.QueryMsg.TeamInfoData[0].TCNUM + "】分房表["+this.getCurrentTime()+"].xls"; "【" + this.QueryMsg.TeamInfoData[0].TCNUM + "】分房表[" + this.getCurrentTime() + "].xls";
} }
this.GetLocalFile("travel_get_GetTravelRoomExport", msg, fileName, res => { this.GetLocalFile("travel_get_GetTravelRoomExport", msg, fileName, res => {
this.QueryMsg.loading = false; this.QueryMsg.loading = false;
}); });
}, },
getCurrentTime() getCurrentTime() {
{
var date = new Date(); var date = new Date();
var year = date.getFullYear(); var year = date.getFullYear();
var month = date.getMonth()+1; var month = date.getMonth() + 1;
var day = date.getDate(); var day = date.getDate();
var hour = date.getHours(); var hour = date.getHours();
var minute = date.getMinutes(); var minute = date.getMinutes();
var second = date.getSeconds(); var second = date.getSeconds();
return year+'_'+month+'_'+day+'_'+hour+'_'+minute+'_'+second; return year + '_' + month + '_' + day + '_' + hour + '_' + minute + '_' + second;
}, },
//获取团期信息 //获取团期信息
getTeamInfo() { getTeamInfo() {
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<div class="approval_layer_info" v-if="approvalType==2"> <div class="approval_layer_info" v-if="approvalType==2">
<div class="normalMember"> <div class="normalMember">
<ul> <ul>
<li v-for="item in showMember">{{item.DepartmentName}}</li> <!-- @click="mySetCheckedKeys(item.DepartmentId)"--> <li v-for="item in showMember">{{item.DepartmentName}}</li>
</ul> </ul>
</div> </div>
<input type="button" class="normalBtn" @click="getMember(),mySetCheckedKeys(-1)" value="添加成员" /> <input type="button" class="normalBtn" @click="getMember(),mySetCheckedKeys(-1)" value="添加成员" />
...@@ -48,7 +48,6 @@ ...@@ -48,7 +48,6 @@
</el-radio-group> </el-radio-group>
</div> </div>
</div> </div>
</div> </div>
<div class="approval_page_layer_bottom"> <div class="approval_page_layer_bottom">
<input type="button" class="hollowFixedBtn" value="取消" @click="closeLayer" /> &nbsp;&nbsp; <input type="button" class="hollowFixedBtn" value="取消" @click="closeLayer" /> &nbsp;&nbsp;
...@@ -57,19 +56,22 @@ ...@@ -57,19 +56,22 @@
</div> </div>
</div> </div>
</div> </div>
<input type="button" class="hollowFixedBtn approval_back_btn" value="返回" @click="goback"/> <input type="button" class="hollowFixedBtn approval_back_btn" value="返回" @click="goback" />
<div class="approval_page_content" v-loading="loading"> <div class="approval_page_content" v-loading="loading">
<p style="text-align: center; border-bottom:1px solid #f1f1f1; padding: 15px 0 10px 0;font-size: 16px;">{{TemplateTypeName}}流程设置</p> <p style="text-align: center; border-bottom:1px solid #f1f1f1; padding: 15px 0 10px 0;font-size: 16px;">
{{TemplateTypeName}}流程设置</p>
<div class="approval_page_title">默认审批流程</div> <div class="approval_page_title">默认审批流程</div>
<div class="approval_person_content"> <div class="approval_person_content">
<span class="approval_span_type">默认审批人</span> <span class="approval_span_type">默认审批人</span>
<div class="approval_person_list fl"> <div class="approval_person_list fl">
<div class="approval_process_item" draggable="true" v-for="(item,index) in myAuditList" @click="getItemValue(item,index)"> <div class="approval_process_item" draggable="true" v-for="(item,index) in myAuditList"
@click="getItemValue(item,index)">
<span style="position: relative;" @mouseenter="itemIndex=index" @mouseleave="itemIndex='-1'"> <span style="position: relative;" @mouseenter="itemIndex=index" @mouseleave="itemIndex='-1'">
<i class="iconfont icon-user11"></i> <i class="iconfont icon-user11"></i>
{{item.AuditDescription}}&nbsp; {{item.AuditDescription}}&nbsp;
<b class="bnotice" v-if="item.AuditWay!=1">({{item.AuditWay=="2"?'会签':'或签'}})</b> <b class="bnotice" v-if="item.AuditWay!=1">({{item.AuditWay=="2"?'会签':'或签'}})</b>
<em v-if='index==itemIndex' class="iconfont icon-guanbi approval_process_item_delete" @click.stop='deleteItem(item.Sort)'></em> <em v-if='index==itemIndex' class="iconfont icon-guanbi approval_process_item_delete"
@click.stop='deleteItem(item.Sort)'></em>
</span> </span>
<i class="iconfont icon-jiantouyou"></i> <i class="iconfont icon-jiantouyou"></i>
</div> </div>
...@@ -83,10 +85,11 @@ ...@@ -83,10 +85,11 @@
<span style="position: relative;" @mouseenter="itemIndex1=index" @mouseleave="itemIndex1='-1'"> <span style="position: relative;" @mouseenter="itemIndex1=index" @mouseleave="itemIndex1='-1'">
<i class="iconfont icon-user11"></i> <i class="iconfont icon-user11"></i>
{{item.EmName}}&nbsp; {{item.EmName}}&nbsp;
<em v-if='index==itemIndex1' @click="deleteUser(item.EmployeeId)" class="iconfont icon-guanbi approval_process_item_delete" ></em> <em v-if='index==itemIndex1' @click="deleteUser(item.EmployeeId)"
class="iconfont icon-guanbi approval_process_item_delete"></em>
</span> </span>
</div> </div>
<input type="button" class="hollowFixedBtn" value="添加" @click='addAuditUser'/> <input type="button" class="hollowFixedBtn" value="添加" @click='addAuditUser' />
</div> </div>
</div> </div>
...@@ -99,7 +102,8 @@ ...@@ -99,7 +102,8 @@
<div> <div>
<div class="processOtherDiv" v-for="(item,index) in otherList" @click="goUrl('updateProcessDesign',item.Id)"> <div class="processOtherDiv" v-for="(item,index) in otherList" @click="goUrl('updateProcessDesign',item.Id)">
<p style="background: #f1f1f1; padding: 10px 30px;">{{item.Description}} <p style="background: #f1f1f1; padding: 10px 30px;">{{item.Description}}
<span class="fr processOtherdelSpan" style="margin-left: 10px;" @click.stop="deleteOtherProcess(item.Id)">删除</span> <span class="fr processOtherdelSpan" style="margin-left: 10px;"
@click.stop="deleteOtherProcess(item.Id)">删除</span>
<span class="fr processOtherdelSpan">修改</span> <span class="fr processOtherdelSpan">修改</span>
</p> </p>
<div style="padding: 0 30px;"> <div style="padding: 0 30px;">
...@@ -134,14 +138,8 @@ ...@@ -134,14 +138,8 @@
<p style="margin: 0 0 10px 0;">选择: <el-input class='w200' placeholder="输入关键字进行过滤" v-model="filterText"> <p style="margin: 0 0 10px 0;">选择: <el-input class='w200' placeholder="输入关键字进行过滤" v-model="filterText">
</el-input> </el-input>
</p> </p>
<el-tree class='ApprovalProcessBg' <el-tree class='ApprovalProcessBg' :data="memberList" show-checkbox :filter-node-method="filterNode" ref="tree"
:data="memberList" :props="defaultProps" :render-after-expand="false" node-key="DepartmentId" @check-change="handleNodeChange">
show-checkbox
:filter-node-method="filterNode"
ref="tree" :props="defaultProps"
:render-after-expand="false"
node-key="DepartmentId"
@check-change="handleNodeChange">
</el-tree> </el-tree>
</div> </div>
<div class="fl"> <div class="fl">
...@@ -163,14 +161,8 @@ ...@@ -163,14 +161,8 @@
<p style="margin: 0 0 10px 0;">选择岗位: <el-input class='w200' placeholder="输入关键字进行过滤" v-model="filterText1"> <p style="margin: 0 0 10px 0;">选择岗位: <el-input class='w200' placeholder="输入关键字进行过滤" v-model="filterText1">
</el-input> </el-input>
</p> </p>
<el-tree class='ApprovalProcessBg' <el-tree class='ApprovalProcessBg' :data="roleList" ref="treeRole" show-checkbox
:data="roleList" :filter-node-method="filterNode1" :props="defaultProps1" @check-change="checkedRole">
ref="treeRole"
show-checkbox
:filter-node-method="filterNode1"
:props="defaultProps1"
@check-change="checkedRole"
>
</el-tree> </el-tree>
</div> </div>
<div class="fl"> <div class="fl">
...@@ -192,14 +184,8 @@ ...@@ -192,14 +184,8 @@
<p style="margin: 0 0 10px 0;">选择抄送人:<el-input class='w200' placeholder="输入关键字进行过滤" v-model="filterText2"> <p style="margin: 0 0 10px 0;">选择抄送人:<el-input class='w200' placeholder="输入关键字进行过滤" v-model="filterText2">
</el-input> </el-input>
</p> </p>
<el-tree class='ApprovalProcessBg' <el-tree class='ApprovalProcessBg' :data="userList" show-checkbox :filter-node-method="filterNode2"
:data="userList" ref="treeUser" :props="defaultProps2" :render-after-expand="false" node-key="DepartmentId"
show-checkbox
:filter-node-method="filterNode2"
ref="treeUser"
:props="defaultProps2"
:render-after-expand="false"
node-key="DepartmentId"
@check-change="handleNodeChange1"> @check-change="handleNodeChange1">
</el-tree> </el-tree>
</div> </div>
...@@ -216,8 +202,6 @@ ...@@ -216,8 +202,6 @@
<button class="normalBtn" type="primary" @click="saveAuditUser">确定</button> <button class="normalBtn" type="primary" @click="saveAuditUser">确定</button>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
...@@ -225,9 +209,9 @@ ...@@ -225,9 +209,9 @@
export default { export default {
data() { data() {
return { return {
filterText:"", filterText: "",
filterText1:"", filterText1: "",
filterText2:"", filterText2: "",
defaultProps: { defaultProps: {
children: 'ChildList', children: 'ChildList',
label: 'DepartmentName', label: 'DepartmentName',
...@@ -266,56 +250,56 @@ ...@@ -266,56 +250,56 @@
label: '第6级主管' label: '第6级主管'
}, },
], ],
TemplateType:'', TemplateType: '',
addBtn:true, addBtn: true,
loading:true, loading: true,
dialogTitle: '', dialogTitle: '',
outerVisible:false, outerVisible: false,
outerVisible1:false, outerVisible1: false,
outerVisible2:false, outerVisible2: false,
itemIndex: -1, itemIndex: -1,
itemIndex1: -1, itemIndex1: -1,
approvalType: 1, approvalType: 1,
showlayer: false, showlayer: false,
isTransition: false, isTransition: false,
updateItem:[], updateItem: [],
updateItemIndex:-1, //修改节点 updateItemIndex: -1, //修改节点
TemplateId:'', TemplateId: '',
addMsg:{ addMsg: {
Id:'', Id: '',
TemplateId:'', TemplateId: '',
AuditList:[], AuditList: [],
AuditUserList:[], AuditUserList: [],
ConditionSortList:[], ConditionSortList: [],
Sort:'', Sort: '',
}, },
zgObj: { zgObj: {
AuditDescription: '', AuditDescription: '',
RoleOrInitiator: '1', RoleOrInitiator: '1',
AuditType: '', AuditType: '',
AuditUserList: [], AuditUserList: [],
AuditWay:2, AuditWay: 2,
Sort: '', Sort: '',
}, },
tempChosenId: -1, tempChosenId: -1,
//返回数据 //返回数据
TemplateTypeName:'', TemplateTypeName: '',
myAuditList: [], myAuditList: [],
myAuditUserList: [], myAuditUserList: [],
myAuditUserList1:[], myAuditUserList1: [],
memberList: [], memberList: [],
sysUserKeys:[], sysUserKeys: [],
userList:[], userList: [],
roleList: [], roleList: [],
checkedMember: [], checkedMember: [],
showMember: [], showMember: [],
showRole:[], showRole: [],
memberSetCheckedKeys: [], memberSetCheckedKeys: [],
memberSetCheckedUserKeys:[], memberSetCheckedUserKeys: [],
normalMember: [], normalMember: [],
otherList:[], otherList: [],
otherListSpr:[], otherListSpr: [],
otherListCsr:[], otherListCsr: [],
} }
}, },
watch: { watch: {
...@@ -342,96 +326,100 @@ ...@@ -342,96 +326,100 @@
if (!value) return true; if (!value) return true;
return data.DepartmentName.indexOf(value) !== -1; return data.DepartmentName.indexOf(value) !== -1;
}, },
deleteOtherProcess(id){ deleteOtherProcess(id) {
this.$confirm('是否删除?', '提示', { this.$confirm('是否删除?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.apipost('WorkFlow_post_DelOtherCondition',{ConditionId:id},res=>{ this.apipost('WorkFlow_post_DelOtherCondition', {
if(res.data.resultCode==1){ ConditionId: id
}, res => {
if (res.data.resultCode == 1) {
this.$message.success('删除成功!'); this.$message.success('删除成功!');
this.getOtherList() this.getOtherList()
} }
},err=>{}) }, err => {})
}).catch(() => { }).catch(() => {
this.$message.info('已取消删除!'); this.$message.info('已取消删除!');
}); });
}, },
addAppPerson(){ addAppPerson() {
this.approvalType=1; this.approvalType = 1;
this.addBtn=true; this.addBtn = true;
this.showLayer(); this.showLayer();
}, },
deleteUser(id){ deleteUser(id) {
if(this.memberSetCheckedUserKeys.findIndex(item => item === id)!=-1){ if (this.memberSetCheckedUserKeys.findIndex(item => item === id) != -1) {
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === id), 1) this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === id), 1)
} }
if(this.myAuditUserList.findIndex(item => item.EmployeeId === id)!=-1) if (this.myAuditUserList.findIndex(item => item.EmployeeId === id) != -1) {
{
this.myAuditUserList.splice(this.myAuditUserList.findIndex(item => item.EmployeeId === id), 1) this.myAuditUserList.splice(this.myAuditUserList.findIndex(item => item.EmployeeId === id), 1)
} }
if(this.myAuditUserList1.findIndex(item => item.EmployeeId === id)!=-1) if (this.myAuditUserList1.findIndex(item => item.EmployeeId === id) != -1) {
{
this.myAuditUserList1.splice(this.myAuditUserList1.findIndex(item => item.EmployeeId === id), 1) this.myAuditUserList1.splice(this.myAuditUserList1.findIndex(item => item.EmployeeId === id), 1)
} }
}, },
addAuditUser(){ addAuditUser() {
let _arr=this.sysUserKeys.concat(this.memberSetCheckedUserKeys) let _arr = this.sysUserKeys.concat(this.memberSetCheckedUserKeys)
this.dialogTitle = '选择人员'; this.dialogTitle = '选择人员';
this.outerVisible2=true; this.outerVisible2 = true;
let _this=this; let _this = this;
this.apipost('WorkFlow_get_GetDepartMentEmployee', {}, res => { this.apipost('WorkFlow_get_GetDepartMentEmployee', {}, res => {
if(res.data.resultCode==1){ if (res.data.resultCode == 1) {
this.userList = res.data.data this.userList = res.data.data
_this.$refs.treeUser.setCheckedKeys(_arr); _this.$refs.treeUser.setCheckedKeys(_arr);
} }
}, err => {}) }, err => {})
}, },
saveAuditUser(){ saveAuditUser() {
if(this.myAuditUserList1.length<=10){ if (this.myAuditUserList1.length <= 10) {
this.myAuditUserList=JSON.parse(JSON.stringify(this.myAuditUserList1)) this.myAuditUserList = JSON.parse(JSON.stringify(this.myAuditUserList1))
this.outerVisible2 = false this.outerVisible2 = false
}else{ } else {
this.$message.error('人数不能超过10人') this.$message.error('人数不能超过10人')
return false; return false;
} }
}, },
clearValue(value){ clearValue(value) {
if(value=='1'){ if (value == '1') {
this.zgObj.RoleOrInitiator='1' this.zgObj.RoleOrInitiator = '1'
} }
if(value=='2'){ if (value == '2') {
this.showMember=[]; this.showMember = [];
this.memberSetCheckedKeys=[]; this.memberSetCheckedKeys = [];
} }
if(value=='3'){ if (value == '3') {
this.showRole=[] this.showRole = []
this.zgObj.AuditWay=2 this.zgObj.AuditWay = 2
} }
}, },
getList() { getList() {
this.apipost('WorkFlow_get_GetDefaultCondition', {TemplateId:this.TemplateId}, res => { this.apipost('WorkFlow_get_GetDefaultCondition', {
if(res.data.resultCode == 1) { TemplateId: this.TemplateId
this.loading=false }, res => {
this.addMsg.Id=res.data.data.Id if (res.data.resultCode == 1) {
this.myAuditList = res.data.data.AuditList==null?[]:res.data.data.AuditList this.loading = false
this.myAuditUserList = res.data.data.AuditUserList==null?[]:res.data.data.AuditUserList this.addMsg.Id = res.data.data.Id
this.myAuditList = res.data.data.AuditList == null ? [] : res.data.data.AuditList
this.myAuditUserList = res.data.data.AuditUserList == null ? [] : res.data.data.AuditUserList
this.myAuditUserList1 = JSON.parse(JSON.stringify(this.myAuditUserList)) this.myAuditUserList1 = JSON.parse(JSON.stringify(this.myAuditUserList))
this.myAuditUserList1.forEach(item=>{ this.myAuditUserList1.forEach(item => {
this.sysUserKeys.push(item.EmployeeId) this.sysUserKeys.push(item.EmployeeId)
}) })
this.TemplateTypeName=res.data.data.TemplateTypeName this.TemplateTypeName = res.data.data.TemplateTypeName
this.TemplateType=res.data.data.TemplateType; this.TemplateType = res.data.data.TemplateType;
} else {} } else {}
}, error => {}) }, error => {})
}, },
getOtherList(){ getOtherList() {
this.apipost('WorkFlow_get_GetOtherConditionList', {TemplateId:this.TemplateId}, res => { this.apipost('WorkFlow_get_GetOtherConditionList', {
if(res.data.resultCode == 1) { TemplateId: this.TemplateId
this.otherList=res.data.data }, res => {
this.otherListSpr=res.data.data.AuditList if (res.data.resultCode == 1) {
this.otherList = res.data.data
this.otherListSpr = res.data.data.AuditList
} else {} } else {}
}, error => {}) }, error => {})
}, },
...@@ -451,15 +439,15 @@ ...@@ -451,15 +439,15 @@
}, },
handleNodeChange1(data, checked) { handleNodeChange1(data, checked) {
data.IsCheck = checked; data.IsCheck = checked;
if(data.Type == 2 && data.IsCheck) { //是员工且选中 if (data.Type == 2 && data.IsCheck) { //是员工且选中
let isExsit = false let isExsit = false
this.myAuditUserList1.forEach(x => { this.myAuditUserList1.forEach(x => {
if(x.EmployeeId == data.DepartmentId) { if (x.EmployeeId == data.DepartmentId) {
isExsit = true isExsit = true
return false return false
} }
}) })
if(!isExsit) { if (!isExsit) {
this.myAuditUserList1.push({ this.myAuditUserList1.push({
EmName: data.DepartmentName, EmName: data.DepartmentName,
EmployeeId: data.DepartmentId, EmployeeId: data.DepartmentId,
...@@ -467,71 +455,76 @@ ...@@ -467,71 +455,76 @@
}) })
this.memberSetCheckedUserKeys.push(data.DepartmentId) this.memberSetCheckedUserKeys.push(data.DepartmentId)
} }
} else if(data.Type == 2 && !data.IsCheck) { } else if (data.Type == 2 && !data.IsCheck) {
if(this.myAuditUserList1.findIndex(item => item.EmployeeId === data.DepartmentId) != -1) { if (this.myAuditUserList1.findIndex(item => item.EmployeeId === data.DepartmentId) != -1) {
this.myAuditUserList1.splice(this.myAuditUserList1.findIndex(item => item.EmployeeId === data.DepartmentId), 1) this.myAuditUserList1.splice(this.myAuditUserList1.findIndex(item => item.EmployeeId === data.DepartmentId),
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data.DepartmentId), 1) 1)
if(this.myAuditUserList1.findIndex(item => item.EmployeeId === data.ParentId) != -1) { this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data.ParentId), 1) .DepartmentId), 1)
if (this.myAuditUserList1.findIndex(item => item.EmployeeId === data.ParentId) != -1) {
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data
.ParentId), 1)
} }
} }
} }
if(data.Type != 2 && data.IsCheck) { if (data.Type != 2 && data.IsCheck) {
if(this.memberSetCheckedUserKeys.findIndex(item => item === data.DepartmentId) == -1) { if (this.memberSetCheckedUserKeys.findIndex(item => item === data.DepartmentId) == -1) {
this.memberSetCheckedUserKeys.push(data.DepartmentId) this.memberSetCheckedUserKeys.push(data.DepartmentId)
} }
} else if(data.Type == 2 && !data.IsCheck) { } else if (data.Type == 2 && !data.IsCheck) {
if(this.memberSetCheckedUserKeys.findIndex(item => item === data.DepartmentId) != -1) { if (this.memberSetCheckedUserKeys.findIndex(item => item === data.DepartmentId) != -1) {
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data.DepartmentId), 1) this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data
if(this.myAuditUserList1.findIndex(item => item.EmployeeId === data.ParentId) != -1) { .DepartmentId), 1)
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data.ParentId), 1) if (this.myAuditUserList1.findIndex(item => item.EmployeeId === data.ParentId) != -1) {
this.memberSetCheckedUserKeys.splice(this.memberSetCheckedUserKeys.findIndex(item => item === data
.ParentId), 1)
} }
} }
} }
}, },
handleNodeChange(data, checked) { handleNodeChange(data, checked) {
data.IsCheck = checked; data.IsCheck = checked;
if(data.Type == 2 && data.IsCheck) { //是员工且选中 if (data.Type == 2 && data.IsCheck) { //是员工且选中
let isExsit = false let isExsit = false
this.showMember.forEach(x => { this.showMember.forEach(x => {
if(x.DepartmentId == data.DepartmentId) { if (x.DepartmentId == data.DepartmentId) {
isExsit = true isExsit = true
return false return false
} }
}) })
if(!isExsit) { if (!isExsit) {
this.showMember.push({ this.showMember.push({
DepartmentName: data.DepartmentName, DepartmentName: data.DepartmentName,
DepartmentId: data.DepartmentId DepartmentId: data.DepartmentId
}) })
this.memberSetCheckedKeys.push(data.DepartmentId) this.memberSetCheckedKeys.push(data.DepartmentId)
} }
} else if(data.Type == 2 && !data.IsCheck) { } else if (data.Type == 2 && !data.IsCheck) {
if(this.showMember.findIndex(item => item.DepartmentId === data.DepartmentId) != -1) { if (this.showMember.findIndex(item => item.DepartmentId === data.DepartmentId) != -1) {
this.showMember.splice(this.showMember.findIndex(item => item.DepartmentId === data.DepartmentId), 1) this.showMember.splice(this.showMember.findIndex(item => item.DepartmentId === data.DepartmentId), 1)
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId), 1) this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId), 1)
if(this.showMember.findIndex(item => item.DepartmentId === data.ParentId) != -1) { if (this.showMember.findIndex(item => item.DepartmentId === data.ParentId) != -1) {
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.ParentId), 1) this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.ParentId), 1)
} }
} }
} }
if(data.Type != 2 && data.IsCheck) { if (data.Type != 2 && data.IsCheck) {
if(this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId) == -1) { if (this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId) == -1) {
this.memberSetCheckedKeys.push(data.DepartmentId) this.memberSetCheckedKeys.push(data.DepartmentId)
} }
} else if(data.Type == 2 && !data.IsCheck) { } else if (data.Type == 2 && !data.IsCheck) {
if(this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId) != -1) { if (this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId) != -1) {
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId), 1) this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.DepartmentId), 1)
if(this.showMember.findIndex(item => item.DepartmentId === data.ParentId) != -1) { if (this.showMember.findIndex(item => item.DepartmentId === data.ParentId) != -1) {
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.ParentId), 1) this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === data.ParentId), 1)
} }
} }
} }
}, },
mySetCheckedKeys(id) { mySetCheckedKeys(id) {
if(this.memberSetCheckedKeys.length == 0) if (this.memberSetCheckedKeys.length == 0)
return return
if(id == -1) { if (id == -1) {
this.$refs.tree.setCheckedKeys(this.memberSetCheckedKeys) this.$refs.tree.setCheckedKeys(this.memberSetCheckedKeys)
return return
} }
...@@ -539,34 +532,36 @@ ...@@ -539,34 +532,36 @@
this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === id), 1) this.memberSetCheckedKeys.splice(this.memberSetCheckedKeys.findIndex(item => item === id), 1)
this.$refs.tree.setCheckedKeys(this.memberSetCheckedKeys); this.$refs.tree.setCheckedKeys(this.memberSetCheckedKeys);
}, },
mySetCheckedUsersKeys(){ mySetCheckedUsersKeys() {
}, },
checkedRole(data,checked){ checkedRole(data, checked) {
data.IsCheck = checked; data.IsCheck = checked;
if(data.Disabled==false&&data.IsCheck){ if (data.Disabled == false && data.IsCheck) {
this.showRole=[]; this.showRole = [];
this.showRole.push({DepartmentName:data.DepartmentName,Id:data.DepartmentId}) this.showRole.push({
DepartmentName: data.DepartmentName,
Id: data.DepartmentId
})
} }
}, },
deleteItem(sort) { deleteItem(sort) {
this.myAuditList.splice(this.myAuditList.findIndex(item => item.Sort === sort), 1) this.myAuditList.splice(this.myAuditList.findIndex(item => item.Sort === sort), 1)
}, },
getItemValue(obj,index){ getItemValue(obj, index) {
this.addBtn=false; this.addBtn = false;
this.updateItemIndex=index; this.updateItemIndex = index;
this.updateItem=obj; this.updateItem = obj;
this.showLayer(); this.showLayer();
this.approvalType=obj.AuditType; this.approvalType = obj.AuditType;
if(obj.AuditType==1){ if (obj.AuditType == 1) {
this.zgObj.RoleOrInitiator=obj.RoleOrInitiator.toString(); this.zgObj.RoleOrInitiator = obj.RoleOrInitiator.toString();
} }
if(obj.AuditType==2){ if (obj.AuditType == 2) {
this.showMember=[]; this.showMember = [];
this.memberSetCheckedKeys=[]; this.memberSetCheckedKeys = [];
this.zgObj.AuditWay=obj.AuditWay; this.zgObj.AuditWay = obj.AuditWay;
obj.AuditUserList.forEach((item,index)=>{ obj.AuditUserList.forEach((item, index) => {
this.showMember.push({ this.showMember.push({
DepartmentName: item.EmName, DepartmentName: item.EmName,
DepartmentId: item.EmployeeId DepartmentId: item.EmployeeId
...@@ -574,24 +569,25 @@ ...@@ -574,24 +569,25 @@
this.memberSetCheckedKeys.push(item.EmployeeId) this.memberSetCheckedKeys.push(item.EmployeeId)
}) })
} }
if(obj.AuditType==3){ if (obj.AuditType == 3) {
this.zgObj.AuditWay=obj.AuditWay; this.zgObj.AuditWay = obj.AuditWay;
this.showRole=[]; this.showRole = [];
this.showRole.push({DepartmentName:obj.AuditDescription}) this.showRole.push({
DepartmentName: obj.AuditDescription
})
} }
}, },
saveUpdateNode(){ saveUpdateNode() {
let zg = {} let zg = {}
if(this.approvalType == 1) if (this.approvalType == 1) {
{
zg.AuditType = 1; zg.AuditType = 1;
zg.AuditWay = 1; zg.AuditWay = 1;
zg.AuditUserList=[], zg.AuditUserList = [],
zg.Sort = this.myAuditList.length + 1; zg.Sort = this.myAuditList.length + 1;
zg.RoleOrInitiator = this.zgObj.RoleOrInitiator zg.RoleOrInitiator = this.zgObj.RoleOrInitiator
let obj = {} let obj = {}
if(this.tempChosenId != -1) { if (this.tempChosenId != -1) {
obj = this.zgList.find((item) => { obj = this.zgList.find((item) => {
return item.value === this.tempChosenId; return item.value === this.tempChosenId;
}) })
...@@ -599,22 +595,22 @@ ...@@ -599,22 +595,22 @@
} else { } else {
zg.AuditDescription = '直接主管' zg.AuditDescription = '直接主管'
} }
this.myAuditList[this.updateItemIndex]=zg; this.myAuditList[this.updateItemIndex] = zg;
} }
if(this.approvalType == 2) { //指定成员 if (this.approvalType == 2) { //指定成员
let Au = this.showMember; let Au = this.showMember;
let Auu = []; let Auu = [];
Au.forEach((item, index) => { Au.forEach((item, index) => {
Auu.push({ Auu.push({
EmployeeId: item.DepartmentId, EmployeeId: item.DepartmentId,
EmName:item.DepartmentName, EmName: item.DepartmentName,
Sort: index Sort: index
}) })
}) })
if(Auu.length==1){ if (Auu.length == 1) {
zg.AuditWay = 1 zg.AuditWay = 1
zg.AuditDescription = Auu[0].EmName zg.AuditDescription = Auu[0].EmName
}else if(Auu.length>1){ } else if (Auu.length > 1) {
zg.AuditWay = this.zgObj.AuditWay; zg.AuditWay = this.zgObj.AuditWay;
zg.AuditDescription = '指定' + this.showMember.length + '人' zg.AuditDescription = '指定' + this.showMember.length + '人'
} }
...@@ -622,35 +618,33 @@ ...@@ -622,35 +618,33 @@
zg.RoleOrInitiator = '-1'; zg.RoleOrInitiator = '-1';
zg.Sort = this.myAuditList.length + 1; zg.Sort = this.myAuditList.length + 1;
zg.AuditUserList = Auu; zg.AuditUserList = Auu;
if(Auu.length==0) if (Auu.length == 0) {
{
this.$message.error("成员不能为空") this.$message.error("成员不能为空")
return return
}else if(Auu.length>10){ } else if (Auu.length > 10) {
this.$message.error("人数不能超过10人!") this.$message.error("人数不能超过10人!")
return return
} }
this.myAuditList[this.updateItemIndex]=zg; this.myAuditList[this.updateItemIndex] = zg;
} }
if(this.approvalType == 3) { //岗位 if (this.approvalType == 3) { //岗位
zg.AuditType=3; zg.AuditType = 3;
zg.AuditWay = this.zgObj.AuditWay; zg.AuditWay = this.zgObj.AuditWay;
zg.Sort = this.myAuditList.length + 1; zg.Sort = this.myAuditList.length + 1;
zg.AuditUserList=''; zg.AuditUserList = '';
if(this.showRole.length==0) if (this.showRole.length == 0) {
{
this.$message.error("请选择岗位") this.$message.error("请选择岗位")
return return
}else{ } else {
zg.RoleOrInitiator=this.showRole[0].Id; zg.RoleOrInitiator = this.showRole[0].Id;
zg.AuditDescription=this.showRole[0].DepartmentName; zg.AuditDescription = this.showRole[0].DepartmentName;
} }
this.myAuditList[this.updateItemIndex]=zg; this.myAuditList[this.updateItemIndex] = zg;
} }
this.closeLayer() this.closeLayer()
}, },
deleteRole(){ deleteRole() {
this.showRole=[]; this.showRole = [];
}, },
changeValue(value) { changeValue(value) {
this.tempChosenId = value this.tempChosenId = value
...@@ -658,15 +652,15 @@ ...@@ -658,15 +652,15 @@
addNode() { addNode() {
//data>>AuditList>>AuditType 核人类型 1主管(指定一级) 2 指定成员 3角色 //data>>AuditList>>AuditType 核人类型 1主管(指定一级) 2 指定成员 3角色
let zg = {} let zg = {}
if(this.approvalType == 1) //主管 if (this.approvalType == 1) //主管
{ {
zg.AuditType = 1; zg.AuditType = 1;
zg.AuditWay = 1; zg.AuditWay = 1;
zg.AuditUserList=[], zg.AuditUserList = [],
zg.Sort = this.myAuditList.length + 1; zg.Sort = this.myAuditList.length + 1;
zg.RoleOrInitiator = this.zgObj.RoleOrInitiator zg.RoleOrInitiator = this.zgObj.RoleOrInitiator
let obj = {} let obj = {}
if(this.tempChosenId != -1) { if (this.tempChosenId != -1) {
obj = this.zgList.find((item) => { obj = this.zgList.find((item) => {
return item.value === this.tempChosenId; return item.value === this.tempChosenId;
}) })
...@@ -676,20 +670,20 @@ ...@@ -676,20 +670,20 @@
} }
this.myAuditList.push(zg); this.myAuditList.push(zg);
} }
if(this.approvalType == 2) { //指定成员 if (this.approvalType == 2) { //指定成员
let Au = this.showMember; let Au = this.showMember;
let Auu = []; let Auu = [];
Au.forEach((item, index) => { Au.forEach((item, index) => {
Auu.push({ Auu.push({
EmployeeId: item.DepartmentId, EmployeeId: item.DepartmentId,
EmName:item.DepartmentName, EmName: item.DepartmentName,
Sort: index Sort: index
}) })
}) })
if(Auu.length==1){ if (Auu.length == 1) {
zg.AuditWay = 1 zg.AuditWay = 1
zg.AuditDescription = Auu[0].EmName zg.AuditDescription = Auu[0].EmName
}else if(Auu.length>1){ } else if (Auu.length > 1) {
zg.AuditWay = this.zgObj.AuditWay; zg.AuditWay = this.zgObj.AuditWay;
zg.AuditDescription = '指定' + this.showMember.length + '人' zg.AuditDescription = '指定' + this.showMember.length + '人'
} }
...@@ -697,11 +691,10 @@ ...@@ -697,11 +691,10 @@
zg.RoleOrInitiator = '-1'; zg.RoleOrInitiator = '-1';
zg.Sort = this.myAuditList.length + 1; zg.Sort = this.myAuditList.length + 1;
zg.AuditUserList = Auu; zg.AuditUserList = Auu;
if(Auu.length==0) if (Auu.length == 0) {
{
this.$message.error("成员不能为空") this.$message.error("成员不能为空")
return return
}else if(Auu.length>10){ } else if (Auu.length > 10) {
this.$message.error("人数不能超过10人!") this.$message.error("人数不能超过10人!")
return return
} }
...@@ -709,18 +702,17 @@ ...@@ -709,18 +702,17 @@
this.myAuditList.push(zg); this.myAuditList.push(zg);
} }
if(this.approvalType == 3) { //岗位 if (this.approvalType == 3) { //岗位
zg.AuditType=3; zg.AuditType = 3;
zg.AuditWay = this.zgObj.AuditWay; zg.AuditWay = this.zgObj.AuditWay;
zg.Sort = this.myAuditList.length + 1; zg.Sort = this.myAuditList.length + 1;
zg.AuditUserList=''; zg.AuditUserList = '';
if(this.showRole.length==0) if (this.showRole.length == 0) {
{
this.$message.error("请选择部门") this.$message.error("请选择部门")
return return
}else{ } else {
zg.RoleOrInitiator=this.showRole[0].Id; zg.RoleOrInitiator = this.showRole[0].Id;
zg.AuditDescription=this.showRole[0].DepartmentName; zg.AuditDescription = this.showRole[0].DepartmentName;
} }
this.myAuditList.push(zg); this.myAuditList.push(zg);
} }
...@@ -732,29 +724,39 @@ ...@@ -732,29 +724,39 @@
}, },
closeLayer() { closeLayer() {
let _this = this; let _this = this;
setTimeout(function() { setTimeout(function () {
_this.showlayer = false; _this.showlayer = false;
}, 300) }, 300)
this.isTransition = false; this.isTransition = false;
}, },
saveApproval(){ saveApproval() {
this.addMsg.AuditList=this.myAuditList; this.addMsg.AuditList = this.myAuditList;
this.addMsg.AuditUserList=this.myAuditUserList; this.addMsg.AuditUserList = this.myAuditUserList;
this.ConditionSortList=[], this.ConditionSortList = [],
this.addMsg.Sort=0, this.addMsg.Sort = 0,
this.loading=true; this.loading = true;
this.apipost('WorkFlow_post_SetDefaultCondition',this.addMsg,res=>{ this.apipost('WorkFlow_post_SetDefaultCondition', this.addMsg, res => {
if(res.data.resultCode==1){ if (res.data.resultCode == 1) {
this.loading=false; this.loading = false;
this.$message.success("操作成功!") this.$message.success("操作成功!")
} }
},err=>{}) }, err => {})
}, },
goUrl (path,id) { goUrl(path, id) {
this.$router.push({ name: path,query:{"id":id} }) this.$router.push({
name: path,
query: {
"id": id
}
})
}, },
goback(){ goback() {
this.$router.push({name: 'Approval',query:{"Bid":this.$route.query.Bid}}); this.$router.push({
name: 'Approval',
query: {
"Bid": this.$route.query.Bid
}
});
} }
}, },
mounted() { mounted() {
...@@ -764,22 +766,26 @@ ...@@ -764,22 +766,26 @@
} }
} }
</script> </script>
<style> <style>
.processOtherdelSpan{ .processOtherdelSpan {
color: #E95252; color: #E95252;
} }
.processOtherdelSpan:hover{
.processOtherdelSpan:hover {
text-decoration: underline; text-decoration: underline;
} }
.processOtherDiv{
.processOtherDiv {
font-size: 12px; font-size: 12px;
min-height: 80px; min-height: 80px;
border:1px solid #D2D2D2; border: 1px solid #D2D2D2;
margin-top: 20px; margin-top: 20px;
cursor: pointer; cursor: pointer;
} }
.showMemberIcon { .showMemberIcon {
float: right; float: right;
font-size: 20px; font-size: 20px;
...@@ -831,7 +837,7 @@ ...@@ -831,7 +837,7 @@
} }
.approval_page_content i { .approval_page_content i {
color: #999!important; color: #999 !important;
} }
.approval_page_layer_bottom { .approval_page_layer_bottom {
...@@ -953,4 +959,5 @@ ...@@ -953,4 +959,5 @@
padding-left: 20px; padding-left: 20px;
overflow: hidden; overflow: hidden;
} }
</style> </style>
...@@ -824,8 +824,6 @@ ...@@ -824,8 +824,6 @@
this.PostConfig.TripColor = tempData.LineTripColor; this.PostConfig.TripColor = tempData.LineTripColor;
this.FeatureData.TripColor = tempData.LineTripColor; this.FeatureData.TripColor = tempData.LineTripColor;
} }
console.log(" this.PostConfig", this.PostConfig)
console.log(" this.FeatureData", this.FeatureData)
this.FeatureData.LtName = tempData.LtName; this.FeatureData.LtName = tempData.LtName;
this.FeatureData.DayList = tempData.DayList; this.FeatureData.DayList = tempData.DayList;
......
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
</div> </div>
</div> </div>
<Tripmap v-if="ShowMap" :PostConfig="PostConfig" :ConfigId="ConfigId" @Cancel="ShowMap=false" <Tripmap v-if="ShowMap" :PostConfig="PostConfig" :ConfigId="ConfigId" @Cancel="ShowMap=false"
@Success="getMapImgSuccess()" @saveMsg="SaveData(1)"></Tripmap> @saveMsg="ShowMap=false,SaveData(1)"></Tripmap>
</div> </div>
<TravelNotice :class="{'showOther':TeamType==3}" ref="TravelNotice" id="fourAnchor" @headCallBack="getNotice" <TravelNotice :class="{'showOther':TeamType==3}" ref="TravelNotice" id="fourAnchor" @headCallBack="getNotice"
:subArray="NoticeParameters" :NoticeData="NoticeData" v-bind:PostConfig="PostConfig" :subArray="NoticeParameters" :NoticeData="NoticeData" v-bind:PostConfig="PostConfig"
...@@ -299,10 +299,6 @@ ...@@ -299,10 +299,6 @@
}; };
}, },
methods: { methods: {
getMapImgSuccess(path) {
this.PostConfig.MapUrl = path
this.ShowMap = false
},
/*获取行程特色内容对象*/ /*获取行程特色内容对象*/
getFeature(featureObj) { getFeature(featureObj) {
this.PostFeature = featureObj; this.PostFeature = featureObj;
......
...@@ -109,6 +109,7 @@ ...@@ -109,6 +109,7 @@
], ],
homeBg3: "https://imgfile.oytour.com/Static/NewTripFeature/homeBg3.jpg", homeBg3: "https://imgfile.oytour.com/Static/NewTripFeature/homeBg3.jpg",
homeBg1: "https://imgfile.oytour.com/Static/NewTripFeature/homeBg1.jpg", homeBg1: "https://imgfile.oytour.com/Static/NewTripFeature/homeBg1.jpg",
homeBgOz1: "https://imgfile.oytour.com/Static/NewTripFeature/homebgoz.jpg", //欧洲线默认图
homeBg2: "http://imgfile.oytour.com/Static/NewTripFeature/homeBg2.jpg", homeBg2: "http://imgfile.oytour.com/Static/NewTripFeature/homeBg2.jpg",
dinner1: "http://imgfile.oytour.com/Static/NewTripFeature/dinner1.jpg", dinner1: "http://imgfile.oytour.com/Static/NewTripFeature/dinner1.jpg",
dinner2: "http://imgfile.oytour.com/Static/NewTripFeature/dinner2.jpg", dinner2: "http://imgfile.oytour.com/Static/NewTripFeature/dinner2.jpg",
...@@ -292,13 +293,14 @@ ...@@ -292,13 +293,14 @@
}, },
//介绍页数据 //介绍页数据
getIntroduceData(tripObj, newObj) { getIntroduceData(tripObj, newObj) {
newObj.ImgList = [{ var imgObj = {
url: this.homeBg1, url: this.homeBg1,
x: 0, x: 0,
y: 0, y: 0,
}]; }
if (this.FeatureData && this.FeatureData.LineShortName && this.FeatureData.LineShortName.indexOf('欧洲') > -1) { if (this.FeatureData && this.FeatureData.LineShortName && this.FeatureData.LineShortName.indexOf('欧洲') > -1) {
newObj.MainName = "欧洲旅行家"; imgObj.url = this.homeBgOz1;
newObj.MainName = "欧洲旅行专家";
newObj.SubName = '‹印象欧洲› 欧洲旅行家'; newObj.SubName = '‹印象欧洲› 欧洲旅行家';
newObj.MainDesc = newObj.MainDesc =
"坚持以高端旅游服务广大客户群体!我们坚信旅游是美好的体验!带您体验欧洲的四季之美,印象欧洲不断思索旅游本质,坚持旅游质量,对于旅游的专业与服务有着深刻认知!我们的用心,您一定会看的见!选择印象欧洲,会是你前往欧洲最好的选择,您一定会认同并期待您的参与,这也是我们由衷的期盼!“旅游”不是舟车劳顿的代名词~提供高档旅游产品,印象之旅有其独到的见解与坚持,这就是各位选择旅游的真正定义!来吧~如果你还在犹豫不知道该选择什么样的欧洲产品,相信印象之旅是你最棒的选择!最后并祝各位有个愉快的旅游假期!" "坚持以高端旅游服务广大客户群体!我们坚信旅游是美好的体验!带您体验欧洲的四季之美,印象欧洲不断思索旅游本质,坚持旅游质量,对于旅游的专业与服务有着深刻认知!我们的用心,您一定会看的见!选择印象欧洲,会是你前往欧洲最好的选择,您一定会认同并期待您的参与,这也是我们由衷的期盼!“旅游”不是舟车劳顿的代名词~提供高档旅游产品,印象之旅有其独到的见解与坚持,这就是各位选择旅游的真正定义!来吧~如果你还在犹豫不知道该选择什么样的欧洲产品,相信印象之旅是你最棒的选择!最后并祝各位有个愉快的旅游假期!"
...@@ -308,6 +310,7 @@ ...@@ -308,6 +310,7 @@
newObj.MainDesc = newObj.MainDesc =
"坚持以高端旅游服务广大客户群体!我们坚信旅游是美好的体验!带您体验日本的四季之美,赏花.赏枫.赏雪并且享受怀石料理,泡露天温泉,遨游日本的秀丽山海美景!印象日本不断思索旅游本质,坚持旅游质量,对于旅游的专业与服务有着深刻体认!我们的用心,您一定会看的见!选择印象日本,会是你前往日本最好的选择,您一定会认同并期待您的参与,这也是我们由衷的期盼!“旅遊”不是舟車勞頓的代名詞~提供高档旅游产品,印象之旅有其独到的见解与坚持,这就是各位选择旅游的真正定义!来吧~如果你还在犹豫不知道该选择什么样的日本产品,相信印象之旅对是你最棒的选择!最后并祝各位有个愉快的旅游假期!"; "坚持以高端旅游服务广大客户群体!我们坚信旅游是美好的体验!带您体验日本的四季之美,赏花.赏枫.赏雪并且享受怀石料理,泡露天温泉,遨游日本的秀丽山海美景!印象日本不断思索旅游本质,坚持旅游质量,对于旅游的专业与服务有着深刻体认!我们的用心,您一定会看的见!选择印象日本,会是你前往日本最好的选择,您一定会认同并期待您的参与,这也是我们由衷的期盼!“旅遊”不是舟車勞頓的代名詞~提供高档旅游产品,印象之旅有其独到的见解与坚持,这就是各位选择旅游的真正定义!来吧~如果你还在犹豫不知道该选择什么样的日本产品,相信印象之旅对是你最棒的选择!最后并祝各位有个愉快的旅游假期!";
} }
newObj.ImgList = [imgObj];
}, },
//详情页数据 //详情页数据
getDetailsData(tripObj, newObj) { getDetailsData(tripObj, newObj) {
......
<template> <template>
<div class="tripmap-form marginT20" v-if="PostConfig"> <div class="tripmap-form marginT20" v-if="PostConfig">
<div class="tripmap-Search" v-loading="setLoading"> <div class="tripmap-Search" v-loading="pageLoading">
<div style="display: flex;align-items: start; justify-content: space-between;"> <div style="display: flex;align-items: start; justify-content: space-between;">
<div style="display: flex;flex-wrap: wrap; flex-grow: 1;"> <div style="display: flex;flex-wrap: wrap; flex-grow: 1;">
<div v-for="(x, index) in TripMapList" :key="index" class="row-aic"> <div v-for="(x, index) in TripMapList" :key="index" class="row-aic">
...@@ -8,9 +8,8 @@ ...@@ -8,9 +8,8 @@
filterable> filterable>
<el-option v-for="(item, i) in x.NationList" :label="item.Name" :value="item.ID" :key="i"></el-option> <el-option v-for="(item, i) in x.NationList" :label="item.Name" :value="item.ID" :key="i"></el-option>
</el-select> </el-select>
<!-- class="Ht_hotelSelect" -->
<el-select style="min-width: 300px;max-width: 600px;margin-left: 5px;margin-right: 5px;" size="mini" <el-select style="min-width: 300px;max-width: 600px;margin-left: 5px;margin-right: 5px;" size="mini"
placeholder="选择城市" v-model="x.CityListIds" multiple filterable @change="getCityListIds(x, index)"> placeholder="选择城市" v-model="x.CityListIds" multiple filterable @change="changeCityListIds(x, index)">
<el-option v-for="(item, i) in x.CityListAll" :label="item.Name" :value="item.ID" :key="i"> <el-option v-for="(item, i) in x.CityListAll" :label="item.Name" :value="item.ID" :key="i">
</el-option> </el-option>
</el-select> </el-select>
...@@ -18,22 +17,16 @@ ...@@ -18,22 +17,16 @@
@change="getColorStr"></el-color-picker> @change="getColorStr"></el-color-picker>
<div style="margin-left: 5px; font-size: 23px;cursor: pointer;"> <div style="margin-left: 5px; font-size: 23px;cursor: pointer;">
<i v-if="TripMapList.length - 1 == index" class="el-icon-circle-plus" style="color: #E95252;" <i v-if="TripMapList.length - 1 == index" class="el-icon-circle-plus" style="color: #E95252;"
@click="alterCity(x, index, 1)"></i> @click="operateCountry(x, index, 1)"></i>
<i v-if="index != 0" class="el-icon-delete-solid" style="color: gray;" <i v-if="index != 0" class="el-icon-delete-solid" style="color: gray;"
@click="alterCity(x, index, 0)"></i> @click="operateCountry(x, index, 0)"></i>
</div> </div>
</div> </div>
</div> </div>
<div class="row-aic" style="flex-shrink: 0;"> <div class="row-aic" style="flex-shrink: 0;">
<div> <el-button type="danger" key="BtnClose" @click="Cancel">关闭</el-button>
<span class="MapImgButtom CancelMapImg" @click="Cancel">取消</span> <el-button type="primary" key="BtnCreateImg" :disabled="setLoading" @click="getResultImg()">{{btnStr}}
</div> </el-button>
<div style="margin-left: 20px;">
<span class="MapImgButtom setMapImg" @click="SavePositionStr">保存坐标</span>
</div>
<div style="margin-left: 20px;">
<span class="MapImgButtom setMapImg" @click="(setLoading = true), getResultImg()">生成图片</span>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -55,13 +48,8 @@ ...@@ -55,13 +48,8 @@
props: ["PostConfig", "ConfigId"], props: ["PostConfig", "ConfigId"],
data() { data() {
return { return {
layerIds: [],
sourceIds: [],
setLoading: false, setLoading: false,
imageUrl: "", pageLoading: false,
deviceMarkers: [],
loadingCity: false,
loading: false,
TripColor: "", TripColor: "",
NationList: [], NationList: [],
searchNation: { searchNation: {
...@@ -125,7 +113,8 @@ ...@@ -125,7 +113,8 @@
"fill-opacity": 0.5 "fill-opacity": 0.5
}, },
paintRbBgList: [], paintRbBgList: [],
paintHgBgList: [] paintHgBgList: [],
btnStr: '生成图片'
}; };
}, },
watch: { watch: {
...@@ -135,9 +124,24 @@ ...@@ -135,9 +124,24 @@
this.TripMapList.forEach(x => { this.TripMapList.forEach(x => {
x.CityList.forEach(y => { x.CityList.forEach(y => {
this.citiesData.forEach(z => { this.citiesData.forEach(z => {
if (y.MName == z.name && y.Lng) { if (y.MName == z.name) {
if (y.Lat && y.Lng) {
z.Lng = y.Lng; z.Lng = y.Lng;
z.Lat = y.Lat; z.Lat = y.Lat;
} else {
//使用系统中的经纬度
var tempCity = x.CityListAll.find((cItem) => {
return cItem.ID === y.MId;
})
if (tempCity && tempCity.Lng && tempCity.Lat) {
z.Lng = tempCity.Lng;
z.Lat = tempCity.Lat;
z.latitude = Number(tempCity.Lat);
z.longitude = Number(tempCity.Lng);
}
}
y.Lat = z.Lat;
y.Lng = z.Lng;
} }
}); });
}); });
...@@ -175,9 +179,7 @@ ...@@ -175,9 +179,7 @@
CityListAll: this.CityListAll, CityListAll: this.CityListAll,
CityListIds: [4, 6], CityListIds: [4, 6],
NationList: this.NationList, NationList: this.NationList,
ColorStr: this.PostConfig.TripColor ? ColorStr: this.PostConfig.TripColor ? this.PostConfig.TripColor : "#409eff",
this.PostConfig.TripColor :
"#409eff",
ConfigId: this.ConfigId, ConfigId: this.ConfigId,
Id: 0, Id: 0,
MId: 2, MId: 2,
...@@ -210,7 +212,6 @@ ...@@ -210,7 +212,6 @@
this.setPaintRbBgList() this.setPaintRbBgList()
this.initMap() this.initMap()
}, },
methods: { methods: {
// 初始化地图 // 初始化地图
initMap() { initMap() {
...@@ -228,13 +229,12 @@ ...@@ -228,13 +229,12 @@
}); });
this.map.addSource("word-source-japan", { this.map.addSource("word-source-japan", {
type: "geojson", type: "geojson",
data: worldGeoJSONJapan, //"http://imgfile.oytour.com/MapData/japan_.geojson" data: worldGeoJSONJapan,
}); });
this.map.addSource("word-source-Korea", { this.map.addSource("word-source-Korea", {
type: "geojson", type: "geojson",
data: worldGeoJSONKorea, data: worldGeoJSONKorea,
}); });
if ( if (
this.TripMapList && this.TripMapList &&
this.TripMapList.length > 0 && this.TripMapList.length > 0 &&
...@@ -263,7 +263,6 @@ ...@@ -263,7 +263,6 @@
console.log(type, "1初始化---- 2数据更新"); console.log(type, "1初始化---- 2数据更新");
// 显示国家 // 显示国家
this.addCountryFillRange(); this.addCountryFillRange();
// 获取坐标信息 // 获取坐标信息
await this.calcCitiesGeoInfoHandler(); await this.calcCitiesGeoInfoHandler();
// 可见范围 // 可见范围
...@@ -283,15 +282,12 @@ ...@@ -283,15 +282,12 @@
this.createLineHandler(); //连线 this.createLineHandler(); //连线
await this.addCountriesMaker(); //标记国家 await this.addCountriesMaker(); //标记国家
} }
//this.addDocumentEventListener();
}, },
//组装数据
// 组装数据
UpdateDatas() { UpdateDatas() {
let listCity = []; let listCity = [];
let listCountries = []; let listCountries = [];
this.listCity = []; this.listCity = [];
// this.countriesData = [];
this.pois = ""; this.pois = "";
this.TripMapList.forEach(x => { this.TripMapList.forEach(x => {
let obj = { let obj = {
...@@ -332,9 +328,24 @@ ...@@ -332,9 +328,24 @@
this.TripMapList.forEach(x => { this.TripMapList.forEach(x => {
x.CityList.forEach(y => { x.CityList.forEach(y => {
this.citiesData.forEach(z => { this.citiesData.forEach(z => {
if (y.MName == z.name && y.Lng) { if (y.MName == z.name) {
if (y.Lat && y.Lng) {
z.Lng = y.Lng; z.Lng = y.Lng;
z.Lat = y.Lat; z.Lat = y.Lat;
} else {
//使用系统中的经纬度
var tempCity = x.CityListAll.find((cItem) => {
return cItem.ID === y.MId;
})
if (tempCity && tempCity.Lng && tempCity.Lat) {
z.Lng = tempCity.Lng;
z.Lat = tempCity.Lat;
z.latitude = Number(tempCity.Lat);
z.longitude = Number(tempCity.Lng);
}
}
y.Lat = z.Lat;
y.Lng = z.Lng;
} }
}); });
}); });
...@@ -390,71 +401,49 @@ ...@@ -390,71 +401,49 @@
}); });
}); });
}, },
// 保存标记坐标
SavePositionStr() {
this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
this.$emit('saveMsg')
// this.TripMapList.forEach(x => {
// x.CityList.forEach(y => {
// this.citiesData.forEach(z => {
// if (y.MName == z.name) {
// y.Lng = z.Lng;
// y.Lat = z.Lat;
// }
// });
// });
// this.countriesData.forEach(y => {
// if (x.MName == y.name) {
// x.Lng = y.Lng;
// x.Lat = y.Lat;
// }
// });
// });
},
// 导出地图片 // 导出地图片
getResultImg() { getResultImg() {
this.btnStr = "生成中..";
this.setLoading = true;
this.pageLoading = true;
let that = this; let that = this;
var postJson = { var postJson = {
ConfigId: this.ConfigId ConfigId: this.ConfigId
}; };
this.imageUrl = this.map.getCanvas().toDataURL("image/png"); var trip_map_obj = document.getElementById("trip_map");
let mapCanvas = document.querySelector(".mapboxgl-canvas"); html2Canvas(trip_map_obj).then(function (canvas) {
// mapCanvas.style.display = "none"; var image = document.createElement("a");
html2Canvas(document.getElementById("trip_map")).then(function (canvas) {
var image = document.createElement(
"a"); //image.href = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");
image.href = canvas.toDataURL("image/png"); image.href = canvas.toDataURL("image/png");
let blob = that.base64ToBlob(image.href); let blob = that.base64ToBlob(image.href);
let newArr = []; let newArr = [];
newArr.push(blob); newArr.push(blob);
var path = `/Upload/Temporary`; var path = `/Upload/Temporary`;
that.uploadSelfBlob(path, newArr, postJson, x => { that.uploadSelfBlob(path, newArr, postJson, x => {
that.pageLoading = false;
that.btnStr = "生成图片";
if (x.data.StatusCode == 1) { if (x.data.StatusCode == 1) {
that.SavePositionStr()
that.setLoading = false; that.setLoading = false;
let allPath = that.domainManager().ViittoFileUrl + x.data.FilePath; let allPath = that.domainManager().ViittoFileUrl + x.data.FilePath;
that.PostConfig.Mapurl = allPath; that.PostConfig.Mapurl = allPath;
that.$emit("Success", allPath); //调用父页面保存方法
that.PostConfig.TripMapList = JSON.parse(JSON.stringify(that.TripMapList));
that.$emit('saveMsg');
} else { } else {
that.setLoading = false; that.setLoading = false;
} }
}); });
return;
image.download = "map.png";
image.click();
}); });
}, },
//关闭地图弹窗
Cancel() { Cancel() {
this.$emit("Cancel"); this.$emit("Cancel");
}, },
// 获取国家 // 获取国家
async getAddress(Type) { async getAddress(Type) {
this.loading = true;
await this.apipost( await this.apipost(
"dict_get_Destination_GetCityExtList", "dict_get_Destination_GetCityExtList",
this.searchNation, this.searchNation,
res => { res => {
this.loading = false;
if (Type == 1) { if (Type == 1) {
this.NationList = res.data.data; this.NationList = res.data.data;
this.NationList.forEach(x => { this.NationList.forEach(x => {
...@@ -464,17 +453,16 @@ ...@@ -464,17 +453,16 @@
this.TripMapList.forEach(x => { this.TripMapList.forEach(x => {
x.NationList = res.data.data; x.NationList = res.data.data;
}); });
this.$forceUpdate();
} }
}, },
err => {} err => {}
); );
}, },
// 添加、删除 //添加、删除国家(type=1,新增,0-删除)
alterCity(x, index, type) { operateCountry(x, index, type) {
let obj = { let obj = {
CityList: [], CityList: [],
CityListAll: [], CityListAll: [], //国家城市下来列表
CityListIds: [], CityListIds: [],
NationList: x.NationList, NationList: x.NationList,
ColorStr: x.ColorStr, ColorStr: x.ColorStr,
...@@ -498,10 +486,13 @@ ...@@ -498,10 +486,13 @@
if (type) { if (type) {
this.TripMapList.push(JSON.parse(JSON.stringify(obj))); this.TripMapList.push(JSON.parse(JSON.stringify(obj)));
} else { } else {
let MId = this.countriesData[index].MId; var currentCountry = this.countriesData[index];
if (currentCountry) {
let MId = currentCountry.MId;
this.ClearSource('curve-layer-' + MId, 1) this.ClearSource('curve-layer-' + MId, 1)
this.ClearSource('curve-source-' + MId, 2) this.ClearSource('curve-source-' + MId, 2)
this.ClearSource('world-layer-' + MId, 1) this.ClearSource('world-layer-' + MId, 1)
}
this.TripMapList.splice(index, 1); this.TripMapList.splice(index, 1);
this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList)); this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
} }
...@@ -509,8 +500,8 @@ ...@@ -509,8 +500,8 @@
getColorStr() { getColorStr() {
this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList)); this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
}, },
// 城市ids //选择城市或移除城市
getCityListIds(x, index) { changeCityListIds(x, index) {
x.CityList = []; x.CityList = [];
let obj = { let obj = {
CityList: [], CityList: [],
...@@ -546,8 +537,7 @@ ...@@ -546,8 +537,7 @@
this.$forceUpdate(); this.$forceUpdate();
this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList)); this.PostConfig.TripMapList = JSON.parse(JSON.stringify(this.TripMapList));
}, },
//查询国家下面的城市
// 查询城市
SearchCity(MId, x, index) { SearchCity(MId, x, index) {
if (x) { if (x) {
x.NationList.forEach(item => { x.NationList.forEach(item => {
...@@ -556,14 +546,11 @@ ...@@ -556,14 +546,11 @@
} }
}); });
} }
this.loadingCity = true;
this.apipost( this.apipost(
"dict_get_Destination_GetCountryCityList", { "dict_get_Destination_GetCountryCityList", {
QCountry: MId QCountry: MId
}, },
res => { res => {
this.loadingCity = false;
this.CityList = res.data.data; this.CityList = res.data.data;
this.CityList.forEach(x => { this.CityList.forEach(x => {
x.ID = Number(x.ID); x.ID = Number(x.ID);
...@@ -579,7 +566,6 @@ ...@@ -579,7 +566,6 @@
let obj = [ let obj = [
["==", ["get", "name"], x.MName], this.getRandomColor(), ["==", ["get", "name"], x.MName], this.getRandomColor(),
] ]
}) })
} }
}); });
...@@ -600,11 +586,8 @@ ...@@ -600,11 +586,8 @@
this.countriesData.forEach((x, i) => { this.countriesData.forEach((x, i) => {
if (x.MName == "中国") x.name = "中华人民共和国"; if (x.MName == "中国") x.name = "中华人民共和国";
if (x.MName == "韩国") x.name = "大韩民国"; if (x.MName == "韩国") x.name = "大韩民国";
x.CityListAll.forEach(y => { let source;
var paintBgObj;
})
let source
var paintBgObj
if (x.MId != 651 && x.MId != 891) { if (x.MId != 651 && x.MId != 891) {
source = "word-source" source = "word-source"
} else { } else {
...@@ -654,7 +637,6 @@ ...@@ -654,7 +637,6 @@
paint: paintBgObj paint: paintBgObj
}) })
} }
}); });
}, },
clearCitiesMarkersHandler() { clearCitiesMarkersHandler() {
...@@ -666,7 +648,6 @@ ...@@ -666,7 +648,6 @@
} }
}, },
addMarker() { addMarker() {
// let markerColor = calculateComplementaryColor("#71adeb");
this.citiesData.forEach((item, i) => { this.citiesData.forEach((item, i) => {
var marker = new mapboxgl.Marker({ var marker = new mapboxgl.Marker({
color: "#d73b33", color: "#d73b33",
...@@ -697,6 +678,7 @@ ...@@ -697,6 +678,7 @@
marker.setLngLat([item.longitude, item.latitude]); marker.setLngLat([item.longitude, item.latitude]);
} }
marker.addTo(this.map); marker.addTo(this.map);
marker.on("dragend", function () { marker.on("dragend", function () {
let currentMarkerLngLat = marker.getLngLat(); let currentMarkerLngLat = marker.getLngLat();
console.log(currentMarkerLngLat, '------currentMarkerLngLat') console.log(currentMarkerLngLat, '------currentMarkerLngLat')
...@@ -704,7 +686,6 @@ ...@@ -704,7 +686,6 @@
that.citiesData[i].Lat = currentMarkerLngLat.lat; that.citiesData[i].Lat = currentMarkerLngLat.lat;
that.setCitiesPosition() that.setCitiesPosition()
}); });
this.deviceMarkers.push(marker); this.deviceMarkers.push(marker);
}, },
async getCoordinates(x) { async getCoordinates(x) {
...@@ -712,11 +693,9 @@ ...@@ -712,11 +693,9 @@
const response = await fetch( const response = await fetch(
`https://api.mapbox.com/geocoding/v5/mapbox.places/${x.PMName}/${x.MName}.json?types=place&access_token=pk.eyJ1IjoiYWxleDkwMTIiLCJhIjoiY2xtOGw4NHdkMGFndTNjcnFkeWZncGc2dyJ9.lVrAdPHE0Dg5zoWFidfj4Q` `https://api.mapbox.com/geocoding/v5/mapbox.places/${x.PMName}/${x.MName}.json?types=place&access_token=pk.eyJ1IjoiYWxleDkwMTIiLCJhIjoiY2xtOGw4NHdkMGFndTNjcnFkeWZncGc2dyJ9.lVrAdPHE0Dg5zoWFidfj4Q`
); );
if (!response.ok) { if (!response.ok) {
throw new Error("网络请求失败"); throw new Error("网络请求失败");
} }
const data = await response.json(); const data = await response.json();
if (data.features.length > 0) { if (data.features.length > 0) {
const [longitude, latitude] = data.features[0].center; const [longitude, latitude] = data.features[0].center;
...@@ -745,7 +724,6 @@ ...@@ -745,7 +724,6 @@
); );
}, },
createLineHandler() { createLineHandler() {
// let poilines = this.pois.split(",");
let that = this let that = this
this.listCity.forEach((p, i) => { this.listCity.forEach((p, i) => {
if (i < this.listCity.length - 1) { if (i < this.listCity.length - 1) {
...@@ -785,7 +763,6 @@ ...@@ -785,7 +763,6 @@
paint: { paint: {
"line-color": ["rgba", 0, 0, 0, 0.3], "line-color": ["rgba", 0, 0, 0, 0.3],
"line-width": 1.5 "line-width": 1.5
//'line-dasharray': [2, 4],
} }
}); });
} }
...@@ -794,7 +771,6 @@ ...@@ -794,7 +771,6 @@
}); });
}, },
calculateBezierControlPoint(start, end) { calculateBezierControlPoint(start, end) {
//const controlPoint1 = [start[0] + 0.3, start[1] + 0.2];
const controlPoint1 = [ const controlPoint1 = [
start[0] > end[0] ? start[0] - 0.1 : start[0] + 0.1, start[0] > end[0] ? start[0] - 0.1 : start[0] + 0.1,
start[1] > end[1] ? end[1] + 0.1 : end[1] - 0.1 start[1] > end[1] ? end[1] + 0.1 : end[1] - 0.1
...@@ -813,10 +789,8 @@ ...@@ -813,10 +789,8 @@
end[0], end[0],
end[1] end[1]
); );
const numberOfPoints = 100; const numberOfPoints = 100;
const bezierCoordinates = []; const bezierCoordinates = [];
for (let i = 0; i <= numberOfPoints; i++) { for (let i = 0; i <= numberOfPoints; i++) {
const t = i / numberOfPoints; const t = i / numberOfPoints;
const point = bezier.get(t); const point = bezier.get(t);
...@@ -848,7 +822,6 @@ ...@@ -848,7 +822,6 @@
let drift = parseInt( let drift = parseInt(
e.target.parentNode.getAttribute("data-x-drift") e.target.parentNode.getAttribute("data-x-drift")
); );
console.log(drift);
if (arrow == "top") { if (arrow == "top") {
marker.setOffset([0, -25]); marker.setOffset([0, -25]);
} else if (arrow == "bottom") { } else if (arrow == "bottom") {
...@@ -908,26 +881,22 @@ ...@@ -908,26 +881,22 @@
}) })
); );
}, },
//获取国家地址
async getCountryCoordinates(countryName) { async getCountryCoordinates(countryName) {
let result = []; let result = [];
try { try {
const response = await fetch( const response = await fetch(
`https://api.mapbox.com/geocoding/v5/mapbox.places/${countryName}.json?types=country&access_token=pk.eyJ1IjoiYWxleDkwMTIiLCJhIjoiY2xtOGw4NHdkMGFndTNjcnFkeWZncGc2dyJ9.lVrAdPHE0Dg5zoWFidfj4Q` `https://api.mapbox.com/geocoding/v5/mapbox.places/${countryName}.json?types=country&access_token=pk.eyJ1IjoiYWxleDkwMTIiLCJhIjoiY2xtOGw4NHdkMGFndTNjcnFkeWZncGc2dyJ9.lVrAdPHE0Dg5zoWFidfj4Q`
); );
if (response.ok) { if (response.ok) {
const data = await response.json(); const data = await response.json();
if (data.features.length > 0) { if (data.features.length > 0) {
const countryInfo = data.features.find(x => const countryInfo = data.features.find(x =>
x.id.startsWith("country.") x.id.startsWith("country.")
); );
// const bbox = countryInfo.bbox;
// const topCenterLatitude = bbox[3] + (bbox[1] - bbox[3]) / 2;
// const topCenterLongitude = bbox[0] + (bbox[2] - bbox[0]) / 2;
// result = [topCenterLongitude, topCenterLatitude];
const [longitude, latitude] = countryInfo.center; const [longitude, latitude] = countryInfo.center;
result = [longitude, latitude]; result = [longitude, latitude];
} else {} }
} }
} catch (error) {} } catch (error) {}
return result; return result;
...@@ -950,7 +919,6 @@ ...@@ -950,7 +919,6 @@
} }
#trip_map { #trip_map {
/* position: absolute; */
position: fixed; position: fixed;
top: 0; top: 0;
bottom: 0; bottom: 0;
......
...@@ -591,7 +591,6 @@ ...@@ -591,7 +591,6 @@
//选中的景点 //选中的景点
'ChooseScenicArray': { 'ChooseScenicArray': {
handler: function (val, oldVal) { handler: function (val, oldVal) {
console.log("this.ChooseScenicArray",this.ChooseScenicArray)
//新增 //新增
this.ChooseScenicArray.forEach(x => { this.ChooseScenicArray.forEach(x => {
let isExist = false; let isExist = false;
...@@ -604,7 +603,6 @@ ...@@ -604,7 +603,6 @@
let scenic = this.$tripUtils.scenicObj(); let scenic = this.$tripUtils.scenicObj();
this.QScenicList.forEach(s => { this.QScenicList.forEach(s => {
if (s.ID === x) { if (s.ID === x) {
console.log("scenic22",s);
scenic.Description = s.Feature; scenic.Description = s.Feature;
scenic.CouponsId = x; scenic.CouponsId = x;
scenic.CouponsName = s.Name; scenic.CouponsName = s.Name;
......
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