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
21ea7596
Commit
21ea7596
authored
Sep 18, 2019
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增行政填写意见调查
parent
58dfca4d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1281 additions
and
0 deletions
+1281
-0
login2019.css
src/assets/css/login2019.css
+192
-0
Login2019.vue
src/components/Login2019.vue
+433
-0
NewSurvey.vue
src/components/administrative/NewSurvey.vue
+107
-0
NewSurveyList.vue
src/components/administrative/NewSurveyList.vue
+217
-0
Survey.vue
src/components/administrative/Survey.vue
+307
-0
config.js
src/router/config.js
+25
-0
No files found.
src/assets/css/login2019.css
0 → 100644
View file @
21ea7596
.newSummaryLogin
.item
img
{
width
:
100%
;
}
.login_Div
{
background
:
#fff
;
padding
:
60px
0
20px
0
;
box-sizing
:
border-box
;
height
:
100%
;
width
:
60%
;
margin
:
0
auto
;
}
.newSummaryLogin
.error-msg
{
color
:
#cccccc
;
font-size
:
12px
;
text-align
:
left
;
width
:
300px
;
margin
:
0
auto
0
;
height
:
20px
;
padding-left
:
16px
;
}
.newSummaryLogin
.error-msg
img
{
position
:
relative
;
top
:
3px
;
margin
:
0
10px
0
5px
;
}
.login_Div
.sumMainTitle
{
font-size
:
28px
;
padding-top
:
40px
;
color
:
#333
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.login_Div
.littTitle
{
font-size
:
18px
;
color
:
#333333
;
}
.login_Div
.icon-login-name
,
.login_Div
.icon-login-password
{
width
:
16px
;
height
:
15px
;
display
:
inline-block
;
position
:
absolute
;
top
:
10px
;
color
:
#000000
}
.login_Div
.login-commonBotm
{
width
:
100%
;
position
:
relative
;
margin
:
10px
auto
0
0
;
}
.login_Div
.login-commonBotm
img
{
float
:
left
;
margin-top
:
14px
;
}
.login_Div
input
.input
{
width
:
100%
;
height
:
40px
;
outline
:
none
;
padding-left
:
30px
;
border
:
none
;
border-bottom
:
1px
solid
#CCCCCC
;
color
:
#333333
;
caret-color
:
#E95252
;
}
.login_Div
input
::-webkit-input-placeholder
{
color
:
#999999
;
font-size
:
12px
;
}
.newSummaryLogin
.sumPhone
{
width
:
100%
;
text-align
:
center
;
color
:
#333
;
margin-bottom
:
10px
;}
.login_Div
input
:-webkit-autofill
,
.login_Div
textarea
:-webkit-autofill
,
.login_Div
select
:-webkit-autofill
{
-webkit-text-fill-color
:
#ededed
!important
;
-webkit-box-shadow
:
0
0
0px
1000px
transparent
inset
!important
;
background-color
:
transparent
;
background-image
:
none
;
transition
:
background-color
50000s
ease-in-out
0s
;
}
.login_Div
.sLoginBtn
{
margin-top
:
30px
;
width
:
100%
;
height
:
40px
;
background
:
#EE4454
;
border-radius
:
4px
;
outline
:
none
;
border
:
none
;
color
:
#fff
;
transition
:
all
linear
0.5s
;
}
.login_Div
.sLoginBtn
:hover
{
opacity
:
.8
;
cursor
:
pointer
;
background-color
:
#E95252
;
color
:
#FFFFFF
}
.login_Div
.validatCode
{
color
:
#333333
;
}
.newSummaryLogin
.msgTips
p
{
color
:
#333333
!important
;
}
.newSummaryLogin
.msgTips
p
,
.newSummaryLogin
.msgTips
h2
{
color
:
#333333
!important
;
}
.newSummaryLogin
.bindTitle
{
margin-bottom
:
10px
;}
.newSummaryLogin
.changeBtn
{
margin-top
:
10px
;
}
.login-box
.forgetPw
{
/* width:300px; */
height
:
40px
;
text-align
:
right
;
margin
:
auto
;
color
:
#999999
;
font-size
:
12px
;
text-align
:
right
;
line-height
:
40px
;
}
.forgetPw
span
{
cursor
:
pointer
;
}
.newSummaryLogin
.login-box
.forgetPw
span
:hover
{
color
:
#E95252
;
}
.newSummaryLogin
.login-way
{
width
:
300px
;
height
:
40px
;
margin
:
25px
auto
;
font-size
:
12px
;
color
:
#CCCCCC
;
display
:
none
;
line-height
:
40px
;
}
.newSummaryLogin
.wayLeft
{
float
:
left
;
}
.newSummaryLogin
.icon-login-qqicon
{
width
:
16px
;
height
:
15px
;
display
:
inline-block
;
position
:
relative
;
top
:
3px
;
background
:
url(../img/qqIco.png)
no-repeat
;
}
.newSummaryLogin
.icon-login-wechaticon
{
width
:
19px
;
height
:
15px
;
display
:
inline-block
;
position
:
relative
;
top
:
3px
;
background
:
url(../img/wechatIco.png)
no-repeat
;
}
.newSummaryLogin
.wayRight
{
float
:
right
;
}
.newSummaryLogin
.validatCode
{
position
:
absolute
;
right
:
0
;
top
:
13px
;
padding-left
:
10px
;
color
:
#333
;
font-size
:
12px
;
letter-spacing
:
2px
;
border-left
:
1px
solid
#cccccc
;
}
.newSummaryLogin
.validatCode
span
:first-child
{
cursor
:
pointer
;}
.newSummaryLogin
.btValidate
{
margin-top
:
30px
;
}
.newSummaryLogin
.login_elephant
{
position
:
absolute
;
left
:
-15px
;
top
:
-80px
;
}
.newSummaryLogin
.homepage-hero-module
,
.video-container
{
position
:
relative
;
height
:
100vh
;
overflow
:
hidden
;
}
.newSummaryLogin
.name_bline_left
{
position
:
absolute
;
right
:
50%
;
bottom
:
0
;
width
:
0
;
height
:
2px
;
background-color
:
#E95252
;
transition
:
all
linear
0.5s
;}
.newSummaryLogin
.name_bline_right
{
position
:
absolute
;
left
:
50%
;
bottom
:
0
;
width
:
0
;
height
:
2px
;
background-color
:
#E95252
;
transition
:
all
linear
0.5s
;}
.newSummaryLogin
.pwd_bline_left
{
position
:
absolute
;
right
:
50%
;
bottom
:
0
;
width
:
0
;
height
:
2px
;
background-color
:
#E95252
;
transition
:
all
linear
0.5s
;}
.newSummaryLogin
.pwd_bline_right
{
position
:
absolute
;
left
:
50%
;
bottom
:
0
;
width
:
0
;
height
:
2px
;
background-color
:
#E95252
;
transition
:
all
linear
0.5s
;}
.newSummaryLogin
.login-Div
input
:-webkit-autofill
,
.login-Div
textarea
:-webkit-autofill
,
.login-Div
select
:-webkit-autofill
{
-webkit-text-fill-color
:
#ededed
!important
;
-webkit-box-shadow
:
0
0
0px
1000px
transparent
inset
!important
;
background-color
:
transparent
;
background-image
:
none
;
transition
:
background-color
50000s
ease-in-out
0s
;
}
.newSummaryLogin
._bline_w
{
width
:
50%
;}
src/components/Login2019.vue
0 → 100644
View file @
21ea7596
This diff is collapsed.
Click to expand it.
src/components/administrative/NewSurvey.vue
0 → 100644
View file @
21ea7596
<
style
>
.investigationList
td
button
{
width
:
30px
;
height
:
30px
;
display
:
inline-block
;
color
:
white
!important
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
30px
;
margin-right
:
10px
;
cursor
:
pointer
;
outline
:
none
;
padding
:
0
;
}
.investigationList
.el-button.is-circle
{
padding
:
0
;
}
</
style
>
<
template
>
<div
class=
"investigationList"
>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
订单号
</th>
<th>
客人名称
</th>
<th>
销售名称
</th>
<th>
客户名称
</th>
<th>
分数
</th>
<th>
操作
</th>
</tr>
<tr
v-for=
"item in dataList"
>
<td>
{{
OrderId
}}
</td>
<td>
{{
item
.
GuestName
}}
</td>
<td>
{{
item
.
EnterName
}}
</td>
<td>
{{
item
.
CustomerName
}}
</td>
<td>
{{
item
.
ScoreNum
}}
</td>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"填写"
placement=
"top"
>
<el-button
v-if=
"item.ID==0"
type=
"primary"
icon=
"iconfont icon-Edit"
circle
@
click=
"chaKan(item)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"详情"
placement=
"top"
>
<el-button
v-if=
"item.ID!==0"
type=
"primary"
icon=
"iconfont icon-sousuo"
circle
@
click=
"openPage(item)"
></el-button>
</el-tooltip>
</td>
</tr>
</table>
<div
class=
"noDataNotice"
v-if=
"dataList.length
<1
"
>
<i
class=
"iconfont icon-kong"
></i>
<p>
{{
$t
(
"active.ld_noData"
)
}}
</p>
</div>
<a
href=
""
id=
"blankLink"
target=
"_blank"
style=
"display:none"
>
1
</a>
</div>
</
template
>
<
script
>
export
default
{
data
(){
return
{
loading
:
false
,
dataList
:
[],
DiaoChaShow
:
false
,
YouJiShow
:
false
,
showID
:
0
,
dialogTitle
:
''
,
OrderId
:
''
,
TCIDL
:
''
}
},
mounted
()
{
let
TCID
=
this
.
$route
.
query
.
TCID
,
OrderID
=
this
.
$route
.
query
.
OrderId
;
this
.
OrderId
=
OrderID
this
.
TCID
=
TCID
this
.
getList
(
TCID
,
OrderID
);
},
methods
:
{
openPage
:
function
(
obj
){
console
.
log
(
obj
)
let
dom
=
document
.
querySelector
(
"#blankLink"
);
dom
.
href
=
"http://activity.oytour.com/html/invesDetails2.html"
+
'?ID='
+
obj
.
ID
+
'&name='
+
encodeURI
(
obj
.
GuestName
)
+
'&MobilePhone='
+
obj
.
CustomerPhone
dom
.
click
();
},
chaKan
(
item
){
let
obj
=
JSON
.
stringify
(
item
)
this
.
$router
.
push
({
name
:
'NewSurveyList'
,
query
:{
"TCID"
:
this
.
TCID
,
"OrderId"
:
this
.
OrderId
,
obj
:
obj
,
blank
:
'y'
}
})
},
getList
:
function
(
TCID
,
OrderID
)
{
this
.
apipost
(
'survey_post_GetTotalListAPP'
,
{
TCID
:
TCID
,
OrderID
:
OrderID
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
dataList
=
res
.
data
.
data
.
objAll
;
}
},
null
)
}
}
}
</
script
>
src/components/administrative/NewSurveyList.vue
0 → 100644
View file @
21ea7596
<
style
>
.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
:
720px
;
margin
:
0
auto
;
}
.NewSurveyList
#table
td
,
.NewSurveyList
.qianming
span
{
color
:
#111
;
}
.NewSurveyList
#table
td
._name
,
.NewSurveyList
.qianming
label
{
color
:
#5d5d5d
;
}
</
style
>
<
template
>
<div
class=
"main NewSurveyList"
>
<!--
<p
class=
"tit"
>
印象旅游服务意见表
</p>
<div
class=
"message-box"
>
<p
class=
"sub_tit"
>
亲爱的旅客:
</p>
<div
class=
"tit_det"
>
<p>
感谢与您同行,让我们的旅行更加圆满!
</p>
<p>
我们十分珍视倾听您的声音。它将是我们改善服务的重要基础。
</p>
<p>
最后,需要您花一点点时间填写此表。诚挚地感谢您!
</p>
</div>
</div>
-->
<div
class=
"qianming"
>
<label
class=
"_name"
>
旅客签名:
<span
id=
"name"
>
{{
obj
.
GuestName
}}
</span></label>
<!--
<label
class=
"_name"
>
手机:
<span
id=
"phone"
></span></label>
<label
class=
"_name"
>
日期:
<span
id=
"day"
></span></label>
-->
</div>
<div
class=
""
>
<table
id=
"table"
>
<!--
<tr>
<td
class=
"_name"
>
线路:
</td>
<td
id=
"LineName"
></td>
<td
class=
"_name"
>
出发时间:
</td>
<td
id=
"StartDateStr"
></td>
<td
class=
"_name"
>
领队:
</td>
<td
width=
"80"
id=
"LeaderName"
></td>
</tr>
<tr>
<td
class=
"_name"
>
您的报名公司:
</td>
<td
id=
"BranchName"
></td>
<td
class=
"_name"
>
报名接待员:
</td>
<td
id=
"ContactName"
></td>
<td
class=
"_name"
>
专业度及服务评价:
</td>
<td></td>
</tr>
-->
<tr>
<td
class=
"_name"
>
旅客意见
</td>
<td
class=
"_name"
>
非常满意
</td>
<td
class=
"_name"
>
满意
</td>
<td
class=
"_name"
>
基本合格
</td>
<td
class=
"_name"
>
不满意
</td>
<!--
<td
class=
"_name"
>
评价
</td>
-->
</tr>
<tr
v-for=
"(item, index) in dataList"
>
<td
class=
"_name"
>
{{
index
+
1
}}
、
{{
item
.
Title
}}
</td>
<template
v-if=
"item.SurveyType === 1"
>
<td
colspan=
"4"
>
<el-rate
v-model=
"item.ScoreNum"
show-text
:texts=
"texts"
>
</el-rate>
</td>
</
template
>
<
template
v-if=
"item.SurveyType === 2"
>
<td
colspan=
"4"
>
<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
colspan=
"4"
>
<el-checkbox-group
v-model=
"item.SurveyOptionsList"
>
<el-checkbox
v-for=
"(radio, rIndex) in item.SurveyOptionsList"
:label=
"radio.ID"
:key=
"rIndex"
>
{{
radio
.
OptionsName
}}
</el-checkbox>
</el-checkbox-group>
</td>
</
template
>
<
template
v-if=
"item.SurveyType === 4"
>
<td
colspan=
"4"
>
<el-input
type=
"textarea"
:rows=
"2"
placeholder=
"请输入内容"
v-model=
"item.TextContent"
>
</el-input>
</td>
</
template
>
</tr>
</table>
</div>
<div
style=
"margin: 20px 0; text-align: right;"
>
<button
class=
"normalBtn"
@
click=
"saveMessage"
>
{{$t('fnc.tijiao')}}
</button>
</div>
</div>
</template>
<
script
>
export
default
{
components
:{
},
data
(){
return
{
leaderData
:
{},
loading
:
false
,
dataList
:
[],
TCID
:
''
,
OrderID
:
''
,
GuestId
:
''
,
obj
:
{},
texts
:
[
'非常不满意'
,
'不满意'
,
'感觉一般'
,
'满意'
,
'非常满意'
]
}
},
mounted
()
{
this
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
OrderID
=
this
.
$route
.
query
.
OrderId
;
this
.
obj
=
JSON
.
parse
(
this
.
$route
.
query
.
obj
)
this
.
GuestId
=
this
.
obj
.
GuestId
this
.
GetSurveyShowList
();
},
methods
:
{
saveMessage
:
function
(){
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dataList
))
data
.
forEach
(
x
=>
{
x
.
TCID
=
this
.
TCID
;
x
.
OrderID
=
this
.
OrderID
;
x
.
GuestId
=
this
.
GuestId
;
if
(
x
.
SurveyType
===
2
||
x
.
SurveyType
===
3
)
{
x
.
SurveyOptionsList
.
forEach
(
y
=>
{
y
.
IsCheck
=
x
.
ScoreNum
==
y
.
ID
?
'1'
:
'0'
})
x
.
ScoreNum
=
0
}
})
this
.
apipost
(
'survey_post_SetGuestSurvey'
,
data
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
$message
.
success
(
'提交成功!'
)
setTimeout
(()
=>
{
window
.
close
()
},
1000
)
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
})
},
GetSurveyShowList
:
function
()
{
let
data
=
{
IsShow
:
1
,
SurveyType
:
-
1
}
this
.
apipost
(
'survey_post_GetSurveyShowList'
,
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
.
dataList
=
data
;
}
},
null
)
}
}
}
</
script
>
src/components/administrative/Survey.vue
0 → 100644
View file @
21ea7596
<
template
>
<div
class=
"Feedback"
>
<div
class=
"query-box"
>
<ul>
<li>
<span>
<em>
订单号
</em>
<el-input
v-model=
"msg.OrderId"
></el-input>
</span>
</li>
<li>
<span>
<em>
线路
</em>
</span>
<el-select
filterable
v-model=
"obj.LineID"
value-key=
"LineID"
@
change=
"getLineTeamList"
>
<el-option
label=
"不限"
:value=
'
{LineName:"不限",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>
系列
</em>
</span>
<el-select
filterable
v-model=
"obj.LineteamId"
value-key=
"LtID"
@
change=
"getLineLtID"
>
<el-option
label=
"不限"
:value=
'
{LtName:"不限",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>
只看有评分
</em>
</span>
<el-select
filterable
class=
'multiple_input'
v-model=
'msg.isScore'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
"不限"
:value=
"0"
></el-option>
<el-option
label=
"是"
:value=
"1"
></el-option>
<el-option
label=
"否"
:value=
"-1"
></el-option>
</el-select>
</li>
-->
<li>
<span>
<em>
发团时间
</em>
</span>
<el-date-picker
value-format=
"yyyy-MM-dd"
:picker-options=
"pickerDisabled"
size=
"small"
v-model=
"dateList"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"查询"
@
click=
"resetPageIndex(),getList()"
>
</li>
</ul>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
发团日期
</th>
<th>
订单号
</th>
<th>
团号
</th>
<th>
整体评分
</th>
<th
v-for=
"(item,i) in fields"
:key=
"i"
>
{{
item
}}
</th>
<th>
操作
</th>
</tr>
<tr
v-for=
"(item,i) in dataList"
:key=
"i"
>
<td>
{{
item
.
start
}}
</td>
<td>
{{
item
.
orderId
}}
</td>
<td>
{{
item
.
tCNUM
}}
</td>
<td>
<span
v-if=
"fields.length>0"
>
<span
v-if=
"item.sumScore/fields.length>3.5"
>
{{
(
item
.
sumScore
/
fields
.
length
).
toFixed
(
1
)
}}
</span>
<span
v-else
style=
"color:red"
>
{{
(
item
.
sumScore
/
fields
.
length
).
toFixed
(
1
)
}}
</span>
</span>
<span
v-else
>
<span
v-if=
"item.sumScore>3.5"
>
{{
item
.
sumScore
}}
</span>
<span
v-else
style=
"color:red"
>
{{
item
.
sumScore
}}
</span>
</span>
</td>
<td
v-for=
"(c,childIndex) in fields"
:key=
"childIndex"
>
<span
v-if=
"item[c]&&item[c]>3.5"
>
{{
item
[
c
]?
item
[
c
]:
0
}}
</span>
<span
v-else
style=
"color:red"
>
{{
item
[
c
]?
item
[
c
]:
0
}}
</span>
</td>
<td>
<span
style=
"cursor:pointer"
@
click=
"chaKan(item)"
>
明细
</span>
</td>
</tr>
<tr
v-if=
"dataList.length==0"
>
<td
colspan=
"12"
align=
"center"
>
暂无数据
</td>
</tr>
</table>
<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"
export
default
{
name
:
'Feedback'
,
data
(){
return
{
obj
:{},
dataList
:[],
loading
:
false
,
msg
:{
pageSize
:
10
,
pageIndex
:
1
,
lineID
:
0
,
LineteamId
:
0
,
reStartDate
:
''
,
reEndDate
:
''
,
OrderId
:
''
,
isScore
:
0
,
lineName
:
"不限"
,
LineteamName
:
"不限"
,
},
total
:
0
,
currentPage
:
1
,
dateList
:[],
LineList
:[],
LineTeamList
:[],
fields
:[],
pickerDisabled
:
{
//验证时间范围
disabledDate
:(
time
)
=>
{
let
_now
=
Date
.
now
();
return
time
.
getTime
()
>
_now
;
}
}
}
},
created
(){
this
.
dateList
[
0
]
=
moment
().
subtract
(
6
,
"month"
).
format
(
"YYYY-MM-DD"
);
this
.
dateList
[
1
]
=
moment
().
format
(
"YYYY-MM-DD"
);
// console.log("this.dateList",this.dateList)
this
.
getTitle
();
},
mounted
(){
this
.
getLineList
();
this
.
getList
();
},
methods
:{
chaKan
(
item
){
this
.
$router
.
push
({
name
:
'NewSurvey'
,
query
:{
"TCID"
:
item
.
tcid
,
"OrderId"
:
item
.
orderId
,
blank
:
'y'
}
})
},
goUrl
(){
this
.
$router
.
push
({
name
:
'FeedbackChart'
,
query
:{
"msg"
:
JSON
.
stringify
(
this
.
msg
),
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
;
}
});
},
getTitle
()
{
this
.
apiJavaPost
(
"/api/erp/survey/getSurveyTitleList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
res
.
data
.
data
.
forEach
(
item
=>
{
this
.
fields
.
push
(
item
.
title
)
})
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
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
(
"最多查询一年的数据!"
)
return
;
}
}
else
{
this
.
msg
.
reStartDate
=
""
;
this
.
msg
.
reEndDate
=
""
;
}
this
.
loading
=
true
;
this
.
apiJavaPost
(
"/api/erp/survey/getOrderSurveyList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
===
1
)
{
let
arrays
=
[];
// console.log("res.data.data.pageData",res.data.data)
res
.
data
.
data
.
pageData
.
forEach
(
x
=>
{
let
isHave
=
false
if
(
x
.
tCID
!=
0
||
x
.
tCID
||
x
.
tCID
!=
''
){
// if(this.fields.indexOf(x.title)==-1&&x.title!=''){
// this.fields.push(x.title)
// console.log("fields",this.fields)
// }
if
(
arrays
.
length
>
0
){
arrays
.
forEach
(
y
=>
{
if
(
y
.
orderId
==
x
.
orderId
){
y
[
x
.
title
]
=
x
.
scoreNum
y
.
sumScore
+=
x
.
scoreNum
isHave
=
true
return
false
}
})
}
if
(
!
isHave
){
let
obj
=
{
tcid
:
x
.
tCID
,
orderId
:
x
.
orderId
,
start
:
""
,
sumScore
:
x
.
scoreNum
,
tCNUM
:
x
.
tCNUM
}
if
(
x
.
startDate
){
obj
.
start
=
x
.
startDate
.
split
(
'T'
)[
0
]
}
obj
[
x
.
title
]
=
x
.
scoreNum
arrays
.
push
(
obj
)
}
}
});
this
.
dataList
=
arrays
;
// console.log("this.dataList",this.dataList)
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
;
}
</
style
>
src/router/config.js
View file @
21ea7596
import
login
from
'../components/Login'
// import login from '../components/Login2019'
import
index
from
'../components/index'
import
clientConfirm
from
'../components/clientConfirm'
import
SignName
from
'../components/SignName'
...
...
@@ -424,6 +425,30 @@ export default {
title
:
'岗位管理'
},
},
{
path
:
'/Survey'
,
//意见调查
name
:
'Survey'
,
component
:
resolve
=>
require
([
'@/components/administrative/Survey'
],
resolve
),
meta
:
{
title
:
'意见调查'
},
},
{
path
:
'/NewSurvey'
,
//意见调查 订单列表
name
:
'NewSurvey'
,
component
:
resolve
=>
require
([
'@/components/administrative/NewSurvey'
],
resolve
),
meta
:
{
title
:
'意见调查'
},
},
{
path
:
'/NewSurveyList'
,
//意见调查填写
name
:
'NewSurveyList'
,
component
:
resolve
=>
require
([
'@/components/administrative/NewSurveyList'
],
resolve
),
meta
:
{
title
:
'意见调查填写'
},
},
{
path
:
'/Announcement'
,
//公告管理
name
:
'Announcement'
,
...
...
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