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
0f3f48cd
Commit
0f3f48cd
authored
Mar 12, 2025
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增直客数据统计
parent
87e2c373
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
106 additions
and
118 deletions
+106
-118
TravelFeature.vue
...nts/newTravelmanager/TravelGroupControl/TravelFeature.vue
+17
-10
TravelManagerThree.vue
...ewTravelmanager/TravelGroupControl/TravelManagerThree.vue
+13
-7
TravelPrice.vue
...nents/newTravelmanager/TravelGroupControl/TravelPrice.vue
+4
-2
TravelPrice2.vue
...ents/newTravelmanager/TravelGroupControl/TravelPrice2.vue
+1
-0
TravelPrice3.vue
...ents/newTravelmanager/TravelGroupControl/TravelPrice3.vue
+1
-0
TravelPrice4.vue
...ents/newTravelmanager/TravelGroupControl/TravelPrice4.vue
+1
-0
customer.vue
src/components/rank/components/customer.vue
+29
-6
tradecount.vue
src/components/rank/components/tradecount.vue
+17
-4
dataCount.vue
src/components/rank/dataCount.vue
+23
-89
No files found.
src/components/newTravelmanager/TravelGroupControl/TravelFeature.vue
View file @
0f3f48cd
...
@@ -36,7 +36,8 @@
...
@@ -36,7 +36,8 @@
</div>
</div>
<div
class=
"TFContent"
>
<div
class=
"TFContent"
>
<div
class=
"TFconTitle"
>
<div
class=
"TFconTitle"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('objFill.v101.myOrdersAllType.dianjcxjzxcts')"
placement=
"top-start"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('objFill.v101.myOrdersAllType.dianjcxjzxcts')"
placement=
"top-start"
>
<span
style=
"cursor:pointer;"
@
click=
"ReLoadFeature()"
>
{{ckTitle}}
</span>
<span
style=
"cursor:pointer;"
@
click=
"ReLoadFeature()"
>
{{ckTitle}}
</span>
</el-tooltip>
</el-tooltip>
<div
class=
"TFBTline"
></div>
<div
class=
"TFBTline"
></div>
...
@@ -86,8 +87,10 @@
...
@@ -86,8 +87,10 @@
<div
class=
"sliderContent clearfix"
style=
"width:1000px;"
>
<div
class=
"sliderContent clearfix"
style=
"width:1000px;"
>
<el-upload
class=
"upload-demo"
:http-request=
"reUpload"
:multiple=
"true"
<el-upload
class=
"upload-demo"
:http-request=
"reUpload"
:multiple=
"true"
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action
>
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action
>
<el-button
size=
"small"
type=
"primary"
@
click=
"updateTFimg(1)"
>
{{$t('objFill.v101.myOrdersAllType.shangcxcts')}}
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"updateTFimg(1)"
>
<div
slot=
"tip"
class=
"el-upload__tip"
style=
"color:red;"
>
{{$t('objFill.v101.myOrdersAllType.hengbsbcc')}}
</div>
{{$t('objFill.v101.myOrdersAllType.shangcxcts')}}
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
style=
"color:red;"
>
{{$t('objFill.v101.myOrdersAllType.hengbsbcc')}}
</div>
</el-upload>
</el-upload>
<div
class=
"TFSelfimgList"
style=
"margin-top:5px;"
<div
class=
"TFSelfimgList"
style=
"margin-top:5px;"
v-for=
"(item,index) in FeatureData.TripImageListNew"
:key=
"item.subCode"
>
v-for=
"(item,index) in FeatureData.TripImageListNew"
:key=
"item.subCode"
>
...
@@ -117,14 +120,17 @@
...
@@ -117,14 +120,17 @@
<div
class=
"sliderContent clearfix"
style=
"width:1000px;"
>
<div
class=
"sliderContent clearfix"
style=
"width:1000px;"
>
<el-form
label-width=
"80px"
>
<el-form
label-width=
"80px"
>
<el-form-item
:label=
"$t('sm.xingchengxq')"
>
<el-form-item
:label=
"$t('sm.xingchengxq')"
>
<el-radio
v-model=
"FeatureData.IsUploadDetails"
:label=
"0"
>
{{$t('objFill.v101.myOrdersAllType.xitongsc')}}
</el-radio>
<el-radio
v-model=
"FeatureData.IsUploadDetails"
:label=
"0"
>
<el-radio
v-model=
"FeatureData.IsUploadDetails"
:label=
"1"
>
{{$t('objFill.v101.myOrdersAllType.zidinysc')}}
</el-radio>
{{$t('objFill.v101.myOrdersAllType.xitongsc')}}
</el-radio>
<el-radio
v-model=
"FeatureData.IsUploadDetails"
:label=
"1"
>
{{$t('objFill.v101.myOrdersAllType.zidinysc')}}
</el-radio>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<
template
v-if=
"FeatureData.IsUploadDetails==1"
>
<
template
v-if=
"FeatureData.IsUploadDetails==1"
>
<el-upload
class=
"upload-demo"
:http-request=
"reUpload"
:multiple=
"true"
<el-upload
class=
"upload-demo"
:http-request=
"reUpload"
:multiple=
"true"
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action
>
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action
>
<el-button
size=
"small"
type=
"primary"
@
click=
"updateTFimg(2)"
>
{{
$t
(
'objFill.v101.myOrdersAllType.shangcxcxq'
)
}}
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"updateTFimg(2)"
>
{{
$t
(
'objFill.v101.myOrdersAllType.shangcxcxq'
)
}}
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
style=
"color:red;"
>
<div
slot=
"tip"
class=
"el-upload__tip"
style=
"color:red;"
>
<font
style=
"font-weight:bold;font-size:14px;"
>
<font
style=
"font-weight:bold;font-size:14px;"
>
{{
$t
(
'objFill.v101.myOrdersAllType.ruguosclzdyt'
)
}}
。
</font>
{{
$t
(
'objFill.v101.myOrdersAllType.ruguosclzdyt'
)
}}
。
</font>
...
@@ -205,7 +211,8 @@
...
@@ -205,7 +211,8 @@
</template>
</template>
</div> -->
</div> -->
<div
v-show=
"PostMessageText=='暂无行程数据'"
<div
v-show=
"PostMessageText=='暂无行程数据'"
style=
"text-align: center;margin-bottom: 20px;font-size: 14px;color: #808080;"
>
{{$t('objFill.v101.myOrdersAllType.zanwusjysjbjssb')}}
</div>
style=
"text-align: center;margin-bottom: 20px;font-size: 14px;color: #808080;"
>
{{$t('objFill.v101.myOrdersAllType.zanwusjysjbjssb')}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -590,14 +597,14 @@
...
@@ -590,14 +597,14 @@
else
if
(
SaveType
==
2
||
SaveType
==
3
)
{
else
if
(
SaveType
==
2
||
SaveType
==
3
)
{
let
path
=
"TravelControlList"
;
let
path
=
"TravelControlList"
;
//OP开团和地接开团
//OP开团和地接开团
if
(
TeamType
==
0
)
{
if
(
TeamType
==
3
)
{
path
=
"TravelControlList"
;
}
else
if
(
TeamType
==
3
)
{
path
=
"TravelControlList2"
;
path
=
"TravelControlList2"
;
}
else
if
(
TeamType
==
1
)
{
}
else
if
(
TeamType
==
1
)
{
path
=
"TravelControlListSale"
;
path
=
"TravelControlListSale"
;
}
else
if
(
TeamType
==
2
)
{
}
else
if
(
TeamType
==
2
)
{
path
=
"oneDayTrip"
;
path
=
"oneDayTrip"
;
}
else
{
path
=
"TravelControlList"
;
}
}
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
path
,
path
:
path
,
...
...
src/components/newTravelmanager/TravelGroupControl/TravelManagerThree.vue
View file @
0f3f48cd
...
@@ -67,7 +67,8 @@
...
@@ -67,7 +67,8 @@
<span
class=
"TMTitle"
><i></i>
{{
$t
(
'objFill.ditu'
)
}}
</span>
<span
class=
"TMTitle"
><i></i>
{{
$t
(
'objFill.ditu'
)
}}
</span>
<div
style=
"padding-bottom: 15px;"
>
<div
style=
"padding-bottom: 15px;"
>
<input
type=
"file"
style=
"display:none"
id=
"uploadMap"
@
change=
"uploadpic"
>
<input
type=
"file"
style=
"display:none"
id=
"uploadMap"
@
change=
"uploadpic"
>
<span
class=
"foldList"
style=
"margin-left: 10px;"
@
click=
"ShowMap=!ShowMap"
>
{{
$t
(
'objFill.v101.myOrdersAllType.bianjiditu'
)
}}
</span>
<span
class=
"foldList"
style=
"margin-left: 10px;"
@
click=
"ShowMap=!ShowMap"
>
{{
$t
(
'objFill.v101.myOrdersAllType.bianjiditu'
)
}}
</span>
<span
class=
"foldList"
@
click=
"UploadImg"
>
{{
$t
(
'objFill.v101.myOrdersAllType.shangcdttp'
)
}}
</span>
<span
class=
"foldList"
@
click=
"UploadImg"
>
{{
$t
(
'objFill.v101.myOrdersAllType.shangcdttp'
)
}}
</span>
</div>
</div>
</div>
</div>
...
@@ -77,7 +78,8 @@
...
@@ -77,7 +78,8 @@
:preview-src-list=
"[PostConfig.MapUrl]"
>
:preview-src-list=
"[PostConfig.MapUrl]"
>
</el-image>
</el-image>
</div>
</div>
<p
v-else
@
click=
"ShowMap=!ShowMap"
style=
"cursor: pointer;"
>
{{
$t
(
'objFill.v101.myOrdersAllType.dituzwscsc'
)
}}
</p>
<p
v-else
@
click=
"ShowMap=!ShowMap"
style=
"cursor: pointer;"
>
{{
$t
(
'objFill.v101.myOrdersAllType.dituzwscsc'
)
}}
</p>
</div>
</div>
</div>
</div>
<Tripmap
v-if=
"ShowMap"
:PostConfig=
"PostConfig"
:ConfigId=
"ConfigId"
@
Cancel=
"ShowMap=false"
<Tripmap
v-if=
"ShowMap"
:PostConfig=
"PostConfig"
:ConfigId=
"ConfigId"
@
Cancel=
"ShowMap=false"
...
@@ -88,9 +90,9 @@
...
@@ -88,9 +90,9 @@
v-bind:CountryID="PostConfig.CountryID">
</TravelNotice>
v-bind:CountryID="PostConfig.CountryID">
</TravelNotice>
<div
id=
"fiveAnchor"
>
<div
id=
"fiveAnchor"
>
<!--常规团-->
<!--常规团-->
<TravelPrice
v-show=
"PostConfig.TeamType==0||PostConfig.TeamType==5"
@
saveMsg=
"SaveData(1)"
ref=
"TravelPrice1"
@
headCallBack=
"getPrice"
<TravelPrice
v-show=
"PostConfig.TeamType==0||PostConfig.TeamType==5"
@
saveMsg=
"SaveData(1)"
ref=
"TravelPrice1"
:priceList=
"PriceList"
:PostConfig=
"PostConfig"
:modifyTcid=
"modifyTcid"
:CurrentUserInfo=
"CurrentUserInfo
"
@
headCallBack=
"getPrice"
:priceList=
"PriceList"
:PostConfig=
"PostConfig"
:modifyTcid=
"modifyTcid
"
:IsDirect=
"PostConfig.IsDirect"
></TravelPrice>
:
CurrentUserInfo=
"CurrentUserInfo"
:
IsDirect=
"PostConfig.IsDirect"
></TravelPrice>
<!--小包团-->
<!--小包团-->
<TravelPrice2
v-show=
"PostConfig.TeamType==1"
@
saveMsg=
"SaveData(1)"
ref=
"TravelPrice2"
@
headCallBack=
"getPrice"
<TravelPrice2
v-show=
"PostConfig.TeamType==1"
@
saveMsg=
"SaveData(1)"
ref=
"TravelPrice2"
@
headCallBack=
"getPrice"
...
@@ -122,7 +124,8 @@
...
@@ -122,7 +124,8 @@
<div
v-if=
"modifyType==2"
class=
"DTSaveBtn"
:class=
"
{'disClick':!isSubmit}" :loading="saveLoading"
<div
v-if=
"modifyType==2"
class=
"DTSaveBtn"
:class=
"
{'disClick':!isSubmit}" :loading="saveLoading"
@click="submitForm(3)" :title="$t('objFill.v101.myOrdersAllType.lingcwxmb')">
{{
$t
(
'pub.saveBtn'
)
}}
@click="submitForm(3)" :title="$t('objFill.v101.myOrdersAllType.lingcwxmb')">
{{
$t
(
'pub.saveBtn'
)
}}
</div>
</div>
<div
v-if=
"ConfigId>0"
class=
"DTSaveBtn"
:class=
"
{'disClick':!isSubmit}" @click="goB2B()">
{{
$t
(
'sm.yulan'
)
}}
<div
style=
"display:none;"
v-if=
"ConfigId>0"
class=
"DTSaveBtn"
:class=
"
{'disClick':!isSubmit}" @click="goB2B()">
{{
$t
(
'sm.yulan'
)
}}
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -368,7 +371,7 @@
...
@@ -368,7 +371,7 @@
getConfig
(
configObj
)
{
getConfig
(
configObj
)
{
this
.
PostConfig
=
configObj
;
this
.
PostConfig
=
configObj
;
this
.
PostConfig
.
TripColor
=
configObj
.
TripColor
?
configObj
.
TripColor
:
'#CC6900'
//#CC0066
this
.
PostConfig
.
TripColor
=
configObj
.
TripColor
?
configObj
.
TripColor
:
'#CC6900'
//#CC0066
this
.
FeatureData
.
TripColor
=
this
.
PostConfig
.
TripColor
;
this
.
FeatureData
.
TripColor
=
this
.
PostConfig
.
TripColor
;
//没有报价单根据线路设置直采和非直采方式生成线路行程
//没有报价单根据线路设置直采和非直采方式生成线路行程
if
(
this
.
IsHaveOffer
==
0
)
{
if
(
this
.
IsHaveOffer
==
0
)
{
this
.
NoticeParameters
.
ConfigId
=
this
.
PostConfig
.
ConfigId
;
this
.
NoticeParameters
.
ConfigId
=
this
.
PostConfig
.
ConfigId
;
...
@@ -589,6 +592,9 @@
...
@@ -589,6 +592,9 @@
this
.
$refs
.
TravelPrice4
.
closeHotelDialog
();
this
.
$refs
.
TravelPrice4
.
closeHotelDialog
();
this
.
$refs
.
TravelPrice4
.
initStatus
();
this
.
$refs
.
TravelPrice4
.
initStatus
();
}
}
if
(
basicData
.
PriceList
&&
basicData
.
PriceList
.
length
>
0
)
{
this
.
TeamType
=
basicData
.
PriceList
[
0
].
TeamType
;
}
this
.
$refs
.
TravelFeature
.
getHtml
(
TripFeature
,
SaveType
,
this
.
TeamType
);
this
.
$refs
.
TravelFeature
.
getHtml
(
TripFeature
,
SaveType
,
this
.
TeamType
);
}
else
if
(
res
.
data
.
resultCode
==
10009
)
{
}
else
if
(
res
.
data
.
resultCode
==
10009
)
{
this
.
FeatureData
.
IsSave
=
false
;
this
.
FeatureData
.
IsSave
=
false
;
...
...
src/components/newTravelmanager/TravelGroupControl/TravelPrice.vue
View file @
0f3f48cd
...
@@ -924,7 +924,6 @@
...
@@ -924,7 +924,6 @@
</el-option>
</el-option>
</
template
>
</
template
>
<
template
v-if=
"priceData.TeamType==1"
>
<
template
v-if=
"priceData.TeamType==1"
>
<el-option
v-if=
"item.Id==2"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
<el-option
v-if=
"item.Id==2"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-option>
</
template
>
</
template
>
...
@@ -1251,6 +1250,7 @@
...
@@ -1251,6 +1250,7 @@
currentPriceIndex
:
0
,
//当前团期索引位置
currentPriceIndex
:
0
,
//当前团期索引位置
showPriceList
:
[],
showPriceList
:
[],
priceShowCount
:
6
,
//团期展示条数
priceShowCount
:
6
,
//团期展示条数
QAirTicketId
:
""
,
//机票Id
QFlightDateStart
:
''
,
//航班查询开始日期
QFlightDateStart
:
''
,
//航班查询开始日期
QFlightDateEnd
:
''
,
//航班查询结束日期
QFlightDateEnd
:
''
,
//航班查询结束日期
pickerBeginDateBefore
:
{
pickerBeginDateBefore
:
{
...
@@ -1440,6 +1440,7 @@
...
@@ -1440,6 +1440,7 @@
IsLeaderDaiTuan
:
1
,
//领队带团/不带团
IsLeaderDaiTuan
:
1
,
//领队带团/不带团
IsGuideDaiTuan
:
1
,
//导游带团/不带团
IsGuideDaiTuan
:
1
,
//导游带团/不带团
IsNewArrival
:
0
,
//是否新品
IsNewArrival
:
0
,
//是否新品
TeamId
:
0
,
//团队分组编号
};
};
}
}
this
.
returnPriceList
.
push
(
objItem
);
this
.
returnPriceList
.
push
(
objItem
);
...
@@ -1545,7 +1546,8 @@
...
@@ -1545,7 +1546,8 @@
CreateBy
:
createBy
,
CreateBy
:
createBy
,
AirTicketId
:
this
.
priceData
.
AirTicketId
,
AirTicketId
:
this
.
priceData
.
AirTicketId
,
TCID
:
this
.
priceData
.
TCID
,
TCID
:
this
.
priceData
.
TCID
,
LineId
:
this
.
PostConfig
.
LineId
LineId
:
this
.
PostConfig
.
LineId
,
QAirTicketId
:
this
.
QAirTicketId
,
};
};
let
that
=
this
;
let
that
=
this
;
...
...
src/components/newTravelmanager/TravelGroupControl/TravelPrice2.vue
View file @
0f3f48cd
...
@@ -1430,6 +1430,7 @@
...
@@ -1430,6 +1430,7 @@
GuideNum
:
0
,
//导游人数
GuideNum
:
0
,
//导游人数
IsLeaderDaiTuan
:
1
,
//领队带团/不带团
IsLeaderDaiTuan
:
1
,
//领队带团/不带团
IsNewArrival
:
0
,
//是否新品
IsNewArrival
:
0
,
//是否新品
TeamId
:
0
,
//团队分组编号
};
};
}
}
this
.
returnPriceList
.
push
(
objItem
);
this
.
returnPriceList
.
push
(
objItem
);
...
...
src/components/newTravelmanager/TravelGroupControl/TravelPrice3.vue
View file @
0f3f48cd
...
@@ -1187,6 +1187,7 @@
...
@@ -1187,6 +1187,7 @@
IsNeedAirportShuttle
:
0
,
//是否需要接送服务
IsNeedAirportShuttle
:
0
,
//是否需要接送服务
GuideNum
:
0
,
//导游人数
GuideNum
:
0
,
//导游人数
IsNewArrival
:
0
,
//是否新品
IsNewArrival
:
0
,
//是否新品
TeamId
:
0
,
//团队分组编号
};
};
}
}
this
.
returnPriceList
.
push
(
objItem
);
this
.
returnPriceList
.
push
(
objItem
);
...
...
src/components/newTravelmanager/TravelGroupControl/TravelPrice4.vue
View file @
0f3f48cd
...
@@ -1285,6 +1285,7 @@
...
@@ -1285,6 +1285,7 @@
IsNeedAirportShuttle
:
0
,
//是否需要接送服务
IsNeedAirportShuttle
:
0
,
//是否需要接送服务
GuideNum
:
0
,
//导游人数
GuideNum
:
0
,
//导游人数
IsNewArrival
:
0
,
//是否新品
IsNewArrival
:
0
,
//是否新品
TeamId
:
0
,
//团队分组编号
};
};
}
}
this
.
returnPriceList
.
push
(
objItem
);
this
.
returnPriceList
.
push
(
objItem
);
...
...
src/components/rank/components/customer.vue
View file @
0f3f48cd
...
@@ -26,23 +26,47 @@
...
@@ -26,23 +26,47 @@
chartData
:
{
chartData
:
{
type
:
Object
,
type
:
Object
,
default
:
null
default
:
null
},
//类型(0-同业[旅小友],1-直客[国旅优选])
cusType
:{
type
:
Number
,
default
:
0
,
}
}
},
},
watch
:
{
watch
:
{
chartData
:
function
(
old
,
val
)
{
chartData
:
function
(
old
,
val
)
{
if
(
this
.
chartData
)
{
if
(
this
.
chartData
)
{
var
barName
=
"新增同业数"
;
if
(
this
.
cusType
==
1
)
{
barName
=
"新增直客数"
;
}
this
.
barData
.
data
=
this
.
chartData
.
customerYData
;
this
.
barData
.
data
=
this
.
chartData
.
customerYData
;
this
.
barData
.
name
=
barName
;
this
.
lineData
.
data
=
this
.
chartData
.
activationYData
;
this
.
lineData
.
data
=
this
.
chartData
.
activationYData
;
if
(
this
.
cusType
==
1
)
{
this
.
lineData
.
data
=
[];
this
.
lineData
.
name
=
""
;
}
this
.
xAxisData
=
this
.
chartData
.
xData
;
this
.
xAxisData
=
this
.
chartData
.
xData
;
}
}
this
.
initChart
();
this
.
initChart
();
}
}
},
},
mounted
()
{
mounted
()
{
// this.unit = this.chartData.unit;
if
(
this
.
chartData
)
{
if
(
this
.
chartData
)
{
var
barName
=
"新增同业数"
;
if
(
this
.
cusType
==
1
)
{
barName
=
"新增直客数"
;
}
this
.
barData
.
data
=
this
.
chartData
.
customerYData
;
this
.
barData
.
data
=
this
.
chartData
.
customerYData
;
this
.
barData
.
name
=
barName
;
this
.
lineData
.
data
=
this
.
chartData
.
activationYData
;
this
.
lineData
.
data
=
this
.
chartData
.
activationYData
;
if
(
this
.
cusType
==
1
){
this
.
lineData
.
data
=
[];
this
.
lineData
.
name
=
""
;
}
this
.
xAxisData
=
this
.
chartData
.
xData
;
this
.
xAxisData
=
this
.
chartData
.
xData
;
}
}
this
.
initChart
();
this
.
initChart
();
...
@@ -51,11 +75,10 @@
...
@@ -51,11 +75,10 @@
initChart
()
{
initChart
()
{
const
chartDom
=
document
.
getElementById
(
'chart'
);
const
chartDom
=
document
.
getElementById
(
'chart'
);
this
.
chart
=
echarts
.
init
(
chartDom
);
this
.
chart
=
echarts
.
init
(
chartDom
);
var
intervalNum
=
0
;
var
intervalNum
=
0
;
if
(
this
.
xAxisData
&&
this
.
xAxisData
.
length
>
0
)
if
(
this
.
xAxisData
&&
this
.
xAxisData
.
length
>
0
){
{
intervalNum
=
this
.
calculateInterval
(
this
.
xAxisData
.
length
);
intervalNum
=
this
.
calculateInterval
(
this
.
xAxisData
.
length
);
}
}
const
option
=
{
const
option
=
{
tooltip
:
{
tooltip
:
{
trigger
:
'axis'
,
// 设置为 'axis' 以确保鼠标悬浮在曲线任意位置时都能触发事件
trigger
:
'axis'
,
// 设置为 'axis' 以确保鼠标悬浮在曲线任意位置时都能触发事件
...
...
src/components/rank/components/tradecount.vue
View file @
0f3f48cd
...
@@ -11,11 +11,11 @@ export default {
...
@@ -11,11 +11,11 @@ export default {
return
{
return
{
chart
:
null
,
chart
:
null
,
barData
:
{
barData
:
{
name
:
'
新增同业数
'
,
name
:
'
旅小友订单
'
,
data
:
[
123
,
211
,
178
,
289
,
90
,
156
,
222
,
101
,
267
,
199
,
125
,
291
,
187
,
92
,
243
,
148
,
212
,
117
,
279
,
103
,
137
,
256
,
221
,
193
,
88
,
283
,
165
,
111
,
239
,
107
],
data
:
[
123
,
211
,
178
,
289
,
90
,
156
,
222
,
101
,
267
,
199
,
125
,
291
,
187
,
92
,
243
,
148
,
212
,
117
,
279
,
103
,
137
,
256
,
221
,
193
,
88
,
283
,
165
,
111
,
239
,
107
],
},
},
lineData
:
{
lineData
:
{
name
:
'
新增激活数
'
,
name
:
'
其他订单
'
,
data
:
[
105
,
219
,
142
,
297
,
176
,
84
,
233
,
120
,
265
,
199
,
207
,
91
,
251
,
153
,
281
,
113
,
224
,
168
,
246
,
131
,
273
,
185
,
99
,
237
,
147
,
292
,
109
,
214
,
171
,
260
],
data
:
[
105
,
219
,
142
,
297
,
176
,
84
,
233
,
120
,
265
,
199
,
207
,
91
,
251
,
153
,
281
,
113
,
224
,
168
,
246
,
131
,
273
,
185
,
99
,
237
,
147
,
292
,
109
,
214
,
171
,
260
],
},
},
xAxisData
:
[
xAxisData
:
[
...
@@ -33,14 +33,23 @@ export default {
...
@@ -33,14 +33,23 @@ export default {
chartData
:
{
chartData
:
{
type
:
Object
,
type
:
Object
,
default
:
null
default
:
null
},
//类型(0-同业[旅小友],1-直客[国旅优选])
cusType
:{
type
:
Number
,
default
:
0
,
}
}
},
},
watch
:
{
watch
:
{
chartData
:
function
(
old
,
val
)
{
chartData
:
function
(
old
,
val
)
{
if
(
this
.
chartData
)
{
if
(
this
.
chartData
)
{
const
otherOrders
=
this
.
chartData
.
allOrderData
.
map
((
x
,
i
)
=>
x
-
(
this
.
chartData
.
appOrderData
[
i
]))
const
otherOrders
=
this
.
chartData
.
allOrderData
.
map
((
x
,
i
)
=>
x
-
(
this
.
chartData
.
appOrderData
[
i
]))
var
barName
=
"旅小友订单"
;
if
(
this
.
cusType
==
1
){
barName
=
"国旅优选订单"
;
}
this
.
barData
=
{
this
.
barData
=
{
name
:
'旅小友订单'
,
name
:
barName
,
data
:
this
.
chartData
.
appOrderData
data
:
this
.
chartData
.
appOrderData
};
};
this
.
lineData
=
{
this
.
lineData
=
{
...
@@ -55,9 +64,13 @@ export default {
...
@@ -55,9 +64,13 @@ export default {
},
},
mounted
()
{
mounted
()
{
if
(
this
.
chartData
)
{
if
(
this
.
chartData
)
{
var
barName
=
"旅小友订单"
;
if
(
this
.
cusType
==
1
){
barName
=
"国旅优选订单"
;
}
const
otherOrders
=
this
.
chartData
.
allOrderData
.
map
((
x
,
i
)
=>
x
-
(
this
.
chartData
.
appOrderData
[
i
]))
const
otherOrders
=
this
.
chartData
.
allOrderData
.
map
((
x
,
i
)
=>
x
-
(
this
.
chartData
.
appOrderData
[
i
]))
this
.
barData
=
{
this
.
barData
=
{
name
:
'旅小友订单'
,
name
:
barName
,
data
:
this
.
chartData
.
appOrderData
data
:
this
.
chartData
.
appOrderData
};
};
this
.
lineData
=
{
this
.
lineData
=
{
...
...
src/components/rank/dataCount.vue
View file @
0f3f48cd
...
@@ -4,6 +4,9 @@
...
@@ -4,6 +4,9 @@
<div
class=
"row items-center"
style=
"margin-bottom: 20px;"
>
<div
class=
"row items-center"
style=
"margin-bottom: 20px;"
>
<div
class=
"page-title col"
>
平台数据
</div>
<div
class=
"page-title col"
>
平台数据
</div>
<div
class=
"row items-center"
>
<div
class=
"row items-center"
>
<el-select
v-model=
"parameters.CusType"
style=
"width:100px; margin-right: 20px;height:40px"
@
change=
"handleDateChange()"
>
<el-option
v-for=
"(x,i) in platforms"
:key=
"i"
:label=
"x.Name"
:value=
"x.Id"
></el-option>
</el-select>
<template
v-if=
"userInfo.RB_Branch_id==0||userInfo.RB_Branch_id==49"
>
<template
v-if=
"userInfo.RB_Branch_id==0||userInfo.RB_Branch_id==49"
>
<el-select
<el-select
v-model=
"parameters.branchId"
v-model=
"parameters.branchId"
...
@@ -167,10 +170,9 @@
...
@@ -167,10 +170,9 @@
</div>
</div>
</div>
</div>
<div
style=
"height: 320px;"
>
<div
style=
"height: 320px;"
>
<Customer
:chartData=
"customerObj"
v-if=
"customerObj"
></Customer>
<Customer
:chartData=
"customerObj"
v-if=
"customerObj"
:cusType=
"parameters.CusType"
></Customer>
</div>
</div>
</div>
</div>
<div
class=
"sub-title q-my-md green"
>
交易核心数据
</div>
<div
class=
"sub-title q-my-md green"
>
交易核心数据
</div>
<div
class=
"card rounded big"
>
<div
class=
"card rounded big"
>
<div
class=
"row items-center"
>
<div
class=
"row items-center"
>
...
@@ -183,9 +185,6 @@
...
@@ -183,9 +185,6 @@
}}
</span>
}}
</span>
</div>
</div>
</div>
</div>
<!-- <el-select v-model="platformId" style="width: 140px;">
<el-option v-for="(x,i) in platforms" :key="i" :label="x.Name" :value="x.Id"></el-option>
</el-select> -->
</div>
</div>
<div
class=
"q-mt-md row items-center"
>
<div
class=
"q-mt-md row items-center"
>
<div
class=
"data-items col NumCursorP"
@
click=
"goUrl(5)"
>
<div
class=
"data-items col NumCursorP"
@
click=
"goUrl(5)"
>
...
@@ -226,7 +225,6 @@
...
@@ -226,7 +225,6 @@
<span>
个
</span>
<span>
个
</span>
</div>
</div>
</div>
</div>
<el-divider
direction=
"vertical"
style=
"margin: 0 12px;"
></el-divider>
<el-divider
direction=
"vertical"
style=
"margin: 0 12px;"
></el-divider>
<div
class=
"data-items col NumCursorP"
@
click=
"goUrl(8)"
>
<div
class=
"data-items col NumCursorP"
@
click=
"goUrl(8)"
>
<div>
用卷订单数
</div>
<div>
用卷订单数
</div>
...
@@ -250,7 +248,7 @@
...
@@ -250,7 +248,7 @@
</div>
</div>
</div>
</div>
<div
style=
"height: 320px;"
>
<div
style=
"height: 320px;"
>
<Tradecount
:chartData=
"customerObj"
v-if=
"customerObj"
></Tradecount>
<Tradecount
:chartData=
"customerObj"
v-if=
"customerObj"
:cusType=
"parameters.CusType"
></Tradecount>
</div>
</div>
</div>
</div>
...
@@ -391,16 +389,13 @@
...
@@ -391,16 +389,13 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"q-mt-md row items-center"
>
<div
class=
"q-mt-md row items-center"
>
<div
class=
"card rounded big col q-mr-md"
>
<div
class=
"card rounded big col q-mr-md"
>
<div
style=
"margin: 0 12px;"
>
<div
style=
"margin: 0 12px;"
>
<div
class=
"sub-title"
>
新增用户概况
</div>
<div
class=
"sub-title"
>
新增用户概况
</div>
<div
class=
""
>
<div
class=
""
>
<span
class=
"dot"
></span>
<span
class=
"dot"
></span>
<span
class=
"text-info"
<span
class=
"text-info"
>
数据更新:{{ parameters.dateRange[1] }}
</span>
>
数据更新:{{ parameters.dateRange[1] }}
</span
>
</div>
</div>
</div>
</div>
<div
class=
"q-mt-md row items-center"
>
<div
class=
"q-mt-md row items-center"
>
...
@@ -706,6 +701,7 @@ export default {
...
@@ -706,6 +701,7 @@ export default {
RB_Department_Id
:
null
,
RB_Department_Id
:
null
,
empIdList
:[],
empIdList
:[],
empId
:
""
,
empId
:
""
,
CusType
:
0
,
//客户类型(0-同行(旅小友小程序),1-直客(和平国旅小程序))
},
},
normalizer
(
node
)
{
normalizer
(
node
)
{
var
obj
=
{
var
obj
=
{
...
@@ -847,12 +843,12 @@ export default {
...
@@ -847,12 +843,12 @@ export default {
],
],
platforms
:
[
platforms
:
[
{
{
Id
:
1
,
Id
:
0
,
Name
:
"
全部
"
Name
:
"
同业
"
},
},
{
{
Id
:
2
,
Id
:
1
,
Name
:
"
旅小友
"
Name
:
"
直客
"
}
}
],
],
platformId
:
1
,
platformId
:
1
,
...
@@ -893,75 +889,7 @@ export default {
...
@@ -893,75 +889,7 @@ export default {
mounted
()
{},
mounted
()
{},
methods
:
{
methods
:
{
goUrl
(
type
)
{
goUrl
(
type
)
{
let
Time
=
[
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
)),
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
))]
let
query
=
{
let
query
// if(type
<
5
){
// if(type==1){
// query = {
// blank: "y",
// }
// }else if(type==2){
// query = {
// EnterTime: Time,
// blank: "y",
// }
// }else if(type==3){
// query = {
// activation: 1,
// blank: "y",
// }
// }else if(type==4){
// query = {
// activationTime: Time,
// activation: 1,
// blank: "y",
// }
// }
// this.OpenNewPage('/customerTransfer',query)
// }
// if(type>4&&type
<
9
){
// if(type==5){
// query = {
// CStartDate: this.parameters.dateRange[0],
// CEndDate: this.parameters.dateRange[1],
// BranchId: this.parameters.branchId,
// RB_Department_Id:this.parameters.RB_Department_Id,
// EmployeeId:this.parameters.empId,
// isNormal: 1,
// blank: "y",
// }
// }else if(type==6){
// query = {
// CStartDate: this.parameters.dateRange[0],
// CEndDate: this.parameters.dateRange[1],
// RB_Department_Id:this.parameters.RB_Department_Id,
// EmployeeId:this.parameters.empId,
// isNormal: 1,
// blank: "y",
// }
// }else if(type==7){
// query = {
// CStartDate: this.parameters.dateRange[0],
// CEndDate: this.parameters.dateRange[1],
// RB_Department_Id:this.parameters.RB_Department_Id,
// EmployeeId:this.parameters.empId,
// isNormal: 1,
// blank: "y",
// }
// }else if(type==8){
// query = {
// CStartDate: this.parameters.dateRange[0],
// CEndDate: this.parameters.dateRange[1],
// RB_Department_Id:this.parameters.RB_Department_Id,
// EmployeeId:this.parameters.empId,
// discount: 1,
// isNormal: 1,
// blank: "y",
// }
// }
// this.OpenNewPage('/salesVolumeRank',query)
// }
query
=
{
CStartDate
:
this
.
parameters
.
dateRange
[
0
],
CStartDate
:
this
.
parameters
.
dateRange
[
0
],
CEndDate
:
this
.
parameters
.
dateRange
[
1
],
CEndDate
:
this
.
parameters
.
dateRange
[
1
],
BranchId
:
this
.
parameters
.
branchId
,
BranchId
:
this
.
parameters
.
branchId
,
...
@@ -969,7 +897,9 @@ export default {
...
@@ -969,7 +897,9 @@ export default {
EmployeeId
:
this
.
parameters
.
empId
,
EmployeeId
:
this
.
parameters
.
empId
,
blank
:
"y"
,
blank
:
"y"
,
}
}
this
.
OpenNewPage
(
'/salesVolumeRank'
,
query
)
if
(
this
.
parameters
.
CusType
==
0
){
this
.
OpenNewPage
(
'/salesVolumeRank'
,
query
);
}
},
},
changeDepart
(
node
,
instanceId
){
changeDepart
(
node
,
instanceId
){
this
.
parameters
.
RB_Department_Id
=
node
.
DepartmentId
;
this
.
parameters
.
RB_Department_Id
=
node
.
DepartmentId
;
...
@@ -1073,7 +1003,8 @@ export default {
...
@@ -1073,7 +1003,8 @@ export default {
getHomeChat
()
{
getHomeChat
()
{
const
msg
=
{
const
msg
=
{
StartDate
:
this
.
parameters
.
dateRange
[
0
],
StartDate
:
this
.
parameters
.
dateRange
[
0
],
EndDate
:
this
.
parameters
.
dateRange
[
1
]
EndDate
:
this
.
parameters
.
dateRange
[
1
],
WechatType
:
this
.
parameters
.
CusType
};
};
this
.
apipost
(
this
.
apipost
(
"wechatstatistics_post_HomeWechatStatisticsList"
,
"wechatstatistics_post_HomeWechatStatisticsList"
,
...
@@ -1090,7 +1021,8 @@ export default {
...
@@ -1090,7 +1021,8 @@ export default {
getTrendWechatData
(){
getTrendWechatData
(){
const
msg
=
{
const
msg
=
{
StartDate
:
this
.
parameters
.
dateRange
[
0
],
StartDate
:
this
.
parameters
.
dateRange
[
0
],
EndDate
:
this
.
parameters
.
dateRange
[
1
]
EndDate
:
this
.
parameters
.
dateRange
[
1
],
WechatType
:
this
.
parameters
.
CusType
,
};
};
this
.
apipost
(
this
.
apipost
(
"wechatstatistics_post_WechatStatisticsList"
,
"wechatstatistics_post_WechatStatisticsList"
,
...
@@ -1107,7 +1039,8 @@ export default {
...
@@ -1107,7 +1039,8 @@ export default {
getPageData
(){
getPageData
(){
const
msg
=
{
const
msg
=
{
StartDate
:
this
.
parameters
.
dateRange
[
0
],
StartDate
:
this
.
parameters
.
dateRange
[
0
],
EndDate
:
this
.
parameters
.
dateRange
[
1
]
EndDate
:
this
.
parameters
.
dateRange
[
1
],
WechatType
:
this
.
parameters
.
CusType
};
};
this
.
apipost
(
this
.
apipost
(
"wechatstatistics_post_PageVisitStatisticsList"
,
"wechatstatistics_post_PageVisitStatisticsList"
,
...
@@ -1124,7 +1057,8 @@ export default {
...
@@ -1124,7 +1057,8 @@ export default {
getAreaData
(){
getAreaData
(){
const
msg
=
{
const
msg
=
{
StartDate
:
this
.
parameters
.
dateRange
[
0
],
StartDate
:
this
.
parameters
.
dateRange
[
0
],
EndDate
:
this
.
parameters
.
dateRange
[
1
]
EndDate
:
this
.
parameters
.
dateRange
[
1
],
WechatType
:
this
.
parameters
.
CusType
};
};
this
.
apipost
(
this
.
apipost
(
"wechatstatistics_post_UserPortraitStatisticsList"
,
"wechatstatistics_post_UserPortraitStatisticsList"
,
...
...
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