Commit 2f9af7db authored by Facius's avatar Facius

feat: 前台——待预约,待签到,过程反馈页面修改

parent be6c1c12
......@@ -180,7 +180,8 @@ export default {
computed: {
needTodyClipping() {
// 报备不限制当天已经过去的时间
return this.type != 'filing'
// return this.type != 'filing'
return false // 报备和改约都不限制了
},
},
methods: {
......
......@@ -41,7 +41,7 @@
:dateList="dateList"
:title="appointTitle"
:timeList="timeList"
:type="timeType"
: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
},
......
<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 &nbsp 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 &nbsp 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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment