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
04c2e1ad
Commit
04c2e1ad
authored
Jan 09, 2020
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
a686c23b
8d98cdb5
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
811 additions
and
425 deletions
+811
-425
App.vue
src/App.vue
+1
-1
endTravelManager.css
src/assets/css/endTravelManager.css
+3
-2
tripUtils.js
src/assets/utils/tripUtils.js
+5
-3
MergeBillModuleNew.vue
...FinancialModule/FinancialSubmodule/MergeBillModuleNew.vue
+3
-1
OpTripList.vue
src/components/TravelManager/TravelList/OpTripList.vue
+57
-24
AssetsShenpi.vue
src/components/administrative/AssetsSystem/AssetsShenpi.vue
+59
-12
CheckDetails.vue
src/components/administrative/AssetsSystem/CheckDetails.vue
+5
-2
XaddFinancialProcess.vue
src/components/administrative/XaddFinancialProcess.vue
+3
-1
confirmationOrderDownLoad.vue
src/components/confirmationOrderDownLoad.vue
+1
-2
index.vue
src/components/index.vue
+11
-7
fivedayList.vue
...onents/newTravelmanager/TravelTripPreview/fivedayList.vue
+109
-68
fourdayList.vue
...onents/newTravelmanager/TravelTripPreview/fourdayList.vue
+116
-80
threedayList.vue
...nents/newTravelmanager/TravelTripPreview/threedayList.vue
+96
-67
twodayList.vue
...ponents/newTravelmanager/TravelTripPreview/twodayList.vue
+62
-47
ScenicTraffic.vue
...ponents/newTravelmanager/travelLineTrip/ScenicTraffic.vue
+154
-66
travelDaysTrip.vue
...onents/newTravelmanager/travelLineTrip/travelDaysTrip.vue
+64
-41
index.js
src/plug/index.js
+62
-1
No files found.
src/App.vue
View file @
04c2e1ad
...
...
@@ -173,7 +173,7 @@ export default {
}
</
script
>
<
style
>
@import
"//at.alicdn.com/t/font_635492_r
cf1gwtw66
.css"
;
@import
"//at.alicdn.com/t/font_635492_r
woxda6u56n
.css"
;
@import
"./assets/css/Semibold.css"
;
@import
"./assets/css/global/config.css"
;
@import
"./assets/css/fileIcon.css"
;
...
...
src/assets/css/endTravelManager.css
View file @
04c2e1ad
...
...
@@ -602,7 +602,9 @@
position
:
absolute
;
height
:
40px
;
top
:
42%
;
left
:
42%
;
left
:
50%
;
transform
:
translate3d
(
-50%
,
-50%
,
0
);
width
:
180px
;
display
:
none
;
text-align
:
center
;
z-index
:
3
...
...
@@ -611,7 +613,6 @@
display
:
inline-block
;
width
:
40px
;
height
:
40px
;
/* display:none; */
border-radius
:
50%
;
line-height
:
40px
;
color
:
#fff
;
...
...
src/assets/utils/tripUtils.js
View file @
04c2e1ad
...
...
@@ -350,8 +350,9 @@ var tripUtils = {
IntroduceTitle
:
""
,
//行程介绍标题
IntroduceImage
:
ViittoFileUrl
+
"/Upload/DefalutImage/DMC/defaultairline.png"
,
//行程介绍图片
IntroduceDetail
:
""
,
//行程介绍详细信息
TrafficType
:
0
,
//交通类型
TrafficContent
:
""
//交通详情
TrafficType
:
2
,
//交通类型,默认为专车
TrafficContent
:
""
,
//交通详情
TrafficImage
:
""
,
//交通图片
}
};
},
...
...
@@ -399,8 +400,9 @@ var tripUtils = {
x
:
0
,
//初始位移x
y
:
0
//初始位移y
},
TrafficType
:
0
,
//交通类型(1-飞机,2-专车,3-地铁,4-步行)
TrafficType
:
2
,
//交通类型(1-飞机,2-专车,3-地铁,4-步行)
TrafficContent
:
""
,
//交通内容
TrafficImage
:
""
,
//交通图片
};
},
//行程-酒店对象
...
...
src/components/FinancialModule/FinancialSubmodule/MergeBillModuleNew.vue
View file @
04c2e1ad
...
...
@@ -258,7 +258,9 @@
</
template
>
</td>
<td
height=
"34px"
>
{{item.FinanceId}}
</td>
<td
height=
"34px"
>
{{item.CostTypeName}}
</td>
<td
height=
"34px"
>
<el-input
size=
"small"
style=
"width:auto;display:inline-block;width:120px"
v-model=
"item.CostTypeName"
placeholder=
"请输入"
></el-input>
</td>
<!--<td height="34px">{{item.Number}}</td>-->
<!--<td height="34px">{{item.UnitPrice}}</td>-->
<td
height=
"34px"
>
...
...
src/components/TravelManager/TravelList/OpTripList.vue
View file @
04c2e1ad
...
...
@@ -11,7 +11,7 @@
<span>
<em>
{{
$t
(
'system.table_ssLine'
)
}}
</em>
<el-select
class=
'w150'
v-model=
"queryMsg.LineId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeam
List()"
>
@
change=
"getLinePlace
List()"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'queryCommonData.SelectDefaultValue'
></el-option>
<el-option
v-for=
"item in queryCommonData.LineList"
:label=
'item.LineName'
:value=
'item.LineID'
:key=
'item.LineID'
>
...
...
@@ -19,6 +19,15 @@
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'Operation.Op_Country'
)
}}
/
{{
$t
(
'system.query_dest'
)
}}
</em>
<el-select
class=
"w150"
v-model=
"queryMsg.PlaceID"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList()"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for=
"item in queryCommonData.PlaceList"
:label=
"item.PlaceName"
:value=
"item.PlaceID"
:key=
"item.LtID"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'active.ad_xlmc'
)
}}
</em>
...
...
@@ -149,6 +158,8 @@
queryCommonData
:
{
//线路列表
LineList
:
[],
//目的地
PlaceList
:
[],
//系列列表
LineTeamList
:
[],
//下拉框默认值
...
...
@@ -166,6 +177,7 @@
pageSize
:
10
,
LineId
:
0
,
LineteamId
:
0
,
PlaceID
:
0
,
CreateBy
:
0
,
TeamType
:
0
,
TCNUMS
:
""
,
...
...
@@ -239,29 +251,50 @@
);
});
},
//获取线路列表
getLineList
()
{
this
.
apipost
(
"line_post_GetList"
,
{
"LineDirection"
:
2
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
LineList
=
res
.
data
.
data
;
}
});
},
//获取系列列表
getLineTeamList
()
{
this
.
queryMsg
.
LineteamId
=
0
;
let
msg
=
{
lineID
:
this
.
queryMsg
.
LineId
,
isTOOP
:
1
};
this
.
apipost
(
"team_post_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
LineTeamList
=
res
.
data
.
data
;
}
});
},
//获取线路列表
getLineList
()
{
this
.
apipost
(
"line_post_GetList"
,
{
LineDirection
:
2
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
LineList
=
res
.
data
.
data
;
this
.
queryCommonData
.
PlaceList
=
[];
this
.
queryCommonData
.
LineTeamList
=
[];
}
}
);
},
//获取目的地列表
getLinePlaceList
()
{
this
.
queryMsg
.
PlaceID
=
0
;
this
.
queryMsg
.
LineteamId
=
0
;
let
msg
=
{
lineID
:
this
.
queryMsg
.
LineId
};
this
.
apipost
(
"team_post_GetLinePlace"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
PlaceList
=
res
.
data
.
data
;
this
.
queryCommonData
.
LineTeamList
=
[];
}
});
},
//获取系列列表
getLineTeamList
()
{
this
.
queryMsg
.
LineteamId
=
0
;
let
msg
=
{
lineID
:
this
.
queryMsg
.
LineId
,
placeID
:
this
.
queryMsg
.
PlaceID
,
isTOOP
:
1
};
this
.
apipost
(
"team_post_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
LineTeamList
=
res
.
data
.
data
;
}
});
},
//新获取列表数据
getControlList
()
{
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryMsg
));
...
...
src/components/administrative/AssetsSystem/AssetsShenpi.vue
View file @
04c2e1ad
...
...
@@ -5,7 +5,7 @@
<div
style=
"margin-top:30px;background:rgba(255,255,255,1);border-radius:10px;padding:20px;position:relative;"
>
<div
style=
"padding-bottom:10px;text-align:right"
>
<span
@
click=
"GoZcUrl"
class=
"backTo"
style=
""
>
资产管理
</span>
<span
@
click=
"GoZcUrl"
style=
"font-size:12px;text-decoration:underline;cursor: pointer;"
>
跳转到
资产管理
</span>
</div>
<el-row
class=
"HeaderDiv"
style=
"border-bottom:1px solid #E2E4EB;padding-bottom:20px"
>
<span
class=
"underline"
></span>
...
...
@@ -53,6 +53,10 @@
<span
v-if=
"GetDetail.BackTime!=''"
>
{{
GetDetail
.
BackTime
}}
</span>
</el-col>
<el-col
v-if=
"GetDetail.ChangePerson && GetDetail.ChangePerson!=''"
:span=
"12"
>
<span>
原领用人 :
</span>
<span>
{{
GetDetail
.
ChangePerson
}}
</span>
</el-col>
<el-col
:span=
"12"
>
<span>
备注 :
</span>
<span>
{{
GetDetail
.
Remark
}}
</span>
...
...
@@ -104,7 +108,7 @@
<div
class=
"InfoChangeLog"
>
<div
class=
"changLog"
>
<p
class=
"_log_t"
>
流程日志
</p>
<ul
class=
"changLogList"
v-if=
"danjuList.length>0"
>
<ul
class=
"changLogList"
style=
"height:154px"
v-if=
"danjuList.length>0"
>
<li
class=
"changLogList_l"
v-for=
"(log,li) in danjuList"
>
<span
style=
"background-color: #47BF8C"
class=
"_radius_green"
></span>
<p>
<span
class=
"_color_blue"
>
{{
log
.
UpdateBy
}}
</span>
<span
style=
"float:right"
class=
"fr changLog_time"
>
{{
log
.
UpdateDate
}}
</span>
</p>
...
...
@@ -312,7 +316,7 @@
</div>
</div>
</template>
<div
v-if=
"GetDetail.Is_CanAudit==1 && compType=='shenpi' && !needSign"
class=
"_upload_box basefix"
style=
"margin-bottom:20px;"
>
<div
v-if=
"GetDetail.Is_CanAudit==1 && compType=='shenpi' && !needSign"
class=
"_upload_box basefix"
style=
"margin-bottom:20px;
padding-left:75px
"
>
<ul
class=
"clearfix"
>
<li
v-for=
"(img,imgIndex) in uploadImgList"
:key=
"imgIndex"
>
<img
:src=
"img"
alt=
""
>
...
...
@@ -373,7 +377,7 @@
</div>
</div>
<el-dialog
title=
"详情"
:visible
.
sync=
"CheckDetailState"
width=
"1
15
0px"
>
<el-dialog
title=
"详情"
:visible
.
sync=
"CheckDetailState"
width=
"1
20
0px"
>
<CheckDetails
ref=
"mychild"
></CheckDetails>
</el-dialog>
<viewer
:images=
"images"
:options=
'imageOptions'
@
inited=
"inited"
class=
"viewer"
ref=
"viewer"
>
...
...
@@ -473,7 +477,13 @@ export default {
methods
:{
GoZcUrl
(){
window
.
open
(
"http://www.test.com:8080"
)
let
url
=
''
;
if
(
!
this
.
isOnline
())
{
url
=
"http://www.test.com:8080/#/Home"
;
}
else
{
url
=
"http://zcyx.oytour.com/#/Home"
;
}
window
.
open
(
url
)
},
inited
(
viewer
){
this
.
$viewer
=
viewer
...
...
@@ -501,10 +511,48 @@ export default {
this
.
canvasTxt
.
clearRect
(
0
,
0
,
this
.
$refs
.
canvasF
.
width
,
this
.
$refs
.
canvasF
.
height
)
this
.
points
=
[]
},
uuid
(
len
,
radix
)
{
var
chars
=
'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
.
split
(
''
);
var
uuid
=
[],
i
;
radix
=
radix
||
chars
.
length
;
if
(
len
)
{
// Compact form
for
(
i
=
0
;
i
<
len
;
i
++
)
uuid
[
i
]
=
chars
[
0
|
Math
.
random
()
*
radix
];
}
else
{
var
r
;
uuid
[
8
]
=
uuid
[
13
]
=
uuid
[
18
]
=
uuid
[
23
]
=
'-'
;
uuid
[
14
]
=
'4'
;
for
(
i
=
0
;
i
<
36
;
i
++
)
{
if
(
!
uuid
[
i
])
{
r
=
0
|
Math
.
random
()
*
16
;
uuid
[
i
]
=
chars
[(
i
==
19
)
?
(
r
&
0x3
)
|
0x8
:
r
];
}
}
}
return
uuid
.
join
(
''
);
},
dataURLtoFile
(
dataurl
,
filename
)
{
//将base64转换为文件
var
arr
=
dataurl
.
split
(
','
),
mime
=
arr
[
0
].
match
(
/:
(
.*
?)
;/
)[
1
],
bstr
=
atob
(
arr
[
1
]),
n
=
bstr
.
length
,
u8arr
=
new
Uint8Array
(
n
);
while
(
n
--
){
u8arr
[
n
]
=
bstr
.
charCodeAt
(
n
);
}
return
new
File
([
u8arr
],
filename
,
{
type
:
mime
});
},
//提交签名
commit
()
{
this
.
addMsg
.
SignImage
=
this
.
$refs
.
canvasF
.
toDataURL
();
this
.
signState
=
false
;
let
that
=
this
;
let
imgUrl
=
this
.
$refs
.
canvasF
.
toDataURL
();
let
newArr
=
[];
var
fileName
=
`
${
that
.
uuid
(
10
,
10
)}
.png`
;
var
path
=
`/assets/sign/`
;
newArr
.
push
(
this
.
dataURLtoFile
(
imgUrl
,
fileName
))
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
this
.
addMsg
.
SignImage
=
that
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
},
1
);
this
.
signState
=
false
;
},
mouseDown
(
ev
)
{
ev
=
ev
||
event
...
...
@@ -635,7 +683,7 @@ export default {
},
getdanjuList
(){
this
.
apiJavaPost
(
"/api/property/GetAuditChangeLogPageList"
,
this
.
danjuMsg
,
this
.
apiJavaPost
Zc
(
"/api/property/GetAuditChangeLogPageList"
,
this
.
danjuMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
let
data
=
res
.
data
.
data
.
pageData
;
...
...
@@ -665,9 +713,8 @@ export default {
}
this
.
addMsg
.
AuditType
=
num
;
this
.
addMsg
.
ImageList
=
this
.
uploadImgList
;
this
.
apiJavaPost
(
"/api/property/AuditOrRefund"
,
this
.
addMsg
,
this
.
apiJavaPost
Zc
(
"/api/property/AuditOrRefund"
,
this
.
addMsg
,
res
=>
{
console
.
log
(
"res"
,
res
)
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getDetail
();
...
...
@@ -724,7 +771,7 @@ export default {
},
getDetail
(){
this
.
pageLoad
=
true
;
this
.
apiJavaPost
(
"/api/property/GetPropertyAuditDetail"
,{
UseReceiveId
:
this
.
addMsg
.
UseReceiveId
},
this
.
apiJavaPost
Zc
(
"/api/property/GetPropertyAuditDetail"
,{
UseReceiveId
:
this
.
addMsg
.
UseReceiveId
},
res
=>
{
this
.
pageLoad
=
false
;
...
...
@@ -1197,7 +1244,7 @@ li{
}
.approvalDetails
.HeaderDiv
.underline
{
display
:
block
;
width
:
1
01
px
;
width
:
1
35
px
;
height
:
2px
;
position
:
absolute
;
bottom
:
0
;
...
...
src/components/administrative/AssetsSystem/CheckDetails.vue
View file @
04c2e1ad
...
...
@@ -305,12 +305,15 @@ export default {
.CheckDetails
.baseDiv
.desItem
:nth-child
(
3n
)
{
margin-right
:
0
;
}
.CheckDetails
p
{
margin
:
0
;
}
.CheckDetails
.desItem
p
:first-child
{
margin-bottom
:
4px
;
}
.CheckDetails
.desItem
{
display
:
inline-block
;
background
:
#
fff
;
background
:
#
F1F1F1
;
box-sizing
:
border-box
;
border-radius
:
10px
;
width
:
200px
;
...
...
@@ -332,7 +335,7 @@ export default {
padding
:
25px
;
}
.CheckDetails
.right
{
width
:
6
6
0px
;
width
:
6
8
0px
;
padding
:
0
10px
0
15px
;
box-sizing
:
border-box
;
}
...
...
src/components/administrative/XaddFinancialProcess.vue
View file @
04c2e1ad
...
...
@@ -601,6 +601,7 @@ export default {
ShowEmployeeList
:[],
ShowDepartmentList
:[],
PropertyType
:
''
,
TemplateSorce
:
2
,
},
AuditUserList
:{
EmName
:
''
,
...
...
@@ -1079,7 +1080,8 @@ export default {
Id
:
this
.
addMsg
.
Workflow_Condition
.
Id
,
AuditList
:[],
AuditUserList
:[],
}
},
TemplateSorce
:
2
,
}
this
.
$message
.
error
(
res
.
data
.
message
)
return
...
...
src/components/confirmationOrderDownLoad.vue
View file @
04c2e1ad
...
...
@@ -17,8 +17,7 @@
<div
class=
"trip_cover"
v-show=
"pdfLoading"
v-loading=
"pdfLoading"
></div>
<el-row>
<el-col
:span=
"14"
>
<input
type=
"button"
style=
"width: auto !important; display:none;"
class=
"travelControlTripBtn"
value=
"下载电脑版PDF_V3"
@
click=
"toPDF_V3(orderMsg.startDate + orderMsg.lineteamName+orderMsg.dayNum+'日游')"
/>
<input
type=
"button"
style=
"width: auto !important;"
class=
"travelControlTripBtn"
value=
"下载电脑版PDF"
@
click=
"toPDF_V2(orderMsg.startDate + orderMsg.lineteamName+orderMsg.dayNum+'日游')"
/>
<input
type=
"button"
style=
"width: auto !important;"
class=
"travelControlTripBtn"
value=
"下载手机版WORD"
...
...
src/components/index.vue
View file @
04c2e1ad
...
...
@@ -1958,15 +1958,19 @@ export default {
},
LogSetReadStatus
(
s
)
{
if
(
s
.
Type
==
7
){
let
path
=
"AssetsShenpi"
let
url
=
""
;
if
(
!
this
.
isOnline
())
{
url
=
"http://www.test.com:8081/#/"
;
}
else
{
url
=
"http://yx.oytour.com/#/"
;
}
let
path
=
url
+
s
.
Link
;
console
.
log
(
"path"
,
path
)
let
routeData
=
this
.
$router
.
resolve
({
name
:
path
,
query
:
{
Id
:
28
,
compType
:
'shenpi'
}
name
:
path
})
window
.
open
(
routeData
.
href
,
'_blank'
)
window
.
open
(
path
,
'_blank'
)
}
else
{
this
.
apipost
(
...
...
src/components/newTravelmanager/TravelTripPreview/fivedayList.vue
View file @
04c2e1ad
<
template
>
<div
class=
"TC-ThreeContent clearfix"
>
<div
class=
"TC-fiveLeftContent"
>
<div
class=
"TC-ImgTop"
:id=
'"boxs_"+DayNum+"_"+0'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"fiveDay_"+DayNum+"_"+0'
tabindex=
"0"
:w=
"318"
:h=
"525"
:resizable=
'false'
:x=
"scenicArray[0].ScenicJson.x"
:y=
"scenicArray[0].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(0)"
>
<img
:src=
'compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 318, "")'
:id=
'"bodys_"+DayNum+"_"+0'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"fiveDay_"+DayNum+"_"+0'
tabindex=
"0"
:w=
"318"
:h=
"525"
:resizable=
'false'
:x=
"scenicArray[0].ScenicJson.x"
:y=
"scenicArray[0].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(0)"
>
<img
:src=
'compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 318, "")'
:id=
'"bodys_"+DayNum+"_"+0'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
<el-form-item>
...
...
@@ -16,26 +16,32 @@
</span>
</el-upload>
</el-form-item>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[0])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[0])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(0,1)"
><i
class=
"iconfont icon-youyi"
></i></span>
</div>
</div>
<div
class=
"text"
>
<div
class=
"text_inside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
0
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[0].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[0].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
0
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
0
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[0].Description"
resize=
"none"
class=
"TC-logestTextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[0].Description"
resize=
"none"
class=
"TC-logestTextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
>
{{
scenicArray
[
0
].
Description
}}
...
...
@@ -46,9 +52,10 @@
<div
class=
"TC-fiveContent"
>
<div
class=
"TC-ChildListImg"
>
<div
class=
"TC-fiveTopImg"
:id=
'"boxs_"+DayNum+"_"+1'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"fiveDay_"+DayNum+"_"+1'
tabindex=
"0"
:w=
"323"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[1].ScenicJson.x"
:y=
"scenicArray[1].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(1)"
>
<img
:src=
'compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 323, "")'
:id=
'"bodys_"+DayNum+"_"+1'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"fiveDay_"+DayNum+"_"+1'
tabindex=
"0"
:w=
"323"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[1].ScenicJson.x"
:y=
"scenicArray[1].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(1)"
>
<img
:src=
'compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 323, "")'
:id=
'"bodys_"+DayNum+"_"+1'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
...
...
@@ -60,26 +67,33 @@
</span>
</el-upload>
</el-form-item>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[1])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[1])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(1,0)"
><i
class=
"iconfont icon-zuoyi"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(1,1)"
><i
class=
"iconfont icon-youyi"
></i></span>
</div>
</div>
<div
class=
"TC-fiveText"
>
<div
class=
"text_inside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
1
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[1].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[1].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
1
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
1
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[1].Description"
resize=
"none"
class=
"TC-fiveTextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[1].Description"
resize=
"none"
class=
"TC-fiveTextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
style=
"width:295px;height:137px;overflow:hidden;"
>
{{
scenicArray
[
1
].
Description
}}
...
...
@@ -88,10 +102,11 @@
</div>
</div>
<div
class=
"TC-ChildListImg"
>
<div
class=
"TC-fiveTopImg"
:id=
'"boxs_"+DayNum+"_"+2'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"fiveDay_"+DayNum+"_"+2'
tabindex=
"0"
:w=
"323"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[2].ScenicJson.x"
:y=
"scenicArray[2].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(2)"
>
<img
:src=
'compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 323, "")'
:id=
'"bodys_"+DayNum+"_"+2'
/>
<div
class=
"TC-fiveTopImg"
:id=
'"boxs_"+DayNum+"_"+2'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"fiveDay_"+DayNum+"_"+2'
tabindex=
"0"
:w=
"323"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[2].ScenicJson.x"
:y=
"scenicArray[2].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(2)"
>
<img
:src=
'compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 323, "")'
:id=
'"bodys_"+DayNum+"_"+2'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
...
...
@@ -103,26 +118,33 @@
</span>
</el-upload>
</el-form-item>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[2])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[2])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(2,0)"
><i
class=
"iconfont icon-zuoyi"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(2,1)"
><i
class=
"iconfont icon-youyi"
></i></span>
</div>
</div>
<div
class=
"TC-fiveText"
>
<div
class=
"text_inside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
2
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[2].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[2].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
2
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
2
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[2].Description"
resize=
"none"
class=
"TC-fiveTextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[2].Description"
resize=
"none"
class=
"TC-fiveTextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
style=
"width:295px;height:137px;overflow:hidden;"
>
{{
scenicArray
[
2
].
Description
}}
...
...
@@ -132,9 +154,10 @@
</div>
<div
class=
"TC-ChildListImg"
>
<div
class=
"TC-fiveTopImg"
:id=
'"boxs_"+DayNum+"_"+3'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"fiveDay_"+DayNum+"_"+3'
tabindex=
"0"
:w=
"323"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[3].ScenicJson.x"
:y=
"scenicArray[3].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(3)"
>
<img
:src=
'compressImg(scenicArray[3].NewImaArray[0].Url, "filt", 323, "")'
:id=
'"bodys_"+DayNum+"_"+3'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"fiveDay_"+DayNum+"_"+3'
tabindex=
"0"
:w=
"323"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[3].ScenicJson.x"
:y=
"scenicArray[3].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(3)"
>
<img
:src=
'compressImg(scenicArray[3].NewImaArray[0].Url, "filt", 323, "")'
:id=
'"bodys_"+DayNum+"_"+3'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
<el-form-item>
...
...
@@ -145,27 +168,33 @@
</span>
</el-upload>
</el-form-item>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[3])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[3])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(3,0)"
><i
class=
"iconfont icon-zuoyi"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(3,1)"
><i
class=
"iconfont icon-youyi"
></i></span>
</div>
</div>
<div
class=
"TC-fiveText"
>
<div
class=
"text_inside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
3
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[3].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[3].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[3].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[3],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[3].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[3],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
3
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[3].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[3],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[3].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[3],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
3
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[3].Description"
resize=
"none"
class=
"TC-fiveTextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[3].Description"
resize=
"none"
class=
"TC-fiveTextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
style=
"width:295px;height:137px;overflow:hidden;"
>
{{
scenicArray
[
3
].
Description
}}
...
...
@@ -175,9 +204,10 @@
</div>
<div
class=
"TC-ChildListImg"
>
<div
class=
"TC-fiveTopImg"
:id=
'"boxs_"+DayNum+"_"+4'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"fiveDay_"+DayNum+"_"+4'
tabindex=
"0"
:w=
"323"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[4].ScenicJson.x"
:y=
"scenicArray[4].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(4)"
>
<img
:src=
'compressImg(scenicArray[4].NewImaArray[0].Url, "filt", 323, "")'
:id=
'"bodys_"+DayNum+"_"+4'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"fiveDay_"+DayNum+"_"+4'
tabindex=
"0"
:w=
"323"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[4].ScenicJson.x"
:y=
"scenicArray[4].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(4)"
>
<img
:src=
'compressImg(scenicArray[4].NewImaArray[0].Url, "filt", 323, "")'
:id=
'"bodys_"+DayNum+"_"+4'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
...
...
@@ -189,26 +219,32 @@
</span>
</el-upload>
</el-form-item>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[4])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[4])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(4,0)"
><i
class=
"iconfont icon-zuoyi"
></i></span>
</div>
</div>
<div
class=
"TC-fiveText"
>
<div
class=
"text_inside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
4
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[4].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[4].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[4].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[4],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[4].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[4],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
4
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[4].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[4],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[4].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[4],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
4
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[4].Description"
resize=
"none"
class=
"TC-fiveTextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[4].Description"
resize=
"none"
class=
"TC-fiveTextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
style=
"width:295px;height:137px;overflow:hidden;"
>
{{
scenicArray
[
4
].
Description
}}
...
...
@@ -219,8 +255,8 @@
</div>
<el-dialog
custom-class=
"TC_comDMCchoose"
title=
"选择图片"
center
:visible
.
sync=
"isShowScenicImg"
>
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:queryItem=
"queryItem"
v-bind:isCheckmore=
"1"
v-bind:imgType=
"3"
v-bind:IsShowAdd=
"true"
></DMCchooseImg>
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:
queryItem=
"queryItem"
v-bind:isCheckmore=
"1"
v-bind:
imgType=
"3"
v-bind:IsShowAdd=
"true"
></DMCchooseImg>
</el-dialog>
</div>
</
template
>
...
...
@@ -229,7 +265,7 @@
import
DMCchooseImg
from
"../../commonPage/DMCchooseImg.vue"
;
export
default
{
/*IsDirect:1直采,0非直采*/
props
:
[
"scenicArray"
,
"IsDirect"
,
"isRead"
,
"DayNum"
],
props
:
[
"scenicArray"
,
"IsDirect"
,
"isRead"
,
"DayNum"
],
data
()
{
return
{
//当前点击景点项
...
...
@@ -237,15 +273,19 @@
//是否显示选择图片框
isShowScenicImg
:
false
,
//点击传递对象
queryItem
:{
queryName
:
''
,
queryId
:
0
,
queryItem
:
{
queryName
:
''
,
queryId
:
0
,
},
//当前拖动的图片索引
currentChooseIndex
:
0
,
currentChooseIndex
:
0
,
};
},
methods
:
{
//左移右移
ToMoveScenicItem
(
index
,
type
)
{
this
.
$parent
.
MoveScenicItem
(
this
.
DayNum
,
index
,
type
);
},
//获取当前点击的Item
GetClickItem
(
obj
)
{
this
.
ClickItem
=
obj
;
...
...
@@ -291,30 +331,30 @@
this
.
ClickItem
.
NewScenicImg
=
JSON
.
stringify
(
array
);
});
},
onDragImagestop
(
x
,
y
)
{
let
imgHeight
=
document
.
querySelector
(
"#bodys_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
height
;
var
obj
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
);
let
boxHeight
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
offsetHeight
;
let
cha
=
boxHeight
-
imgHeight
onDragImagestop
(
x
,
y
)
{
let
imgHeight
=
document
.
querySelector
(
"#bodys_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
height
;
var
obj
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
);
let
boxHeight
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
offsetHeight
;
let
cha
=
boxHeight
-
imgHeight
if
(
cha
<=
0
)
{
if
(
y
<
0
&&
y
<
cha
)
{
y
=
cha
}
else
if
(
y
>
0
)
{
y
=
0
}
if
(
y
<
0
&&
y
<
cha
)
{
y
=
cha
}
else
if
(
y
>
0
)
{
y
=
0
}
}
else
{
if
(
y
<
0
)
{
y
=
0
}
else
if
(
y
>
0
&&
y
>
cha
)
{
y
=
cha
}
if
(
y
<
0
)
{
y
=
0
}
else
if
(
y
>
0
&&
y
>
cha
)
{
y
=
cha
}
}
this
.
scenicArray
[
this
.
currentChooseIndex
].
ScenicJson
.
y
=
y
;
this
.
$refs
[
"fiveDay_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
].
_data
.
top
=
y
;
this
.
$refs
[
"fiveDay_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
].
_data
.
top
=
y
;
},
//获取选中的图片索引
onActivated
(
currentIndex
){
this
.
currentChooseIndex
=
currentIndex
;
onActivated
(
currentIndex
)
{
this
.
currentChooseIndex
=
currentIndex
;
},
},
components
:
{
...
...
@@ -327,4 +367,5 @@
// })
},
};
</
script
>
src/components/newTravelmanager/TravelTripPreview/fourdayList.vue
View file @
04c2e1ad
<
style
>
.TC-OneDayImg
{
height
:
452px
;
width
:
660px
;
float
:
left
;
position
:
relative
;
border
:
1px
solid
#d1d1d1
;
}
.TC-OneDayImg
img
{
width
:
100%
;
min-height
:
449px
;}
.TC-OneDayImg
:hover
.TC_uploadDiv
{
display
:
block
;
.TC-OneDayImg
{
height
:
452px
;
width
:
660px
;
float
:
left
;
position
:
relative
;
border
:
1px
solid
#d1d1d1
;
}
.TC-FourTextArea
.el-textarea__inner
{
width
:
288px
!important
;
height
:
158px
;
.TC-OneDayImg
img
{
width
:
100%
;
min-height
:
449px
;
}
.TC-OneDayImg
:hover
.TC_uploadDiv
{
display
:
block
;
}
.TC-FourTextArea
.el-textarea__inner
{
width
:
288px
!important
;
height
:
158px
;
}
</
style
>
<
template
>
<div
class=
"TC-ThreeContent"
>
<div
class=
"TC-ScencContent clearfix"
>
<div
class=
"TC-OneDayImg"
:id=
'"boxs_"+DayNum+"_"+0'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"fourDay_"+DayNum+"_"+0'
tabindex=
"0"
:w=
"660"
:h=
"449"
:resizable=
'false'
:x=
"scenicArray[0].ScenicJson.x"
:y=
"scenicArray[0].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(0)"
>
<img
:src=
'compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 660, "")'
:id=
'"bodys_"+DayNum+"_"+0'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"fourDay_"+DayNum+"_"+0'
tabindex=
"0"
:w=
"660"
:h=
"449"
:resizable=
'false'
:x=
"scenicArray[0].ScenicJson.x"
:y=
"scenicArray[0].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(0)"
>
<img
:src=
'compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 660, "")'
:id=
'"bodys_"+DayNum+"_"+0'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
<el-form-item>
...
...
@@ -33,26 +41,32 @@
</span>
</el-upload>
</el-form-item>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[0])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[0])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(0,1)"
><i
class=
"iconfont icon-youyi"
></i></span>
</div>
</div>
<div
class=
"TC-OneDetail"
>
<div
class=
"TC_text_inside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
0
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[0].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[0].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
0
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
0
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[0].Description"
resize=
"none"
class=
"TC-TextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[0].Description"
resize=
"none"
class=
"TC-TextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
>
{{
scenicArray
[
0
].
Description
}}
...
...
@@ -63,9 +77,10 @@
<div
class=
"_flex_space_between"
>
<div
class=
"TC-fourChildContent"
>
<div
class=
"image"
:id=
'"boxs_"+DayNum+"_"+1'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"fourDay_"+DayNum+"_"+1'
tabindex=
"0"
:w=
"321"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[1].ScenicJson.x"
:y=
"scenicArray[1].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(1)"
>
<img
:src=
'compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 321, "")'
:id=
'"bodys_"+DayNum+"_"+1'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"fourDay_"+DayNum+"_"+1'
tabindex=
"0"
:w=
"321"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[1].ScenicJson.x"
:y=
"scenicArray[1].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(1)"
>
<img
:src=
'compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 321, "")'
:id=
'"bodys_"+DayNum+"_"+1'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
...
...
@@ -77,26 +92,33 @@
</span>
</el-upload>
</el-form-item>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[1])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[1])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(1,0)"
><i
class=
"iconfont icon-zuoyi"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(1,1)"
><i
class=
"iconfont icon-youyi"
></i></span>
</div>
</div>
<div
class=
"text"
>
<div
class=
"text_inside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
1
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[1].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[1].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
1
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
1
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[1].Description"
resize=
"none"
class=
"TC-FourTextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[1].Description"
resize=
"none"
class=
"TC-FourTextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
style=
"width:284px;height:151px;overflow:hidden;"
>
{{
scenicArray
[
1
].
Description
}}
...
...
@@ -106,13 +128,11 @@
</div>
<div
class=
"TC-fourChildContent"
>
<div
class=
"image"
:id=
'"boxs_"+DayNum+"_"+2'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"fourDay_"+DayNum+"_"+2'
tabindex=
"0"
:w=
"321"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[2].ScenicJson.x"
:y=
"scenicArray[2].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(2)"
>
<img
:src=
'compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 321, "")'
:id=
'"bodys_"+DayNum+"_"+2'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"fourDay_"+DayNum+"_"+2'
tabindex=
"0"
:w=
"321"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[2].ScenicJson.x"
:y=
"scenicArray[2].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(2)"
>
<img
:src=
'compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 321, "")'
:id=
'"bodys_"+DayNum+"_"+2'
/>
</VueDraggableResizable>
<!--
<img
v-if=
"scenicArray[2].NewImaArray.length>0&&scenicArray[2].NewImaArray[0].Url"
:src=
"scenicArray[2].NewImaArray[0].Url"
alt=
""
/>
<div
v-else
class=
"_noData_img"
src=
""
></div>
-->
<div
class=
"TC_uploadDiv"
>
<el-form-item>
<el-upload
:file-list=
"scenicArray[2].NewImaArray"
action
:http-request=
"uploadImg"
...
...
@@ -122,26 +142,33 @@
</span>
</el-upload>
</el-form-item>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[2])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[2])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(2,0)"
><i
class=
"iconfont icon-zuoyi"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(2,1)"
><i
class=
"iconfont icon-youyi"
></i></span>
</div>
</div>
<div
class=
"text"
>
<div
class=
"text_inside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
2
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[2].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[2].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
2
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
2
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[2].Description"
resize=
"none"
class=
"TC-FourTextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[2].Description"
resize=
"none"
class=
"TC-FourTextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
>
{{
scenicArray
[
2
].
Description
}}
...
...
@@ -151,9 +178,10 @@
</div>
<div
class=
"TC-fourChildContent"
>
<div
class=
"image"
:id=
'"boxs_"+DayNum+"_"+3'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"fourDay_"+DayNum+"_"+3'
tabindex=
"0"
:w=
"321"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[3].ScenicJson.x"
:y=
"scenicArray[3].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(3)"
>
<img
:src=
'compressImg(scenicArray[3].NewImaArray[0].Url, "filt", 321, "")'
:id=
'"bodys_"+DayNum+"_"+3'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"fourDay_"+DayNum+"_"+3'
tabindex=
"0"
:w=
"321"
:h=
"246"
:resizable=
'false'
:x=
"scenicArray[3].ScenicJson.x"
:y=
"scenicArray[3].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(3)"
>
<img
:src=
'compressImg(scenicArray[3].NewImaArray[0].Url, "filt", 321, "")'
:id=
'"bodys_"+DayNum+"_"+3'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
<el-form-item>
...
...
@@ -164,26 +192,32 @@
</span>
</el-upload>
</el-form-item>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[3])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[3])"
><i
class=
"iconfont icon-img_cz"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(3,0)"
><i
class=
"iconfont icon-zuoyi"
></i></span>
</div>
</div>
<div
class=
"text"
>
<div
class=
"text_inside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
3
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[3].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[3].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[3].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[3],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[3].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[3],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
3
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[3].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[3],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[3].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[3],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
3
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[3].Description"
resize=
"none"
class=
"TC-FourTextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[3].Description"
resize=
"none"
class=
"TC-FourTextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
>
{{
scenicArray
[
3
].
Description
}}
...
...
@@ -194,8 +228,8 @@
</div>
<el-dialog
custom-class=
"TC_comDMCchoose"
title=
"选择图片"
center
:visible
.
sync=
"isShowScenicImg"
>
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:queryItem=
"queryItem"
v-bind:isCheckmore=
"1"
v-bind:imgType=
"3"
v-bind:IsShowAdd=
"true"
></DMCchooseImg>
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:
queryItem=
"queryItem"
v-bind:isCheckmore=
"1"
v-bind:
imgType=
"3"
v-bind:IsShowAdd=
"true"
></DMCchooseImg>
</el-dialog>
</div>
</
template
>
...
...
@@ -204,7 +238,7 @@
import
DMCchooseImg
from
"../../commonPage/DMCchooseImg.vue"
;
export
default
{
/*IsDirect:1直采,0非直采*/
props
:
[
"scenicArray"
,
"IsDirect"
,
"isRead"
,
"DayNum"
],
props
:
[
"scenicArray"
,
"IsDirect"
,
"isRead"
,
"DayNum"
],
data
()
{
return
{
//当前点击景点项
...
...
@@ -212,15 +246,19 @@
//是否显示选择图片框
isShowScenicImg
:
false
,
//点击传递对象
queryItem
:{
queryName
:
''
,
queryId
:
0
,
queryItem
:
{
queryName
:
''
,
queryId
:
0
,
},
//当前拖动的图片索引
currentChooseIndex
:
0
,
currentChooseIndex
:
0
,
};
},
methods
:
{
//左移右移
ToMoveScenicItem
(
index
,
type
)
{
this
.
$parent
.
MoveScenicItem
(
this
.
DayNum
,
index
,
type
);
},
//获取当前点击的Item
GetClickItem
(
obj
)
{
this
.
ClickItem
=
obj
;
...
...
@@ -266,47 +304,45 @@
this
.
ClickItem
.
NewScenicImg
=
JSON
.
stringify
(
array
);
});
},
onDragImagestop
(
x
,
y
)
{
let
imgHeight
=
document
.
querySelector
(
"#bodys_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
height
;
var
obj
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
);
let
boxHeight
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
offsetHeight
;
let
cha
=
boxHeight
-
imgHeight
onDragImagestop
(
x
,
y
)
{
let
imgHeight
=
document
.
querySelector
(
"#bodys_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
height
;
var
obj
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
);
let
boxHeight
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
offsetHeight
;
let
cha
=
boxHeight
-
imgHeight
if
(
cha
<=
0
)
{
if
(
y
<
0
&&
y
<
cha
)
{
y
=
cha
}
else
if
(
y
>
0
)
{
y
=
0
}
if
(
y
<
0
&&
y
<
cha
)
{
y
=
cha
}
else
if
(
y
>
0
)
{
y
=
0
}
}
else
{
if
(
y
<
0
)
{
y
=
0
}
else
if
(
y
>
0
&&
y
>
cha
)
{
y
=
cha
}
if
(
y
<
0
)
{
y
=
0
}
else
if
(
y
>
0
&&
y
>
cha
)
{
y
=
cha
}
}
this
.
scenicArray
[
this
.
currentChooseIndex
].
ScenicJson
.
y
=
y
;
this
.
$refs
[
"fourDay_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
].
_data
.
top
=
y
;
this
.
$refs
[
"fourDay_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
].
_data
.
top
=
y
;
},
//获取选中的图片索引
onActivated
(
currentIndex
){
this
.
currentChooseIndex
=
currentIndex
;
onActivated
(
currentIndex
)
{
this
.
currentChooseIndex
=
currentIndex
;
},
},
components
:
{
DMCchooseImg
,
VueDraggableResizable
},
watch
:{
scenicArray
:{
handler
:
function
(
newValue
,
oldValue
)
{
},
watch
:
{
scenicArray
:
{
handler
:
function
(
newValue
,
oldValue
)
{},
deep
:
true
}
},
created
()
{
// this.scenicArray.forEach(x=>{
// x.ScenicJson = typeof(x.ScenicJsonStr) === 'string' ? JSON.parse(x.ScenicJsonStr) : { x:0, y:0 };
// })
},
};
</
script
>
src/components/newTravelmanager/TravelTripPreview/threedayList.vue
View file @
04c2e1ad
<
style
>
.TC-ThreeDetail
:hover
span
{
display
:
inline-block
;
.TC-ThreeDetail
:hover
span
{
display
:
inline-block
;
}
.TC-threeOneImg
{
height
:
452px
;
width
:
660px
;
float
:
left
;
.TC-threeOneImg
{
height
:
452px
;
width
:
660px
;
float
:
left
;
position
:
relative
;
border
:
1px
solid
#d1d1d1
;
border
:
1px
solid
#d1d1d1
;
}
.TC-threeOneImg
img
{
width
:
100%
;
min-height
:
449px
;
}
.TC-threeOneImg
img
{
width
:
100%
;
min-height
:
449px
;}
.TC-threeOneImg
:hover
.TC_uploadDiv
{
display
:
block
;
.TC-threeOneImg
:hover
.TC_uploadDiv
{
display
:
block
;
}
</
style
>
<
template
>
<div
class=
"TC-ThreeContent"
>
<div
class=
"TC-ScencContent clearfix"
>
<div
class=
"TC-threeOneImg"
:id=
'"boxs_"+DayNum+"_"+0'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"threeDay_"+DayNum+"_"+0'
tabindex=
"0"
:w=
"660"
:h=
"449"
:resizable=
'false'
:x=
"scenicArray[0].ScenicJson.x"
:y=
"scenicArray[0].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(0)"
>
<img
:src=
'compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 660, "")'
:id=
'"bodys_"+DayNum+"_"+0'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"threeDay_"+DayNum+"_"+0'
tabindex=
"0"
:w=
"660"
:h=
"449"
:resizable=
'false'
:x=
"scenicArray[0].ScenicJson.x"
:y=
"scenicArray[0].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(0)"
>
<img
:src=
'compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 660, "")'
:id=
'"bodys_"+DayNum+"_"+0'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
<el-form-item>
...
...
@@ -35,25 +43,30 @@
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[0])"
>
<i
class=
"iconfont icon-img_cz"
></i>
</span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(0,1)"
><i
class=
"iconfont icon-youyi"
></i></span>
</div>
</div>
<div
class=
"TC-OneDetail"
>
<div
class=
"TC_text_inside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
0
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[0].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[0].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
0
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
0
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[0].Description"
resize=
"none"
class=
"TC-TextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[0].Description"
resize=
"none"
class=
"TC-TextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
>
{{
scenicArray
[
0
].
Description
}}
...
...
@@ -66,19 +79,23 @@
<div
class=
"TC-ThreeText"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
1
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[1].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[1].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
1
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
1
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan TC-LongText"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[1].Description"
resize=
"none"
class=
"TC-midTextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[1].Description"
resize=
"none"
class=
"TC-midTextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan TC-LongText"
v-if=
"isRead"
style=
"width:293px;height:130px;overflow:hidden;"
>
{{
scenicArray
[
1
].
Description
}}
...
...
@@ -86,9 +103,10 @@
</div>
</div>
<div
class=
"TC-ThreeDetail"
:id=
'"boxs_"+DayNum+"_"+1'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"threeDay_"+DayNum+"_"+1'
tabindex=
"0"
:w=
"665"
:resizable=
'false'
:x=
"scenicArray[1].ScenicJson.x"
:y=
"scenicArray[1].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(1)"
>
<img
:src=
'compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 665, "")'
:id=
'"bodys_"+DayNum+"_"+1'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"threeDay_"+DayNum+"_"+1'
tabindex=
"0"
:w=
"665"
:resizable=
'false'
:x=
"scenicArray[1].ScenicJson.x"
:y=
"scenicArray[1].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(1)"
>
<img
:src=
'compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 665, "")'
:id=
'"bodys_"+DayNum+"_"+1'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
<el-form-item>
...
...
@@ -102,14 +120,17 @@
<span
class=
"TC-find"
>
<i
class=
"iconfont icon-img_cz"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[1])"
></i>
</span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(1,0)"
><i
class=
"iconfont icon-zuoyi"
></i></span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(1,1)"
><i
class=
"iconfont icon-youyi"
></i></span>
</div>
</div>
</div>
<div
class=
"clearfix TC-midContent"
>
<div
class=
"TC-ThreeDetail"
:id=
'"boxs_"+DayNum+"_"+2'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"threeDay_"+DayNum+"_"+2'
tabindex=
"0"
:w=
"665"
:resizable=
'false'
:x=
"scenicArray[2].ScenicJson.x"
:y=
"scenicArray[2].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(2)"
>
<img
:src=
'compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 486, "")'
:id=
'"bodys_"+DayNum+"_"+2'
/>
<div
class=
"TC-ThreeDetail"
:id=
'"boxs_"+DayNum+"_"+2'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"threeDay_"+DayNum+"_"+2'
tabindex=
"0"
:w=
"665"
:resizable=
'false'
:x=
"scenicArray[2].ScenicJson.x"
:y=
"scenicArray[2].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(2)"
>
<img
:src=
'compressImg(scenicArray[2].NewImaArray[0].Url, "filt", 486, "")'
:id=
'"bodys_"+DayNum+"_"+2'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
<el-form-item>
...
...
@@ -123,25 +144,30 @@
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[2])"
>
<i
class=
"iconfont icon-img_cz"
></i>
</span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(2,0)"
><i
class=
"iconfont icon-zuoyi"
></i></span>
</div>
</div>
<div
class=
"TC-Threemid Tremind"
>
<div
class=
"TC-ThreeText"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
2
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[2].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[2].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
2
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[2].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[2],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
2
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan TC-LongText"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[2].Description"
resize=
"none"
class=
"TC-midTextArea"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[2].Description"
resize=
"none"
class=
"TC-midTextArea"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan TC-LongText"
v-if=
"isRead"
style=
"width:293px;height:130px;overflow:hidden;"
>
{{
scenicArray
[
2
].
Description
}}
...
...
@@ -151,8 +177,8 @@
</div>
<el-dialog
custom-class=
"TC_comDMCchoose"
title=
"选择图片"
center
:visible
.
sync=
"isShowScenicImg"
>
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:queryItem=
"queryItem"
v-bind:isCheckmore=
"1"
v-bind:imgType=
"3"
v-bind:IsShowAdd=
"true"
></DMCchooseImg>
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:
queryItem=
"queryItem"
v-bind:isCheckmore=
"1"
v-bind:
imgType=
"3"
v-bind:IsShowAdd=
"true"
></DMCchooseImg>
</el-dialog>
</div>
</
template
>
...
...
@@ -161,7 +187,7 @@
import
DMCchooseImg
from
"../../commonPage/DMCchooseImg.vue"
;
export
default
{
/*IsDirect:1直采,0非直采*/
props
:
[
"scenicArray"
,
"IsDirect"
,
"isRead"
,
"DayNum"
],
props
:
[
"scenicArray"
,
"IsDirect"
,
"isRead"
,
"DayNum"
],
data
()
{
return
{
//当前点击景点项
...
...
@@ -169,16 +195,19 @@
//是否显示选择图片框
isShowScenicImg
:
false
,
//点击传递对象
queryItem
:{
queryName
:
''
,
queryId
:
0
,
queryItem
:
{
queryName
:
''
,
queryId
:
0
,
},
//当前拖动的图片索引
currentChooseIndex
:
0
,
currentChooseIndex
:
0
,
};
},
methods
:
{
//左移右移
ToMoveScenicItem
(
index
,
type
)
{
this
.
$parent
.
MoveScenicItem
(
this
.
DayNum
,
index
,
type
);
},
//获取当前点击的Item
GetClickItem
(
obj
)
{
this
.
ClickItem
=
obj
;
...
...
@@ -224,40 +253,40 @@
});
},
onDragImagestop
(
x
,
y
){
let
imgHeight
=
document
.
querySelector
(
"#bodys_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
height
;
var
obj
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
);
let
boxHeight
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
offsetHeight
;
let
cha
=
boxHeight
-
imgHeight
if
(
cha
<=
0
)
{
if
(
y
<
0
&&
y
<
cha
)
{
y
=
cha
}
else
if
(
y
>
0
)
{
y
=
0
}
}
else
{
if
(
y
<
0
)
{
y
=
0
}
else
if
(
y
>
0
&&
y
>
cha
)
{
y
=
cha
}
onDragImagestop
(
x
,
y
)
{
let
imgHeight
=
document
.
querySelector
(
"#bodys_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
height
;
var
obj
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
);
let
boxHeight
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
offsetHeight
;
let
cha
=
boxHeight
-
imgHeight
if
(
cha
<=
0
)
{
if
(
y
<
0
&&
y
<
cha
)
{
y
=
cha
}
else
if
(
y
>
0
)
{
y
=
0
}
this
.
scenicArray
[
this
.
currentChooseIndex
].
ScenicJson
.
y
=
y
;
this
.
$refs
[
"threeDay_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
].
_data
.
top
=
y
;
}
else
{
if
(
y
<
0
)
{
y
=
0
}
else
if
(
y
>
0
&&
y
>
cha
)
{
y
=
cha
}
}
this
.
scenicArray
[
this
.
currentChooseIndex
].
ScenicJson
.
y
=
y
;
this
.
$refs
[
"threeDay_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
].
_data
.
top
=
y
;
},
//获取选中的图片索引
onActivated
(
currentIndex
){
this
.
currentChooseIndex
=
currentIndex
;
onActivated
(
currentIndex
)
{
this
.
currentChooseIndex
=
currentIndex
;
},
},
created
()
{
// this.scenicArray.forEach(x=>{
// if(!x.ScenicJson){
// x.ScenicJson= x.ScenicJsonStr ? JSON{ x:0, y:0 };
// }
// });
// this.scenicArray.forEach(x=>{
// if(!x.ScenicJson){
// x.ScenicJson= x.ScenicJsonStr ? JSON{ x:0, y:0 };
// }
// });
},
components
:
{
DMCchooseImg
,
...
...
src/components/newTravelmanager/TravelTripPreview/twodayList.vue
View file @
04c2e1ad
<
style
>
.TC-twoimage
:hover
.TC_uploadDiv
{
display
:
block
;
.TC-twoimage
:hover
.TC_uploadDiv
{
display
:
block
;
}
</
style
>
<
template
>
<div
class=
"TC-TwoContent clearfix"
>
<div
class=
"TC-twoCombox"
>
<div
class=
"TC-twoimage"
:id=
'"boxs_"+DayNum+"_"+0'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"twoDay_"+DayNum+"_"+0'
tabindex=
"0"
:w=
"486"
:resizable=
'false'
:x=
"scenicArray[0].ScenicJson.x"
:y=
"scenicArray[0].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(0)"
>
<img
:src=
'compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 486, "")'
:id=
'"bodys_"+DayNum+"_"+0'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"twoDay_"+DayNum+"_"+0'
tabindex=
"0"
:w=
"486"
:resizable=
'false'
:x=
"scenicArray[0].ScenicJson.x"
:y=
"scenicArray[0].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(0)"
>
<img
:src=
'compressImg(scenicArray[0].NewImaArray[0].Url, "filt", 486, "")'
:id=
'"bodys_"+DayNum+"_"+0'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
<el-form-item>
...
...
@@ -24,25 +26,30 @@
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[0])"
>
<i
class=
"iconfont icon-img_cz"
></i>
</span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(0,1)"
><i
class=
"iconfont icon-youyi"
></i></span>
</div>
</div>
<div
class=
"TC-twotext"
>
<div
class=
"TC-Tinside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
0
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[0].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
</div>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[0].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
0
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[0].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[0],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
0
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[0].Description"
resize=
"none"
class=
"TC-LongText"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[0].Description"
resize=
"none"
class=
"TC-LongText"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
style=
"height:90px;overflow:hidden;width:413px"
>
{{
scenicArray
[
0
].
Description
}}
...
...
@@ -52,9 +59,10 @@
</div>
<div
class=
"TC-twoCombox"
>
<div
class=
"TC-twoimage"
:id=
'"boxs_"+DayNum+"_"+1'
>
<VueDraggableResizable
axis=
"y"
:ref=
'"twoDay_"+DayNum+"_"+1'
tabindex=
"0"
:w=
"486"
:resizable=
'false'
:x=
"scenicArray[1].ScenicJson.x"
:y=
"scenicArray[1].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(1)"
>
<img
:src=
'compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 486, "")'
:id=
'"bodys_"+DayNum+"_"+1'
/>
<VueDraggableResizable
axis=
"y"
:ref=
'"twoDay_"+DayNum+"_"+1'
tabindex=
"0"
:w=
"486"
:resizable=
'false'
:x=
"scenicArray[1].ScenicJson.x"
:y=
"scenicArray[1].ScenicJson.y"
:z=
"2"
:active=
"false"
:parent=
"false"
@
dragstop=
"onDragImagestop"
@
activated=
"onActivated(1)"
>
<img
:src=
'compressImg(scenicArray[1].NewImaArray[0].Url, "filt", 486, "")'
:id=
'"bodys_"+DayNum+"_"+1'
/>
</VueDraggableResizable>
<div
class=
"TC_uploadDiv"
>
<el-form-item>
...
...
@@ -68,25 +76,30 @@
<span
class=
"TC-find"
@
click=
"isShowScenicImg=true,GetClickItem(scenicArray[1])"
>
<i
class=
"iconfont icon-img_cz"
></i>
</span>
<span
class=
"re-delte"
@
click=
"ToMoveScenicItem(1,0)"
><i
class=
"iconfont icon-zuoyi"
></i></span>
</div>
</div>
<div
class=
"TC-twotext"
>
<div
class=
"TC-Tinside"
>
<h3
class=
"TC-comh3"
v-if=
"IsDirect==1||isRead"
>
{{
scenicArray
[
1
].
CouponsName
}}
</h3>
<div
v-if=
"!isRead"
>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[1].CouponsName"
placeholder=
"请输入景点名称"
></el-input>
</div>
<el-input
class=
"w260"
v-if=
"IsDirect==0"
v-model=
"scenicArray[1].CouponsName"
placeholder=
"请输入景点名称"
>
</el-input>
</div>
<div
class=
"TC-playTime"
>
<span>
游玩时间
</span>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeHour"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeHour')"
placeholder=
"小时"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
1
].
PlayTimeHour
}}
</span>
小时
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<el-input
class=
"w69"
v-if=
"!isRead"
v-model=
"scenicArray[1].PlayTimeMinutes"
@
keyup
.
native=
"checkInteger(scenicArray[1],'PlayTimeMinutes')"
placeholder=
"分钟"
></el-input>
<span
v-if=
"isRead"
>
{{
scenicArray
[
1
].
PlayTimeMinutes
}}
</span>
分钟
</div>
<span
class=
"TC-comspan"
v-if=
"!isRead"
>
<el-input
type=
"textarea"
v-model=
"scenicArray[1].Description"
resize=
"none"
class=
"TC-LongText"
placeholder=
"请输入景点介绍"
></el-input>
<el-input
type=
"textarea"
v-model=
"scenicArray[1].Description"
resize=
"none"
class=
"TC-LongText"
placeholder=
"请输入景点介绍"
></el-input>
</span>
<span
class=
"TC-comspan"
v-if=
"isRead"
style=
"height:90px;overflow:hidden;width:413px"
>
{{
scenicArray
[
1
].
Description
}}
...
...
@@ -96,8 +109,8 @@
</div>
<el-dialog
custom-class=
"TC_comDMCchoose"
title=
"选择图片"
center
:visible
.
sync=
"isShowScenicImg"
>
<!--imgType:1-酒店,2-餐厅,3-景点,4-票务,5-车辆,6-领队,7-购物店,isCheckmore:是否多选图片-->
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:queryItem=
"queryItem"
v-bind:isCheckmore=
"1"
v-bind:imgType=
"3"
v-bind:IsShowAdd=
"true"
></DMCchooseImg>
<DMCchooseImg
@
closeImg=
"closeDMCchooseImg"
ref=
"DMCchooseImg1"
@
headCallBack=
"getDMCimg"
v-bind:
queryItem=
"queryItem"
v-bind:isCheckmore=
"1"
v-bind:
imgType=
"3"
v-bind:IsShowAdd=
"true"
></DMCchooseImg>
</el-dialog>
</div>
</
template
>
...
...
@@ -106,7 +119,7 @@
import
DMCchooseImg
from
"../../commonPage/DMCchooseImg.vue"
;
export
default
{
/*IsDirect:1直采,0非直采*/
props
:
[
"scenicArray"
,
"IsDirect"
,
"isRead"
,
"DayNum"
],
props
:
[
"scenicArray"
,
"IsDirect"
,
"isRead"
,
"DayNum"
],
data
()
{
return
{
//当前点击景点项
...
...
@@ -114,15 +127,19 @@
//是否显示选择图片框
isShowScenicImg
:
false
,
//点击传递对象
queryItem
:{
queryName
:
''
,
queryId
:
0
,
queryItem
:
{
queryName
:
''
,
queryId
:
0
,
},
//当前拖动的图片索引
currentChooseIndex
:
0
,
currentChooseIndex
:
0
,
};
},
methods
:
{
//左移右移
ToMoveScenicItem
(
index
,
type
)
{
this
.
$parent
.
MoveScenicItem
(
this
.
DayNum
,
index
,
type
);
},
//获取当前点击的Item
GetClickItem
(
obj
)
{
this
.
ClickItem
=
obj
;
...
...
@@ -169,37 +186,35 @@
this
.
ClickItem
.
NewScenicImg
=
JSON
.
stringify
(
array
);
});
},
onDragImagestop
(
x
,
y
)
{
let
imgHeight
=
document
.
querySelector
(
"#bodys_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
height
;
var
obj
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
);
let
boxHeight
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
offsetHeight
;
let
cha
=
boxHeight
-
imgHeight
onDragImagestop
(
x
,
y
)
{
let
imgHeight
=
document
.
querySelector
(
"#bodys_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
height
;
var
obj
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
);
let
boxHeight
=
document
.
querySelector
(
"#boxs_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
).
offsetHeight
;
let
cha
=
boxHeight
-
imgHeight
if
(
cha
<=
0
)
{
if
(
y
<
0
&&
y
<
cha
)
{
y
=
cha
}
else
if
(
y
>
0
)
{
y
=
0
}
if
(
y
<
0
&&
y
<
cha
)
{
y
=
cha
}
else
if
(
y
>
0
)
{
y
=
0
}
}
else
{
if
(
y
<
0
)
{
y
=
0
}
else
if
(
y
>
0
&&
y
>
cha
)
{
y
=
cha
}
if
(
y
<
0
)
{
y
=
0
}
else
if
(
y
>
0
&&
y
>
cha
)
{
y
=
cha
}
}
this
.
scenicArray
[
this
.
currentChooseIndex
].
ScenicJson
.
y
=
y
;
this
.
$refs
[
"twoDay_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
].
_data
.
top
=
y
;
this
.
$refs
[
"twoDay_"
+
this
.
DayNum
+
"_"
+
this
.
currentChooseIndex
].
_data
.
top
=
y
;
},
//获取选中的图片索引
onActivated
(
currentIndex
){
this
.
currentChooseIndex
=
currentIndex
;
onActivated
(
currentIndex
)
{
this
.
currentChooseIndex
=
currentIndex
;
},
},
created
(){
},
mounted
()
{
},
created
()
{},
mounted
()
{},
created
()
{
// this.scenicArray.forEach(x=>{
// x.ScenicJson = typeof(x.ScenicJsonStr) === 'string' ? JSON.parse(x.ScenicJsonStr) : { x:0, y:0 };
...
...
src/components/newTravelmanager/travelLineTrip/ScenicTraffic.vue
View file @
04c2e1ad
...
...
@@ -4,73 +4,134 @@
line-height
:
25px
;
}
;
.St_mainDiv
{
width
:
100%
;
height
:
100%
;
margin
:
10px
;
padding
:
0
20px
;
border-left
:
2px
solid
#E4E7ED
;
position
:
relative
;
}
.St_mainDiv
.St_radioDiv
{
position
:
absolute
;
width
:
25px
;
height
:
25px
;
text-align
:
center
;
line-height
:
25px
;
background-color
:
#fff
;
border
:
1px
solid
#E4E7ED
;
left
:
-33px
;
top
:
-2px
;
border-radius
:
50%
;
}
.St_mainDiv
.St_current
{
position
:
relative
;
}
.St_mainDiv
.St_current
:last-child
{
margin-bottom
:
0
!important
;
}
.St_mainDiv
.St_uploadContent
{
display
:
inline-block
;
}
.St_mainDiv
.St_uploadContent
span
{
color
:
#409eff
;
}
</
style
>
<
template
>
<div
class=
"TC-ScenicTraffic"
>
<template
v-if=
"!ishasScenic"
>
<table>
<thead
v-if=
"CurrentDayNum!=1"
>
<tr>
<td>
酒店出发
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
{{
trafficObj
.
trafficIntroduce
.
IntroduceTitle
}}
</td>
</tr>
<tr>
<td>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
v-model=
"trafficObj.trafficIntroduce.TrafficType"
>
<el-option
v-for=
"item in ArrivalTypeArray"
:value=
"item.ID"
:key=
"item.ID"
:label=
"item.Name"
>
</el-option>
</el-select>
</td>
</tr>
</tbody>
<tfoot
v-if=
"CurrentDayNum!=totalDayNum"
>
<tr>
<td>
回酒店
</td>
</tr>
</tfoot>
</table>
</
template
>
<
template
v-else
>
<table>
<thead
v-if=
"CurrentDayNum!=1"
>
<tr>
<td>
酒店出发
</td>
</tr>
</thead>
<tbody
v-for=
"(item,index) in ScenicArray"
>
<tr
:key=
"index"
>
<td>
{{
item
.
CouponsName
}}
</td>
</tr>
<tr>
<td>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
v-model=
"item.TrafficType"
>
<el-option
v-for=
"subItem in ArrivalTypeArray"
:value=
"subItem.ID"
:key=
"subItem.ID"
:label=
"subItem.Name"
>
</el-option>
</el-select>
</td>
</tr>
</tbody>
<tfoot
v-if=
"CurrentDayNum!=totalDayNum"
>
<tr>
<td>
回酒店
</td>
</tr>
</tfoot>
</table>
</
template
>
<div
class=
"St_mainDiv"
>
<div
v-if=
"!ishasScenic"
>
<div
v-if=
"CurrentDayNum!=1"
class=
"St_current"
style=
"margin-bottom:20px;"
>
<div
class=
"St_radioDiv Str1"
>
<i
class=
"iconfont icon-hotel"
></i>
</div>
酒店出发
</div>
<div
class=
"St_current"
style=
"margin-bottom:20px"
v-else-if=
"CurrentDayNum==1"
>
<!--
{{
trafficObj
.
trafficIntroduce
.
IntroduceTitle
}}
-->
<template
v-if=
"trafficObj.trafficIntroduce.IntroduceTitle"
>
机场
</
template
>
<
template
v-else
>
机场
</
template
>
<div
class=
"St_radioDiv Str1"
>
<i
class=
"iconfont icon-Shape1"
></i>
</div>
</div>
<div>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
class=
"w120"
v-model=
"trafficObj.trafficIntroduce.TrafficType"
>
<el-option
:value=
"0"
:key=
"0"
label=
"请选择"
></el-option>
<el-option
v-for=
"item in ArrivalTypeArray"
:value=
"item.ID"
:key=
"item.ID"
:label=
"item.Name"
>
</el-option>
</el-select>
<el-upload
v-if=
"trafficObj.trafficIntroduce.TrafficType==3"
class=
"St_uploadContent"
:http-request=
"uploadFileBtn"
:multiple=
"false"
:show-file-list=
"false"
action
>
<span
@
click=
'getItemTraffic()'
>
上传
</span>
</el-upload>
<el-input
class=
"w180"
v-if=
"trafficObj.trafficIntroduce.TrafficType==4"
placeholder=
"距离预计用时"
v-model=
"trafficObj.trafficIntroduce.TrafficContent"
></el-input>
</div>
<div
v-if=
"CurrentDayNum!=totalDayNum"
class=
"St_current"
style=
"margin:10px 0"
>
<div
class=
"St_radioDiv"
>
<i
class=
"iconfont icon-hotel"
></i>
</div>
回酒店
</div>
<div
class=
"St_current"
style=
"margin:10px 0px;"
v-else
>
<!--{{trafficObj.trafficIntroduce.IntroduceTitle}}-->
<
template
v-if=
"trafficObj.trafficIntroduce.IntroduceTitle"
>
机场
</
template
>
<
template
v-else
>
机场
</
template
>
<div
class=
"St_radioDiv Str1"
>
<i
class=
"iconfont icon-Shape1"
></i>
</div>
</div>
</div>
<div
v-else
>
<div
v-if=
"CurrentDayNum!=1"
class=
"St_current"
style=
"margin-bottom:20px;"
>
<div
class=
"St_radioDiv Str1"
>
<i
class=
"iconfont icon-hotel"
></i>
</div>
酒店出发
</div>
<div
v-for=
"(item,index) in ScenicArray"
:key=
"index"
>
<div
style=
"margin:10px 0"
class=
"St_current"
>
<div
class=
"St_radioDiv"
>
<i
class=
"iconfont icon-jingdian"
></i>
</div>
{{item.CouponsName}}
</div>
<div>
<el-select
:placeholder=
"$t('pub.pleaseSel')"
class=
"w120"
v-model=
"item.TrafficType"
>
<el-option
:value=
"0"
:key=
"0"
label=
"请选择"
></el-option>
<el-option
v-for=
"subItem in ArrivalTypeArray"
:value=
"subItem.ID"
:key=
"subItem.ID"
:label=
"subItem.Name"
>
</el-option>
</el-select>
<el-upload
v-if=
"item.TrafficType==3"
class=
"St_uploadContent"
:http-request=
"uploadFileBtn"
:multiple=
"false"
:show-file-list=
"false"
action
>
<span
@
click=
'getItem(index)'
>
上传
</span>
</el-upload>
<el-input
class=
"w180"
v-if=
"item.TrafficType==4"
v-model=
"item.TrafficContent"
placeholder=
"距离预计用时"
></el-input>
</div>
</div>
<div
v-if=
"CurrentDayNum!=totalDayNum"
class=
"St_current"
style=
"margin:20px 0"
>
<div
class=
"St_radioDiv"
>
<i
class=
"iconfont icon-hotel"
></i>
</div>
回酒店
</div>
</div>
</div>
</div>
</template>
<
script
>
...
...
@@ -80,8 +141,8 @@
"trafficObj"
,
//交通信息
"ScenicArray"
,
//景点数组
"ishasScenic"
,
//是否有景点
"CurrentDayNum"
,
//当前天数
"totalDayNum"
,
//总天数
"CurrentDayNum"
,
//当前天数
"totalDayNum"
,
//总天数
],
data
()
{
return
{
...
...
@@ -94,6 +155,8 @@
font
:
false
,
//字体
narrative
:
true
//叙述,
},
checkedIndex
:
''
,
checkTraffic
:
0
,
//交通类型数组
ArrivalTypeArray
:
[{
ID
:
1
,
...
...
@@ -122,7 +185,32 @@
"my-edit"
:
MyEdit
},
methods
:
{
//获取index
getItem
(
index
)
{
this
.
checkedIndex
=
index
},
getItemTraffic
(){
this
.
checkTraffic
=
1
;
},
//上传图片
uploadFileBtn
(
file
)
{
let
that
=
this
let
newArr
=
[]
newArr
.
push
(
file
.
file
)
let
path
=
'/Upload/DMC'
this
.
$message
.
info
(
'上传中...'
)
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
if
(
this
.
checkTraffic
==
1
){
this
.
trafficObj
.
trafficIntroduce
.
TrafficImage
=
this
.
domainManager
()
.
ViittoFileUrl
+
x
.
data
.
FilePath
;
}
else
{
this
.
ScenicArray
[
this
.
checkedIndex
].
TrafficImage
=
this
.
domainManager
()
.
ViittoFileUrl
+
x
.
data
.
FilePath
;
}
this
.
$message
.
success
(
x
.
data
.
Message
)
this
.
$forceUpdate
()
})
}
},
mounted
()
{},
created
()
{},
...
...
src/components/newTravelmanager/travelLineTrip/travelDaysTrip.vue
View file @
04c2e1ad
...
...
@@ -133,7 +133,8 @@
<div
class=
"TC-titlebox"
>
<span
class=
"TC-TitleSpan"
v-if=
"!dayObj.isRead"
>
<el-form-item>
<el-input
type=
"textarea"
:autosize=
"
{minRows: 1, maxRows: 8 }" resize="none" class="w700" placeholder="请输入行程大点信息" v-model="dayObj.TitleObj.Title">
</el-input>
<el-input
type=
"textarea"
:autosize=
"
{minRows: 1, maxRows: 8 }" resize="none" class="w700"
placeholder="请输入行程大点信息" v-model="dayObj.TitleObj.Title">
</el-input>
</el-form-item>
</span>
<span
class=
"TC-spanTitle"
v-if=
"dayObj.isRead"
>
{{
dayObj
.
TitleObj
.
Title
}}
</span>
...
...
@@ -141,10 +142,9 @@
</div>
<div
class=
"TC-Comtitlediv"
>
<trifficTrip
v-bind:trafficObj=
"dayObj.TrafficObj"
:isOpenGroup=
"isOpenGroup"
v-bind:AllCityList=
"AllCityList"
v-bind:UseTypeArray=
"UseTypeArray"
v-bind:AirPickUp=
"AirPickUp"
v-bind:AirSend=
"AirSend"
v-bind:StartCity=
"StartCity"
v-bind:CurrentIndex=
"CurrentIndex"
v-bind:TotalCount=
"TotalCount"
v-bind:dayObj=
"dayObj"
:isRead=
"dayObj.isRead"
></trifficTrip>
v-bind:UseTypeArray=
"UseTypeArray"
v-bind:AirPickUp=
"AirPickUp"
v-bind:AirSend=
"AirSend"
v-bind:StartCity=
"StartCity"
v-bind:CurrentIndex=
"CurrentIndex"
v-bind:TotalCount=
"TotalCount"
v-bind:dayObj=
"dayObj"
:isRead=
"dayObj.isRead"
></trifficTrip>
</div>
<div
class=
"TC-Comtitlediv"
>
<div
class=
"partName"
>
...
...
@@ -153,22 +153,20 @@
<div
class=
"TC-titlebox"
>
<el-checkbox
v-model=
"ishasScenic"
border
size=
"mini"
@
change=
"hasScenicChange"
>
景点
</el-checkbox>
<el-select
v-if=
"ishasScenic&&NoticeParameters.IsDirect==1"
class=
"w600 Ht_hotelSelect"
size=
"mini"
:placeholder=
"$t('pub.pleaseSel')"
:multiple-limit=
"5"
v-model=
"ChooseScenicArray"
multiple
filterable
@
visible-change=
"getQScenicList($event)"
>
:placeholder=
"$t('pub.pleaseSel')"
:multiple-limit=
"5"
v-model=
"ChooseScenicArray"
multiple
filterable
@
visible-change=
"getQScenicList($event)"
>
<el-option
v-for=
"item in QScenicList"
:label=
"item.Name"
:value=
"item.ID"
:key=
"item.ID"
>
<span
style=
"float: left"
>
{{
item
.
Name
}}
</span>
<span
style=
"float: right; color: #8492a6; font-size: 13px"
>
{{
item
.
Inventory
}}
</span>
</el-option>
</el-select>
<el-popover
placement=
"right"
width=
"540"
trigger=
"click"
>
<scenicTraffic
:ref=
"'scenicTraffic'+dayObj.DayNum+''"
:ScenicArray=
"dayObj.ScenicArray"
:trafficObj=
"dayObj.TrafficObj"
:ishasScenic=
"ishasScenic"
:CurrentDayNum=
"dayObj.DayNum"
:totalDayNum=
"subConfig.DayNum"
>
</scenicTraffic>
<span
slot=
"reference"
class=
"TC-tripTitle"
style=
"padding-left:5px;cursor:pointer;"
>
选择交通信息
</span>
</el-popover>
<el-popover
placement=
"right"
width=
"430"
trigger=
"click"
v-if=
"NoticeParameters.IsDirect==1"
>
<scenicTraffic
:ref=
"'scenicTraffic'+dayObj.DayNum+''"
:ScenicArray=
"dayObj.ScenicArray"
:trafficObj=
"dayObj.TrafficObj"
:ishasScenic=
"ishasScenic"
:CurrentDayNum=
"dayObj.DayNum"
:totalDayNum=
"subConfig.DayNum"
>
</scenicTraffic>
<span
slot=
"reference"
class=
"TC-tripTitle"
style=
"padding-left:5px;cursor:pointer;display:none;"
>
路线信息
</span>
</el-popover>
<ul
class=
"scenicCheck_check"
v-if=
"ishasScenic&& NoticeParameters.IsDirect==0"
>
<li>
...
...
@@ -200,24 +198,24 @@
<div
class=
"TC-ComInfoDiv"
:class=
"scenicCheck>0||dayObj.ScenicArray.length>0?'_margin_bottom':''"
>
<onedayList
:class=
"
{'showOther':TeamType==3}"
v-if="(NoticeParameters.IsDirect==1
&&
dayObj.ScenicArray.length==1)||(scenicCheck==1
&&
NoticeParameters.IsDirect==0)"
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:
IsDirect="NoticeParameters.IsDirect" :
DayNum="dayObj.DayNum">
</onedayList>
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:IsDirect="NoticeParameters.IsDirect"
:DayNum="dayObj.DayNum">
</onedayList>
<twodayList
:class=
"
{'showOther':TeamType==3}"
v-if="(NoticeParameters.IsDirect==1
&&
dayObj.ScenicArray.length==2)||(scenicCheck==2
&&
NoticeParameters.IsDirect==0)"
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:
IsDirect="NoticeParameters.IsDirect" :
DayNum="dayObj.DayNum">
</twodayList>
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:IsDirect="NoticeParameters.IsDirect"
:DayNum="dayObj.DayNum">
</twodayList>
<threedayList
:class=
"
{'showOther':TeamType==3}"
v-if="(NoticeParameters.IsDirect==1
&&
dayObj.ScenicArray.length==3)||(scenicCheck==3
&&
NoticeParameters.IsDirect==0)"
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:
IsDirect="NoticeParameters.IsDirect" :
DayNum="dayObj.DayNum">
</threedayList>
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:IsDirect="NoticeParameters.IsDirect"
:DayNum="dayObj.DayNum">
</threedayList>
<fourdayList
:class=
"
{'showOther':TeamType==3}"
v-if="(NoticeParameters.IsDirect==1
&&
dayObj.ScenicArray.length==4)||(scenicCheck==4
&&
NoticeParameters.IsDirect==0)"
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:
IsDirect="NoticeParameters.IsDirect" :
DayNum="dayObj.DayNum">
</fourdayList>
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:IsDirect="NoticeParameters.IsDirect"
:DayNum="dayObj.DayNum">
</fourdayList>
<fivedayList
:class=
"
{'showOther':TeamType==3}"
v-if="(NoticeParameters.IsDirect==1
&&
dayObj.ScenicArray.length==5)||(scenicCheck==5
&&
NoticeParameters.IsDirect==0)"
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:
IsDirect="NoticeParameters.IsDirect" :
DayNum="dayObj.DayNum">
</fivedayList>
:isRead="dayObj.isRead" :scenicArray="dayObj.ScenicArray"
:IsDirect="NoticeParameters.IsDirect"
:DayNum="dayObj.DayNum">
</fivedayList>
</div>
<div
class=
"TC-warmTips TC-Comtitlediv"
v-if=
"!dayObj.isRead"
:class=
"
{'showOther':TeamType==3}">
<div
class=
"TC-SpecialInstruction clearfix"
>
...
...
@@ -225,9 +223,8 @@
<div
class=
"TC-rightContent"
>
<!--
<el-input
type=
"textarea"
v-model=
"dayObj.WarmTipObj.Description"
></el-input>
-->
<my-edit
v-on:edit-value=
"dayObj.WarmTipObj.Description = arguments[0]"
v-bind:editValue=
"dayObj.WarmTipObj.Description"
v-bind:toolbarShow=
"toolbar"
v-bind:referenceList=
"DefaultList"
></my-edit>
v-bind:editValue=
"dayObj.WarmTipObj.Description"
v-bind:toolbarShow=
"toolbar"
v-bind:referenceList=
"DefaultList"
></my-edit>
</div>
</div>
</div>
...
...
@@ -238,7 +235,8 @@
</div>
</div>
<hotelTrip
:dayObj=
"dayObj"
:CurrentIndex=
"CurrentIndex"
:DayList=
"DayList"
:WarmTripDescribe=
"WarmTripDescribe"
:IsDirect=
"NoticeParameters.IsDirect"
:subConfig=
"subConfig"
:TeamType=
"TeamType"
:IsOpenHotel=
"IsOpenHotel"
></hotelTrip>
:IsDirect=
"NoticeParameters.IsDirect"
:subConfig=
"subConfig"
:TeamType=
"TeamType"
:IsOpenHotel=
"IsOpenHotel"
>
</hotelTrip>
<div
class=
"TD_OperaContent"
>
<div
class=
"TD_ComIcon"
>
<i
v-if=
"!dayObj.isRead"
class=
"iconfont icon-chakan"
@
click=
"getRead"
></i>
...
...
@@ -271,7 +269,7 @@
import
fivedayList
from
"../TravelTripPreview/fivedayList"
;
import
trifficTrip
from
"../travelLineTrip/trifficTrip"
;
import
MyEdit
from
"../../EditTemplate.vue"
;
import
ScenicTraffic
from
"../travelLineTrip/ScenicTraffic"
;
import
ScenicTraffic
from
"../travelLineTrip/ScenicTraffic"
;
export
default
{
props
:
[
...
...
@@ -305,7 +303,7 @@
},
toolbar
:
{
//narrative: true, //叙述,
showToolBar
:
false
showToolBar
:
false
},
DefaultList
:
[]
};
...
...
@@ -342,7 +340,7 @@
scenic
.
CouponsId
=
0
;
scenic
.
CouponsName
=
""
;
scenic
.
CityId
=
0
;
scenic
.
DayNum
=
this
.
dayObj
.
DayNum
;
scenic
.
DayNum
=
this
.
dayObj
.
DayNum
;
scenic
.
MD5Sign
=
this
.
md5
(
`DayNum=
${
this
.
CurrentIndex
+
1
}
&Type=jing&ID=
${
i
}
`
)
scenic
.
NewImaArray
.
push
({
Url
:
""
,
...
...
@@ -359,7 +357,7 @@
this
.
dayObj
.
ScenicArray
=
newArray
;
}
}
this
.
dayObj
.
ScenicArray
.
forEach
(
x
=>
{
this
.
dayObj
.
ScenicArray
.
forEach
(
x
=>
{
// x.ScenicJson.y=0;
});
},
...
...
@@ -413,8 +411,7 @@
this
.
QScenicList
=
res
.
data
.
data
;
}
},
err
=>
{
}
err
=>
{}
);
},
getItemLabel
(
item
)
{
...
...
@@ -451,6 +448,30 @@
}
}
},
//景点左移右移
MoveScenicItem
(
dayNum
,
index
,
type
)
{
var
currentItem
=
{};
this
.
subConfig
.
DayList
.
forEach
(
dayItem
=>
{
if
(
dayItem
.
DayNum
==
dayNum
)
{
currentItem
=
dayItem
;
}
});
if
(
currentItem
&&
currentItem
.
ScenicArray
&&
currentItem
.
ScenicArray
.
length
>
0
)
{
var
cScenicItem
=
currentItem
.
ScenicArray
[
index
];
//左移
if
(
type
==
0
)
{
var
leftItem
=
currentItem
.
ScenicArray
[
index
-
1
];
this
.
$set
(
currentItem
.
ScenicArray
,
index
-
1
,
cScenicItem
);
this
.
$set
(
currentItem
.
ScenicArray
,
index
,
leftItem
);
}
//右移
else
{
var
rightItem
=
currentItem
.
ScenicArray
[
index
+
1
];
this
.
$set
(
currentItem
.
ScenicArray
,
index
+
1
,
cScenicItem
);
this
.
$set
(
currentItem
.
ScenicArray
,
index
,
rightItem
);
}
}
},
//初始化行程子项的行程天数
initDayObjItemDayNum
(
dayObj
)
{
dayObj
.
TitleObj
.
DayNum
=
dayObj
.
DayNum
;
...
...
@@ -548,13 +569,16 @@
}
},
created
()
{
this
.
dayObj
.
ScenicArray
.
forEach
(
x
=>
{
this
.
dayObj
.
ScenicArray
.
forEach
(
x
=>
{
// x.ScenicJson = (typeof(x.ScenicJsonStr) === 'string' ? x.ScenicJsonStr : { x:0, y:0 })
let
obj
=
JSON
.
parse
(
x
.
ScenicJsonStr
)
if
(
obj
)
{
x
.
ScenicJson
=
obj
}
else
{
x
.
ScenicJson
=
{
x
:
0
,
y
:
0
}
x
.
ScenicJson
=
{
x
:
0
,
y
:
0
}
}
})
this
.
initScenicData
();
...
...
@@ -688,8 +712,7 @@
deep
:
true
},
},
mounted
()
{
},
mounted
()
{},
components
:
{
onedayList
,
hotelTrip
,
...
...
@@ -700,7 +723,7 @@
trifficTrip
,
noScenic
,
"my-edit"
:
MyEdit
,
scenicTraffic
:
ScenicTraffic
scenicTraffic
:
ScenicTraffic
}
};
...
...
src/plug/index.js
View file @
04c2e1ad
...
...
@@ -153,7 +153,8 @@ export default {
//文件站点
ViittoFileUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'viitto'
)
!==
-
1
?
"http://imgfile.oytour.com"
:
'http://192.168.2.214:8130'
,
javaUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'viitto'
)
!==
-
1
?
(
locationName
.
indexOf
(
'oytour'
)
!==
-
1
?
"http://efficient.oytour.com"
:
"http://47.96.12.235:9001"
)
:
"http://192.168.2.17:8087"
,
javaUrlNew
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'viitto'
)
!==
-
1
?
(
locationName
.
indexOf
(
'oytour'
)
!==
-
1
?
"http://property.oytour.com"
:
"http://47.96.12.235:9001"
)
:
"http://192.168.2.17:8087"
,
// javaUrl:"http://192.168.2.215:9000",
//Java接口本站文件流下载地址
JavaLocalFileStreamDownLoadUrl
:
javaUrldo
,
...
...
@@ -423,6 +424,66 @@ export default {
}
},
faildCall
)
},
//请求资产管理接口
Vue
.
prototype
.
apiJavaPostZc
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
if
(
this
.
$route
.
name
.
indexOf
(
'login'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'confirmationOrderDownLoad'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'PrintPage'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'clientConfirm'
)
===
-
1
)
{
let
previousPathInfo
=
{
path
:
this
.
$route
.
name
,
query
:
this
.
$route
.
query
}
localStorage
.
previousPathInfo
=
JSON
.
stringify
(
previousPathInfo
);
}
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
}
var
apiurl
=
this
.
domainManager
().
javaUrlNew
+
cmd
;
var
timestamp
=
(
new
Date
()).
valueOf
();
this
.
apiurl
=
apiurl
;
var
token
=
""
;
var
key
=
""
;
let
userInfo
=
localStorage
.
userInfo
?
JSON
.
parse
(
localStorage
.
userInfo
)
:
''
;
let
groupId
=
userInfo
.
RB_Group_id
?
userInfo
.
RB_Group_id
:
0
;
let
uid
=
userInfo
.
EmployeeId
?
userInfo
.
EmployeeId
:
0
;
if
(
this
.
getLocalStorage
()
!=
null
)
{
token
=
this
.
getLocalStorage
().
token
;
key
=
this
.
getLocalStorage
().
SecretKey
;
}
var
encodeMsg
=
encodeURIComponent
(
JSON
.
stringify
(
msg
)).
toLowerCase
();
var
md5Str
=
md5
(
`msg=
${
encodeMsg
}
×tamp=
${
timestamp
}
&token=
${
token
}
&key=
${
key
}
`
);
var
postData
=
{
"msg"
:
msg
,
"timestamp"
:
timestamp
,
"token"
:
token
,
"sign"
:
md5Str
,
"uid"
:
uid
,
"groupId"
:
groupId
}
if
(
localStorage
.
g
&&
localStorage
.
g
!=
'undefined'
)
{
postData
.
groupId
=
parseInt
(
JSON
.
parse
(
localStorage
.
g
).
i
)
}
this
.
$http
.
post
(
apiurl
,
postData
,
{
headers
:
{
'Content-Type'
:
'application/json'
,
'Referer-Viitto'
:
this
.
$route
.
path
}
})
.
then
(
res
=>
{
if
(
res
.
resultCode
==
10000
||
res
.
resultCode
==
10001
)
{
this
.
$router
.
push
({
path
:
'/login'
})
}
else
if
(
res
.
resultCode
==
10005
)
{
this
.
$router
.
go
(
-
1
)
}
else
if
(
res
.
data
.
data
&&
res
.
data
.
data
.
isJumpTwoCode
==
1
)
{
this
.
$router
.
push
({
path
:
'/clientConfirm'
})
}
else
{
successCall
(
res
)
}
},
faildCall
)
},
//下载文件
Vue
.
prototype
.
GetLocalFile
=
function
(
cmd
,
msg
,
fileName
,
successCall
)
{
...
...
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