Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
SuperMan
Commits
4ca22c56
Commit
4ca22c56
authored
Oct 11, 2023
by
youjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
55bfa3eb
9da31480
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1070 additions
and
1149 deletions
+1070
-1149
TravelpassengerList.vue
...mponents/TravelManager/TravelList/TravelpassengerList.vue
+28
-77
ApprovalProcess.vue
src/components/administrative/ApprovalProcess.vue
+956
-949
TravelManager2.vue
...ts/newTravelmanager/TravelGroupControl/TravelManager2.vue
+0
-2
TravelManagerThree.vue
...ewTravelmanager/TravelGroupControl/TravelManagerThree.vue
+1
-5
index.vue
...ravelmanager/TravelGroupControl/UpgradedVersion/index.vue
+6
-3
tripmap.vue
...omponents/newTravelmanager/TravelGroupControl/tripmap.vue
+79
-111
travelDaysTrip.vue
...onents/newTravelmanager/travelLineTrip/travelDaysTrip.vue
+0
-2
No files found.
src/components/TravelManager/TravelList/TravelpassengerList.vue
View file @
4ca22c56
...
@@ -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,8 +100,7 @@
...
@@ -99,8 +100,7 @@
</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()"
>
</li>
</li>
...
@@ -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
()
{
...
...
src/components/administrative/ApprovalProcess.vue
View file @
4ca22c56
<
template
>
<
template
>
<div
class=
"flexOne"
>
<div
class=
"flexOne"
>
<div
:class=
"
{approval_page_layer:showlayer}" @click="closeLayer">
<div
:class=
"
{approval_page_layer:showlayer}" @click="closeLayer">
<div
:class=
"
{approval_person_set:true,approval_person_set_right:isTransition}" @click.stop>
<div
:class=
"
{approval_person_set:true,approval_person_set_right:isTransition}" @click.stop>
<p
class=
"setTitle"
>
审批人设置
</p>
<p
class=
"setTitle"
>
审批人设置
</p>
<div
class=
"approval_person_layerContent"
>
<div
class=
"approval_person_layerContent"
>
<div
class=
"approval_page_title"
>
审批人类别
</div>
<div
class=
"approval_page_title"
>
审批人类别
</div>
<p
style=
"padding-left: 20px;"
>
<p
style=
"padding-left: 20px;"
>
<el-radio-group
v-model=
"approvalType"
@
change=
'clearValue'
>
<el-radio-group
v-model=
"approvalType"
@
change=
'clearValue'
>
<el-radio
:label=
"1"
>
主管
</el-radio>
<el-radio
:label=
"1"
>
主管
</el-radio>
<el-radio
:label=
"2"
>
指定成员
</el-radio>
<el-radio
:label=
"2"
>
指定成员
</el-radio>
<el-radio
:label=
"3"
>
岗位
</el-radio>
<el-radio
:label=
"3"
>
岗位
</el-radio>
</el-radio-group>
</el-radio-group>
</p>
</p>
<div
class=
"approval_layer_info"
v-if=
"approvalType==1"
>
<div
class=
"approval_layer_info"
v-if=
"approvalType==1"
>
发起人的
发起人的
<el-select
v-model=
'zgObj.RoleOrInitiator'
@
change=
"changeValue"
>
<el-select
v-model=
'zgObj.RoleOrInitiator'
@
change=
"changeValue"
>
<el-option
v-for=
'item in zgList'
:label=
'item.label'
:value=
'item.value'
:key=
'item.value'
>
<el-option
v-for=
'item in zgList'
:label=
'item.label'
:value=
'item.value'
:key=
'item.value'
>
</el-option>
</el-option>
</el-select>
</el-select>
</div>
</div>
<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=
"添加成员"
/>
<div
style=
"margin: 10px 0;"
v-if=
"showMember.length>1"
>
<div
style=
"margin: 10px 0;"
v-if=
"showMember.length>1"
>
<el-radio-group
v-model=
"zgObj.AuditWay"
>
<el-radio-group
v-model=
"zgObj.AuditWay"
>
<el-radio
:label=
"2"
>
会签(须所有审批人同意)
</el-radio>
<el-radio
:label=
"2"
>
会签(须所有审批人同意)
</el-radio>
<el-radio
:label=
"3"
>
或签(一名审批人同意或拒绝即可)
</el-radio>
<el-radio
:label=
"3"
>
或签(一名审批人同意或拒绝即可)
</el-radio>
</el-radio-group>
</el-radio-group>
</div>
</div>
</div>
</div>
<div
class=
"approval_layer_info"
v-if=
"approvalType==3"
>
<div
class=
"approval_layer_info"
v-if=
"approvalType==3"
>
<div
class=
"normalMember"
>
<div
class=
"normalMember"
>
<ul>
<ul>
<li
v-for=
"item in showRole"
>
{{
item
.
DepartmentName
}}
</li>
<!-- @click="deleteRole()-->
<li
v-for=
"item in showRole"
>
{{
item
.
DepartmentName
}}
</li>
<!-- @click="deleteRole()-->
</ul>
</ul>
</div>
</div>
<input
type=
"button"
class=
"normalBtn"
@
click=
"getRole()"
value=
"添加岗位"
/>
<input
type=
"button"
class=
"normalBtn"
@
click=
"getRole()"
value=
"添加岗位"
/>
<div
style=
"margin: 10px 0;"
>
<div
style=
"margin: 10px 0;"
>
<el-radio-group
v-model=
"zgObj.AuditWay"
>
<el-radio-group
v-model=
"zgObj.AuditWay"
>
<el-radio
:label=
"2"
>
会签(须所有审批人同意)
</el-radio>
<el-radio
:label=
"2"
>
会签(须所有审批人同意)
</el-radio>
<el-radio
:label=
"3"
>
或签(一名审批人同意或拒绝即可)
</el-radio>
<el-radio
:label=
"3"
>
或签(一名审批人同意或拒绝即可)
</el-radio>
</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"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"取消"
@
click=
"closeLayer"
/>
<input
type=
"button"
class=
"normalBtn"
v-if=
'addBtn'
value=
"确定"
@
click=
"addNode"
/>
<input
type=
"button"
class=
"normalBtn"
v-if=
'addBtn'
value=
"确定"
@
click=
"addNode"
/>
<input
type=
"button"
class=
"normalBtn"
v-if=
'!addBtn'
value=
"修改节点"
@
click=
"saveUpdateNode"
/>
<input
type=
"button"
class=
"normalBtn"
v-if=
'!addBtn'
value=
"修改节点"
@
click=
"saveUpdateNode"
/>
</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;"
>
<p
style=
"text-align: center; border-bottom:1px solid #f1f1f1; padding: 15px 0 10px 0;font-size: 16px;"
>
{{
TemplateTypeName
}}
流程设置
</p>
{{
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"
<span
style=
"position: relative;"
@
mouseenter=
"itemIndex=index"
@
mouseleave=
"itemIndex='-1'"
>
@
click=
"getItemValue(item,index)"
>
<i
class=
"iconfont icon-user11"
></i>
<span
style=
"position: relative;"
@
mouseenter=
"itemIndex=index"
@
mouseleave=
"itemIndex='-1'"
>
{{
item
.
AuditDescription
}}
<i
class=
"iconfont icon-user11"
></i>
<b
class=
"bnotice"
v-if=
"item.AuditWay!=1"
>
(
{{
item
.
AuditWay
==
"2"
?
'会签'
:
'或签'
}}
)
</b>
{{
item
.
AuditDescription
}}
<em
v-if=
'index==itemIndex'
class=
"iconfont icon-guanbi approval_process_item_delete"
@
click
.
stop=
'deleteItem(item.Sort)'
></em>
<b
class=
"bnotice"
v-if=
"item.AuditWay!=1"
>
(
{{
item
.
AuditWay
==
"2"
?
'会签'
:
'或签'
}}
)
</b>
</span>
<em
v-if=
'index==itemIndex'
class=
"iconfont icon-guanbi approval_process_item_delete"
<i
class=
"iconfont icon-jiantouyou"
></i>
@
click
.
stop=
'deleteItem(item.Sort)'
></em>
</div>
</span>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"addAppPerson"
value=
"添加"
/>
<i
class=
"iconfont icon-jiantouyou"
></i>
</div>
</div>
</div>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"addAppPerson"
value=
"添加"
/>
<div
class=
"approval_person_content"
>
</div>
<span
class=
"approval_span_type"
>
默认抄送人
</span>
</div>
<div
class=
"approval_person_list fl"
>
<div
class=
"approval_person_content"
>
<div
class=
"approval_process_item"
v-for=
"(item,index) in myAuditUserList"
>
<span
class=
"approval_span_type"
>
默认抄送人
</span>
<span
style=
"position: relative;"
@
mouseenter=
"itemIndex1=index"
@
mouseleave=
"itemIndex1='-1'"
>
<div
class=
"approval_person_list fl"
>
<i
class=
"iconfont icon-user11"
></i>
<div
class=
"approval_process_item"
v-for=
"(item,index) in myAuditUserList"
>
{{
item
.
EmName
}}
<span
style=
"position: relative;"
@
mouseenter=
"itemIndex1=index"
@
mouseleave=
"itemIndex1='-1'"
>
<em
v-if=
'index==itemIndex1'
@
click=
"deleteUser(item.EmployeeId)"
class=
"iconfont icon-guanbi approval_process_item_delete"
></em>
<i
class=
"iconfont icon-user11"
></i>
</span>
{{
item
.
EmName
}}
</div>
<em
v-if=
'index==itemIndex1'
@
click=
"deleteUser(item.EmployeeId)"
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"添加"
@
click=
'addAuditUser'
/>
class=
"iconfont icon-guanbi approval_process_item_delete"
></em>
</div>
</span>
</div>
</div>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"添加"
@
click=
'addAuditUser'
/>
<div
v-if=
'TemplateType!=4'
>
</div>
<div
class=
"approval_page_title"
>
分条件审批
</div>
</div>
<p>
<input
type=
"button"
value=
"添加"
@
click=
"goUrl('processDesign',TemplateId)"
class=
"hollowFixedBtn"
/>
<div
v-if=
'TemplateType!=4'
>
<span
style=
"font-size: 12px; color: #666; margin-left: 15px;"
>
审批单首先匹配优先级高的条件
</span>
<div
class=
"approval_page_title"
>
分条件审批
</div>
</p>
<p>
<div>
<input
type=
"button"
value=
"添加"
@
click=
"goUrl('processDesign',TemplateId)"
class=
"hollowFixedBtn"
/>
<div
class=
"processOtherDiv"
v-for=
"(item,index) in otherList"
@
click=
"goUrl('updateProcessDesign',item.Id)"
>
<span
style=
"font-size: 12px; color: #666; margin-left: 15px;"
>
审批单首先匹配优先级高的条件
</span>
<p
style=
"background: #f1f1f1; padding: 10px 30px;"
>
{{
item
.
Description
}}
</p>
<span
class=
"fr processOtherdelSpan"
style=
"margin-left: 10px;"
@
click
.
stop=
"deleteOtherProcess(item.Id)"
>
删除
</span>
<div>
<span
class=
"fr processOtherdelSpan"
>
修改
</span>
<div
class=
"processOtherDiv"
v-for=
"(item,index) in otherList"
@
click=
"goUrl('updateProcessDesign',item.Id)"
>
</p>
<p
style=
"background: #f1f1f1; padding: 10px 30px;"
>
{{
item
.
Description
}}
<div
style=
"padding: 0 30px;"
>
<span
class=
"fr processOtherdelSpan"
style=
"margin-left: 10px;"
<p
style=
"padding: 10px 0 0 0;"
>
审批人:
</p>
@
click
.
stop=
"deleteOtherProcess(item.Id)"
>
删除
</span>
<div
class=
"approval_process_item"
v-for=
"(item,index) in otherList[index].AuditList"
>
<span
class=
"fr processOtherdelSpan"
>
修改
</span>
<span
style=
"position: relative;"
>
</p>
<i
class=
"iconfont icon-user11"
></i>
<div
style=
"padding: 0 30px;"
>
{{
item
.
AuditDescription
}}
<p
style=
"padding: 10px 0 0 0;"
>
审批人:
</p>
<b
class=
"bnotice"
v-if=
"item.AuditWay!=1"
>
(
{{
item
.
AuditWay
==
"2"
?
'会签'
:
'或签'
}}
)
</b>
<div
class=
"approval_process_item"
v-for=
"(item,index) in otherList[index].AuditList"
>
</span>
<span
style=
"position: relative;"
>
<i
class=
"iconfont icon-jiantouyou"
></i>
<i
class=
"iconfont icon-user11"
></i>
</div>
{{
item
.
AuditDescription
}}
<p
style=
"padding: 10px 0 0 0;"
>
抄送人:
</p>
<b
class=
"bnotice"
v-if=
"item.AuditWay!=1"
>
(
{{
item
.
AuditWay
==
"2"
?
'会签'
:
'或签'
}}
)
</b>
<div
class=
"approval_process_item"
v-for=
"(item,index) in otherList[index].AuditUserList"
>
</span>
<span
style=
"position: relative;"
>
<i
class=
"iconfont icon-jiantouyou"
></i>
<i
class=
"iconfont icon-user11"
></i>
</div>
{{
item
.
EmName
}}
<p
style=
"padding: 10px 0 0 0;"
>
抄送人:
</p>
</span>
<div
class=
"approval_process_item"
v-for=
"(item,index) in otherList[index].AuditUserList"
>
</div>
<span
style=
"position: relative;"
>
</div>
<i
class=
"iconfont icon-user11"
></i>
</div>
{{
item
.
EmName
}}
</div>
</span>
</div>
</div>
<div
style=
"margin: 30px 0;"
>
</div>
<input
type=
"button"
value=
"取消"
class=
"hollowFixedBtn"
@
click=
"goback"
/>
</div>
<input
type=
"button"
value=
"保存"
class=
"normalBtn"
@
click=
"saveApproval"
/>
</div>
</div>
</div>
</div>
<div
style=
"margin: 30px 0;"
>
<input
type=
"button"
value=
"取消"
class=
"hollowFixedBtn"
@
click=
"goback"
/>
<el-dialog
custom-class=
'w700'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
>
<input
type=
"button"
value=
"保存"
class=
"normalBtn"
@
click=
"saveApproval"
/>
<div
class=
"fl"
style=
"width: 300px; margin: 0 20px;"
>
</div>
<p
style=
"margin: 0 0 10px 0;"
>
选择:
<el-input
class=
'w200'
placeholder=
"输入关键字进行过滤"
v-model=
"filterText"
>
</div>
</el-input>
</p>
<el-dialog
custom-class=
'w700'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
>
<el-tree
class=
'ApprovalProcessBg'
<div
class=
"fl"
style=
"width: 300px; margin: 0 20px;"
>
:data=
"memberList"
<p
style=
"margin: 0 0 10px 0;"
>
选择:
<el-input
class=
'w200'
placeholder=
"输入关键字进行过滤"
v-model=
"filterText"
>
show-checkbox
</el-input>
:filter-node-method=
"filterNode"
</p>
ref=
"tree"
:props=
"defaultProps"
<el-tree
class=
'ApprovalProcessBg'
:data=
"memberList"
show-checkbox
:filter-node-method=
"filterNode"
ref=
"tree"
:render-after-expand=
"false"
:props=
"defaultProps"
:render-after-expand=
"false"
node-key=
"DepartmentId"
@
check-change=
"handleNodeChange"
>
node-key=
"DepartmentId"
</el-tree>
@
check-change=
"handleNodeChange"
>
</div>
</el-tree>
<div
class=
"fl"
>
</div>
<p
style=
"margin: 0 0 20px 0;"
>
已选:
</p>
<div
class=
"fl"
>
<div
class=
"Approval_yxList"
>
<p
style=
"margin: 0 0 20px 0;"
>
已选:
</p>
<li
v-for=
"item in showMember"
>
{{
item
.
DepartmentName
}}
<div
class=
"Approval_yxList"
>
<i
@
click=
"mySetCheckedKeys(item.DepartmentId)"
class=
"el-icon-circle-close showMemberIcon"
></i>
<li
v-for=
"item in showMember"
>
{{
item
.
DepartmentName
}}
</li>
<i
@
click=
"mySetCheckedKeys(item.DepartmentId)"
class=
"el-icon-circle-close showMemberIcon"
></i>
</div>
</li>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
</div>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible = false"
>
取 消
</button>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"outerVisible = false"
>
确定
</button>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible = false"
>
取 消
</button>
</div>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"outerVisible = false"
>
确定
</button>
</el-dialog>
</div>
</el-dialog>
<el-dialog
custom-class=
'w700'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible1"
center
>
<div
class=
"fl"
style=
"width: 300px; margin: 0 20px;"
>
<el-dialog
custom-class=
'w700'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible1"
center
>
<p
style=
"margin: 0 0 10px 0;"
>
选择岗位:
<el-input
class=
'w200'
placeholder=
"输入关键字进行过滤"
v-model=
"filterText1"
>
<div
class=
"fl"
style=
"width: 300px; margin: 0 20px;"
>
</el-input>
<p
style=
"margin: 0 0 10px 0;"
>
选择岗位:
<el-input
class=
'w200'
placeholder=
"输入关键字进行过滤"
v-model=
"filterText1"
>
</p>
</el-input>
<el-tree
class=
'ApprovalProcessBg'
:data=
"roleList"
ref=
"treeRole"
show-checkbox
</p>
:filter-node-method=
"filterNode1"
:props=
"defaultProps1"
@
check-change=
"checkedRole"
>
<el-tree
class=
'ApprovalProcessBg'
</el-tree>
:data=
"roleList"
</div>
ref=
"treeRole"
<div
class=
"fl"
>
show-checkbox
<p
style=
"margin: 0 0 20px 0;"
>
已选岗位:
</p>
:filter-node-method=
"filterNode1"
<div
class=
"Approval_yxList"
>
:props=
"defaultProps1"
<li
v-for=
"item in showRole"
>
{{
item
.
DepartmentName
}}
@
check-change=
"checkedRole"
<i
@
click=
"deleteRole()"
class=
"el-icon-circle-close showMemberIcon"
></i>
>
</li>
</el-tree>
</div>
</div>
</div>
<div
class=
"fl"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<p
style=
"margin: 0 0 20px 0;"
>
已选岗位:
</p>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible1= false"
>
取 消
</button>
<div
class=
"Approval_yxList"
>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"outerVisible1 = false"
>
确定
</button>
<li
v-for=
"item in showRole"
>
{{
item
.
DepartmentName
}}
</div>
<i
@
click=
"deleteRole()"
class=
"el-icon-circle-close showMemberIcon"
></i>
</el-dialog>
</li>
</div>
<el-dialog
custom-class=
'w700'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible2"
center
>
</div>
<div
class=
"fl"
style=
"width: 300px; margin: 0 20px;"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<p
style=
"margin: 0 0 10px 0;"
>
选择抄送人:
<el-input
class=
'w200'
placeholder=
"输入关键字进行过滤"
v-model=
"filterText2"
>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible1= false"
>
取 消
</button>
</el-input>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"outerVisible1 = false"
>
确定
</button>
</p>
</div>
<el-tree
class=
'ApprovalProcessBg'
:data=
"userList"
show-checkbox
:filter-node-method=
"filterNode2"
</el-dialog>
ref=
"treeUser"
:props=
"defaultProps2"
:render-after-expand=
"false"
node-key=
"DepartmentId"
@
check-change=
"handleNodeChange1"
>
<el-dialog
custom-class=
'w700'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible2"
center
>
</el-tree>
<div
class=
"fl"
style=
"width: 300px; margin: 0 20px;"
>
</div>
<p
style=
"margin: 0 0 10px 0;"
>
选择抄送人:
<el-input
class=
'w200'
placeholder=
"输入关键字进行过滤"
v-model=
"filterText2"
>
<div
class=
"fl"
>
</el-input>
<p
style=
"margin: 0 0 20px 0;"
>
已选:
</p>
</p>
<div
class=
"Approval_yxList"
>
<el-tree
class=
'ApprovalProcessBg'
<li
v-for=
"item in myAuditUserList1"
>
{{
item
.
EmName
}}
:data=
"userList"
<i
@
click=
"deleteUser(item.EmployeeId)"
class=
"el-icon-circle-close showMemberIcon"
></i>
show-checkbox
</li>
:filter-node-method=
"filterNode2"
</div>
ref=
"treeUser"
</div>
:props=
"defaultProps2"
<div
slot=
"footer"
class=
"dialog-footer"
>
:render-after-expand=
"false"
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible2 = false"
>
取消
</button>
node-key=
"DepartmentId"
<button
class=
"normalBtn"
type=
"primary"
@
click=
"saveAuditUser"
>
确定
</button>
@
check-change=
"handleNodeChange1"
>
</div>
</el-tree>
</el-dialog>
</div>
</div>
<div
class=
"fl"
>
<p
style=
"margin: 0 0 20px 0;"
>
已选:
</p>
<div
class=
"Approval_yxList"
>
<li
v-for=
"item in myAuditUserList1"
>
{{
item
.
EmName
}}
<i
@
click=
"deleteUser(item.EmployeeId)"
class=
"el-icon-circle-close showMemberIcon"
></i>
</li>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible2 = false"
>
取消
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"saveAuditUser"
>
确定
</button>
</div>
</el-dialog>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
filterText
:
""
,
filterText
:
""
,
filterText1
:
""
,
filterText1
:
""
,
filterText2
:
""
,
filterText2
:
""
,
defaultProps
:
{
defaultProps
:
{
children
:
'ChildList'
,
children
:
'ChildList'
,
label
:
'DepartmentName'
,
label
:
'DepartmentName'
,
},
},
defaultProps1
:
{
defaultProps1
:
{
children
:
'ChildList'
,
children
:
'ChildList'
,
label
:
'DepartmentName'
,
label
:
'DepartmentName'
,
disabled
:
"Disabled"
disabled
:
"Disabled"
},
},
defaultProps2
:
{
defaultProps2
:
{
children
:
'ChildList'
,
children
:
'ChildList'
,
label
:
'DepartmentName'
,
label
:
'DepartmentName'
,
},
},
zgList
:
[{
zgList
:
[{
value
:
'1'
,
value
:
'1'
,
label
:
'直接主管'
label
:
'直接主管'
},
},
{
{
value
:
'2'
,
value
:
'2'
,
label
:
'第2级主管'
label
:
'第2级主管'
},
},
{
{
value
:
'3'
,
value
:
'3'
,
label
:
'第3级主管'
label
:
'第3级主管'
},
},
{
{
value
:
'4'
,
value
:
'4'
,
label
:
'第4级主管'
label
:
'第4级主管'
},
},
{
{
value
:
'5'
,
value
:
'5'
,
label
:
'第5级主管'
label
:
'第5级主管'
},
},
{
{
value
:
'6'
,
value
:
'6'
,
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
:
{
filterText
(
val
)
{
filterText
(
val
)
{
this
.
$refs
.
tree
.
filter
(
val
);
this
.
$refs
.
tree
.
filter
(
val
);
},
},
filterText1
(
val
)
{
filterText1
(
val
)
{
this
.
$refs
.
treeRole
.
filter
(
val
);
this
.
$refs
.
treeRole
.
filter
(
val
);
},
},
filterText2
(
val
)
{
filterText2
(
val
)
{
this
.
$refs
.
treeUser
.
filter
(
val
);
this
.
$refs
.
treeUser
.
filter
(
val
);
}
}
},
},
methods
:
{
methods
:
{
filterNode
(
value
,
data
)
{
filterNode
(
value
,
data
)
{
if
(
!
value
)
return
true
;
if
(
!
value
)
return
true
;
return
data
.
DepartmentName
.
indexOf
(
value
)
!==
-
1
;
return
data
.
DepartmentName
.
indexOf
(
value
)
!==
-
1
;
},
},
filterNode1
(
value
,
data
)
{
filterNode1
(
value
,
data
)
{
if
(
!
value
)
return
true
;
if
(
!
value
)
return
true
;
return
data
.
DepartmentName
.
indexOf
(
value
)
!==
-
1
;
return
data
.
DepartmentName
.
indexOf
(
value
)
!==
-
1
;
},
},
filterNode2
(
value
,
data
)
{
filterNode2
(
value
,
data
)
{
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
this
.
$message
.
success
(
'删除成功!'
);
},
res
=>
{
this
.
getOtherList
()
if
(
res
.
data
.
resultCode
==
1
)
{
}
this
.
$message
.
success
(
'删除成功!'
);
},
err
=>
{})
this
.
getOtherList
()
}).
catch
(()
=>
{
}
this
.
$message
.
info
(
'已取消删除!'
);
},
err
=>
{})
});
}).
catch
(()
=>
{
},
this
.
$message
.
info
(
'已取消删除!'
);
addAppPerson
(){
});
this
.
approvalType
=
1
;
},
this
.
addBtn
=
true
;
addAppPerson
()
{
this
.
showLayer
();
this
.
approvalType
=
1
;
},
this
.
addBtn
=
true
;
deleteUser
(
id
){
this
.
showLayer
();
if
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
id
)
!=-
1
){
},
this
.
memberSetCheckedUserKeys
.
splice
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
id
),
1
)
deleteUser
(
id
)
{
}
if
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
id
)
!=
-
1
)
{
if
(
this
.
myAuditUserList
.
findIndex
(
item
=>
item
.
EmployeeId
===
id
)
!=-
1
)
this
.
memberSetCheckedUserKeys
.
splice
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
id
),
1
)
{
}
this
.
myAuditUserList
.
splice
(
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
)
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
.
myAuditUserList1
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
myAuditUserList
))
this
.
myAuditList
=
res
.
data
.
data
.
AuditList
==
null
?
[]
:
res
.
data
.
data
.
AuditList
this
.
myAuditUserList1
.
forEach
(
item
=>
{
this
.
myAuditUserList
=
res
.
data
.
data
.
AuditUserList
==
null
?
[]
:
res
.
data
.
data
.
AuditUserList
this
.
sysUserKeys
.
push
(
item
.
EmployeeId
)
this
.
myAuditUserList1
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
myAuditUserList
))
})
this
.
myAuditUserList1
.
forEach
(
item
=>
{
this
.
TemplateTypeName
=
res
.
data
.
data
.
TemplateTypeName
this
.
sysUserKeys
.
push
(
item
.
EmployeeId
)
this
.
TemplateType
=
res
.
data
.
data
.
TemplateType
;
})
}
else
{}
this
.
TemplateTypeName
=
res
.
data
.
data
.
TemplateTypeName
},
error
=>
{})
this
.
TemplateType
=
res
.
data
.
data
.
TemplateType
;
},
}
else
{}
getOtherList
(){
},
error
=>
{})
this
.
apipost
(
'WorkFlow_get_GetOtherConditionList'
,
{
TemplateId
:
this
.
TemplateId
},
res
=>
{
},
if
(
res
.
data
.
resultCode
==
1
)
{
getOtherList
()
{
this
.
otherList
=
res
.
data
.
data
this
.
apipost
(
'WorkFlow_get_GetOtherConditionList'
,
{
this
.
otherListSpr
=
res
.
data
.
data
.
AuditList
TemplateId
:
this
.
TemplateId
}
else
{}
},
res
=>
{
},
error
=>
{})
if
(
res
.
data
.
resultCode
==
1
)
{
},
this
.
otherList
=
res
.
data
.
data
getMember
()
{
this
.
otherListSpr
=
res
.
data
.
data
.
AuditList
this
.
outerVisible
=
true
;
}
else
{}
this
.
dialogTitle
=
'选择人员'
;
},
error
=>
{})
this
.
apipost
(
'WorkFlow_get_GetDepartMentEmployee'
,
{},
res
=>
{
},
this
.
memberList
=
res
.
data
.
data
getMember
()
{
},
err
=>
{})
this
.
outerVisible
=
true
;
},
this
.
dialogTitle
=
'选择人员'
;
getRole
()
{
this
.
apipost
(
'WorkFlow_get_GetDepartMentEmployee'
,
{},
res
=>
{
this
.
outerVisible1
=
true
;
this
.
memberList
=
res
.
data
.
data
this
.
dialogTitle
=
'选择岗位'
;
},
err
=>
{})
this
.
apipost
(
'WorkFlow_get_GetDepartMentPost'
,
{},
res
=>
{
},
this
.
roleList
=
res
.
data
.
data
getRole
()
{
},
err
=>
{})
this
.
outerVisible1
=
true
;
},
this
.
dialogTitle
=
'选择岗位'
;
handleNodeChange1
(
data
,
checked
)
{
this
.
apipost
(
'WorkFlow_get_GetDepartMentPost'
,
{},
res
=>
{
data
.
IsCheck
=
checked
;
this
.
roleList
=
res
.
data
.
data
if
(
data
.
Type
==
2
&&
data
.
IsCheck
)
{
//是员工且选中
},
err
=>
{})
let
isExsit
=
false
},
this
.
myAuditUserList1
.
forEach
(
x
=>
{
handleNodeChange1
(
data
,
checked
)
{
if
(
x
.
EmployeeId
==
data
.
DepartmentId
)
{
data
.
IsCheck
=
checked
;
isExsit
=
true
if
(
data
.
Type
==
2
&&
data
.
IsCheck
)
{
//是员工且选中
return
false
let
isExsit
=
false
}
this
.
myAuditUserList1
.
forEach
(
x
=>
{
})
if
(
x
.
EmployeeId
==
data
.
DepartmentId
)
{
if
(
!
isExsit
)
{
isExsit
=
true
this
.
myAuditUserList1
.
push
({
return
false
EmName
:
data
.
DepartmentName
,
}
EmployeeId
:
data
.
DepartmentId
,
})
Sort
:
'1'
if
(
!
isExsit
)
{
})
this
.
myAuditUserList1
.
push
({
this
.
memberSetCheckedUserKeys
.
push
(
data
.
DepartmentId
)
EmName
:
data
.
DepartmentName
,
}
EmployeeId
:
data
.
DepartmentId
,
}
else
if
(
data
.
Type
==
2
&&
!
data
.
IsCheck
)
{
Sort
:
'1'
if
(
this
.
myAuditUserList1
.
findIndex
(
item
=>
item
.
EmployeeId
===
data
.
DepartmentId
)
!=
-
1
)
{
})
this
.
myAuditUserList1
.
splice
(
this
.
myAuditUserList1
.
findIndex
(
item
=>
item
.
EmployeeId
===
data
.
DepartmentId
),
1
)
this
.
memberSetCheckedUserKeys
.
push
(
data
.
DepartmentId
)
this
.
memberSetCheckedUserKeys
.
splice
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
),
1
)
}
if
(
this
.
myAuditUserList1
.
findIndex
(
item
=>
item
.
EmployeeId
===
data
.
ParentId
)
!=
-
1
)
{
}
else
if
(
data
.
Type
==
2
&&
!
data
.
IsCheck
)
{
this
.
memberSetCheckedUserKeys
.
splice
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
.
ParentId
),
1
)
if
(
this
.
myAuditUserList1
.
findIndex
(
item
=>
item
.
EmployeeId
===
data
.
DepartmentId
)
!=
-
1
)
{
}
this
.
myAuditUserList1
.
splice
(
this
.
myAuditUserList1
.
findIndex
(
item
=>
item
.
EmployeeId
===
data
.
DepartmentId
),
}
1
)
}
this
.
memberSetCheckedUserKeys
.
splice
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
if
(
data
.
Type
!=
2
&&
data
.
IsCheck
)
{
.
DepartmentId
),
1
)
if
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
)
==
-
1
)
{
if
(
this
.
myAuditUserList1
.
findIndex
(
item
=>
item
.
EmployeeId
===
data
.
ParentId
)
!=
-
1
)
{
this
.
memberSetCheckedUserKeys
.
push
(
data
.
DepartmentId
)
this
.
memberSetCheckedUserKeys
.
splice
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
}
.
ParentId
),
1
)
}
else
if
(
data
.
Type
==
2
&&
!
data
.
IsCheck
)
{
}
if
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
)
!=
-
1
)
{
}
this
.
memberSetCheckedUserKeys
.
splice
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
),
1
)
}
if
(
this
.
myAuditUserList1
.
findIndex
(
item
=>
item
.
EmployeeId
===
data
.
ParentId
)
!=
-
1
)
{
if
(
data
.
Type
!=
2
&&
data
.
IsCheck
)
{
this
.
memberSetCheckedUserKeys
.
splice
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
.
ParentId
),
1
)
if
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
)
==
-
1
)
{
}
this
.
memberSetCheckedUserKeys
.
push
(
data
.
DepartmentId
)
}
}
}
}
else
if
(
data
.
Type
==
2
&&
!
data
.
IsCheck
)
{
},
if
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
)
!=
-
1
)
{
handleNodeChange
(
data
,
checked
)
{
this
.
memberSetCheckedUserKeys
.
splice
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
data
.
IsCheck
=
checked
;
.
DepartmentId
),
1
)
if
(
data
.
Type
==
2
&&
data
.
IsCheck
)
{
//是员工且选中
if
(
this
.
myAuditUserList1
.
findIndex
(
item
=>
item
.
EmployeeId
===
data
.
ParentId
)
!=
-
1
)
{
let
isExsit
=
false
this
.
memberSetCheckedUserKeys
.
splice
(
this
.
memberSetCheckedUserKeys
.
findIndex
(
item
=>
item
===
data
this
.
showMember
.
forEach
(
x
=>
{
.
ParentId
),
1
)
if
(
x
.
DepartmentId
==
data
.
DepartmentId
)
{
}
isExsit
=
true
}
return
false
}
}
},
})
handleNodeChange
(
data
,
checked
)
{
if
(
!
isExsit
)
{
data
.
IsCheck
=
checked
;
this
.
showMember
.
push
({
if
(
data
.
Type
==
2
&&
data
.
IsCheck
)
{
//是员工且选中
DepartmentName
:
data
.
DepartmentName
,
let
isExsit
=
false
DepartmentId
:
data
.
DepartmentId
this
.
showMember
.
forEach
(
x
=>
{
})
if
(
x
.
DepartmentId
==
data
.
DepartmentId
)
{
this
.
memberSetCheckedKeys
.
push
(
data
.
DepartmentId
)
isExsit
=
true
}
return
false
}
else
if
(
data
.
Type
==
2
&&
!
data
.
IsCheck
)
{
}
if
(
this
.
showMember
.
findIndex
(
item
=>
item
.
DepartmentId
===
data
.
DepartmentId
)
!=
-
1
)
{
})
this
.
showMember
.
splice
(
this
.
showMember
.
findIndex
(
item
=>
item
.
DepartmentId
===
data
.
DepartmentId
),
1
)
if
(
!
isExsit
)
{
this
.
memberSetCheckedKeys
.
splice
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
),
1
)
this
.
showMember
.
push
({
if
(
this
.
showMember
.
findIndex
(
item
=>
item
.
DepartmentId
===
data
.
ParentId
)
!=
-
1
)
{
DepartmentName
:
data
.
DepartmentName
,
this
.
memberSetCheckedKeys
.
splice
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
ParentId
),
1
)
DepartmentId
:
data
.
DepartmentId
}
})
}
this
.
memberSetCheckedKeys
.
push
(
data
.
DepartmentId
)
}
}
if
(
data
.
Type
!=
2
&&
data
.
IsCheck
)
{
}
else
if
(
data
.
Type
==
2
&&
!
data
.
IsCheck
)
{
if
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
)
==
-
1
)
{
if
(
this
.
showMember
.
findIndex
(
item
=>
item
.
DepartmentId
===
data
.
DepartmentId
)
!=
-
1
)
{
this
.
memberSetCheckedKeys
.
push
(
data
.
DepartmentId
)
this
.
showMember
.
splice
(
this
.
showMember
.
findIndex
(
item
=>
item
.
DepartmentId
===
data
.
DepartmentId
),
1
)
}
this
.
memberSetCheckedKeys
.
splice
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
),
1
)
}
else
if
(
data
.
Type
==
2
&&
!
data
.
IsCheck
)
{
if
(
this
.
showMember
.
findIndex
(
item
=>
item
.
DepartmentId
===
data
.
ParentId
)
!=
-
1
)
{
if
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
)
!=
-
1
)
{
this
.
memberSetCheckedKeys
.
splice
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
ParentId
),
1
)
this
.
memberSetCheckedKeys
.
splice
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
),
1
)
}
if
(
this
.
showMember
.
findIndex
(
item
=>
item
.
DepartmentId
===
data
.
ParentId
)
!=
-
1
)
{
}
this
.
memberSetCheckedKeys
.
splice
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
ParentId
),
1
)
}
}
if
(
data
.
Type
!=
2
&&
data
.
IsCheck
)
{
}
if
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
)
==
-
1
)
{
}
this
.
memberSetCheckedKeys
.
push
(
data
.
DepartmentId
)
},
}
mySetCheckedKeys
(
id
)
{
}
else
if
(
data
.
Type
==
2
&&
!
data
.
IsCheck
)
{
if
(
this
.
memberSetCheckedKeys
.
length
==
0
)
if
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
)
!=
-
1
)
{
return
this
.
memberSetCheckedKeys
.
splice
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
DepartmentId
),
1
)
if
(
id
==
-
1
)
{
if
(
this
.
showMember
.
findIndex
(
item
=>
item
.
DepartmentId
===
data
.
ParentId
)
!=
-
1
)
{
this
.
$refs
.
tree
.
setCheckedKeys
(
this
.
memberSetCheckedKeys
)
this
.
memberSetCheckedKeys
.
splice
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
data
.
ParentId
),
1
)
return
}
}
}
this
.
showMember
.
splice
(
this
.
showMember
.
findIndex
(
item
=>
item
.
DepartmentId
===
id
),
1
)
}
this
.
memberSetCheckedKeys
.
splice
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
id
),
1
)
},
this
.
$refs
.
tree
.
setCheckedKeys
(
this
.
memberSetCheckedKeys
);
mySetCheckedKeys
(
id
)
{
},
if
(
this
.
memberSetCheckedKeys
.
length
==
0
)
mySetCheckedUsersKeys
(){
return
if
(
id
==
-
1
)
{
},
this
.
$refs
.
tree
.
setCheckedKeys
(
this
.
memberSetCheckedKeys
)
checkedRole
(
data
,
checked
){
return
data
.
IsCheck
=
checked
;
}
if
(
data
.
Disabled
==
false
&&
data
.
IsCheck
){
this
.
showMember
.
splice
(
this
.
showMember
.
findIndex
(
item
=>
item
.
DepartmentId
===
id
),
1
)
this
.
showRole
=
[];
this
.
memberSetCheckedKeys
.
splice
(
this
.
memberSetCheckedKeys
.
findIndex
(
item
=>
item
===
id
),
1
)
this
.
showRole
.
push
({
DepartmentName
:
data
.
DepartmentName
,
Id
:
data
.
DepartmentId
})
this
.
$refs
.
tree
.
setCheckedKeys
(
this
.
memberSetCheckedKeys
);
}
},
mySetCheckedUsersKeys
()
{
},
deleteItem
(
sort
)
{
},
this
.
myAuditList
.
splice
(
this
.
myAuditList
.
findIndex
(
item
=>
item
.
Sort
===
sort
),
1
)
checkedRole
(
data
,
checked
)
{
},
data
.
IsCheck
=
checked
;
getItemValue
(
obj
,
index
){
if
(
data
.
Disabled
==
false
&&
data
.
IsCheck
)
{
this
.
addBtn
=
false
;
this
.
showRole
=
[];
this
.
updateItemIndex
=
index
;
this
.
showRole
.
push
({
this
.
updateItem
=
obj
;
DepartmentName
:
data
.
DepartmentName
,
this
.
showLayer
();
Id
:
data
.
DepartmentId
this
.
approvalType
=
obj
.
AuditType
;
})
if
(
obj
.
AuditType
==
1
){
}
this
.
zgObj
.
RoleOrInitiator
=
obj
.
RoleOrInitiator
.
toString
();
},
}
deleteItem
(
sort
)
{
if
(
obj
.
AuditType
==
2
){
this
.
myAuditList
.
splice
(
this
.
myAuditList
.
findIndex
(
item
=>
item
.
Sort
===
sort
),
1
)
this
.
showMember
=
[];
},
this
.
memberSetCheckedKeys
=
[];
getItemValue
(
obj
,
index
)
{
this
.
zgObj
.
AuditWay
=
obj
.
AuditWay
;
this
.
addBtn
=
false
;
obj
.
AuditUserList
.
forEach
((
item
,
index
)
=>
{
this
.
updateItemIndex
=
index
;
this
.
showMember
.
push
({
this
.
updateItem
=
obj
;
DepartmentName
:
item
.
EmName
,
this
.
showLayer
();
DepartmentId
:
item
.
EmployeeId
this
.
approvalType
=
obj
.
AuditType
;
})
if
(
obj
.
AuditType
==
1
)
{
this
.
memberSetCheckedKeys
.
push
(
item
.
EmployeeId
)
this
.
zgObj
.
RoleOrInitiator
=
obj
.
RoleOrInitiator
.
toString
();
})
}
}
if
(
obj
.
AuditType
==
2
)
{
if
(
obj
.
AuditType
==
3
){
this
.
showMember
=
[];
this
.
zgObj
.
AuditWay
=
obj
.
AuditWay
;
this
.
memberSetCheckedKeys
=
[];
this
.
showRole
=
[];
this
.
zgObj
.
AuditWay
=
obj
.
AuditWay
;
this
.
showRole
.
push
({
DepartmentName
:
obj
.
AuditDescription
})
obj
.
AuditUserList
.
forEach
((
item
,
index
)
=>
{
}
this
.
showMember
.
push
({
DepartmentName
:
item
.
EmName
,
},
DepartmentId
:
item
.
EmployeeId
saveUpdateNode
(){
})
let
zg
=
{}
this
.
memberSetCheckedKeys
.
push
(
item
.
EmployeeId
)
if
(
this
.
approvalType
==
1
)
})
{
}
zg
.
AuditType
=
1
;
if
(
obj
.
AuditType
==
3
)
{
zg
.
AuditWay
=
1
;
this
.
zgObj
.
AuditWay
=
obj
.
AuditWay
;
zg
.
AuditUserList
=
[],
this
.
showRole
=
[];
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
this
.
showRole
.
push
({
zg
.
RoleOrInitiator
=
this
.
zgObj
.
RoleOrInitiator
DepartmentName
:
obj
.
AuditDescription
let
obj
=
{}
})
if
(
this
.
tempChosenId
!=
-
1
)
{
}
obj
=
this
.
zgList
.
find
((
item
)
=>
{
return
item
.
value
===
this
.
tempChosenId
;
},
})
saveUpdateNode
()
{
zg
.
AuditDescription
=
obj
.
label
let
zg
=
{}
}
else
{
if
(
this
.
approvalType
==
1
)
{
zg
.
AuditDescription
=
'直接主管'
zg
.
AuditType
=
1
;
}
zg
.
AuditWay
=
1
;
this
.
myAuditList
[
this
.
updateItemIndex
]
=
zg
;
zg
.
AuditUserList
=
[],
}
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
if
(
this
.
approvalType
==
2
)
{
//指定成员
zg
.
RoleOrInitiator
=
this
.
zgObj
.
RoleOrInitiator
let
Au
=
this
.
showMember
;
let
obj
=
{}
let
Auu
=
[];
if
(
this
.
tempChosenId
!=
-
1
)
{
Au
.
forEach
((
item
,
index
)
=>
{
obj
=
this
.
zgList
.
find
((
item
)
=>
{
Auu
.
push
({
return
item
.
value
===
this
.
tempChosenId
;
EmployeeId
:
item
.
DepartmentId
,
})
EmName
:
item
.
DepartmentName
,
zg
.
AuditDescription
=
obj
.
label
Sort
:
index
}
else
{
})
zg
.
AuditDescription
=
'直接主管'
})
}
if
(
Auu
.
length
==
1
){
this
.
myAuditList
[
this
.
updateItemIndex
]
=
zg
;
zg
.
AuditWay
=
1
}
zg
.
AuditDescription
=
Auu
[
0
].
EmName
if
(
this
.
approvalType
==
2
)
{
//指定成员
}
else
if
(
Auu
.
length
>
1
){
let
Au
=
this
.
showMember
;
zg
.
AuditWay
=
this
.
zgObj
.
AuditWay
;
let
Auu
=
[];
zg
.
AuditDescription
=
'指定'
+
this
.
showMember
.
length
+
'人'
Au
.
forEach
((
item
,
index
)
=>
{
}
Auu
.
push
({
zg
.
AuditType
=
2
;
EmployeeId
:
item
.
DepartmentId
,
zg
.
RoleOrInitiator
=
'-1'
;
EmName
:
item
.
DepartmentName
,
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
Sort
:
index
zg
.
AuditUserList
=
Auu
;
})
if
(
Auu
.
length
==
0
)
})
{
if
(
Auu
.
length
==
1
)
{
this
.
$message
.
error
(
"成员不能为空"
)
zg
.
AuditWay
=
1
return
zg
.
AuditDescription
=
Auu
[
0
].
EmName
}
else
if
(
Auu
.
length
>
10
){
}
else
if
(
Auu
.
length
>
1
)
{
this
.
$message
.
error
(
"人数不能超过10人!"
)
zg
.
AuditWay
=
this
.
zgObj
.
AuditWay
;
return
zg
.
AuditDescription
=
'指定'
+
this
.
showMember
.
length
+
'人'
}
}
this
.
myAuditList
[
this
.
updateItemIndex
]
=
zg
;
zg
.
AuditType
=
2
;
}
zg
.
RoleOrInitiator
=
'-1'
;
if
(
this
.
approvalType
==
3
)
{
//岗位
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
zg
.
AuditType
=
3
;
zg
.
AuditUserList
=
Auu
;
zg
.
AuditWay
=
this
.
zgObj
.
AuditWay
;
if
(
Auu
.
length
==
0
)
{
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
this
.
$message
.
error
(
"成员不能为空"
)
zg
.
AuditUserList
=
''
;
return
if
(
this
.
showRole
.
length
==
0
)
}
else
if
(
Auu
.
length
>
10
)
{
{
this
.
$message
.
error
(
"人数不能超过10人!"
)
this
.
$message
.
error
(
"请选择岗位"
)
return
return
}
}
else
{
this
.
myAuditList
[
this
.
updateItemIndex
]
=
zg
;
zg
.
RoleOrInitiator
=
this
.
showRole
[
0
].
Id
;
}
zg
.
AuditDescription
=
this
.
showRole
[
0
].
DepartmentName
;
if
(
this
.
approvalType
==
3
)
{
//岗位
}
zg
.
AuditType
=
3
;
this
.
myAuditList
[
this
.
updateItemIndex
]
=
zg
;
zg
.
AuditWay
=
this
.
zgObj
.
AuditWay
;
}
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
this
.
closeLayer
()
zg
.
AuditUserList
=
''
;
},
if
(
this
.
showRole
.
length
==
0
)
{
deleteRole
(){
this
.
$message
.
error
(
"请选择岗位"
)
this
.
showRole
=
[];
return
},
}
else
{
changeValue
(
value
)
{
zg
.
RoleOrInitiator
=
this
.
showRole
[
0
].
Id
;
this
.
tempChosenId
=
value
zg
.
AuditDescription
=
this
.
showRole
[
0
].
DepartmentName
;
},
}
addNode
()
{
this
.
myAuditList
[
this
.
updateItemIndex
]
=
zg
;
//data>>AuditList>>AuditType 核人类型 1主管(指定一级) 2 指定成员 3角色
}
let
zg
=
{}
this
.
closeLayer
()
if
(
this
.
approvalType
==
1
)
//主管
},
{
deleteRole
()
{
zg
.
AuditType
=
1
;
this
.
showRole
=
[];
zg
.
AuditWay
=
1
;
},
zg
.
AuditUserList
=
[],
changeValue
(
value
)
{
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
this
.
tempChosenId
=
value
zg
.
RoleOrInitiator
=
this
.
zgObj
.
RoleOrInitiator
},
let
obj
=
{}
addNode
()
{
if
(
this
.
tempChosenId
!=
-
1
)
{
//data>>AuditList>>AuditType 核人类型 1主管(指定一级) 2 指定成员 3角色
obj
=
this
.
zgList
.
find
((
item
)
=>
{
let
zg
=
{}
return
item
.
value
===
this
.
tempChosenId
;
if
(
this
.
approvalType
==
1
)
//主管
})
{
zg
.
AuditDescription
=
obj
.
label
zg
.
AuditType
=
1
;
}
else
{
zg
.
AuditWay
=
1
;
zg
.
AuditDescription
=
'直接主管'
zg
.
AuditUserList
=
[],
}
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
this
.
myAuditList
.
push
(
zg
);
zg
.
RoleOrInitiator
=
this
.
zgObj
.
RoleOrInitiator
}
let
obj
=
{}
if
(
this
.
approvalType
==
2
)
{
//指定成员
if
(
this
.
tempChosenId
!=
-
1
)
{
let
Au
=
this
.
showMember
;
obj
=
this
.
zgList
.
find
((
item
)
=>
{
let
Auu
=
[];
return
item
.
value
===
this
.
tempChosenId
;
Au
.
forEach
((
item
,
index
)
=>
{
})
Auu
.
push
({
zg
.
AuditDescription
=
obj
.
label
EmployeeId
:
item
.
DepartmentId
,
}
else
{
EmName
:
item
.
DepartmentName
,
zg
.
AuditDescription
=
'直接主管'
Sort
:
index
}
})
this
.
myAuditList
.
push
(
zg
);
})
}
if
(
Auu
.
length
==
1
){
if
(
this
.
approvalType
==
2
)
{
//指定成员
zg
.
AuditWay
=
1
let
Au
=
this
.
showMember
;
zg
.
AuditDescription
=
Auu
[
0
].
EmName
let
Auu
=
[];
}
else
if
(
Auu
.
length
>
1
){
Au
.
forEach
((
item
,
index
)
=>
{
zg
.
AuditWay
=
this
.
zgObj
.
AuditWay
;
Auu
.
push
({
zg
.
AuditDescription
=
'指定'
+
this
.
showMember
.
length
+
'人'
EmployeeId
:
item
.
DepartmentId
,
}
EmName
:
item
.
DepartmentName
,
zg
.
AuditType
=
2
;
Sort
:
index
zg
.
RoleOrInitiator
=
'-1'
;
})
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
})
zg
.
AuditUserList
=
Auu
;
if
(
Auu
.
length
==
1
)
{
if
(
Auu
.
length
==
0
)
zg
.
AuditWay
=
1
{
zg
.
AuditDescription
=
Auu
[
0
].
EmName
this
.
$message
.
error
(
"成员不能为空"
)
}
else
if
(
Auu
.
length
>
1
)
{
return
zg
.
AuditWay
=
this
.
zgObj
.
AuditWay
;
}
else
if
(
Auu
.
length
>
10
){
zg
.
AuditDescription
=
'指定'
+
this
.
showMember
.
length
+
'人'
this
.
$message
.
error
(
"人数不能超过10人!"
)
}
return
zg
.
AuditType
=
2
;
}
zg
.
RoleOrInitiator
=
'-1'
;
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
this
.
myAuditList
.
push
(
zg
);
zg
.
AuditUserList
=
Auu
;
if
(
Auu
.
length
==
0
)
{
}
this
.
$message
.
error
(
"成员不能为空"
)
if
(
this
.
approvalType
==
3
)
{
//岗位
return
zg
.
AuditType
=
3
;
}
else
if
(
Auu
.
length
>
10
)
{
zg
.
AuditWay
=
this
.
zgObj
.
AuditWay
;
this
.
$message
.
error
(
"人数不能超过10人!"
)
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
return
zg
.
AuditUserList
=
''
;
}
if
(
this
.
showRole
.
length
==
0
)
{
this
.
myAuditList
.
push
(
zg
);
this
.
$message
.
error
(
"请选择部门"
)
return
}
}
else
{
if
(
this
.
approvalType
==
3
)
{
//岗位
zg
.
RoleOrInitiator
=
this
.
showRole
[
0
].
Id
;
zg
.
AuditType
=
3
;
zg
.
AuditDescription
=
this
.
showRole
[
0
].
DepartmentName
;
zg
.
AuditWay
=
this
.
zgObj
.
AuditWay
;
}
zg
.
Sort
=
this
.
myAuditList
.
length
+
1
;
this
.
myAuditList
.
push
(
zg
);
zg
.
AuditUserList
=
''
;
}
if
(
this
.
showRole
.
length
==
0
)
{
this
.
closeLayer
()
this
.
$message
.
error
(
"请选择部门"
)
},
return
showLayer
()
{
}
else
{
this
.
showlayer
=
true
;
zg
.
RoleOrInitiator
=
this
.
showRole
[
0
].
Id
;
this
.
isTransition
=
true
;
zg
.
AuditDescription
=
this
.
showRole
[
0
].
DepartmentName
;
},
}
closeLayer
()
{
this
.
myAuditList
.
push
(
zg
);
let
_this
=
this
;
}
setTimeout
(
function
()
{
this
.
closeLayer
()
_this
.
showlayer
=
false
;
},
},
300
)
showLayer
()
{
this
.
isTransition
=
false
;
this
.
showlayer
=
true
;
},
this
.
isTransition
=
true
;
saveApproval
(){
},
this
.
addMsg
.
AuditList
=
this
.
myAuditList
;
closeLayer
()
{
this
.
addMsg
.
AuditUserList
=
this
.
myAuditUserList
;
let
_this
=
this
;
this
.
ConditionSortList
=
[],
setTimeout
(
function
()
{
this
.
addMsg
.
Sort
=
0
,
_this
.
showlayer
=
false
;
this
.
loading
=
true
;
},
300
)
this
.
apipost
(
'WorkFlow_post_SetDefaultCondition'
,
this
.
addMsg
,
res
=>
{
this
.
isTransition
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
},
this
.
loading
=
false
;
saveApproval
()
{
this
.
$message
.
success
(
"操作成功!"
)
this
.
addMsg
.
AuditList
=
this
.
myAuditList
;
}
this
.
addMsg
.
AuditUserList
=
this
.
myAuditUserList
;
},
err
=>
{})
this
.
ConditionSortList
=
[],
},
this
.
addMsg
.
Sort
=
0
,
goUrl
(
path
,
id
)
{
this
.
loading
=
true
;
this
.
$router
.
push
({
name
:
path
,
query
:{
"id"
:
id
}
})
this
.
apipost
(
'WorkFlow_post_SetDefaultCondition'
,
this
.
addMsg
,
res
=>
{
},
if
(
res
.
data
.
resultCode
==
1
)
{
goback
(){
this
.
loading
=
false
;
this
.
$router
.
push
({
name
:
'Approval'
,
query
:{
"Bid"
:
this
.
$route
.
query
.
Bid
}});
this
.
$message
.
success
(
"操作成功!"
)
}
}
},
},
err
=>
{})
mounted
()
{
},
this
.
TemplateId
=
this
.
addMsg
.
TemplateId
=
this
.
$route
.
query
.
id
goUrl
(
path
,
id
)
{
this
.
getList
()
this
.
$router
.
push
({
this
.
getOtherList
()
name
:
path
,
}
query
:
{
"id"
:
id
}
}
})
},
goback
()
{
this
.
$router
.
push
({
name
:
'Approval'
,
query
:
{
"Bid"
:
this
.
$route
.
query
.
Bid
}
});
}
},
mounted
()
{
this
.
TemplateId
=
this
.
addMsg
.
TemplateId
=
this
.
$route
.
query
.
id
this
.
getList
()
this
.
getOtherList
()
}
}
</
script
>
</
script
>
<
style
>
<
style
>
.processOtherdelSpan
{
.processOtherdelSpan
{
color
:
#E95252
;
color
:
#E95252
;
}
}
.processOtherdelSpan
:hover
{
text-decoration
:
underline
;
.processOtherdelSpan
:hover
{
}
text-decoration
:
underline
;
.processOtherDiv
{
}
font-size
:
12px
;
min-height
:
80px
;
.processOtherDiv
{
border
:
1px
solid
#D2D2D2
;
font-size
:
12px
;
margin-top
:
20px
;
min-height
:
80px
;
cursor
:
pointer
;
border
:
1px
solid
#D2D2D2
;
}
margin-top
:
20px
;
.showMemberIcon
{
cursor
:
pointer
;
float
:
right
;
}
font-size
:
20px
;
margin
:
10px
20px
0
0
;
.showMemberIcon
{
color
:
#999
;
float
:
right
;
cursor
:
pointer
;
font-size
:
20px
;
}
margin
:
10px
20px
0
0
;
color
:
#999
;
.normalMember
{
cursor
:
pointer
;
margin
:
10px
0
;
}
width
:
700px
;
max-height
:
500px
;
.normalMember
{
overflow
:
auto
margin
:
10px
0
;
}
width
:
700px
;
max-height
:
500px
;
.normalMember
li
{
overflow
:
auto
display
:
inline-block
;
}
margin
:
10px
;
padding
:
5px
10px
;
.normalMember
li
{
background
:
#f8f8f8
;
display
:
inline-block
;
border-radius
:
4px
;
margin
:
10px
;
text-align
:
center
;
padding
:
5px
10px
;
font-size
:
14px
;
background
:
#f8f8f8
;
color
:
#333
;
border-radius
:
4px
;
}
text-align
:
center
;
font-size
:
14px
;
.approval_layer_info
{
color
:
#333
;
padding
:
20px
0
0
30px
;
}
}
.approval_layer_info
{
.ApprovalProcessBg
{
padding
:
20px
0
0
30px
;
background
:
#f8f8f8
;
}
max-height
:
400px
;
overflow-y
:
auto
;
.ApprovalProcessBg
{
}
background
:
#f8f8f8
;
max-height
:
400px
;
.Approval_yxList
{
overflow-y
:
auto
;
width
:
300px
;
}
background
:
#f8f8f8
;
min-height
:
400px
;
.Approval_yxList
{
max-height
:
400px
;
width
:
300px
;
overflow-y
:
auto
;
background
:
#f8f8f8
;
}
min-height
:
400px
;
max-height
:
400px
;
.Approval_yxList
li
{
overflow-y
:
auto
;
line-height
:
40px
;
}
text-indent
:
15px
;
border-bottom
:
1px
dotted
#eee
;
.Approval_yxList
li
{
}
line-height
:
40px
;
text-indent
:
15px
;
.approval_page_content
i
{
border-bottom
:
1px
dotted
#eee
;
color
:
#999
!important
;
}
}
.approval_page_content
i
{
.approval_page_layer_bottom
{
color
:
#999
!important
;
position
:
absolute
;
}
bottom
:
20px
;
padding-left
:
20px
;
.approval_page_layer_bottom
{
}
position
:
absolute
;
bottom
:
20px
;
.approval_span_type
{
padding-left
:
20px
;
float
:
left
;
}
width
:
120px
;
margin-bottom
:
10px
;
.approval_span_type
{
}
float
:
left
;
width
:
120px
;
.approval_process_item_delete
{
margin-bottom
:
10px
;
position
:
absolute
;
}
right
:
2px
;
top
:
-11px
;
.approval_process_item_delete
{
font-size
:
5px
;
position
:
absolute
;
}
right
:
2px
;
top
:
-11px
;
.approval_process_item
{
font-size
:
5px
;
display
:
inline-block
;
}
margin
:
10px
5px
10px
0
;
cursor
:
pointer
;
.approval_process_item
{
}
display
:
inline-block
;
margin
:
10px
5px
10px
0
;
.approval_process_item
b
.bnotice
{
cursor
:
pointer
;
color
:
#E95252
;
}
}
.approval_process_item
b
.bnotice
{
.approval_process_item
>
span
{
color
:
#E95252
;
padding
:
0
10px
;
}
min-width
:
100px
;
height
:
40px
;
.approval_process_item
>
span
{
line-height
:
40px
;
padding
:
0
10px
;
text-align
:
center
;
min-width
:
100px
;
font-size
:
12px
;
height
:
40px
;
background
:
#f8f8f8
;
line-height
:
40px
;
border-radius
:
4px
;
text-align
:
center
;
display
:
inline-block
;
font-size
:
12px
;
}
background
:
#f8f8f8
;
border-radius
:
4px
;
.approval_page_layer
{
display
:
inline-block
;
position
:
fixed
;
}
width
:
100%
;
left
:
0
;
.approval_page_layer
{
top
:
0
;
position
:
fixed
;
z-index
:
99
;
width
:
100%
;
height
:
100%
;
left
:
0
;
background
:
rgba
(
0
,
0
,
0
,
.2
);
top
:
0
;
}
z-index
:
99
;
height
:
100%
;
.approval_page_title
{
background
:
rgba
(
0
,
0
,
0
,
.2
);
height
:
14px
;
}
line-height
:
14px
;
padding-left
:
15px
;
.approval_page_title
{
border-left
:
3px
solid
#E95252
;
height
:
14px
;
margin
:
20px
0
;
line-height
:
14px
;
}
padding-left
:
15px
;
border-left
:
3px
solid
#E95252
;
.approval_back_btn
{
margin
:
20px
0
;
margin
:
20px
0
;
}
}
.approval_back_btn
{
.approval_page_content
{
margin
:
20px
0
;
width
:
680px
;
}
min-height
:
480px
;
overflow
:
hidden
;
.approval_page_content
{
padding
:
0
20px
;
width
:
680px
;
background
:
#fff
;
min-height
:
480px
;
border-radius
:
4px
;
overflow
:
hidden
;
}
padding
:
0
20px
;
background
:
#fff
;
.approval_person_content
{
border-radius
:
4px
;
padding
:
0
30px
;
}
overflow
:
hidden
;
margin-bottom
:
30px
;
.approval_person_content
{
}
padding
:
0
30px
;
overflow
:
hidden
;
.approval_person_content
>
span
{
margin-bottom
:
30px
;
font-size
:
12px
;
}
color
:
#666
;
margin-right
:
30px
;
.approval_person_content
>
span
{
}
font-size
:
12px
;
color
:
#666
;
.approval_person_list
{
margin-right
:
30px
;
float
:
left
;
}
width
:
550px
;
max-height
:
400px
;
.approval_person_list
{
overflow
:
auto
;
float
:
left
;
}
width
:
550px
;
max-height
:
400px
;
.approval_person_set
{
overflow
:
auto
;
width
:
800px
;
}
height
:
100%
;
transition
:
right
.3s
;
.approval_person_set
{
background
:
#fff
;
width
:
800px
;
position
:
fixed
;
height
:
100%
;
top
:
0
;
transition
:
right
.3s
;
right
:
-800px
;
background
:
#fff
;
box-shadow
:
4px
0px
10px
rgba
(
0
,
0
,
0
,
0.1
)
position
:
fixed
;
}
top
:
0
;
right
:
-800px
;
.approval_person_set_right
{
box-shadow
:
4px
0px
10px
rgba
(
0
,
0
,
0
,
0.1
)
right
:
0
;
}
}
.approval_person_set_right
{
.approval_person_set
.setTitle
{
right
:
0
;
height
:
48px
;
}
line-height
:
48px
;
background
:
#EDEEF0
;
.approval_person_set
.setTitle
{
font-size
:
16px
;
height
:
48px
;
color
:
#333
;
line-height
:
48px
;
text-indent
:
20px
;
background
:
#EDEEF0
;
}
font-size
:
16px
;
color
:
#333
;
.approval_person_layerContent
{
text-indent
:
20px
;
padding-left
:
20px
;
}
overflow
:
hidden
;
}
.approval_person_layerContent
{
</
style
>
padding-left
:
20px
;
\ No newline at end of file
overflow
:
hidden
;
}
</
style
>
src/components/newTravelmanager/TravelGroupControl/TravelManager2.vue
View file @
4ca22c56
...
@@ -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
;
...
...
src/components/newTravelmanager/TravelGroupControl/TravelManagerThree.vue
View file @
4ca22c56
...
@@ -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
;
...
...
src/components/newTravelmanager/TravelGroupControl/UpgradedVersion/index.vue
View file @
4ca22c56
...
@@ -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
)
{
...
...
src/components/newTravelmanager/TravelGroupControl/tripmap.vue
View file @
4ca22c56
<
template
>
<
template
>
<div
class=
"tripmap-form marginT20"
v-if=
"PostConfig"
>
<div
class=
"tripmap-form marginT20"
v-if=
"PostConfig"
>
<div
class=
"tripmap-Search"
v-loading=
"
set
Loading"
>
<div
class=
"tripmap-Search"
v-loading=
"
page
Loading"
>
<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=
"
get
CityListIds(x, index)"
>
placeholder=
"选择城市"
v-model=
"x.CityListIds"
multiple
filterable
@
change=
"
change
CityListIds(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=
"
alterCit
y(x, index, 1)"
></i>
@
click=
"
operateCountr
y(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=
"
alterCit
y(x, index, 0)"
></i>
@
click=
"
operateCountr
y(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
)
{
z
.
Lng
=
y
.
Lng
;
if
(
y
.
Lat
&&
y
.
Lng
)
{
z
.
Lat
=
y
.
Lat
;
z
.
Lng
=
y
.
Lng
;
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
)
{
z
.
Lng
=
y
.
Lng
;
if
(
y
.
Lat
&&
y
.
Lng
)
{
z
.
Lat
=
y
.
Lat
;
z
.
Lng
=
y
.
Lng
;
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-删除)
alterCit
y
(
x
,
index
,
type
)
{
operateCountr
y
(
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
];
this
.
ClearSource
(
'curve-layer-'
+
MId
,
1
)
if
(
currentCountry
)
{
this
.
ClearSource
(
'curve-source-'
+
MId
,
2
)
let
MId
=
currentCountry
.
MId
;
this
.
ClearSource
(
'world-layer-'
+
MId
,
1
)
this
.
ClearSource
(
'curve-layer-'
+
MId
,
1
)
this
.
ClearSource
(
'curve-source-'
+
MId
,
2
)
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
//
选择城市或移除城市
get
CityListIds
(
x
,
index
)
{
change
CityListIds
(
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
;
...
...
src/components/newTravelmanager/travelLineTrip/travelDaysTrip.vue
View file @
4ca22c56
...
@@ -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
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment