diff --git a/project.private.config.json b/project.private.config.json index 9f986e0..5e21393 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -22,13 +22,20 @@ "miniprogram": { "list": [ { - "name": "患者-更改手机号", - "pathName": "pages/changePhone/index", + "name": "患者-问题反馈", + "pathName": "pages/feedback/index", "query": "", "scene": null, "launchMode": "default" }, { + "name": "患者-更改手机号", + "pathName": "pages/changePhone/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { "name": "患者-健康档案", "pathName": "pages/qaForm/index", "query": "", diff --git a/src/app.json b/src/app.json index 0f4e5e0..d80ceaf 100644 --- a/src/app.json +++ b/src/app.json @@ -49,7 +49,8 @@ "pages/interactivePatient/index", "pages/referral/index", "pages/qaForm/index", - "pages/qaFormDetail/index" + "pages/qaFormDetail/index", + "pages/feedback/index" ], "subpackages": [ { diff --git a/src/doctor/pages/d_interactiveDoctor/index.wxml b/src/doctor/pages/d_interactiveDoctor/index.wxml index 06546fd..cc219cc 100644 --- a/src/doctor/pages/d_interactiveDoctor/index.wxml +++ b/src/doctor/pages/d_interactiveDoctor/index.wxml @@ -77,7 +77,7 @@ - + {{customMessage || '输入文字'}} 快捷回复 diff --git a/src/doctor/pages/d_my/index.scss b/src/doctor/pages/d_my/index.scss index eed9099..01ec2ba 100644 --- a/src/doctor/pages/d_my/index.scss +++ b/src/doctor/pages/d_my/index.scss @@ -1,5 +1,5 @@ page { - background: #F6F8F9; + background: #f6f8f9; padding-bottom: calc(140rpx + env(safe-area-inset-bottom)); } .page { @@ -75,6 +75,9 @@ page { color: rgba(173, 172, 178, 1); font-size: 32rpx; } + .switch { + zoom: 0.8; + } } } .logout-btn { diff --git a/src/doctor/pages/d_my/index.ts b/src/doctor/pages/d_my/index.ts index 6c1a59f..998767a 100644 --- a/src/doctor/pages/d_my/index.ts +++ b/src/doctor/pages/d_my/index.ts @@ -50,6 +50,17 @@ Page({ }) }) }, + handleSwitch1v1(e: WechatMiniprogram.SwitchChange) { + const isOpen = e.detail.value ? 1 : 2 + wx.ajax({ + method: 'POST', + url: '?r=igg4/doctor/account/set1v1-status', + data: { isOpen }, + loading: true, + }).then(() => { + this.setData({ 'doctor.IsOpenOneToOne': isOpen }) + }) + }, handleRouter(e) { const { url } = e.currentTarget.dataset wx.navigateTo({ diff --git a/src/doctor/pages/d_my/index.wxml b/src/doctor/pages/d_my/index.wxml index 8c71300..6f0fd72 100644 --- a/src/doctor/pages/d_my/index.wxml +++ b/src/doctor/pages/d_my/index.wxml @@ -15,6 +15,13 @@ + + + + 1V1沟通 + + + @@ -47,11 +54,6 @@ 退出登录 - + diff --git a/src/images/bg36.png b/src/images/bg36.png new file mode 100644 index 0000000..a7c1500 Binary files /dev/null and b/src/images/bg36.png differ diff --git a/src/images/bg37.png b/src/images/bg37.png new file mode 100644 index 0000000..860a1e3 Binary files /dev/null and b/src/images/bg37.png differ diff --git a/src/images/icon100.png b/src/images/icon100.png new file mode 100644 index 0000000..03b0d06 Binary files /dev/null and b/src/images/icon100.png differ diff --git a/src/images/icon101.png b/src/images/icon101.png new file mode 100644 index 0000000..3b0e111 Binary files /dev/null and b/src/images/icon101.png differ diff --git a/src/images/icon102.png b/src/images/icon102.png new file mode 100644 index 0000000..06eaf1d Binary files /dev/null and b/src/images/icon102.png differ diff --git a/src/images/icon103.png b/src/images/icon103.png new file mode 100644 index 0000000..0e09883 Binary files /dev/null and b/src/images/icon103.png differ diff --git a/src/images/icon104.png b/src/images/icon104.png new file mode 100644 index 0000000..121c3bc Binary files /dev/null and b/src/images/icon104.png differ diff --git a/src/images/icon105.png b/src/images/icon105.png new file mode 100644 index 0000000..b3e5322 Binary files /dev/null and b/src/images/icon105.png differ diff --git a/src/images/icon106.png b/src/images/icon106.png new file mode 100644 index 0000000..0b2a86a Binary files /dev/null and b/src/images/icon106.png differ diff --git a/src/images/icon107.png b/src/images/icon107.png new file mode 100644 index 0000000..b2c15b9 Binary files /dev/null and b/src/images/icon107.png differ diff --git a/src/images/icon62.png b/src/images/icon62.png index a5ada1d..e4ea19c 100644 Binary files a/src/images/icon62.png and b/src/images/icon62.png differ diff --git a/src/images/icon63.png b/src/images/icon63.png index 6358c4b..9a76cb1 100644 Binary files a/src/images/icon63.png and b/src/images/icon63.png differ diff --git a/src/images/icon71.png b/src/images/icon71.png index 37b6b17..279723b 100644 Binary files a/src/images/icon71.png and b/src/images/icon71.png differ diff --git a/src/images/icon72.png b/src/images/icon72.png index 0703e5e..92ec890 100644 Binary files a/src/images/icon72.png and b/src/images/icon72.png differ diff --git a/src/pages/enterInfo/index.json b/src/pages/enterInfo/index.json index 247bd83..09c5213 100644 --- a/src/pages/enterInfo/index.json +++ b/src/pages/enterInfo/index.json @@ -6,6 +6,7 @@ "navBar": "/components/navBar/navBar", "van-icon": "@vant/weapp/icon/index", "van-divider": "@vant/weapp/divider/index", - "van-popup": "@vant/weapp/popup/index" + "van-popup": "@vant/weapp/popup/index", + "pickerArea": "/components/pickerArea/index" } } diff --git a/src/pages/enterInfo/index.scss b/src/pages/enterInfo/index.scss index b7cc5dc..4a6f83e 100644 --- a/src/pages/enterInfo/index.scss +++ b/src/pages/enterInfo/index.scss @@ -17,7 +17,7 @@ padding: 40rpx 0 0; width: 654rpx; box-sizing: border-box; - border-radius: 24rpx; + border-radius: 16rpx; .switch { margin-bottom: 68rpx; display: flex; @@ -55,13 +55,13 @@ color: #aaaaaa; } .row-title { - margin-bottom: 32rpx; + margin-bottom: 24rpx; font-size: 40rpx; color: #222222; font-weight: bold; } .row { - margin-bottom: 68rpx; + margin-bottom: 32rpx; &.row2 { display: grid; grid-template-columns: repeat(2, 1fr); @@ -79,7 +79,7 @@ color: #999999; background: #f2f2f2; border: 2rpx solid #cccccc; - border-radius: 24rpx; + border-radius: 16rpx; .select { display: flex; justify-content: space-between; @@ -101,15 +101,15 @@ } .input { flex: 1; - padding: 24rpx 32rpx; - height: 100rpx; + padding: 0 32rpx; + height: 96rpx; font-size: 36rpx; color: #222222; background: #f6f6f6; - border-radius: 24rpx; + border-radius: 16rpx; } .item { - padding: 24rpx 24rpx; + padding: 14rpx 24rpx; opacity: 1; border: 1px solid rgba(246, 246, 246, 1); font-size: 36rpx; @@ -143,7 +143,7 @@ } } .age-item { - height: 114rpx; + height: 96rpx; white-space: nowrap; font-size: 36rpx; color: rgba(34, 34, 34, 0.7); @@ -160,6 +160,21 @@ border-color: #0eb66d; } } + .area-text { + flex: 1; + padding: 0 32rpx; + display: flex; + align-items: center; + justify-content: space-between; + height: 96rpx; + font-size: 36rpx; + color: rgba(34, 34, 34, 0.30); + background-color: rgba(246, 246, 246, 1); + border-radius: 16rpx; + &.active { + color: rgba(34, 34, 34, 0.70); + } + } } .tip { margin-top: -26rpx; @@ -188,7 +203,7 @@ height: 88rpx; line-height: 88rpx; text-align: center; - border-radius: 24rpx; + border-radius: 16rpx; font-size: 34rpx; font-weight: bold; background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%); diff --git a/src/pages/enterInfo/index.ts b/src/pages/enterInfo/index.ts index 0498dc6..f3cdbd3 100644 --- a/src/pages/enterInfo/index.ts +++ b/src/pages/enterInfo/index.ts @@ -21,6 +21,11 @@ Page({ submiting: false, proces: '0', + + IntentionalVisitProvinceName: '', + IntentionalVisitProvinceId: '', + IntentionalVisitCityName: '', + IntentionalVisitCityId: '', }, onLoad(options) { this.setData({ @@ -34,6 +39,10 @@ Page({ name: userInfo.PatientName, gender: userInfo.Gender, ageRange: userInfo.AgeRange, + IntentionalVisitProvinceName: userInfo.IntentionalVisitProvinceName || '', + IntentionalVisitProvinceId: userInfo.IntentionalVisitProvinceId || '', + IntentionalVisitCityName: userInfo.IntentionalVisitCityName || '', + IntentionalVisitCityId: userInfo.IntentionalVisitCityId || '', }) }) }) @@ -86,7 +95,7 @@ Page({ }, handleSubmit() { if (this.data.submiting) return - const { name, gender, ageRange, relationType } = this.data + const { name, gender, ageRange, relationType, IntentionalVisitProvinceId, IntentionalVisitCityId } = this.data const { registrationSource, registChannel, regBusinessId, WorkerId } = app.globalData const { doctorId, inviteChan, recDoctorId: recommendDoctorId } = app.globalData.scene let toast = '' @@ -120,6 +129,8 @@ Page({ inviteDoctorId: recommendDoctorId ? '' : doctorId, recommendDoctorId: recommendDoctorId ? doctorId : '', beRecommendDoctorId: recommendDoctorId, + IntentionalVisitProvinceId, + IntentionalVisitCityId, }, loading: true, }) @@ -141,6 +152,15 @@ Page({ }) }) }, + handleAreaSelect(e: WechatMiniprogram.CustomEvent) { + const { ProvinceName, ProvinceId, CityName, CityId } = e.detail + this.setData({ + IntentionalVisitProvinceName: ProvinceName, + IntentionalVisitProvinceId: ProvinceId, + IntentionalVisitCityName: CityName, + IntentionalVisitCityId: CityId, + }) + }, handleBack() { wx.navigateBack() }, diff --git a/src/pages/enterInfo/index.wxml b/src/pages/enterInfo/index.wxml index 7c9c2b9..634be9a 100644 --- a/src/pages/enterInfo/index.wxml +++ b/src/pages/enterInfo/index.wxml @@ -45,6 +45,23 @@ placeholder="输入姓名" /> + 您的意向就医地区 + + + + {{IntentionalVisitProvinceName ? (IntentionalVisitProvinceName + ' ' + IntentionalVisitCityName) : + '请选择省份/城市'}} + + + + diff --git a/src/pages/feedback/index.json b/src/pages/feedback/index.json new file mode 100644 index 0000000..f1abd14 --- /dev/null +++ b/src/pages/feedback/index.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText": "问题反馈", + "usingComponents": { + "toast": "/components/toast/index" + } +} diff --git a/src/pages/feedback/index.scss b/src/pages/feedback/index.scss new file mode 100644 index 0000000..9fcd08e --- /dev/null +++ b/src/pages/feedback/index.scss @@ -0,0 +1,109 @@ +page { + background-color: rgba(246, 246, 246, 1); +} +.page { + padding: 40rpx; + .page-title { + font-size: 48rpx; + color: rgba(34, 34, 34, 1); + font-weight: bold; + line-height: 68rpx; + &::after { + margin-top: 22rpx; + display: block; + content: ''; + background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%); + width: 76rpx; + height: 12rpx; + border-radius: 56rpx; + } + } + .tip1 { + margin-top: 26rpx; + font-size: 32rpx; + color: rgba(34, 34, 34, 0.7); + line-height: 48rpx; + } + .card { + margin-top: 24rpx; + padding: 48rpx 32rpx; + display: flex; + align-items: center; + gap: 32rpx; + background-color: #fff; + border-radius: 24rpx; + .aside { + flex-shrink: 0; + width: 132rpx; + height: 132rpx; + background: linear-gradient(311deg, #50e8a6 0%, #00d277 100%); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + border: 18rpx solid #f2fdf8; + .icon { + width: 68rpx; + height: 68rpx; + } + } + .wrap { + flex: 1; + .title { + font-size: 36rpx; + color: rgba(34, 34, 34, 1); + font-weight: bold; + } + .content { + margin-top: 16rpx; + font-size: 28rpx; + color: rgba(34, 34, 34, 0.7); + line-height: 48rpx; + } + } + .more { + flex-shrink: 0; + width: 44rpx; + height: 44rpx; + } + } + .tip2 { + margin-top: 32rpx; + padding: 32rpx; + background-color: rgba(255, 248, 236, 1); + border-radius: 24rpx; + display: flex; + gap: 16rpx; + .icon { + flex-shrink: 0; + width: 36rpx; + height: 36rpx; + } + .wrap { + .title { + font-size: 32rpx; + color: rgba(248, 167, 28, 1); + font-weight: bold; + } + .content { + font-size: 32rpx; + color: rgba(248, 167, 28, 1); + line-height: 48rpx; + } + } + } +} + +#drug-page { + .page-title { + &::after { + background: linear-gradient(270deg, #b384f4 0%, #5956e9 100%); + } + } + .card { + .aside { + background: linear-gradient(30deg, #b384f4 0%, #5956e9 100%); + border-color: #F6F4FD; + } + } +} diff --git a/src/pages/feedback/index.ts b/src/pages/feedback/index.ts new file mode 100644 index 0000000..7fed005 --- /dev/null +++ b/src/pages/feedback/index.ts @@ -0,0 +1,26 @@ +const _app = getApp() + +Page({ + data: { + toastShow: false, + toastType: '', + toastParams: {}, + }, + onLoad() {}, + handleTel() { + // wx.navigateTo({ + // url: '/pages/feedbackTel/index', + // }) + wx.makePhoneCall({ + phoneNumber: '01064977099', // 需要拨打的电话号码 + }) + }, + handleOfficial() { + this.setData({ toastShow: true, toastType: 'feedback', toastParams: { close: true } }) + }, + handleToastClose() { + this.setData({ toastShow: false, toastType: '' }) + }, +}) + +export {} diff --git a/src/pages/feedback/index.wxml b/src/pages/feedback/index.wxml new file mode 100644 index 0000000..14084d8 --- /dev/null +++ b/src/pages/feedback/index.wxml @@ -0,0 +1,38 @@ + + 问题反馈 + 如您在使用过程中遇到问题,可通过以下方式联系我们,我们会尽快为您处理。 + + + + + + 拨打电话 + + 客服在线时间: 工作日 + + 9:00-12: 30,14:00-18:30 + + + + + + + + + + 公众号私信 + + 非工作时间可留言反馈 + + 客服将在48小时内处理 + + + + + + + diff --git a/src/pages/interactivePatient/index.wxml b/src/pages/interactivePatient/index.wxml index 835e96b..97402fd 100644 --- a/src/pages/interactivePatient/index.wxml +++ b/src/pages/interactivePatient/index.wxml @@ -101,7 +101,7 @@ - + {{customMessage || '输入您的问题'}} diff --git a/src/pages/login/index.scss b/src/pages/login/index.scss index 35275ec..382afe1 100644 --- a/src/pages/login/index.scss +++ b/src/pages/login/index.scss @@ -3,7 +3,8 @@ pgae { .page { padding-bottom: 80rpx; position: relative; - height: 100vh; + height: 114vh; + box-sizing: border-box; .bg { width: 100%; } @@ -84,4 +85,16 @@ pgae { } } } + + .any { + position: absolute; + top: 105vh; + left: 0; + width: 100%; + box-sizing: border-box; + padding: 22rpx; + text-align: center; + font-size: 28rpx; + color: rgba(34, 34, 34, 0.2); + } } diff --git a/src/pages/login/index.wxml b/src/pages/login/index.wxml index 6814d00..1fef01a 100644 --- a/src/pages/login/index.wxml +++ b/src/pages/login/index.wxml @@ -29,8 +29,10 @@ > 我已阅读并同意 + 《用户协议》 和 + 《隐私政策》 @@ -52,6 +54,7 @@ 我同意依照 《隐私政策》 + 《个人信息共享知情同意书》 规定收集和共享我的个人敏感信息 @@ -61,16 +64,19 @@ 或者 - - - 随便看看 - 我是医生 + 随便看看 - + diff --git a/src/pages/my/index.ts b/src/pages/my/index.ts index a8a1418..b91b42b 100644 --- a/src/pages/my/index.ts +++ b/src/pages/my/index.ts @@ -131,7 +131,9 @@ Page({ }) }, handleFeedback() { - this.setData({ toastShow: true, toastType: 'feedback', toastParams: { close: true } }) + wx.navigateTo({ + url: '/pages/feedback/index', + }) }, handleToastClose() { this.setData({ toastShow: false, toastType: '' }) diff --git a/src/pages/personalInformation/index.json b/src/pages/personalInformation/index.json index 544d96e..8ac44a4 100644 --- a/src/pages/personalInformation/index.json +++ b/src/pages/personalInformation/index.json @@ -2,6 +2,7 @@ "navigationBarTitleText": "个人信息", "usingComponents": { "van-icon": "@vant/weapp/icon/index", - "van-toast": "@vant/weapp/toast/index" + "van-toast": "@vant/weapp/toast/index", + "pickerArea": "/components/pickerArea/index" } } diff --git a/src/pages/personalInformation/index.scss b/src/pages/personalInformation/index.scss index 0c0d484..aabb3a6 100644 --- a/src/pages/personalInformation/index.scss +++ b/src/pages/personalInformation/index.scss @@ -17,7 +17,7 @@ padding: 40rpx 0 0; width: 654rpx; box-sizing: border-box; - border-radius: 24rpx; + border-radius: 16rpx; .switch { margin-bottom: 50rpx; display: flex; @@ -88,7 +88,7 @@ color: #999999; background: #f2f2f2; border: 2rpx solid #cccccc; - border-radius: 24rpx; + border-radius: 16rpx; .select { display: flex; justify-content: space-between; @@ -110,7 +110,7 @@ font-size: 36rpx; color: #222222; background: #f6f6f6; - border-radius: 24rpx; + border-radius: 16rpx; } .item { padding: 12rpx 24rpx; @@ -151,6 +151,21 @@ border-color: #0eb66d; } } + .area-text { + flex: 1; + padding: 0 32rpx; + display: flex; + align-items: center; + justify-content: space-between; + height: 96rpx; + font-size: 36rpx; + color: rgba(34, 34, 34, 0.3); + background-color: rgba(246, 246, 246, 1); + border-radius: 16rpx; + &.area-text-active { + color: rgba(34, 34, 34, 0.7); + } + } } } .bottom-actions { diff --git a/src/pages/personalInformation/index.ts b/src/pages/personalInformation/index.ts index 5c049b7..fe1f1f4 100644 --- a/src/pages/personalInformation/index.ts +++ b/src/pages/personalInformation/index.ts @@ -67,6 +67,17 @@ Page({ }) }, + handleAreaSelect(e: WechatMiniprogram.CustomEvent) { + const { ProvinceName, ProvinceId, CityName, CityId } = e.detail + this.setData({ + 'userInfo.IntentionalVisitProvinceName': ProvinceName, + 'userInfo.IntentionalVisitProvinceId': ProvinceId, + 'userInfo.IntentionalVisitCityName': CityName, + 'userInfo.IntentionalVisitCityId': CityId, + }) + this.updateUserInfo(true) + }, + handleChaneAge(e) { const Birth = e.detail.value this.formatBorn(Birth) @@ -90,7 +101,7 @@ Page({ updateUserInfo(update = true) { if (!update) return - const { PatientName, RelationType, Gender, AgeRange, DiagnosisTimeRange, Birth, DiagnosisTime } = this.data.userInfo + const { PatientName, RelationType, Gender, AgeRange, DiagnosisTimeRange, Birth, DiagnosisTime, IntentionalVisitProvinceId, IntentionalVisitCityId } = this.data.userInfo wx.ajax({ method: 'POST', url: '?r=igg4/account/update-info', @@ -102,6 +113,8 @@ Page({ diagnosisTimeRange: DiagnosisTimeRange, birth: Birth, diagnosisTime: DiagnosisTime, + IntentionalVisitProvinceId, + IntentionalVisitCityId, }, }) .then((_res) => { diff --git a/src/pages/personalInformation/index.wxml b/src/pages/personalInformation/index.wxml index 2cb1b4c..1c28987 100644 --- a/src/pages/personalInformation/index.wxml +++ b/src/pages/personalInformation/index.wxml @@ -103,11 +103,22 @@ bindblur="updateUserInfo" /> - - - - - + 您的意向就医地区 + + + + {{userInfo.IntentionalVisitProvinceName ? (userInfo.IntentionalVisitProvinceName + ' ' + userInfo.IntentionalVisitCityName) : '请选择省份/城市'}} + + + +