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
9226df65
Commit
9226df65
authored
Oct 16, 2024
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增车统计页面
parent
e7c4a787
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
505 additions
and
0 deletions
+505
-0
BusSurvey.vue
src/components/administrative/BusSurvey.vue
+490
-0
SurveyManager.vue
src/components/administrative/SurveyManager.vue
+7
-0
config.js
src/router/config.js
+8
-0
No files found.
src/components/administrative/BusSurvey.vue
0 → 100644
View file @
9226df65
<
template
>
<div
class=
"Feedback"
>
<div
class=
"query-box"
>
<ul>
<li>
<span>
<em>
{{
$t
(
'visa.v_tuanhao'
)
}}
</em>
<el-input
v-model=
"msg.TCNUM"
></el-input>
</span>
</li>
<li>
<span>
<em>
{{
$t
(
'advmanager.v_line'
)
}}
</em>
</span>
<el-select
filterable
v-model=
"msg.lineID"
@
change=
"getLineTeamList"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"
{LineName:`${$t('pub.unlimitedSel')}`,LineID:0}">
</el-option>
<el-option
v-for=
"item in LineList"
:label=
'item.LineName'
:value=
'item'
:key=
'item.LineID'
></el-option>
</el-select>
</li>
<li>
<span>
<em>
{{
$t
(
'advmanager.v_xilie'
)
}}
</em>
</span>
<el-select
filterable
v-model=
"msg.LineteamId"
@
change=
"getLineLtID"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"
{LtName:`${$t('pub.unlimitedSel')}`,LtID:0}">
</el-option>
<el-option
v-for=
"item in LineTeamList"
:label=
'item.LtName'
:value=
'item'
:key=
'item.LtID'
>
</el-option>
</el-select>
</li>
<li>
<span>
<em>
{{
$t
(
'objFill.fatuantime'
)
}}
</em>
</span>
<el-date-picker
value-format=
"yyyy-MM-dd"
:picker-options=
"pickerDisabled"
size=
"small"
v-model=
"dateList"
type=
"daterange"
:range-separator=
"$t('OrderList.zhi')"
:start-placeholder=
"$t('OrderList.star')"
:end-placeholder=
"$t('OrderList.end')"
>
</el-date-picker>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"resetPageIndex(),getList()"
>
</li>
</ul>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
{{
$t
(
'scen.sc_ftTime'
)
}}
</th>
<th>
{{
$t
(
'visa.v_tuanhao'
)
}}
</th>
<th>
{{
$t
(
'leader.leader_Leader'
)
}}
</th>
<th>
{{
$t
(
'leader.leader_Guide'
)
}}
</th>
<th>
{{
$t
(
'objFill.zongrenshu'
)
}}
</th>
<th>
{{
$t
(
'system.table_operation'
)
}}
</th>
</tr>
<tr
v-for=
"(item,i) in dataList"
:key=
"i"
>
<td>
{{
item
.
StartDate
}}
</td>
<td
@
click=
'goUrl("RegistrationList", item.TCID,"报名清单")'
class=
"go_regis"
>
{{
item
.
TCNUM
}}
(
{{
item
.
TCID
}}
)
</td>
<td>
{{
item
.
LeaderName
}}
</td>
<td>
{{
item
.
GuideName
}}
</td>
<td>
{{
item
.
TotalNum
}}
</td>
<td>
<template
v-if=
"item.BusSurveyId>0"
>
<span
style=
"cursor:pointer"
@
click=
"showBusSurveyInfo(item)"
>
{{
$t
(
'fnc.chakan'
)
}}
</span>
</
template
>
<
template
v-else
>
<span
style=
"cursor:pointer"
@
click=
"setInfo(item)"
>
{{
$t
(
'objFill.tianxie'
)
}}
</span>
</
template
>
</td>
</tr>
<tr
v-if=
"dataList.length==0"
>
<td
colspan=
"6"
align=
"center"
>
{{$t('system.content_noData')}}
</td>
</tr>
</table>
<el-dialog
:title=
"$t('objFill.wenquantianxie')"
:visible
.
sync=
"DiaoChaShow"
center
:before-close=
"closeDialog"
>
<div
class=
"main NewSurveyList"
v-loading=
"saveShow"
>
<div
class=
""
>
<div
style=
"text-align:center;font-size:20px;font-weight:bold;"
><
template
v-if=
"surveyInfo&&surveyInfo.Title&&surveyInfo.Title!=''"
>
{{
surveyInfo
.
Title
}}
</
template
>
</div>
<div
style=
"text-indent:2em;"
><
template
v-if=
"surveyInfo&&surveyInfo.SubTitle&&surveyInfo.SubTitle!=''"
>
{{
surveyInfo
.
SubTitle
}}
</
template
>
</div>
<table
id=
"table"
>
<
template
v-if=
"optionType==1"
>
<template
v-for=
"(item, index) in wqList"
>
<tr
:key=
"`t_`+index"
>
<td
class=
"_name"
>
{{
index
+
1
}}
、
{{
item
.
Title
}}
</td>
</tr>
<tr
:key=
"`a_`+index"
>
<template
v-if=
"item.SurveyType === 1"
>
<td>
<el-rate
v-model=
"item.ScoreNum"
show-text
:texts=
"texts"
>
</el-rate>
</td>
</
template
>
<
template
v-if=
"item.SurveyType === 2"
>
<td>
<el-radio-group
v-model=
"item.ScoreNum"
>
<el-radio
v-for=
"(radio, rIndex) in item.SurveyOptionsList"
:label=
"radio.ID"
:key=
"rIndex"
>
{{
radio
.
OptionsName
}}
</el-radio>
</el-radio-group>
</td>
</
template
>
<
template
v-if=
"item.SurveyType === 3"
>
<td>
<el-checkbox
v-for=
"(radio, rIndex) in item.SurveyOptionsList"
v-model=
"radio.IsCheckS"
:label=
"radio.ID"
:key=
"rIndex"
>
{{
radio
.
OptionsName
}}
</el-checkbox>
</td>
</
template
>
<
template
v-if=
"item.SurveyType === 4"
>
<td>
<el-input
type=
"textarea"
:rows=
"2"
:placeholder=
"$t('fnc.qsrneirong')"
v-model=
"item.TextContent"
>
</el-input>
</td>
</
template
>
</tr>
</template>
</template>
<
template
v-else
>
<template
v-for=
"(item, index) in busDetailsList"
>
<tr
:key=
"`t_`+index"
>
<td
class=
"_name"
>
{{
index
+
1
}}
、
{{
item
.
Title
}}
</td>
</tr>
<tr
:key=
"`a_`+index"
>
<template
v-if=
"item.SurveyType === 1"
>
<td>
<el-rate
v-model=
"item.ScoreNum"
show-text
:texts=
"texts"
disabled
>
</el-rate>
</td>
</
template
>
<
template
v-if=
"item.SurveyType === 2"
>
<td>
<el-radio-group
v-model=
"item.ScoreNum"
>
<el-radio
v-for=
"(radio, rIndex) in item.SurveyOptionsList"
:label=
"radio.ID"
:key=
"rIndex"
disabled
>
{{
radio
.
OptionsName
}}
</el-radio>
</el-radio-group>
</td>
</
template
>
<
template
v-if=
"item.SurveyType === 3"
>
<td>
<el-checkbox
v-for=
"(radio, rIndex) in item.SurveyOptionsList"
:checked=
"radio.IsCheck=='1'"
:label=
"radio.ID"
:key=
"rIndex"
disabled
>
{{
radio
.
OptionsName
}}
</el-checkbox>
</td>
</
template
>
<
template
v-if=
"item.SurveyType === 4"
>
<td>
<el-input
type=
"textarea"
:rows=
"2"
:placeholder=
"$t('fnc.qsrneirong')"
v-model=
"item.TextContent"
disabled
>
</el-input>
</td>
</
template
>
</tr>
</template>
</template>
</table>
</div>
<div
style=
"margin: 20px 0; text-align: right;"
>
<button
v-if=
"optionType==1"
class=
"normalBtn"
@
click=
"saveMessage"
>
{{$t('fnc.tijiao')}}
</button>
<button
v-if=
"optionType==2"
class=
"normalBtn"
@
click=
"closeDialog"
>
{{$t('pub.closeSel')}}
</button>
</div>
</div>
</el-dialog>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"total"
></el-pagination>
</div>
</template>
<
script
>
import
moment
from
"moment"
import
Temporarystaff
from
'./Temporarystaff.vue'
;
export
default
{
components
:
{
Temporarystaff
},
data
()
{
return
{
dataList
:
[],
loading
:
false
,
DiaoChaShow
:
false
,
wqList
:
[],
saveShow
:
false
,
msg
:
{
pageSize
:
10
,
pageIndex
:
1
,
TCNUM
:
''
,
lineID
:
0
,
LineteamId
:
0
,
reStartDate
:
''
,
reEndDate
:
''
,
lineName
:
this
.
$t
(
'pub.unlimitedSel'
),
LineteamName
:
this
.
$t
(
'pub.unlimitedSel'
),
},
texts
:
[
this
.
$t
(
'objFill.pingfens'
)[
0
],
this
.
$t
(
'objFill.pingfens'
)[
1
],
this
.
$t
(
'objFill.pingfens'
)[
2
],
this
.
$t
(
'objFill.pingfens'
)[
3
],
this
.
$t
(
'objFill.pingfens'
)[
4
]
],
total
:
0
,
currentPage
:
1
,
dateList
:
[],
LineList
:
[],
LineTeamList
:
[],
TCID
:
''
,
pickerDisabled
:
{
//验证时间范围
disabledDate
:
(
time
)
=>
{
let
_now
=
Date
.
now
();
return
time
.
getTime
()
>
_now
;
}
},
surveyInfo
:
{},
//问卷信息
busDetailsList
:
[],
//车问卷详情
optionType
:
1
,
//1-新增,2-查看
}
},
created
()
{
this
.
dateList
[
0
]
=
moment
().
subtract
(
6
,
"month"
).
format
(
"YYYY-MM-DD"
);
this
.
dateList
[
1
]
=
moment
().
format
(
"YYYY-MM-DD"
);
this
.
GetBusSurveyInfo
()
},
mounted
()
{
this
.
getLineList
();
this
.
getList
();
this
.
GetSurveyShowList
();
},
methods
:
{
goUrl
(
path
,
id
,
name
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
blank
:
'y'
,
tab
:
name
}
})
},
setInfo
(
obj
)
{
this
.
optionType
=
1
;
if
(
obj
.
number
<
1
)
{
return
this
.
$message
.
error
(
this
.
$t
(
'objFill.v101.administrative.chitywcyjdc'
))
}
this
.
TCID
=
obj
.
TCID
;
this
.
DiaoChaShow
=
true
;
},
//显示车行详情
showBusSurveyInfo
(
item
)
{
this
.
optionType
=
2
;
this
.
DiaoChaShow
=
true
;
var
postMsg
=
{
TCID
:
item
.
TCID
}
this
.
apipost
(
"survey_post_GetBusSurveyDetails"
,
postMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
busDetailsList
=
res
.
data
.
data
;
}
})
},
//获取文件标题和描述
GetBusSurveyInfo
()
{
this
.
apipost
(
"survey_post_GetBusSurveyInfo"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
surveyInfo
=
res
.
data
.
data
;
}
});
},
GetSurveyShowList
()
{
let
data
=
{
IsShow
:
1
,
SurveyType
:
-
1
}
this
.
apipost
(
'survey_post_GetBusSurveyShowList'
,
data
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
let
data
=
res
.
data
.
data
data
.
map
(
item
=>
{
if
(
item
.
SurveyType
===
2
)
{
item
.
SurveyOptionsList
.
map
((
cItem
,
cIndex
)
=>
{
cItem
.
IsCheckS
=
false
})
}
if
(
item
.
SurveyType
===
3
)
{
item
.
SurveyOptionsList
.
map
((
cItem
,
cIndex
)
=>
{
cItem
.
IsCheckS
=
false
})
}
if
(
item
.
SurveyType
===
1
)
{
item
.
ScoreNum
=
5
;
}
})
this
.
wqList
=
data
;
}
},
null
)
},
saveMessage
()
{
this
.
saveShow
=
true
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
wqList
))
data
.
forEach
(
x
=>
{
x
.
TCID
=
this
.
TCID
;
if
(
x
.
SurveyType
===
2
||
x
.
SurveyType
===
3
)
{
x
.
SurveyOptionsList
.
forEach
(
y
=>
{
y
.
IsCheck
=
"0"
;
if
(
x
.
SurveyType
===
2
&&
x
.
ScoreNum
==
y
.
ID
)
{
y
.
IsCheck
=
'1'
;
}
//多选
if
(
x
.
SurveyType
==
3
&&
y
.
IsCheckS
)
{
y
.
IsCheck
=
"1"
;
}
})
x
.
ScoreNum
=
0
;
}
})
var
newMsg
=
{
busDetailsList
:
data
}
this
.
apipost
(
'survey_post_SetBusSurvey'
,
newMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
$message
.
success
(
this
.
$t
(
'objFill.tijiaochgo'
));
this
.
DiaoChaShow
=
false
;
this
.
saveShow
=
false
;
this
.
getList
();
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
this
.
saveShow
=
false
;
}
})
},
closeDialog
()
{
this
.
DiaoChaShow
=
false
;
},
chaKan
(
item
)
{
this
.
$router
.
push
({
name
:
'NewSurvey'
,
query
:
{
"TCID"
:
item
.
tcid
,
blank
:
'y'
}
})
},
getLineList
()
{
this
.
apipost
(
"line_post_GetAllList_V2"
,
{
LineDirection
:
0
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineList
=
res
.
data
.
data
;
}
});
},
getLineLtID
(
val
)
{
this
.
msg
.
LineteamId
=
val
.
LtID
;
this
.
msg
.
LineteamName
=
val
.
LtName
;
},
//获取系列列表
getLineTeamList
(
val
)
{
let
lineId
=
val
.
LineID
;
this
.
msg
.
lineID
=
val
.
LineID
;
this
.
msg
.
lineName
=
val
.
LineName
;
this
.
LineTeamList
=
[]
this
.
apipost
(
"team_post_GetList"
,
{
lineID
:
lineId
,
isTOOP
:
1
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineTeamList
=
res
.
data
.
data
;
}
});
},
getList
()
{
if
(
this
.
dateList
&&
this
.
dateList
.
length
>
0
)
{
this
.
msg
.
reStartDate
=
this
.
dateList
[
0
];
this
.
msg
.
reEndDate
=
this
.
dateList
[
1
];
//计算相差多少天 day可以是second minute
let
m1
=
moment
(
this
.
msg
.
reStartDate
)
let
m2
=
moment
(
this
.
msg
.
reEndDate
)
let
year
=
m2
.
diff
(
m1
,
'year'
);
if
(
year
>
0
)
{
this
.
Error
(
this
.
$t
(
'objFill.zuiduochaxynsj'
))
return
;
}
}
else
{
this
.
msg
.
reStartDate
=
""
;
this
.
msg
.
reEndDate
=
""
;
}
this
.
loading
=
true
;
this
.
apipost
(
"survey_post_GetTravelBusSurveyPage"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
null
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
}
}
</
script
>
<
style
scoped
>
.Feedback
ul
>
li
{
display
:
inline-block
;
font-size
:
12px
;
color
:
#666
;
margin
:
20px
30px
0px
0
;
}
.Feedback
.singeRowTable
{
margin-top
:
20px
;
}
.NewSurveyList.main
{
padding
:
1.5rem
;
}
.NewSurveyList
.tit
{
font-size
:
2rem
;
text-align
:
center
;
margin-bottom
:
.5rem
;
}
.NewSurveyList
.sub_tit
{
font-size
:
1.4rem
;
margin-bottom
:
.4rem
;
}
.NewSurveyList
.indet_2
{
text-indent
:
2.4rem
;
}
.NewSurveyList
.tit_det
{
text-indent
:
2.4rem
;
font-size
:
1rem
;
}
.NewSurveyList
table
{
border-collapse
:
collapse
;
border-spacing
:
0
;
}
.NewSurveyList
table
{
margin-top
:
1rem
;
width
:
100%
;
}
.NewSurveyList
tr
td
{
padding
:
.5rem
;
border
:
1px
solid
#5b5653
;
font-size
:
1rem
;
}
.NewSurveyList
.qianming
{
margin-top
:
2.5rem
;
}
.NewSurveyList
.qianming
label
{
margin-right
:
.2rem
;
}
.NewSurveyList.main
{
width
:
100%
;
margin
:
0
auto
;
}
.NewSurveyList
#table
td
,
.NewSurveyList
.qianming
span
{
color
:
#111
;
}
.NewSurveyList
#table
td
._name
,
.NewSurveyList
.qianming
label
{
color
:
#5d5d5d
;
}
.go_regis
{
text-decoration
:
underline
;
cursor
:
pointer
;
}
</
style
>
src/components/administrative/SurveyManager.vue
View file @
9226df65
...
@@ -136,7 +136,11 @@
...
@@ -136,7 +136,11 @@
<el-form-item
label=
"问卷名称"
prop=
"Title"
>
<el-form-item
label=
"问卷名称"
prop=
"Title"
>
<el-input
v-model=
"addMsg.Title"
class=
"w217"
/>
<el-input
v-model=
"addMsg.Title"
class=
"w217"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"问卷描述"
>
<el-input
type=
"textarea"
v-model=
"addMsg.SubTitle"
:rows=
"2"
class=
"w217"
/>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible = false, resetForm('addMsg')"
>
{{$t('pub.cancelBtn')}}
</button>
@
click=
"outerVisible = false, resetForm('addMsg')"
>
{{$t('pub.cancelBtn')}}
</button>
...
@@ -158,6 +162,7 @@
...
@@ -158,6 +162,7 @@
addMsg
:
{
addMsg
:
{
MainId
:
0
,
MainId
:
0
,
Title
:
""
,
Title
:
""
,
SubTitle
:
""
,
//描述信息
},
},
total
:
0
,
total
:
0
,
rules
:
{
rules
:
{
...
@@ -268,6 +273,7 @@
...
@@ -268,6 +273,7 @@
let
data
=
res
.
data
.
data
let
data
=
res
.
data
.
data
this
.
addMsg
.
MainId
=
data
.
MainId
;
this
.
addMsg
.
MainId
=
data
.
MainId
;
this
.
addMsg
.
Title
=
data
.
Title
;
this
.
addMsg
.
Title
=
data
.
Title
;
this
.
addMsg
.
SubTitle
=
data
.
SubTitle
;
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
Error
(
res
.
data
.
message
);
}
}
...
@@ -279,6 +285,7 @@
...
@@ -279,6 +285,7 @@
resetInfo
()
{
resetInfo
()
{
this
.
addMsg
.
MainId
=
0
;
this
.
addMsg
.
MainId
=
0
;
this
.
addMsg
.
Title
=
""
;
this
.
addMsg
.
Title
=
""
;
this
.
addMsg
.
SubTitle
=
""
;
},
},
closeChangeMachie
(
done
)
{
closeChangeMachie
(
done
)
{
//弹出框关闭初始化弹框内表单
//弹出框关闭初始化弹框内表单
...
...
src/router/config.js
View file @
9226df65
...
@@ -484,6 +484,14 @@ export default {
...
@@ -484,6 +484,14 @@ export default {
title
:
'意见调查'
title
:
'意见调查'
},
},
},
},
{
path
:
'/BusSurvey'
,
//车行意见调查
name
:
'BusSurvey'
,
component
:
resolve
=>
require
([
'@/components/administrative/BusSurvey'
],
resolve
),
meta
:
{
title
:
'意见调查'
},
},
{
{
path
:
'/NewSurvey'
,
//意见调查 订单列表
path
:
'/NewSurvey'
,
//意见调查 订单列表
name
:
'NewSurvey'
,
name
:
'NewSurvey'
,
...
...
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