From 7c59d1859622e13ffd5c6f071bac6f99c8cf0cb7 Mon Sep 17 00:00:00 2001 From: chenglijuan Date: Thu, 7 May 2026 09:29:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=A5=E8=AE=BF=E6=97=B6=E6=AE=B5=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E6=97=B6=E9=97=B4=E5=8C=BA=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/appointment/appointment.js | 19 ++++++++++++++-- pages/appointment/appointment.wxml | 21 +++++++++++------ pages/appointment/appointment.wxss | 36 ++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 9 deletions(-) diff --git a/pages/appointment/appointment.js b/pages/appointment/appointment.js index ba00d04..fa163f9 100644 --- a/pages/appointment/appointment.js +++ b/pages/appointment/appointment.js @@ -27,6 +27,8 @@ Page({ personNames: [], personIndex: -1, today: '', + timeStart: '', + timeEnd: '', submitting: false }, @@ -142,8 +144,21 @@ Page({ this.setData({ 'form.date': e.detail.value }) }, - onTimeChange(e) { - this.setData({ 'form.time': e.detail.value }) + onTimeStartChange(e) { + this.setData({ timeStart: e.detail.value }, this._updateTimeRange) + }, + + onTimeEndChange(e) { + this.setData({ timeEnd: e.detail.value }, this._updateTimeRange) + }, + + _updateTimeRange() { + const { timeStart, timeEnd } = this.data + if (timeStart && timeEnd) { + this.setData({ 'form.time': timeStart + '-' + timeEnd }) + } else { + this.setData({ 'form.time': '' }) + } }, validateForm() { diff --git a/pages/appointment/appointment.wxml b/pages/appointment/appointment.wxml index b9dfd8e..22bf1aa 100644 --- a/pages/appointment/appointment.wxml +++ b/pages/appointment/appointment.wxml @@ -37,14 +37,21 @@ - + 来访时段* - - - {{form.time || '请选择时间'}} - - - + + + + {{timeStart || '开始时间'}} + + + + + + {{timeEnd || '结束时间'}} + + + diff --git a/pages/appointment/appointment.wxss b/pages/appointment/appointment.wxss index 67c8387..dfeb1cc 100644 --- a/pages/appointment/appointment.wxss +++ b/pages/appointment/appointment.wxss @@ -37,6 +37,42 @@ page { border-bottom: none; } +.form-group-time { + flex-wrap: wrap; +} + +.time-range { + flex: 1; + display: flex; + align-items: center; +} + +.time-picker-wrap { + flex: 1; +} + +.time-picker { + display: flex; + align-items: center; + justify-content: center; + height: 88rpx; + position: relative; +} + +.time-picker .picker-arrow { + position: absolute; + right: 0; + font-size: 32rpx; + color: #b8c9db; +} + +.time-range-sep { + font-size: 28rpx; + color: #b8c9db; + padding: 0 12rpx; + flex-shrink: 0; +} + .form-label { width: 160rpx; font-size: 28rpx;