diff --git a/project.private.config.json b/project.private.config.json index 1eadb81..89b6006 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -9,6 +9,27 @@ "miniprogram": { "list": [ { + "name": "绑定医生结果页", + "pathName": "module1/pages/setApplicationDoctorResult/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "选择绑定医生", + "pathName": "module1/pages/setApplicationDoctor/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "医生绑定申请记录", + "pathName": "module1/pages/applicationRecords/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { "name": "module1/pages/chatRoom/index", "pathName": "module1/pages/chatRoom/index", "query": "id=28", diff --git a/src/app.json b/src/app.json index d34b005..ec29386 100644 --- a/src/app.json +++ b/src/app.json @@ -35,7 +35,10 @@ "pages/chatRoomInfo/index", "pages/setChatDoctor/index", "pages/doctorHome/index", - "pages/loginOut/index" + "pages/loginOut/index", + "pages/applicationRecords/index", + "pages/setApplicationDoctor/index", + "pages/setApplicationDoctorResult/index" ] } ], diff --git a/src/echart/components/homeLevel1/index.scss b/src/echart/components/homeLevel1/index.scss index b9c4787..a5bb2a7 100644 --- a/src/echart/components/homeLevel1/index.scss +++ b/src/echart/components/homeLevel1/index.scss @@ -95,6 +95,20 @@ font-size: 56rpx; color: #fff; line-height: 56rpx; + display: flex; + justify-content: center; + .num-center { + position: relative; + .dot { + position: absolute; + top: -10rpx; + right: -10rpx; + width: 16rpx; + height: 16rpx; + background-color: #ed4f39; + border-radius: 50%; + } + } } } .line { @@ -235,6 +249,43 @@ max-height: 0; overflow: hidden; } + .cooperate-options { + padding-bottom: 20rpx; + display: flex; + align-items: center; + justify-content: space-between; + gap: 18rpx; + .co-item { + flex: 1; + padding: 18rpx 36rpx; + background: linear-gradient(180deg, #e5f5f7 0%, #ffffff 50%); + box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.1); + border-radius: 16rpx 16rpx 16rpx 16rpx; + border: 2rpx solid #ffffff; + display: flex; + align-items: center; + .icon { + width: 76rpx; + height: 76rpx; + } + .content { + position: relative; + padding-left: 8rpx; + font-size: 32rpx; + color: #141515; + &.dot::after { + content: ""; + position: absolute; + top: -10rpx; + right: -10rpx; + width: 16rpx; + height: 16rpx; + background-color: #ed4f39; + border-radius: 50%; + } + } + } + } .doctor { margin-bottom: 20rpx; padding: 32rpx; @@ -362,3 +413,25 @@ } } } + +.preview { + position: fixed; + width: 100vw; + height: 100vh; + z-index: 1000000000; + top: 0; + left: 0; + overflow: hidden; + .img { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + display: block; + } + .show { + opacity: 1; + } +} diff --git a/src/echart/components/homeLevel1/index.ts b/src/echart/components/homeLevel1/index.ts index 78f9722..ed3a5de 100644 --- a/src/echart/components/homeLevel1/index.ts +++ b/src/echart/components/homeLevel1/index.ts @@ -21,6 +21,10 @@ Component({ take: {}, case: {}, cooperateList: [], + + guide: 0, + guideShow: false, + guideList: ["2-1", "2-2", "2-3"], }, lifetimes: { @@ -120,6 +124,30 @@ Component({ const { index } = e.currentTarget.dataset; this.selectComponent(`#cooperate${index}`).handleDetail(); }, + handleApplication() { + wx.navigateTo({ + url: "/module1/pages/applicationRecords/index", + }); + }, + handleApplicationDoctor() { + wx.navigateTo({ + url: "/module1/pages/setApplicationDoctor/index", + }); + }, + + touchmovePreview() { + return false; + }, + handleTapPreview() { + if (this.data.guide == this.data.guideList.length - 1) { + this.setData({ + guideShow: false, + }); + } + this.setData({ + guide: Number(this.data.guide) + 1, + }); + }, }, }); diff --git a/src/echart/components/homeLevel1/index.wxml b/src/echart/components/homeLevel1/index.wxml index 25319b6..9dfa1e6 100644 --- a/src/echart/components/homeLevel1/index.wxml +++ b/src/echart/components/homeLevel1/index.wxml @@ -22,19 +22,32 @@ - + + + + + 申请记录 + + + + 绑定医生 + + - - {{item.SpecialtyName}} - + + {{item.SpecialtyName}} @@ -205,3 +180,13 @@ + + + + diff --git a/src/echart/components/homeLevel2/index.wxml b/src/echart/components/homeLevel2/index.wxml index 745af29..51378d6 100644 --- a/src/echart/components/homeLevel2/index.wxml +++ b/src/echart/components/homeLevel2/index.wxml @@ -6,11 +6,7 @@ src="{{userInfo.Img}}" level="{{userInfo.DoctorLevel}}" > - + {{userInfo.Name}} @@ -31,26 +27,23 @@ - - {{item.SpecialtyName}} - + + {{item.SpecialtyName}} @@ -88,64 +93,29 @@ 全部 - {{case.totalCaseCount}} - + {{case.totalCaseCount}} 新病历 - - - {{case.newCaseCount}} + + {{case.newCaseCount}} 讨论中 - - - {{case.feedbackCaseCount}} + + {{case.feedbackCaseCount}} 已归档 - - - {{case.archiveCaseCount}} + + {{case.archiveCaseCount}} diff --git a/src/echart/components/homeLevel4/index.ts b/src/echart/components/homeLevel4/index.ts index 6210f84..0ad7f60 100644 --- a/src/echart/components/homeLevel4/index.ts +++ b/src/echart/components/homeLevel4/index.ts @@ -675,6 +675,12 @@ Component({ url: "/pages/cases/index", }); }, + handleCaseUpdate() { + app.globalData.newFeedback = "1"; + wx.switchTab({ + url: "/pages/cases/index", + }); + }, handleChat() { wx.switchTab({ url: "/pages/chatRoomList/index", diff --git a/src/echart/components/homeLevel4/index.wxml b/src/echart/components/homeLevel4/index.wxml index ad4a78a..ef425c8 100644 --- a/src/echart/components/homeLevel4/index.wxml +++ b/src/echart/components/homeLevel4/index.wxml @@ -1,16 +1,7 @@ - - + + {{userInfo.Name}} @@ -31,22 +22,16 @@ - - {{item.SpecialtyName}} - + + {{item.SpecialtyName}} + + 病历更新 + + + {{take.notReadFeedBackCount*1 || '--'}} + + + + 学习窗消息 - {{take.notReadChatRoomCount*1 || '--'}} + + + {{take.notReadChatRoomCount*1 || '--'}} + + + 医生待审核 - {{take.toAuditDoctorCount*1 || '--'}} + + + {{take.toAuditDoctorCount*1 || '--'}} + + + - + 本科室全部病历 - + {{DepartmentName}} @@ -91,30 +93,15 @@ 全部 - {{case.totalCaseCount}} - + {{case.totalCaseCount}} 新病历 - - - {{case.newCaseCount}} + + {{case.newCaseCount}} 讨论中 - - - {{case.feedbackCaseCount}} + + {{case.feedbackCaseCount}} 已归档 - - - {{case.archiveCaseCount}} + + {{case.archiveCaseCount}} @@ -207,20 +174,9 @@ 科室医生入驻情况 - + - + {{year1}}年 @@ -235,11 +191,7 @@ - + 注:一级医生为平台全部医生,不区分科室 @@ -248,20 +200,9 @@ 累计病历统计 - + - + {{year2}}年 @@ -275,31 +216,16 @@ - + 科室新增病历统计 - + - + {{year3}}年 @@ -313,23 +239,14 @@ - + 医院活跃排行榜 - + 查看全部 @@ -340,7 +257,8 @@ 医院 医生总数 - S1 + + S1 - S2 - + + S2 + - S3 - + + S3 + - + {{index+1}} {{item.HospitalName}} {{item.TotalDoctorCount}} {{item.DoctorLevel1Count}} diff --git a/src/images/application-status1.png b/src/images/application-status1.png new file mode 100644 index 0000000..002034a Binary files /dev/null and b/src/images/application-status1.png differ diff --git a/src/images/application-status2.png b/src/images/application-status2.png new file mode 100644 index 0000000..99e790b Binary files /dev/null and b/src/images/application-status2.png differ diff --git a/src/images/application-status3.png b/src/images/application-status3.png new file mode 100644 index 0000000..af6ac55 Binary files /dev/null and b/src/images/application-status3.png differ diff --git a/src/images/chat-add.png b/src/images/chat-add.png new file mode 100644 index 0000000..6a52584 Binary files /dev/null and b/src/images/chat-add.png differ diff --git a/src/images/cooperate-icon1.png b/src/images/cooperate-icon1.png new file mode 100644 index 0000000..e85cc4d Binary files /dev/null and b/src/images/cooperate-icon1.png differ diff --git a/src/images/cooperate-icon2.png b/src/images/cooperate-icon2.png new file mode 100644 index 0000000..408bded Binary files /dev/null and b/src/images/cooperate-icon2.png differ diff --git a/src/images/icon-date.png b/src/images/icon-date.png new file mode 100644 index 0000000..ed36ac8 Binary files /dev/null and b/src/images/icon-date.png differ diff --git a/src/module1/pages/applicationRecords/index.json b/src/module1/pages/applicationRecords/index.json new file mode 100644 index 0000000..cfbe89e --- /dev/null +++ b/src/module1/pages/applicationRecords/index.json @@ -0,0 +1,8 @@ +{ + "navigationStyle": "default", + "navigationBarTitleText": "医生绑定申请", + "usingComponents": { + "van-icon": "@vant/weapp/icon/index", + "doctorAvatar": "/components/doctorAvatar/index" + } +} diff --git a/src/module1/pages/applicationRecords/index.scss b/src/module1/pages/applicationRecords/index.scss new file mode 100644 index 0000000..f2df8ce --- /dev/null +++ b/src/module1/pages/applicationRecords/index.scss @@ -0,0 +1,189 @@ +page { + background-color: #f6f6f6; +} +.page { + .header { + padding: 32rpx; + background-color: #fff; + border-radius: 0 0 0 32rpx; + display: flex; + align-items: center; + justify-content: space-between; + gap: 48rpx; + .range { + padding: 0 20rpx; + display: flex; + align-items: center; + justify-content: space-between; + width: 390rpx; + background: #f6f6f6; + border-radius: 12rpx 12rpx 12rpx 12rpx; + .date { + flex: 1; + .date-content { + padding: 16rpx; + font-size: 28rpx; + color: #999999; + line-height: 1; + text-align: center; + } + } + .icon { + flex-shrink: 0; + width: 32rpx; + height: 32rpx; + } + } + .status { + flex: 1; + display: flex; + align-items: center; + gap: 16rpx; + .label { + font-size: 28rpx; + color: #141515; + } + .picker { + flex: 1; + .picker-content { + display: flex; + align-items: center; + justify-content: space-between; + padding: 16rpx; + font-size: 28rpx; + color: #999999; + line-height: 1; + text-align: center; + border-radius: 12rpx; + background-color: #f6f6f6; + } + } + } + } + .list { + padding: 32rpx; + .doctor { + position: relative; + padding: 32rpx; + background: linear-gradient(180deg, #e5f5f7 0%, #ffffff 50%); + box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.1); + border-radius: 16rpx 16rpx 16rpx 16rpx; + border: 2rpx solid #ffffff; + margin-bottom: 20rpx; + .d-status { + position: absolute; + top: 0; + right: 0; + width: 156rpx; + height: 50rpx; + } + .d-container { + display: flex; + gap: 24rpx; + &:last-of-type { + margin-bottom: 0; + } + .avatar { + flex-shrink: 0; + position: relative; + width: 112rpx; + height: 112rpx; + } + .wrap { + padding-top: 8rpx; + .w-header { + display: flex; + flex-wrap: wrap; + align-items: baseline; + gap: 16rpx; + line-height: 1; + .name { + font-size: 36rpx; + color: rgba(20, 21, 21, 1); + font-weight: bold; + } + .label { + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + } + .line { + width: 1px; + height: 24rpx; + background-color: rgba(205, 205, 205, 1); + } + } + .w-container { + margin-top: 24rpx; + .hostipal { + margin-right: 12rpx; + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + } + .tag { + margin-right: 12rpx; + display: inline-block; + padding: 0 8rpx; + border-radius: 4rpx; + font-size: 24rpx; + color: rgba(255, 255, 255, 1); + line-height: 32rpx; + background-color: rgba(0, 180, 197, 1); + } + .site { + display: inline-block; + padding: 0 8rpx; + font-size: 24rpx; + color: rgba(148, 87, 30, 1); + line-height: 32rpx; + border-radius: 4rpx; + background-color: rgba(250, 229, 206, 1); + } + } + .w-footer { + margin-top: 16rpx; + display: flex; + gap: 12rpx; + flex-wrap: wrap; + .wf-label { + flex-shrink: 0; + width: 48rpx; + height: 32rpx; + } + .wf-tag { + flex-shrink: 0; + padding: 0 8rpx; + font-size: 22rpx; + color: rgba(0, 180, 197, 1); + line-height: 32rpx; + border: 1px solid rgba(191, 239, 244, 1); + } + } + } + } + .d-footer { + margin-top: 32rpx; + padding: 0 32rpx; + background: #f6f6f6; + border-radius: 16rpx 16rpx 16rpx 16rpx; + .row { + padding: 32rpx 0; + display: flex; + border-bottom: 1px solid rgba(20, 21, 21, 0.08); + &:last-of-type { + border: none; + } + .label { + flex-shrink: 0; + margin-right: 16rpx; + font-size: 32rpx; + color: #999999; + } + .content { + font-size: 32rpx; + color: #141515; + } + } + } + } + } +} diff --git a/src/module1/pages/applicationRecords/index.ts b/src/module1/pages/applicationRecords/index.ts new file mode 100644 index 0000000..d74ea55 --- /dev/null +++ b/src/module1/pages/applicationRecords/index.ts @@ -0,0 +1,28 @@ +const app = getApp(); + +Page({ + data: { + feedbackTimeBegin: "", + feedbackTimeEnd: "", + + cooperateList: [], + }, + onLoad() { + app.waitLogin().then(() => { + this.getCooperate(); + }); + }, + getCooperate() { + wx.ajax({ + method: "GET", + url: "?r=takeda/doctor/cooperation-doctor-list", + data: {}, + }).then((res) => { + this.setData({ + cooperateList: res.list, + }); + }); + }, +}); + +export {}; diff --git a/src/module1/pages/applicationRecords/index.wxml b/src/module1/pages/applicationRecords/index.wxml new file mode 100644 index 0000000..d2f3b91 --- /dev/null +++ b/src/module1/pages/applicationRecords/index.wxml @@ -0,0 +1,93 @@ + + + + + {{feedbackTimeBegin || '开始'}} + + - + + {{feedbackTimeEnd || '结束'}} + + + + + 状态 + + + {{cityName + countyName || '全部'}} + + + + + + + + + + + + + {{item.DoctorName}} + {{item.DoctorOtherTitle}} + {{DoctorTitleType[item.DoctorTitleType]}} + + + {{item.DepartmentName}} + + + + {{item.HospitalName}} + + {{hospitalClassification[item.HospitalClassification]}}{{hospitalLevel[item.HospitalLevel]}} + + + {{item.CityName}}{{item.CountyName?'/':''}}{{item.CountyName}} + + + + + {{item.SpecialtyName}} + + + + + + 审核日期 + 2024-12-12 + + + 驳回原因 + 这是一段驳回原因的文案,可能有俩行字 + + + + + diff --git a/src/module1/pages/auditDoctorDetail/index.wxml b/src/module1/pages/auditDoctorDetail/index.wxml index 29e548c..2644a59 100644 --- a/src/module1/pages/auditDoctorDetail/index.wxml +++ b/src/module1/pages/auditDoctorDetail/index.wxml @@ -1,6 +1,14 @@ + 申请类型 + 新注册医生 + + + 医生身份 + 一级医生 + + 提交人 {{detail.Name}} diff --git a/src/module1/pages/auditDoctorList/index.scss b/src/module1/pages/auditDoctorList/index.scss index 71e13ff..b8f7ef7 100644 --- a/src/module1/pages/auditDoctorList/index.scss +++ b/src/module1/pages/auditDoctorList/index.scss @@ -30,24 +30,35 @@ page { flex: 1; .w-header { display: flex; + justify-content: space-between; + align-items: center; line-height: 44rpx; - .name { - margin-right: 16rpx; - font-size: 32rpx; - color: rgba(20, 21, 21, 1); - font-weight: bold; + .left { + .name { + margin-right: 16rpx; + font-size: 32rpx; + color: rgba(20, 21, 21, 1); + font-weight: bold; + } + .label { + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + } } - .label { + .type { font-size: 28rpx; - color: rgba(20, 21, 21, 1); + color: #3ed0a1; } } .w-footer { + margin-top: 14rpx; line-height: 32rpx; font-size: 28rpx; color: rgba(133, 133, 133, 1); + .content { + margin-right: 16rpx; + } .tag { - margin-left: 16rpx; padding: 0 8rpx; display: inline-block; font-size: 28rpx; diff --git a/src/module1/pages/auditDoctorList/index.wxml b/src/module1/pages/auditDoctorList/index.wxml index 7017705..df78805 100644 --- a/src/module1/pages/auditDoctorList/index.wxml +++ b/src/module1/pages/auditDoctorList/index.wxml @@ -7,12 +7,16 @@ - {{item.Name}} - {{item.OtherTitle}} - {{DoctorTitleType[item.TitleType]}} + + {{item.Name}} + {{item.OtherTitle}} + {{DoctorTitleType[item.TitleType]}} + + 注册申请 + - {{item.HospitalName}} + {{item.HospitalName}} {{item.HospitalClassificationName}}{{item.HospitalLevelName}} diff --git a/src/module1/pages/chatRoom/index.scss b/src/module1/pages/chatRoom/index.scss index 3816c3b..503c375 100644 --- a/src/module1/pages/chatRoom/index.scss +++ b/src/module1/pages/chatRoom/index.scss @@ -14,45 +14,58 @@ page { border-radius: 16rpx; border-radius: 0 0 0 32rpx; .info { - padding: 24rpx; background: #f6f6f6; box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.1); border-radius: 16rpx 16rpx 16rpx 16rpx; border: 2rpx solid #ffffff; display: flex; - gap: 28rpx; - align-items: center; - .photos { - position: relative; - padding: 4rpx; - display: grid; - grid-template-columns: repeat(2, 40rpx); - grid-template-rows: repeat(2, 40rpx); - background-color: #fff; - border-radius: 8rpx; - gap: 4rpx; - .photo { - width: 100%; - height: 100%; - } - .sealed { - position: absolute; - bottom: -40rpx; - left: 50%; - transform: translateX(-50%); - white-space: nowrap; - font-size: 20rpx; - color: rgba(133, 133, 133, 1); - line-height: 1; - padding: 6rpx 16rpx; - border-radius: 48rpx; - background-color: rgba(224, 224, 224, 1); + align-items: start; + .left { + padding: 22rpx; + border: 2rpx solid #ffffff; + display: flex; + align-items: center; + border-radius: 16rpx; + box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.1); + .photos { + position: relative; + display: grid; + padding: 4rpx; + grid-template-columns: repeat(2, 40rpx); + grid-template-rows: repeat(2, 40rpx); + background-color: #fff; + border-radius: 8rpx; + gap: 4rpx; + .photo { + width: 100%; + height: 100%; + } + .sealed { + position: absolute; + bottom: -40rpx; + left: 50%; + transform: translateX(-50%); + white-space: nowrap; + font-size: 20rpx; + color: rgba(133, 133, 133, 1); + line-height: 1; + padding: 6rpx 16rpx; + border-radius: 48rpx; + background-color: rgba(224, 224, 224, 1); + } + .chat-add { + position: absolute; + bottom: -40rpx; + left: 50%; + transform: translate(-50%, 0); + width: 36rpx; + height: 36rpx; + } } } .inner { flex: 1; - padding-left: 24rpx; - border-left: 1px solid rgba(205, 205, 205, 0.5); + padding: 24rpx; .c-header { display: flex; align-items: center; diff --git a/src/module1/pages/chatRoom/index.wxml b/src/module1/pages/chatRoom/index.wxml index f4cd374..bb3df23 100644 --- a/src/module1/pages/chatRoom/index.wxml +++ b/src/module1/pages/chatRoom/index.wxml @@ -1,15 +1,18 @@ - - - 已归档 + + + + 已归档 + + @@ -40,22 +43,12 @@ bindscrolltoupper="scrolltoupper" > - + {{message.createTimeName}} {{message.content}} {{message.content}} - + {{message.doctorName}} {{message.hospitalName}} {{message.content}} @@ -71,12 +64,7 @@ src="{{imageUrl}}/audio-right.gif?t={{Timestamp}}" mode="aspectFit" > - + {{message.content.duration}}″ @@ -95,42 +83,20 @@ bind:tap="handleVideo" data-url="{{message.content.url}}" > - + - - - + + + 撤回 {{message.doctorName}} {{message.hospitalName}} {{message.content}} - + {{message.content.duration}}″ - + - + - + @@ -210,20 +163,10 @@ bindblur="handleBlur" bindfocus="handleFocus" /> - {{sendMessage}} - + {{sendMessage}} - 按住说话 + + 按住说话 照片 - + 视频 @@ -250,12 +189,7 @@ - + 用户须知 diff --git a/src/module1/pages/setApplicationDoctor/index.json b/src/module1/pages/setApplicationDoctor/index.json new file mode 100644 index 0000000..53c4cfc --- /dev/null +++ b/src/module1/pages/setApplicationDoctor/index.json @@ -0,0 +1,11 @@ +{ + "navigationBarTitleText": "选择绑定医生", + "navigationStyle": "default", + "usingComponents": { + "popupDoctorDetail": "/components/popupDoctorDetail/index", + "doctorAvatar": "/components/doctorAvatar/index", + "van-popup": "@vant/weapp/popup/index", + "van-dialog": "@vant/weapp/dialog/index", + "pagination": "/components/pagination/index" + } +} diff --git a/src/module1/pages/setApplicationDoctor/index.scss b/src/module1/pages/setApplicationDoctor/index.scss new file mode 100644 index 0000000..05f7bc4 --- /dev/null +++ b/src/module1/pages/setApplicationDoctor/index.scss @@ -0,0 +1,208 @@ +page { + background-color: rgba(246, 246, 246, 1); +} +.page { + .header { + padding: 32rpx 32rpx 2rpx; + background-color: #fff; + .tip { + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + text-align: center; + .link { + color: rgba(0, 180, 197, 1); + } + } + .search-wrap { + margin-top: 32rpx; + display: flex; + align-items: center; + gap: 22rpx; + .search { + flex: 1; + padding: 20rpx 30rpx; + display: flex; + align-items: center; + gap: 20rpx; + border-radius: 122rpx; + background-color: rgba(246, 246, 246, 1); + .icon { + width: 32rpx; + height: 32rpx; + } + .input { + flex: 1; + text-align: center; + font-size: 28rpx; + color: #000; + } + .place-input { + color: rgba(205, 205, 205, 1); + } + } + .reset { + padding: 10rpx; + font-size: 28rpx; + color: #00b4c5; + } + } + .options { + display: flex; + align-items: center; + justify-content: space-between; + .picker { + flex: 1; + } + .option-wrap { + flex: 1; + .option { + padding: 30rpx 10rpx; + display: flex; + align-items: center; + justify-content: center; + .option-text { + max-width: 4em; + font-size: 32rpx; + color: rgba(20, 21, 21, 1); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + .icon { + width: 24rpx; + height: 24rpx; + } + } + } + } + } + .list { + padding: 26rpx 32rpx 300rpx; + .list-item { + margin-bottom: 24rpx; + display: flex; + align-items: center; + .radio { + transform: scale(0.7); + } + .card { + flex: 1; + padding: 32rpx; + border-radius: 16rpx; + background-color: #fff; + display: flex; + gap: 24rpx; + .avatar { + flex-shrink: 0; + position: relative; + width: 112rpx; + height: 112rpx; + } + .wrap { + flex: 1; + .w-header { + .name { + margin-right: 10rpx; + display: inline; + font-size: 36rpx; + color: rgba(20, 21, 21, 1); + font-weight: bold; + } + .label { + display: inline; + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + } + .line { + margin: 0 10rpx; + display: inline-block; + width: 1px; + height: 24rpx; + background-color: rgba(205, 205, 205, 1); + } + } + .w-container { + margin-top: 24rpx; + .hostipal { + margin-right: 12rpx; + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + } + .tag { + margin-right: 12rpx; + display: inline-block; + padding: 0 8rpx; + border-radius: 4rpx; + font-size: 24rpx; + color: rgba(255, 255, 255, 1); + line-height: 32rpx; + background-color: rgba(0, 180, 197, 1); + } + .site { + display: inline-block; + padding: 0 8rpx; + font-size: 24rpx; + color: rgba(148, 87, 30, 1); + line-height: 32rpx; + border-radius: 4rpx; + background-color: rgba(250, 229, 206, 1); + } + } + .w-footer { + margin-top: 14rpx; + display: flex; + gap: 12rpx; + flex-wrap: wrap; + .wf-label { + flex-shrink: 0; + width: 48rpx; + height: 32rpx; + } + .wf-tag { + flex-shrink: 0; + padding: 0 8rpx; + font-size: 22rpx; + color: rgba(0, 180, 197, 1); + line-height: 32rpx; + border: 1px solid rgba(191, 239, 244, 1); + } + } + } + } + } + } + .footer { + position: fixed; + bottom: 0; + left: 0; + padding: 32rpx 32rpx calc(env(safe-area-inset-bottom) + 32rpx); + width: 100%; + box-sizing: border-box; + display: flex; + gap: 26rpx; + align-items: center; + justify-content: space-between; + background-color: #fff; + box-shadow: 0 -10rpx 20rpx rgba(0, 0, 0, 0.1); + .cancel { + width: 230rpx; + height: 84rpx; + text-align: center; + line-height: 88rpx; + font-size: 32rpx; + color: rgba(1, 180, 197, 1); + border-radius: 96rpx 96rpx 96rpx 96rpx; + border: 1px solid #01b4c5; + } + .submit { + flex: 1; + height: 88rpx; + text-align: center; + line-height: 88rpx; + font-size: 32rpx; + color: #fff; + background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); + border-radius: 96rpx; + } + } +} diff --git a/src/module1/pages/setApplicationDoctor/index.ts b/src/module1/pages/setApplicationDoctor/index.ts new file mode 100644 index 0000000..3d3f13a --- /dev/null +++ b/src/module1/pages/setApplicationDoctor/index.ts @@ -0,0 +1,273 @@ +const app = getApp(); + +Page({ + data: { + showDetail: false, + popupDoctorDetail: {}, + + showResolve: false, + + showArea: false, + fieldNames: { text: "label", value: "value", children: "children" }, + area: [], + + id: "", + + DoctorTitleType: {}, + hospitalClassification: {}, + hospitalLevel: {}, + SpecialtyList: [], + + search: "", + hospitalId: "", + HospitalName: "", + provinceId: "", + cityId: "", + countyId: "", + ProvinceName: "", + CityName: "", + CountyName: "", + specialtyId: "", + SpecialtyName: "", + + pagination: { + page: 1, + pages: 1, + count: 1, + }, + list: [], + + DoctorId: "", + + params: {}, + + caseId: "", + }, + onLoad(options) { + if (options.hid) { + this.setData({ + hospitalId: options.hid, + HospitalName: options.hname, + }); + } + const eventChannel = this.getOpenerEventChannel(); + eventChannel.on("acceptDataFromOpenerPage", (data) => { + this.setData({ + params: data.params, + caseId: data.caseId, + }); + }); + app.waitLogin().then(() => { + this.getList(); + this.getDoctorDict(); + this.getHostipalDict(); + this.getArea(); + }); + }, + getDoctorDict() { + wx.ajax({ + method: "GET", + url: "?r=takeda/reg/doctor-dict", + data: {}, + }).then((res) => { + const SpecialtyList: any = []; + res.DoctorSpecialtyLabel.forEach((item: any) => { + SpecialtyList.push(...item.options); + }); + this.setData({ + DoctorTitleType: res.DoctorTitleType, + SpecialtyList, + }); + }); + }, + getHostipalDict() { + wx.ajax({ + method: "GET", + url: "?r=takeda/reg/hospital-dict", + data: {}, + }).then((res) => { + this.setData({ + hospitalClassification: res.hospitalClassification, + hospitalLevel: res.hospitalLevel, + }); + }); + }, + getArea() { + wx.ajax({ + method: "GET", + url: "/js/area.json", + isJSON: true, + }).then((res) => { + this.setData({ + area: res, + }); + }); + }, + handleSearch() { + this.setData({ + list: [], + }); + this.getList(); + }, + handleReset() { + this.setData({ + search: "", + hospitalId: "", + HospitalName: "", + provinceId: "", + cityId: "", + countyId: "", + ProvinceName: "", + CityName: "", + CountyName: "", + specialtyId: "", + SpecialtyName: "", + }); + this.handleSearch(); + }, + getList(newPage = 1) { + const { search, hospitalId, provinceId, cityId, countyId, specialtyId } = this.data; + wx.ajax({ + method: "GET", + url: "?r=takeda/case/get-invite-doctor-list", + data: { + search, + hospitalId, + provinceId, + cityId, + countyId, + specialtyId, + page: newPage, + }, + }).then((res) => { + const list = res.page === 1 ? res.list : [...this.data.list, ...res.list]; + this.setData({ + list, + pagination: { + page: res.page, + pages: res.pages, + count: res.count, + }, + }); + }); + }, + onReachBottom() { + const { page, pages } = this.data.pagination; + if (pages > page) { + this.getList(page + 1); + } + }, + handlePopupDetail(e) { + const { index } = e.currentTarget.dataset; + const { list } = this.data; + const item: any = list[index]; + this.setData({ + showDetail: true, + popupDoctorDetail: { + DoctorLevel: item.doctorLevel, + DoctorImg: item.doctorImg, + DoctorName: item.doctorName, + DoctorTitleName: item.doctorTitleName || item.doctorOtherTitle, + HospitalName: item.hospitalName, + HospitalClassificationName: item.hospitalClassificationName, + HospitalLevelName: item.hospitalLevelName, + CityName: item.cityName, + CountyName: item.countyName, + Introduce: item.doctorIntroduce, + department: item.doctorDept, + specialty: item.doctorSpecialty, + }, + }); + }, + handlePopupClose() { + this.setData({ + showDetail: false, + }); + }, + handleHostipal() { + wx.navigateTo({ + url: `/module1/pages/sHostipal/index`, + events: { + acceptDataFromOpenedPage: (data: any) => { + this.setData({ + hospitalId: data.hid, + HospitalName: data.hname, + }); + this.handleSearch(); + }, + }, + }); + }, + handleArea() { + this.setData({ + showArea: true, + }); + }, + onClose() { + this.setData({ + showArea: false, + showResolve: false, + }); + }, + onFinish(e: any) { + this.setData({ + provinceId: e.detail.code[0], + ProvinceName: e.detail.value[0], + cityId: e.detail.code[1], + CityName: e.detail.value[1], + countyId: e.detail.code[2], + CountyName: e.detail.value[2], + showArea: false, + }); + this.handleSearch(); + }, + handleSpecialChange(e: any) { + const index = e.detail.value; + const { SpecialtyList } = this.data; + const item: any = SpecialtyList[index]; + this.setData({ + specialtyId: item.value, + SpecialtyName: item.label, + }); + this.handleSearch(); + }, + + handleRadio(e) { + const { index } = e.currentTarget.dataset; + const { list } = this.data; + this.setData({ + DoctorId: (list as any)[index].doctorId, + }); + }, + handleSubmit() { + const { caseId, DoctorId, params } = this.data; + if (!DoctorId) { + wx.showToast({ + title: "请选择医生", + icon: "none", + }); + return; + } + + const url = caseId ? "?r=takeda/case/save-case" : "?r=takeda/case/create-case"; + wx.ajax({ + method: "POST", + url, + data: { + ...params, + caseId, + isSubmit: 1, + dealDoctorId: DoctorId, + }, + }).then((res) => { + wx.reLaunch({ + url: `/module1/pages/setApplicationDoctorResult/index?isf=${res.isSubscribe}&wxi=${encodeURIComponent(res.wxImg)}&cid=${res.caseId || caseId}`, + }); + }); + }, + handleBack() { + wx.navigateBack(); + }, +}); + +export {}; diff --git a/src/module1/pages/setApplicationDoctor/index.wxml b/src/module1/pages/setApplicationDoctor/index.wxml new file mode 100644 index 0000000..226f53a --- /dev/null +++ b/src/module1/pages/setApplicationDoctor/index.wxml @@ -0,0 +1,98 @@ + + + + + + + + 重置 + + + + + {{HospitalName || '医院'}} + + + + + + + {{CountyName || '地区'}} + + + + + + + {{SpecialtyName || '医生专长'}} + + + + + + + + + + + + + + + {{item.doctorName}} + {{item.doctorTitleName || item.doctorOtherTitle}} + + + {{depart.DepartmentName}} + + + + {{item.hospitalName}} + {{item.hospitalClassificationName}}{{item.hospitalLevelName}} + + {{item.cityName}}{{item.countyName?'/':''}}{{item.countyName}} + + + + + + {{spec.SpecialtyName}} + + + + + + + + + + + 返回 + 发送绑定申请 + + + + diff --git a/src/module1/pages/setApplicationDoctorResult/index.json b/src/module1/pages/setApplicationDoctorResult/index.json new file mode 100644 index 0000000..d672488 --- /dev/null +++ b/src/module1/pages/setApplicationDoctorResult/index.json @@ -0,0 +1,6 @@ +{ + "usingComponents": { + "van-nav-bar": "@vant/weapp/nav-bar/index", + "van-icon": "@vant/weapp/icon/index" + } +} diff --git a/src/module1/pages/setApplicationDoctorResult/index.scss b/src/module1/pages/setApplicationDoctorResult/index.scss new file mode 100644 index 0000000..2f49ed9 --- /dev/null +++ b/src/module1/pages/setApplicationDoctorResult/index.scss @@ -0,0 +1,56 @@ +.page { + padding: 0 32rpx 200rpx; + width: 100vw; + min-height: 100vh; + box-sizing: border-box; + .container { + margin: 200rpx 20rpx 0; + padding: 122rpx 12rpx 64rpx; + position: relative; + border-radius: 48rpx 48rpx 48rpx 48rpx; + background: linear-gradient(180deg, #ffffff 0%, #e7fbff 100%); + text-align: center; + .result { + position: absolute; + left: 50%; + top: -100rpx; + transform: translateX(-50%); + width: 200rpx; + height: 200rpx; + background-color: #fff; + border-radius: 50%; + } + .title { + font-size: 48rpx; + color: rgba(20, 21, 21, 1); + font-weight: bold; + } + .notice { + margin-top: 30rpx; + font-size: 32rpx; + color: rgba(153, 153, 153, 1); + line-height: 48rpx; + .link { + font-size: 32rpx; + color: rgba(0, 180, 197, 1); + } + } + .code { + margin: 48rpx auto 0; + display: block; + width: 382rpx; + height: 382rpx; + } + .tip { + margin-top: 36rpx; + font-size: 32rpx; + color: rgba(153, 153, 153, 1); + } + } + .back-home { + margin-top: 74rpx; + font-size: 32rpx; + color: rgba(255, 255, 255, 1); + text-align: center; + } +} diff --git a/src/module1/pages/setApplicationDoctorResult/index.ts b/src/module1/pages/setApplicationDoctorResult/index.ts new file mode 100644 index 0000000..b63f333 --- /dev/null +++ b/src/module1/pages/setApplicationDoctorResult/index.ts @@ -0,0 +1,34 @@ +const app = getApp(); + +Page({ + data: { + isf: 0, + codeUrl: "", + }, + onLoad(options) { + app.waitLogin(true).then(() => { + this.getCodeUrl(); + this.setData({ + isf: Number(options.isf), + }); + }); + }, + handleBack() { + wx.navigateBack(); + }, + getCodeUrl() { + wx.ajax({ + method: "GET", + url: "?r=takeda/common/get-channel-wx-code", + data: { + ChannelType: 1, + }, + }).then((res) => { + this.setData({ + codeUrl: res, + }); + }); + }, +}); + +export {}; diff --git a/src/module1/pages/setApplicationDoctorResult/index.wxml b/src/module1/pages/setApplicationDoctorResult/index.wxml new file mode 100644 index 0000000..4d6a2e5 --- /dev/null +++ b/src/module1/pages/setApplicationDoctorResult/index.wxml @@ -0,0 +1,31 @@ + + + + + + + 提交成功 + + + 已将信息提交给 + {{InviteDoctorName}}医生 + + 审核通过后,您可绑定成功 + + + + 扫码关注公众号 + 获取审核通知 + + + + diff --git a/src/pages/chatRoomList/index.wxml b/src/pages/chatRoomList/index.wxml index 87ee41b..7d0d87d 100644 --- a/src/pages/chatRoomList/index.wxml +++ b/src/pages/chatRoomList/index.wxml @@ -143,7 +143,7 @@ ID:{{item.caseNo}} 已归档 - {{item.createTime}} + {{item.createTime || ''}} @@ -161,7 +161,7 @@ {{item.cityName}}{{item.countyName?'/':''}}{{item.countyName}} - {{item.msgContent}} + {{item.msgContent || ''}}