Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
self-support
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
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
李俊赕
self-support
Commits
2f9af7db
Commit
2f9af7db
authored
Aug 16, 2021
by
Facius
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 前台——待预约,待签到,过程反馈页面修改
parent
be6c1c12
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
286 additions
and
254 deletions
+286
-254
appoint-time.vue
src/components/appoint/appoint-time.vue
+2
-1
feedback.vue
src/components/order/feedback.vue
+44
-45
performanceRecord.vue
src/components/order/performanceRecord.vue
+240
-208
No files found.
src/components/appoint/appoint-time.vue
View file @
2f9af7db
...
...
@@ -180,7 +180,8 @@ export default {
computed
:
{
needTodyClipping
()
{
// 报备不限制当天已经过去的时间
return
this
.
type
!=
'filing'
// return this.type != 'filing'
return
false
// 报备和改约都不限制了
},
},
methods
:
{
...
...
src/components/order/feedback.vue
View file @
2f9af7db
...
...
@@ -41,7 +41,7 @@
:dateList=
"dateList"
:title=
"appointTitle"
:timeList=
"timeList"
:type=
"t
imeT
ype"
:type=
"type"
:defaultAppointRangeItem=
"defaultAppointRangeItem"
@
dateChange=
"dateChange"
@
timeChange=
"timeChange"
...
...
@@ -146,7 +146,6 @@ export default {
curTab
()
{
return
this
.
isSubscribe
?
1
:
0
},
isSubscribe
()
{
return
this
.
type
==
'subscribe'
},
...
...
@@ -169,9 +168,9 @@ export default {
typeKeys
()
{
return
{
filing
:
'报备'
,
subscribe
:
'改约'
}
},
timeType
()
{
return
this
.
types
[
this
.
options
.
name
]
},
//
timeType() {
//
return this.types[this.options.name]
//
},
defaultAppointRangeItem
()
{
return
this
.
options
.
defaultAppointRangeItem
},
...
...
@@ -263,16 +262,16 @@ export default {
let
owns
=
Object
.
keys
(
data
)
let
ownVals
=
Object
.
values
(
data
)
var
defaultAppointRangeItem
=
key
==
'报备'
this
.
isSubscribe
?
{
name
:
'22:00-24:00'
,
pkey
:
'appointment_range_24'
,
disabled
:
false
,
}
:
{
name
:
''
,
pkey
:
''
,
disabled
:
false
,
}
:
{
name
:
'22:00-24:00'
,
pkey
:
'appointment_range_24'
,
disabled
:
false
,
}
configs
=
{
name
:
key
,
...
...
@@ -302,26 +301,26 @@ export default {
self
.
trace
.
traceDate
=
null
self
.
trace
.
timeRange
=
null
self
.
trace
.
dateItem
=
null
if
(
self
.
trace
.
reasonType
==
'改约'
)
{
if
(
self
.
dateList
&&
self
.
timeList
)
{
self
.
timeList
.
map
((
item
,
index
)
=>
{
if
(
(
self
.
trace
.
dateItem
&&
self
.
trace
.
dateItem
.
timeRange
&&
self
.
trace
.
dateItem
.
timeRange
.
indexOf
(
item
.
pkey
)
>
-
1
)
||
item
.
isEnd
)
{
item
.
disabled
=
true
}
else
{
item
.
disabled
=
false
}
})
}
}
else
{
self
.
timeList
.
map
((
item
,
index
)
=>
{
item
.
disabled
=
false
})
}
// if (self.trace.reasonType == '改约') { // 屏蔽改约对时间段选择的限制
//
if (self.dateList && self.timeList) {
//
self.timeList.map((item, index) => {
//
if (
//
(self.trace.dateItem &&
//
self.trace.dateItem.timeRange &&
//
self.trace.dateItem.timeRange.indexOf(item.pkey) > -1) ||
//
item.isEnd
//
) {
//
item.disabled = true
//
} else {
//
item.disabled = false
//
}
//
})
//
}
//
} else {
self
.
timeList
.
map
((
item
,
index
)
=>
{
item
.
disabled
=
false
})
//
}
}
},
...
...
@@ -374,23 +373,23 @@ export default {
// 点击日期选择
let
self
=
this
self
.
trace
.
dateItem
=
data
.
item
if
(
self
.
trace
.
reasonType
==
'改约'
)
{
self
.
timeList
.
map
((
item
,
index
)
=>
{
if
(
(
data
.
item
.
timeRange
&&
data
.
item
.
timeRange
.
indexOf
(
item
.
pkey
)
>
-
1
)
||
item
.
isEnd
)
{
item
.
disabled
=
true
}
else
{
item
.
disabled
=
false
}
})
}
else
{
//
if (self.trace.reasonType == '改约') {
//
self.timeList.map((item, index) => {
//
if (
//
(data.item.timeRange &&
//
data.item.timeRange.indexOf(item.pkey) > -1) ||
//
item.isEnd
//
) {
//
item.disabled = true
//
} else {
//
item.disabled = false
//
}
//
})
//
} else {
self
.
timeList
.
map
((
item
,
index
)
=>
{
item
.
disabled
=
false
})
}
//
}
self
.
trace
.
traceDate
=
data
.
item
.
day
self
.
trace
.
timeRange
=
null
},
...
...
src/components/order/performanceRecord.vue
View file @
2f9af7db
<
template
>
<view
class=
"order-record-view"
>
<view
class=
"top-item"
>
<text>
履约记录
</text>
</view>
<view
v-if=
"orderRecords.length == 0"
class=
"no-record-view"
>
当前暂无履约记录
</view>
<view
v-else
:class=
"['record-list-view',
{'short': orderRecords.length
<
=
showLenght
}]"
>
<view
class=
"record-right-view"
>
<view
class=
"dashed-line-view"
></view>
<view
class=
"order-list"
>
<view
v-for=
"(record,index) in showOrderRecords"
:key=
"record.operationContent"
:class=
"['order-cell',
{'first': index == 0}]">
<view
class=
"node-view"
>
<view
class=
"node-border-view"
>
<view
class=
"node-middle-view"
></view>
</view>
</view>
<view
class=
"right-view"
>
<view
class=
"line-view-top"
>
<text>
{{
$u
.
timeFormat
(
record
.
operationDatetime
,
'yyyy.mm.dd   hh:MM:ss'
)
}}
</text>
<text
style=
"color: red;"
>
{{
record
.
overTime
?
'超时'
:
''
}}{{
record
.
overTime
&&
record
.
exception
?
'/'
:
''
}}{{
record
.
exception
?
'异常'
:
''
}}
</text>
<text
style=
"color: #2272FF;"
v-show=
"record.isTrace"
>
跟进
</text>
</view>
<view
class=
"line-view-item"
>
<view>
<text>
{{
record
.
operationTypeText
}}
</text>
</view>
<view
class=
"item-operation-view"
v-show=
"record.isTrace"
>
<text
class=
"item-label"
>
{{
record
.
traceLabel
+
":"
}}
</text>
<text
class=
"item-content"
>
{{
record
.
traceTime
}}
</text>
</view>
<view
class=
"item-operation-view"
v-show=
"record.operationContent"
>
<text
class=
"item-label"
>
备注:
</text>
<text
class=
"item-content"
>
{{
record
.
operationContent
}}
</text>
</view>
</view>
</view>
</view>
</view>
</view>
<view
v-if=
"orderRecords && orderRecords.length > showLenght"
@
click=
"readMoreRecord = !readMoreRecord"
>
<view
v-if=
"readMoreRecord"
class=
"read-more-toggle"
>
<u-icon
name=
"arrow-down"
></u-icon>
<text
class=
"read-more-text"
>
查看更多
</text>
</view>
<view
v-else
class=
"read-more-toggle"
>
<u-icon
name=
"arrow-up"
></u-icon>
<text
class=
"read-more-text"
>
点击收起
</text>
</view>
</view>
<view
v-else
style=
"height: 10rpx;"
></view>
</view>
</view>
<view
class=
"order-record-view"
>
<view
class=
"top-item"
>
<text>
履约记录
</text>
</view>
<view
v-if=
"orderRecords.length == 0"
class=
"no-record-view"
>
当前暂无履约记录
</view
>
<view
v-else
:class=
"[
'record-list-view',
{ short: orderRecords.length
<
=
showLenght
},
]"
>
<view
class=
"record-right-view"
>
<view
class=
"dashed-line-view"
></view>
<view
class=
"order-list"
>
<view
v-for=
"(record, index) in showOrderRecords"
:key=
"record.operationContent"
:class=
"['order-cell',
{ first: index == 0 }]"
>
<view
class=
"node-view"
>
<view
class=
"node-border-view"
>
<view
class=
"node-middle-view"
></view>
</view>
</view>
<view
class=
"right-view"
>
<view
class=
"line-view-top"
>
<text>
{{
$u
.
timeFormat
(
record
.
operationDatetime
,
'yyyy.mm.dd   hh:MM:ss'
)
}}
</text>
<text
style=
"color: red;"
>
{{
record
.
overTime
?
'超时'
:
''
}}{{
record
.
overTime
&&
record
.
exception
?
'/'
:
''
}}{{
record
.
exception
?
'异常'
:
''
}}
</text
>
<text
style=
"color: #2272FF;"
v-show=
"record.isTrace"
>
跟进
</text
>
</view>
<view
class=
"line-view-item"
>
<view>
<text>
{{
record
.
operationTypeText
}}
</text>
</view>
<view
class=
"item-operation-view"
v-show=
"record.isTrace"
>
<text
class=
"item-label"
>
{{
record
.
traceLabel
+
':'
}}
</text>
<text
class=
"item-content"
>
{{
record
.
traceTime
}}
</text>
</view>
<view
class=
"item-operation-view"
v-show=
"record.operationContent"
>
<text
class=
"item-label"
>
备注:
</text>
<text
class=
"item-content"
>
{{
record
.
operationContent
}}
</text>
</view>
</view>
</view>
</view>
</view>
</view>
<view
v-if=
"orderRecords && orderRecords.length > showLenght"
@
click=
"readMoreRecord = !readMoreRecord"
>
<view
v-if=
"readMoreRecord"
class=
"read-more-toggle"
>
<u-icon
name=
"arrow-down"
></u-icon>
<text
class=
"read-more-text"
>
查看更多
</text>
</view>
<view
v-else
class=
"read-more-toggle"
>
<u-icon
name=
"arrow-up"
></u-icon>
<text
class=
"read-more-text"
>
点击收起
</text>
</view>
</view>
<view
v-else
style=
"height: 10rpx;"
></view>
</view>
</view>
</
template
>
<
script
>
export
default
{
props
:
{
// 履约记录
orderRecords
:
{
type
:
Array
,
default
()
{
return
[]
}
},
},
data
()
{
return
{
readMoreRecord
:
true
,
showLenght
:
5
,
}
},
computed
:
{
showOrderRecords
()
{
if
(
this
.
readMoreRecord
&&
this
.
orderRecords
&&
this
.
orderRecords
.
length
>
0
)
{
return
this
.
orderRecords
.
slice
(
0
,
this
.
showLenght
)
}
else
{
return
this
.
orderRecords
}
},
},
}
export
default
{
props
:
{
// 履约记录
orderRecords
:
{
type
:
Array
,
default
()
{
return
[]
},
},
},
data
()
{
return
{
readMoreRecord
:
true
,
showLenght
:
5
,
}
},
computed
:
{
showOrderRecords
()
{
if
(
this
.
readMoreRecord
&&
this
.
orderRecords
&&
this
.
orderRecords
.
length
>
0
)
{
return
this
.
orderRecords
.
slice
(
0
,
this
.
showLenght
)
}
else
{
return
this
.
orderRecords
}
},
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
.order-record-view
{
.top-item
{
font-size
:
32rpx
;
color
:
#333333
;
font-weight
:
bold
;
margin-bottom
:
20rpx
;
}
.no-record-view
{
font-size
:
26rpx
;
color
:
#333333
;
padding-bottom
:
30rpx
;
}
.record-list-view
{
position
:
relative
;
&
.short
{
padding-bottom
:
30rpx
;
}
.record-right-view
{
position
:
relative
;
display
:
flex
;
justify-content
:
space-between
;
.dashed-line-view
{
position
:
absolute
;
width
:
2rpx
;
border-left
:
1px
dashed
#2272FF
;
height
:
100%
;
top
:
14rpx
;
left
:
11rpx
;
}
.order-list
{
width
:
100%
;
.order-cell
{
margin-top
:
50rpx
;
display
:
flex
;
&
.first
{
margin-top
:
0
;
}
.node-view
{
margin-right
:
18rpx
;
flex-shrink
:
0
;
margin-top
:
8rpx
;
z-index
:
1
;
.node-border-view
{
border
:
2rpx
solid
#2272FF
;
border-radius
:
11rpx
;
width
:
22rpx
;
height
:
22rpx
;
// display: flex;
// align-items: center;
// justify-content: center;
padding
:
5rpx
;
background-color
:
#FFFFFF
;
.node-middle-view
{
width
:
10rpx
;
height
:
10rpx
;
background-color
:
#2272FF
;
border-radius
:
6rpx
;
}
}
}
.right-view
{
width
:
100%
;
.line-view-top
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
color
:
#333333
;
font-weight
:
bold
;
font-size
:
28rpx
;
}
.line-view-item
{
color
:
#666666
;
font-size
:
26rpx
;
margin-top
:
10rpx
;
.item-operation-view
{
margin-top
:
20rpx
;
.item-label
{
color
:
#2272FF
;
}
.item-content
{
word-break
:
break-all
;
}
}
}
}
}
}
}
}
.read-more-toggle
{
text-align
:
center
;
color
:
#2272FF
;
font-size
:
26rpx
;
padding-top
:
30rpx
;
padding-bottom
:
30rpx
;
}
.read-more-text
{
padding-left
:
8rpx
;
}
.order-item-more
{
font-size
:
26rpx
;
color
:
#333333
;
text-align
:
right
;
.line-view
{
background-color
:
#F4F5F7
;
height
:
2rpx
;
margin-bottom
:
20rpx
;
}
}
}
</
style
>
.order-record-view
{
.top-item
{
font-size
:
32rpx
;
color
:
#333333
;
font-weight
:
bold
;
margin-bottom
:
20rpx
;
}
.no-record-view
{
font-size
:
26rpx
;
color
:
#333333
;
padding-bottom
:
30rpx
;
}
.record-list-view
{
position
:
relative
;
&
.short
{
padding-bottom
:
30rpx
;
}
.record-right-view
{
position
:
relative
;
display
:
flex
;
justify-content
:
space-between
;
.dashed-line-view
{
position
:
absolute
;
width
:
2rpx
;
border-left
:
1px
dashed
#2272ff
;
height
:
100%
;
top
:
14rpx
;
left
:
11rpx
;
}
.order-list
{
width
:
100%
;
.order-cell
{
margin-top
:
50rpx
;
display
:
flex
;
&
.first
{
margin-top
:
0
;
}
.node-view
{
margin-right
:
18rpx
;
flex-shrink
:
0
;
margin-top
:
8rpx
;
z-index
:
1
;
.node-border-view
{
border
:
2rpx
solid
#2272ff
;
border-radius
:
50%
;
width
:
22rpx
;
height
:
22rpx
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
// padding: 6rpx;
background-color
:
#ffffff
;
.node-middle-view
{
width
:
10rpx
;
height
:
10rpx
;
background-color
:
#2272ff
;
border-radius
:
50%
;
}
}
}
.right-view
{
width
:
100%
;
.line-view-top
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
color
:
#333333
;
font-weight
:
bold
;
font-size
:
28rpx
;
}
.line-view-item
{
color
:
#666666
;
font-size
:
26rpx
;
margin-top
:
10rpx
;
.item-operation-view
{
margin-top
:
20rpx
;
.item-label
{
color
:
#2272ff
;
}
.item-content
{
word-break
:
break-all
;
}
}
}
}
}
}
}
}
.read-more-toggle
{
text-align
:
center
;
color
:
#2272ff
;
font-size
:
26rpx
;
padding-top
:
30rpx
;
padding-bottom
:
30rpx
;
}
.read-more-text
{
padding-left
:
8rpx
;
}
.order-item-more
{
font-size
:
26rpx
;
color
:
#333333
;
text-align
:
right
;
.line-view
{
background-color
:
#f4f5f7
;
height
:
2rpx
;
margin-bottom
:
20rpx
;
}
}
}
</
style
>
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