Compare commits

...

2 Commits
master ... dev

Author SHA1 Message Date
kola-web 429fbcc5db 省市字段大小写处理 2 weeks ago
kola-web fa084ed5f1 feat: 添加问题反馈页面与多项功能优化 2 weeks ago
  1. 11
      project.private.config.json
  2. 3
      src/app.json
  3. 2
      src/doctor/pages/d_interactiveDoctor/index.wxml
  4. 5
      src/doctor/pages/d_my/index.scss
  5. 11
      src/doctor/pages/d_my/index.ts
  6. 14
      src/doctor/pages/d_my/index.wxml
  7. BIN
      src/images/bg36.png
  8. BIN
      src/images/bg37.png
  9. BIN
      src/images/icon100.png
  10. BIN
      src/images/icon101.png
  11. BIN
      src/images/icon102.png
  12. BIN
      src/images/icon103.png
  13. BIN
      src/images/icon104.png
  14. BIN
      src/images/icon105.png
  15. BIN
      src/images/icon106.png
  16. BIN
      src/images/icon107.png
  17. BIN
      src/images/icon62.png
  18. BIN
      src/images/icon63.png
  19. BIN
      src/images/icon71.png
  20. BIN
      src/images/icon72.png
  21. 3
      src/pages/enterInfo/index.json
  22. 35
      src/pages/enterInfo/index.scss
  23. 22
      src/pages/enterInfo/index.ts
  24. 17
      src/pages/enterInfo/index.wxml
  25. 6
      src/pages/feedback/index.json
  26. 109
      src/pages/feedback/index.scss
  27. 26
      src/pages/feedback/index.ts
  28. 38
      src/pages/feedback/index.wxml
  29. 2
      src/pages/interactivePatient/index.wxml
  30. 15
      src/pages/login/index.scss
  31. 16
      src/pages/login/index.wxml
  32. 4
      src/pages/my/index.ts
  33. 3
      src/pages/personalInformation/index.json
  34. 21
      src/pages/personalInformation/index.scss
  35. 15
      src/pages/personalInformation/index.ts
  36. 21
      src/pages/personalInformation/index.wxml

11
project.private.config.json

@ -22,13 +22,20 @@
"miniprogram": { "miniprogram": {
"list": [ "list": [
{ {
"name": "患者-更改手机号", "name": "患者-问题反馈",
"pathName": "pages/changePhone/index", "pathName": "pages/feedback/index",
"query": "", "query": "",
"scene": null, "scene": null,
"launchMode": "default" "launchMode": "default"
}, },
{ {
"name": "患者-更改手机号",
"pathName": "pages/changePhone/index",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "患者-健康档案", "name": "患者-健康档案",
"pathName": "pages/qaForm/index", "pathName": "pages/qaForm/index",
"query": "", "query": "",

3
src/app.json

@ -49,7 +49,8 @@
"pages/interactivePatient/index", "pages/interactivePatient/index",
"pages/referral/index", "pages/referral/index",
"pages/qaForm/index", "pages/qaForm/index",
"pages/qaFormDetail/index" "pages/qaFormDetail/index",
"pages/feedback/index"
], ],
"subpackages": [ "subpackages": [
{ {

2
src/doctor/pages/d_interactiveDoctor/index.wxml

@ -77,7 +77,7 @@
</scroll-view> </scroll-view>
</view> </view>
<view class="page-footer"> <view class="page-footer">
<view class="send" wx:if="{{doctor.IsOpenOneToOne!=1 || true}}"> <view class="send" wx:if="{{doctor.IsOpenOneToOne==1}}">
<view class="content" catch:tap="handleInputShow">{{customMessage || '输入文字'}}</view> <view class="content" catch:tap="handleInputShow">{{customMessage || '输入文字'}}</view>
<view class="btn" catch:tap="handleSendShow">快捷回复</view> <view class="btn" catch:tap="handleSendShow">快捷回复</view>
</view> </view>

5
src/doctor/pages/d_my/index.scss

@ -1,5 +1,5 @@
page { page {
background: #F6F8F9; background: #f6f8f9;
padding-bottom: calc(140rpx + env(safe-area-inset-bottom)); padding-bottom: calc(140rpx + env(safe-area-inset-bottom));
} }
.page { .page {
@ -75,6 +75,9 @@ page {
color: rgba(173, 172, 178, 1); color: rgba(173, 172, 178, 1);
font-size: 32rpx; font-size: 32rpx;
} }
.switch {
zoom: 0.8;
}
} }
} }
.logout-btn { .logout-btn {

11
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) { handleRouter(e) {
const { url } = e.currentTarget.dataset const { url } = e.currentTarget.dataset
wx.navigateTo({ wx.navigateTo({

14
src/doctor/pages/d_my/index.wxml

@ -15,6 +15,13 @@
<image class="i-img" src="{{imageUrl}}bg21.png?t={{Timestamp}}"></image> <image class="i-img" src="{{imageUrl}}bg21.png?t={{Timestamp}}"></image>
</view> </view>
<view class="menu-list"> <view class="menu-list">
<view class="menu-item">
<view class="menu-left">
<image class="menu-icon" src="{{imageUrl}}icon59.png?t={{Timestamp}}"></image>
<view class="menu-name">1V1沟通</view>
</view>
<switch class="switch" checked="{{doctor.IsOpenOneToOne==1}}" color="rgba(22, 121, 203, 1)" bind:change="handleSwitch1v1"></switch>
</view>
<view class="menu-item" bind:tap="handleRouter" data-url="/doctor/pages/d_userInfo/index"> <view class="menu-item" bind:tap="handleRouter" data-url="/doctor/pages/d_userInfo/index">
<view class="menu-left"> <view class="menu-left">
<image class="menu-icon" src="{{imageUrl}}icon57.png?t={{Timestamp}}"></image> <image class="menu-icon" src="{{imageUrl}}icon57.png?t={{Timestamp}}"></image>
@ -47,11 +54,6 @@
<view class="logout-btn" bind:tap="handleLogout">退出登录</view> <view class="logout-btn" bind:tap="handleLogout">退出登录</view>
</view> </view>
<toast <toast show="{{toastShow}}" type="{{toastType}}" params="{{toastParams}}" bind:cancel="handleToastClose"></toast>
show="{{toastShow}}"
type="{{toastType}}"
params="{{toastParams}}"
bind:cancel="handleToastClose"
></toast>
<tabbar id="doctor-tabbar" active="{{3}}"></tabbar> <tabbar id="doctor-tabbar" active="{{3}}"></tabbar>

BIN
src/images/bg36.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 KiB

BIN
src/images/bg37.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

BIN
src/images/icon100.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/images/icon101.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
src/images/icon102.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/images/icon103.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
src/images/icon104.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 659 B

BIN
src/images/icon105.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
src/images/icon106.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
src/images/icon107.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/images/icon62.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

BIN
src/images/icon63.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

BIN
src/images/icon71.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
src/images/icon72.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

3
src/pages/enterInfo/index.json

@ -6,6 +6,7 @@
"navBar": "/components/navBar/navBar", "navBar": "/components/navBar/navBar",
"van-icon": "@vant/weapp/icon/index", "van-icon": "@vant/weapp/icon/index",
"van-divider": "@vant/weapp/divider/index", "van-divider": "@vant/weapp/divider/index",
"van-popup": "@vant/weapp/popup/index" "van-popup": "@vant/weapp/popup/index",
"pickerArea": "/components/pickerArea/index"
} }
} }

35
src/pages/enterInfo/index.scss

@ -17,7 +17,7 @@
padding: 40rpx 0 0; padding: 40rpx 0 0;
width: 654rpx; width: 654rpx;
box-sizing: border-box; box-sizing: border-box;
border-radius: 24rpx; border-radius: 16rpx;
.switch { .switch {
margin-bottom: 68rpx; margin-bottom: 68rpx;
display: flex; display: flex;
@ -55,13 +55,13 @@
color: #aaaaaa; color: #aaaaaa;
} }
.row-title { .row-title {
margin-bottom: 32rpx; margin-bottom: 24rpx;
font-size: 40rpx; font-size: 40rpx;
color: #222222; color: #222222;
font-weight: bold; font-weight: bold;
} }
.row { .row {
margin-bottom: 68rpx; margin-bottom: 32rpx;
&.row2 { &.row2 {
display: grid; display: grid;
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
@ -79,7 +79,7 @@
color: #999999; color: #999999;
background: #f2f2f2; background: #f2f2f2;
border: 2rpx solid #cccccc; border: 2rpx solid #cccccc;
border-radius: 24rpx; border-radius: 16rpx;
.select { .select {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@ -101,15 +101,15 @@
} }
.input { .input {
flex: 1; flex: 1;
padding: 24rpx 32rpx; padding: 0 32rpx;
height: 100rpx; height: 96rpx;
font-size: 36rpx; font-size: 36rpx;
color: #222222; color: #222222;
background: #f6f6f6; background: #f6f6f6;
border-radius: 24rpx; border-radius: 16rpx;
} }
.item { .item {
padding: 24rpx 24rpx; padding: 14rpx 24rpx;
opacity: 1; opacity: 1;
border: 1px solid rgba(246, 246, 246, 1); border: 1px solid rgba(246, 246, 246, 1);
font-size: 36rpx; font-size: 36rpx;
@ -143,7 +143,7 @@
} }
} }
.age-item { .age-item {
height: 114rpx; height: 96rpx;
white-space: nowrap; white-space: nowrap;
font-size: 36rpx; font-size: 36rpx;
color: rgba(34, 34, 34, 0.7); color: rgba(34, 34, 34, 0.7);
@ -160,6 +160,21 @@
border-color: #0eb66d; 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 { .tip {
margin-top: -26rpx; margin-top: -26rpx;
@ -188,7 +203,7 @@
height: 88rpx; height: 88rpx;
line-height: 88rpx; line-height: 88rpx;
text-align: center; text-align: center;
border-radius: 24rpx; border-radius: 16rpx;
font-size: 34rpx; font-size: 34rpx;
font-weight: bold; font-weight: bold;
background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%); background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%);

22
src/pages/enterInfo/index.ts

@ -21,6 +21,11 @@ Page({
submiting: false, submiting: false,
proces: '0', proces: '0',
IntentionalVisitProvinceName: '',
IntentionalVisitProvinceId: '',
IntentionalVisitCityName: '',
IntentionalVisitCityId: '',
}, },
onLoad(options) { onLoad(options) {
this.setData({ this.setData({
@ -34,6 +39,10 @@ Page({
name: userInfo.PatientName, name: userInfo.PatientName,
gender: userInfo.Gender, gender: userInfo.Gender,
ageRange: userInfo.AgeRange, ageRange: userInfo.AgeRange,
IntentionalVisitProvinceName: userInfo.IntentionalVisitProvinceName || '',
IntentionalVisitProvinceId: userInfo.IntentionalVisitProvinceId || '',
IntentionalVisitCityName: userInfo.IntentionalVisitCityName || '',
IntentionalVisitCityId: userInfo.IntentionalVisitCityId || '',
}) })
}) })
}) })
@ -86,7 +95,7 @@ Page({
}, },
handleSubmit() { handleSubmit() {
if (this.data.submiting) return 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 { registrationSource, registChannel, regBusinessId, WorkerId } = app.globalData
const { doctorId, inviteChan, recDoctorId: recommendDoctorId } = app.globalData.scene const { doctorId, inviteChan, recDoctorId: recommendDoctorId } = app.globalData.scene
let toast = '' let toast = ''
@ -120,6 +129,8 @@ Page({
inviteDoctorId: recommendDoctorId ? '' : doctorId, inviteDoctorId: recommendDoctorId ? '' : doctorId,
recommendDoctorId: recommendDoctorId ? doctorId : '', recommendDoctorId: recommendDoctorId ? doctorId : '',
beRecommendDoctorId: recommendDoctorId, beRecommendDoctorId: recommendDoctorId,
intentionalVisitProvinceId:IntentionalVisitProvinceId,
intentionalVisitCityId:IntentionalVisitCityId,
}, },
loading: true, 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() { handleBack() {
wx.navigateBack() wx.navigateBack()
}, },

17
src/pages/enterInfo/index.wxml

@ -45,6 +45,23 @@
placeholder="输入姓名" placeholder="输入姓名"
/> />
</view> </view>
<view class="row-title">您的意向就医地区</view>
<view class="row">
<pickerArea
pname="{{IntentionalVisitProvinceName}}"
pid="{{IntentionalVisitProvinceId}}"
cname="{{IntentionalVisitCityName}}"
cid="{{IntentionalVisitCityId}}"
theme="{{theme}}"
bind:ok="handleAreaSelect"
>
<view class="area-text {{IntentionalVisitProvinceName && 'active'}}">
{{IntentionalVisitProvinceName ? (IntentionalVisitProvinceName + ' ' + IntentionalVisitCityName) :
'请选择省份/城市'}}
<van-icon name="arrow-down" />
</view>
</pickerArea>
</view>
</view> </view>
</view> </view>
<view class="footer"> <view class="footer">

6
src/pages/feedback/index.json

@ -0,0 +1,6 @@
{
"navigationBarTitleText": "问题反馈",
"usingComponents": {
"toast": "/components/toast/index"
}
}

109
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;
}
}
}

26
src/pages/feedback/index.ts

@ -0,0 +1,26 @@
const _app = getApp<IAppOption>()
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 {}

38
src/pages/feedback/index.wxml

@ -0,0 +1,38 @@
<view
class="page"
style="background: url('{{imageUrl}}{{theme === 'DRUG' ? 'bg37' : 'bg36'}}.png?t={{Timestamp}}') no-repeat top center/100% 522rpx"
id="{{theme === 'DRUG' && 'drug-page'}}"
>
<view class="page-title">问题反馈</view>
<view class="tip1">如您在使用过程中遇到问题,可通过以下方式联系我们,我们会尽快为您处理。</view>
<view class="card" bind:tap="handleTel">
<view class="aside">
<image class="icon" src="{{imageUrl}}icon100.png?t={{Timestamp}}"></image>
</view>
<view class="wrap">
<view class="title">拨打电话</view>
<view class="content">
客服在线时间: 工作日
<view></view>
9:00-12: 30,14:00-18:30
</view>
</view>
<image class="more" src="{{imageUrl}}icon107.png?t={{Timestamp}}"></image>
</view>
<view class="card" bind:tap="handleOfficial">
<view class="aside">
<image class="icon" src="{{imageUrl}}icon101.png?t={{Timestamp}}"></image>
</view>
<view class="wrap">
<view class="title">公众号私信</view>
<view class="content">
非工作时间可留言反馈
<view></view>
客服将在48小时内处理
</view>
</view>
<image class="more" src="{{imageUrl}}icon107.png?t={{Timestamp}}"></image>
</view>
</view>
<toast show="{{toastShow}}" type="{{toastType}}" params="{{toastParams}}" bind:cancel="handleToastClose"></toast>

2
src/pages/interactivePatient/index.wxml

@ -101,7 +101,7 @@
</view> </view>
<view class="line"></view> <view class="line"></view>
<view class="title" wx:if="{{!expend}}"> <view class="title" wx:if="{{!expend}}">
<view class="custom-input" wx:if="{{doctorDetail.isOpenOneToOne != 1 || true}}" catch:tap="handleFooterInput"> <view class="custom-input" wx:if="{{doctorDetail.isOpenOneToOne == 1}}" catch:tap="handleFooterInput">
{{customMessage || '输入您的问题'}} {{customMessage || '输入您的问题'}}
</view> </view>
<view class="shortcut" catch:tap="handleFooterShortcut"> <view class="shortcut" catch:tap="handleFooterShortcut">

15
src/pages/login/index.scss

@ -3,7 +3,8 @@ pgae {
.page { .page {
padding-bottom: 80rpx; padding-bottom: 80rpx;
position: relative; position: relative;
height: 100vh; height: 114vh;
box-sizing: border-box;
.bg { .bg {
width: 100%; 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);
}
} }

16
src/pages/login/index.wxml

@ -29,8 +29,10 @@
></image> ></image>
<view class="a-content"> <view class="a-content">
我已阅读并同意 我已阅读并同意
<!-- prettier-ignore -->
<text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index?active=1">《用户协议》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index?active=1">《用户协议》</text>
<!-- prettier-ignore -->
<text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index">《隐私政策》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index">《隐私政策》</text>
</view> </view>
</view> </view>
@ -52,6 +54,7 @@
<view class="a-content"> <view class="a-content">
我同意依照 我同意依照
<text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index">《隐私政策》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index">《隐私政策》</text>
<!-- prettier-ignore -->
<text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index?active=2">《个人信息共享知情同意书》</text> <text class="link" bind:tap="handleLink" data-url="/doc/pages/privacyAgreement/index?active=2">《个人信息共享知情同意书》</text>
规定收集和共享我的个人敏感信息 规定收集和共享我的个人敏感信息
</view> </view>
@ -61,16 +64,19 @@
<van-divider contentPosition="center" textColor="rgba(34,34,34,0.2)">或者</van-divider> <van-divider contentPosition="center" textColor="rgba(34,34,34,0.2)">或者</van-divider>
</view> </view>
<view class="other"> <view class="other">
<view class="col" bind:tap="handleVisitors">
<image class="icon" src="{{imageUrl}}icon29.png?t={{Timestamp}}"></image>
随便看看
</view>
<view class="col" bind:tap="handleDoctor"> <view class="col" bind:tap="handleDoctor">
<image class="icon" src="{{imageUrl}}icon30.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}icon30.png?t={{Timestamp}}"></image>
我是医生 我是医生
</view> </view>
</view> </view>
</view> </view>
<view class="any" bind:tap="handleVisitors">随便看看</view>
</view> </view>
<toast show="{{toastShow}}" type="{{toastType}}" params="{{toastParams}}" bind:cancel="handleToastCancel" bind:phone="handleWxSubmit"></toast> <toast
show="{{toastShow}}"
type="{{toastType}}"
params="{{toastParams}}"
bind:cancel="handleToastCancel"
bind:phone="handleWxSubmit"
></toast>

4
src/pages/my/index.ts

@ -131,7 +131,9 @@ Page({
}) })
}, },
handleFeedback() { handleFeedback() {
this.setData({ toastShow: true, toastType: 'feedback', toastParams: { close: true } }) wx.navigateTo({
url: '/pages/feedback/index',
})
}, },
handleToastClose() { handleToastClose() {
this.setData({ toastShow: false, toastType: '' }) this.setData({ toastShow: false, toastType: '' })

3
src/pages/personalInformation/index.json

@ -2,6 +2,7 @@
"navigationBarTitleText": "个人信息", "navigationBarTitleText": "个人信息",
"usingComponents": { "usingComponents": {
"van-icon": "@vant/weapp/icon/index", "van-icon": "@vant/weapp/icon/index",
"van-toast": "@vant/weapp/toast/index" "van-toast": "@vant/weapp/toast/index",
"pickerArea": "/components/pickerArea/index"
} }
} }

21
src/pages/personalInformation/index.scss

@ -17,7 +17,7 @@
padding: 40rpx 0 0; padding: 40rpx 0 0;
width: 654rpx; width: 654rpx;
box-sizing: border-box; box-sizing: border-box;
border-radius: 24rpx; border-radius: 16rpx;
.switch { .switch {
margin-bottom: 50rpx; margin-bottom: 50rpx;
display: flex; display: flex;
@ -88,7 +88,7 @@
color: #999999; color: #999999;
background: #f2f2f2; background: #f2f2f2;
border: 2rpx solid #cccccc; border: 2rpx solid #cccccc;
border-radius: 24rpx; border-radius: 16rpx;
.select { .select {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@ -110,7 +110,7 @@
font-size: 36rpx; font-size: 36rpx;
color: #222222; color: #222222;
background: #f6f6f6; background: #f6f6f6;
border-radius: 24rpx; border-radius: 16rpx;
} }
.item { .item {
padding: 12rpx 24rpx; padding: 12rpx 24rpx;
@ -151,6 +151,21 @@
border-color: #0eb66d; 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 { .bottom-actions {

15
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) { handleChaneAge(e) {
const Birth = e.detail.value const Birth = e.detail.value
this.formatBorn(Birth) this.formatBorn(Birth)
@ -90,7 +101,7 @@ Page({
updateUserInfo(update = true) { updateUserInfo(update = true) {
if (!update) return 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({ wx.ajax({
method: 'POST', method: 'POST',
url: '?r=igg4/account/update-info', url: '?r=igg4/account/update-info',
@ -102,6 +113,8 @@ Page({
diagnosisTimeRange: DiagnosisTimeRange, diagnosisTimeRange: DiagnosisTimeRange,
birth: Birth, birth: Birth,
diagnosisTime: DiagnosisTime, diagnosisTime: DiagnosisTime,
IntentionalVisitProvinceId,
IntentionalVisitCityId,
}, },
}) })
.then((_res) => { .then((_res) => {

21
src/pages/personalInformation/index.wxml

@ -103,11 +103,22 @@
bindblur="updateUserInfo" bindblur="updateUserInfo"
/> />
</view> </view>
<!-- <view class="row-title">手机号</view> --> <view class="row-title">您的意向就医地区</view>
<!-- <view class="row row-phone"> --> <view class="row">
<!-- <input class="input phone-input" disabled value="{{userInfo.Telephone}}" /> --> <pickerArea
<!-- <view class="change-phone" bind:tap="handleChangeTel">修改</view> --> pname="{{userInfo.IntentionalVisitProvinceName}}"
<!-- </view> --> pid="{{userInfo.IntentionalVisitProvinceId}}"
cname="{{userInfo.IntentionalVisitCityName}}"
cid="{{userInfo.IntentionalVisitCityId}}"
theme="{{theme}}"
bind:ok="handleAreaSelect"
>
<view class="area-text {{userInfo.IntentionalVisitProvinceName && 'area-text-active'}}">
{{userInfo.IntentionalVisitProvinceName ? (userInfo.IntentionalVisitProvinceName + ' ' + userInfo.IntentionalVisitCityName) : '请选择省份/城市'}}
<van-icon name="arrow-down" />
</view>
</pickerArea>
</view>
</view> </view>
<view class="bottom-actions"> <view class="bottom-actions">
<view class="action-btn danger" bind:tap="routerTo" data-url="/doctor/pages/d_login/index?back=1"> <view class="action-btn danger" bind:tap="routerTo" data-url="/doctor/pages/d_login/index?back=1">

Loading…
Cancel
Save