Browse Source

1.6接口联调

dev
kola-web 2 months ago
parent
commit
7b4068fe23
  1. 14
      README.md
  2. 14
      src/echart/components/doctorLevel3/index.scss
  3. 13
      src/echart/components/doctorLevel3/index.ts
  4. 28
      src/echart/components/doctorLevel3/index.wxml
  5. 14
      src/echart/components/doctorLevel4/index.scss
  6. 14
      src/echart/components/doctorLevel4/index.ts
  7. 30
      src/echart/components/doctorLevel4/index.wxml
  8. 8
      src/echart/components/homeLevel1/index.scss
  9. 48
      src/echart/components/homeLevel1/index.ts
  10. 14
      src/echart/components/homeLevel1/index.wxml
  11. 13
      src/echart/components/homeLevel2/index.ts
  12. 8
      src/echart/components/homeLevel2/index.wxml
  13. BIN
      src/images/guide-close.png
  14. BIN
      src/images/guide1-1.png
  15. BIN
      src/images/guide1-2.png
  16. BIN
      src/images/guide1-3.png
  17. BIN
      src/images/guide1-4.png
  18. 3
      src/module1/pages/applicationRecords/index.json
  19. 2
      src/module1/pages/applicationRecords/index.scss
  20. 31
      src/module1/pages/applicationRecords/index.ts
  21. 70
      src/module1/pages/applicationRecords/index.wxml
  22. 4
      src/module1/pages/auditDoctorDetail/index.wxml
  23. 3
      src/module1/pages/auditDoctorList/index.wxml
  24. 14
      src/module1/pages/chatRoom/index.ts
  25. 2
      src/module1/pages/chatRoom/index.wxml
  26. 27
      src/module1/pages/setApplicationDoctor/index.ts
  27. 2
      src/module1/pages/setApplicationDoctorResult/index.ts
  28. 4
      src/module1/pages/setApplicationDoctorResult/index.wxml

14
README.md

@ -34,3 +34,17 @@ wx.showModal({
病历详情页 /module1/pages/casesDetail/index?id=病例id 病历详情页 /module1/pages/casesDetail/index?id=病例id
病历编辑页面 /module1/pages/entryCases/index?id=病例id 病历编辑页面 /module1/pages/entryCases/index?id=病例id
聊天室互动页 /module1/pages/chatRoom/index?id=聊天室id 聊天室互动页 /module1/pages/chatRoom/index?id=聊天室id
v1.6
1、申请绑定邀约需求;
2、小红点需求;
一级医生:待处理病病历;聊天室消息;
核心医生:待处理病历,病历更新,聊天室消息,医生待审核;
三级医生:待处理病历,病历更新,聊天室消息,医生待审核;
3、聊天室左上角图片+新增;
4、新手引导图;
5、超级医生首页,新增病历更新项;逻辑与三级医生首页逻辑一致;
6、合作的医生卡片点击区域有问题;
7、隐私协议内容更新;
8、聊天室有最新消息时,增加push通知,我记得咱们当时有一个6个小时内的不重复发送。不知道这个push是否增加了。

14
src/echart/components/doctorLevel3/index.scss

@ -135,6 +135,20 @@
font-size: 56rpx; font-size: 56rpx;
color: #fff; color: #fff;
line-height: 56rpx; 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 { .line {

13
src/echart/components/doctorLevel3/index.ts

@ -20,6 +20,7 @@ Component({
take: {}, take: {},
case: {} as any, case: {} as any,
doctorCount: {}, doctorCount: {},
tips: {},
}, },
lifetimes: { lifetimes: {
@ -27,6 +28,7 @@ Component({
this.getTake(); this.getTake();
this.getCase(); this.getCase();
this.getManageDoctor(); this.getManageDoctor();
this.getTips();
}, },
}, },
/** /**
@ -76,6 +78,17 @@ Component({
const { index } = e.currentTarget.dataset; const { index } = e.currentTarget.dataset;
this.triggerEvent("question", index); this.triggerEvent("question", index);
}, },
getTips() {
wx.ajax({
method: "GET",
url: "?r=takeda/doctor/get-tips",
data: {},
}).then((res) => {
this.setData({
tips: res,
});
});
},
}, },
}); });

28
src/echart/components/doctorLevel3/index.wxml

@ -42,19 +42,39 @@
<view class="b-container"> <view class="b-container">
<view class="item"> <view class="item">
<view class="name">待处理病历</view> <view class="name">待处理病历</view>
<view class="num">{{take.dealCaseCount*1 || '--'}}</view> <view class="num">
<view class="num-center">
{{take.dealCaseCount*1 || '--'}}
<view class="dot" wx:if="{{tips.tipDealCase===1}}"></view>
</view>
</view>
</view> </view>
<view class="item"> <view class="item">
<view class="name">病历更新</view> <view class="name">病历更新</view>
<view class="num">{{take.notReadFeedBackCount*1 || '--'}}</view> <view class="num">
<view class="num-center">
{{take.notReadFeedBackCount*1 || '--'}}
<view class="dot" wx:if="{{tips.tipCaseUpdate===1}}"></view>
</view>
</view>
</view> </view>
<view class="item"> <view class="item">
<view class="name">学习窗消息</view> <view class="name">学习窗消息</view>
<view class="num">{{take.notReadChatRoomCount*1 || '--'}}</view> <view class="num">
<view class="num-center">
{{take.notReadChatRoomCount*1 || '--'}}
<view class="dot" wx:if="{{tips.tipChatRoom===1}}"></view>
</view>
</view>
</view> </view>
<view class="item"> <view class="item">
<view class="name">医生待审核</view> <view class="name">医生待审核</view>
<view class="num">{{take.toAuditDoctorCount*1 || '--'}}</view> <view class="num">
<view class="num-center">
{{take.toAuditDoctorCount*1 || '--'}}
<view class="dot" wx:if="{{tips.tipDoctorWaitAudit===1}}"></view>
</view>
</view>
</view> </view>
</view> </view>
</view> </view>

14
src/echart/components/doctorLevel4/index.scss

@ -134,6 +134,20 @@
font-size: 56rpx; font-size: 56rpx;
color: #fff; color: #fff;
line-height: 56rpx; 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 { .line {

14
src/echart/components/doctorLevel4/index.ts

@ -28,6 +28,8 @@ Component({
DepartmentName: "", DepartmentName: "",
newCaseShow: false, newCaseShow: false,
tips: {},
}, },
lifetimes: { lifetimes: {
@ -41,6 +43,7 @@ Component({
this.getTake(); this.getTake();
this.getCase(); this.getCase();
this.getManageDoctor(); this.getManageDoctor();
this.getTips();
}, },
}, },
/** /**
@ -109,6 +112,17 @@ Component({
newCaseShow: false, newCaseShow: false,
}); });
}, },
getTips() {
wx.ajax({
method: "GET",
url: "?r=takeda/doctor/get-tips",
data: {},
}).then((res) => {
this.setData({
tips: res,
});
});
},
}, },
}); });

30
src/echart/components/doctorLevel4/index.wxml

@ -37,15 +37,39 @@
<view class="b-container"> <view class="b-container">
<view class="item"> <view class="item">
<view class="name">待处理病历</view> <view class="name">待处理病历</view>
<view class="num">{{take.dealCaseCount*1 || '--'}}</view> <view class="num">
<view class="num-center">
{{take.dealCaseCount*1 || '--'}}
<view class="dot" wx:if="{{tips.tipDealCase===1}}"></view>
</view>
</view>
</view>
<view class="item">
<view class="name">病历更新</view>
<view class="num">
<view class="num-center">
{{take.notReadFeedBackCount*1 || '--'}}
<view class="dot" wx:if="{{tips.tipCaseUpdate===1}}"></view>
</view>
</view>
</view> </view>
<view class="item"> <view class="item">
<view class="name">学习窗消息</view> <view class="name">学习窗消息</view>
<view class="num">{{take.notReadChatRoomCount*1 || '--'}}</view> <view class="num">
<view class="num-center">
{{take.notReadChatRoomCount*1 || '--'}}
<view class="dot" wx:if="{{tips.tipChatRoom===1}}"></view>
</view>
</view>
</view> </view>
<view class="item"> <view class="item">
<view class="name">医生待审核</view> <view class="name">医生待审核</view>
<view class="num">{{take.toAuditDoctorCount*1 || '--'}}</view> <view class="num">
<view class="num-center">
{{take.toAuditDoctorCount*1 || '--'}}
<view class="dot" wx:if="{{tips.tipDoctorWaitAudit===1}}"></view>
</view>
</view>
</view> </view>
</view> </view>
</view> </view>

8
src/echart/components/homeLevel1/index.scss

@ -431,6 +431,14 @@
opacity: 0; opacity: 0;
display: block; display: block;
} }
.close {
position: absolute;
left: 50%;
transform: translateX(-50%);
z-index: 1;
width: 64rpx;
height: 64rpx;
}
.show { .show {
opacity: 1; opacity: 1;
} }

48
src/echart/components/homeLevel1/index.ts

@ -22,9 +22,17 @@ Component({
case: {}, case: {},
cooperateList: [], cooperateList: [],
tips: {
tipDealCase: 2, //是否待处理病历提醒,1-是,2-否
tipCaseUpdate: 2, //是否病历更新提醒,1-是,2-否
tipChatRoom: 2, //是否聊天室消息提醒,1-是,2-否
tipDoctorWaitAudit: 2, //是否待审核医生提醒,1-是,2-否
tipDoctorAudit: 2, //是否审核提醒,1-是,2-否
},
guide: 0, guide: 0,
guideShow: false, guideShow: false,
guideList: ["2-1", "2-2", "2-3"], guideList: ["1-1", "1-2", "1-3"],
}, },
lifetimes: { lifetimes: {
@ -32,6 +40,8 @@ Component({
this.getTake(); this.getTake();
this.getCase(); this.getCase();
this.getCooperate(); this.getCooperate();
this.getTips();
this.getGuide();
}, },
}, },
/** /**
@ -135,19 +145,53 @@ Component({
}); });
}, },
getTips() {
wx.ajax({
method: "GET",
url: "?r=takeda/doctor/get-tips",
data: {},
}).then((res) => {
this.setData({
tips: res,
});
});
},
touchmovePreview() { touchmovePreview() {
return false; return false;
}, },
handleTapPreview() { handleTapPreview() {
if (this.data.guide == this.data.guideList.length - 1) { if (this.data.guide === this.data.guideList.length - 1) {
this.setData({ this.setData({
guideShow: false, guideShow: false,
}); });
this.handleGuideClose();
} }
this.setData({ this.setData({
guide: Number(this.data.guide) + 1, guide: Number(this.data.guide) + 1,
}); });
}, },
getGuide() {
wx.ajax({
method: "GET",
url: "?r=takeda/account/get-guide",
data: {},
}).then((res) => {
this.setData({
guideShow: res.tipStatus === 2,
// guideShow: true,
});
});
},
handleGuideClose() {
this.setData({
guideShow: false,
});
wx.ajax({
method: "POST",
url: "?r=takeda/account/close-guide",
data: {},
});
},
}, },
}); });

14
src/echart/components/homeLevel1/index.wxml

@ -35,7 +35,7 @@
<view class="num"> <view class="num">
<view class="num-center"> <view class="num-center">
{{take.notReadFeedBackCount*1 || '--'}} {{take.notReadFeedBackCount*1 || '--'}}
<view class="dot" wx:if="{{take.notReadFeedBackCount*1}}"></view> <view class="dot" wx:if="{{tips.tipCaseUpdate===1}}"></view>
</view> </view>
</view> </view>
</view> </view>
@ -45,7 +45,7 @@
<view class="num"> <view class="num">
<view class="num-center"> <view class="num-center">
{{take.notReadChatRoomCount*1 || '--'}} {{take.notReadChatRoomCount*1 || '--'}}
<view class="dot" wx:if="{{take.notReadChatRoomCount*1}}"></view> <view class="dot" wx:if="{{tips.tipChatRoom===1}}"></view>
</view> </view>
</view> </view>
</view> </view>
@ -119,7 +119,7 @@
<view class="cooperate-options"> <view class="cooperate-options">
<view class="co-item" bind:tap="handleApplication"> <view class="co-item" bind:tap="handleApplication">
<image class="icon" src="{{imageUrl}}cooperate-icon1.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}cooperate-icon1.png?t={{Timestamp}}"></image>
<view class="content dot">申请记录</view> <view class="content {{tips.tipDoctorAudit===1 && 'dot'}}">申请记录</view>
</view> </view>
<view class="co-item" bind:tap="handleApplicationDoctor"> <view class="co-item" bind:tap="handleApplicationDoctor">
<image class="icon" src="{{imageUrl}}cooperate-icon2.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}cooperate-icon2.png?t={{Timestamp}}"></image>
@ -183,8 +183,14 @@
<view wx:if="{{guideShow}}" class="preview" bind:touchmove="touchmovePreview" bind:tap="handleTapPreview"> <view wx:if="{{guideShow}}" class="preview" bind:touchmove="touchmovePreview" bind:tap="handleTapPreview">
<image <image
class="close"
style="top:{{menuButtonInfo.top+60}}px"
src="{{imageUrl}}guide-close.png?t={{Timestamp}}"
catch:tap="handleGuideClose"
></image>
<image
class="img {{index==guide && 'show'}}" class="img {{index==guide && 'show'}}"
src="{{imageUrl}}start-bg.png?t={{Timestamp}}" src="{{imageUrl}}guide{{item}}.png?t={{Timestamp}}"
wx:for="{{guideList}}" wx:for="{{guideList}}"
wx:key="*this" wx:key="*this"
mode="aspectFill" mode="aspectFill"

13
src/echart/components/homeLevel2/index.ts

@ -25,6 +25,7 @@ Component({
cooperateList: [], cooperateList: [],
inviteList: [], inviteList: [],
newCaseShow: false, newCaseShow: false,
tips: {},
}, },
lifetimes: { lifetimes: {
@ -33,6 +34,7 @@ Component({
this.getCase(); this.getCase();
this.getCooperate(); this.getCooperate();
this.getInvite(); this.getInvite();
this.getTips();
}, },
}, },
/** /**
@ -182,6 +184,17 @@ Component({
const { index } = e.currentTarget.dataset; const { index } = e.currentTarget.dataset;
this.selectComponent(`#invite${index}`).handleDetail(); this.selectComponent(`#invite${index}`).handleDetail();
}, },
getTips() {
wx.ajax({
method: "GET",
url: "?r=takeda/doctor/get-tips",
data: {},
}).then((res) => {
this.setData({
tips: res,
});
});
},
}, },
}); });

8
src/echart/components/homeLevel2/index.wxml

@ -49,7 +49,7 @@
<view class="num"> <view class="num">
<view class="num-center"> <view class="num-center">
{{take.dealCaseCount*1 || '--'}} {{take.dealCaseCount*1 || '--'}}
<view class="dot" wx:if="{{take.dealCaseCount*1}}"></view> <view class="dot" wx:if="{{tips.tipDealCase===1}}"></view>
</view> </view>
</view> </view>
</view> </view>
@ -58,7 +58,7 @@
<view class="num"> <view class="num">
<view class="num-center"> <view class="num-center">
{{take.notReadFeedBackCount*1 || '--'}} {{take.notReadFeedBackCount*1 || '--'}}
<view class="dot" wx:if="{{take.notReadFeedBackCount*1}}"></view> <view class="dot" wx:if="{{tips.tipCaseUpdate===1}}"></view>
</view> </view>
</view> </view>
</view> </view>
@ -67,7 +67,7 @@
<view class="num"> <view class="num">
<view class="num-center"> <view class="num-center">
{{take.notReadChatRoomCount*1 || '--'}} {{take.notReadChatRoomCount*1 || '--'}}
<view class="dot" wx:if="{{take.notReadChatRoomCount*1}}"></view> <view class="dot" wx:if="{{tips.tipChatRoom===1}}"></view>
</view> </view>
</view> </view>
</view> </view>
@ -76,7 +76,7 @@
<view class="num"> <view class="num">
<view class="num-center"> <view class="num-center">
{{take.toAuditDoctorCount*1 || '--'}} {{take.toAuditDoctorCount*1 || '--'}}
<view class="dot" wx:if="{{take.toAuditDoctorCount*1}}"></view> <view class="dot" wx:if="{{tips.tipDoctorWaitAudit===1}}"></view>
</view> </view>
</view> </view>
</view> </view>

BIN
src/images/guide-close.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/images/guide1-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 444 KiB

BIN
src/images/guide1-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

BIN
src/images/guide1-3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

BIN
src/images/guide1-4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

3
src/module1/pages/applicationRecords/index.json

@ -3,6 +3,7 @@
"navigationBarTitleText": "医生绑定申请", "navigationBarTitleText": "医生绑定申请",
"usingComponents": { "usingComponents": {
"van-icon": "@vant/weapp/icon/index", "van-icon": "@vant/weapp/icon/index",
"doctorAvatar": "/components/doctorAvatar/index" "doctorAvatar": "/components/doctorAvatar/index",
"pagination": "/components/pagination/index"
} }
} }

2
src/module1/pages/applicationRecords/index.scss

@ -90,7 +90,7 @@ page {
height: 112rpx; height: 112rpx;
} }
.wrap { .wrap {
padding-top: 8rpx; padding-top: 20rpx;
.w-header { .w-header {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;

31
src/module1/pages/applicationRecords/index.ts

@ -5,24 +5,43 @@ Page({
feedbackTimeBegin: "", feedbackTimeBegin: "",
feedbackTimeEnd: "", feedbackTimeEnd: "",
cooperateList: [], list: [],
pagination: {
page: 1,
pages: 1,
count: 1,
},
}, },
onLoad() { onLoad() {
app.waitLogin().then(() => { app.waitLogin().then(() => {
this.getCooperate(); this.getList();
}); });
}, },
getCooperate() { getList(newPage = 1) {
wx.ajax({ wx.ajax({
method: "GET", method: "GET",
url: "?r=takeda/doctor/cooperation-doctor-list", url: "?r=takeda/doctor/apply-list",
data: {}, data: {
page: newPage,
},
}).then((res) => { }).then((res) => {
const list = res.page === 1 ? res.list : [...this.data.list, ...res.list];
this.setData({ this.setData({
cooperateList: res.list, 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);
}
},
}); });
export {}; export {};

70
src/module1/pages/applicationRecords/index.wxml

@ -37,57 +37,77 @@
</view> </view>
</view> </view>
<view class="list"> <view class="list">
<view <view class="doctor" wx:for="{{list}}" wx:key="DoctorId" bind:tap="handleCooperateDetail" data-index="{{index}}">
class="doctor" <image
wx:for="{{cooperateList}}" wx:if="{{item.auditStatus==='0'}}"
wx:key="DoctorId" class="d-status"
bind:tap="handleCooperateDetail" src="{{imageUrl}}application-status1.png?t={{Timestamp}}"
data-index="{{index}}" mode="aspectFit"
> ></image>
<image class="d-status" src="{{imageUrl}}application-status1.png?t={{Timestamp}}" mode="aspectFit"></image> <image
wx:elif="{{item.auditStatus==='1'}}"
class="d-status"
src="{{imageUrl}}application-status2.png?t={{Timestamp}}"
mode="aspectFit"
></image>
<image
wx:elif="{{item.auditStatus==='2'}}"
class="d-status"
src="{{imageUrl}}application-status3.png?t={{Timestamp}}"
mode="aspectFit"
></image>
<view class="d-container"> <view class="d-container">
<doctorAvatar <doctorAvatar
id="cooperate{{index}}" id="cooperate{{index}}"
did="{{item.DoctorId}}" did="{{item.inviteDoctorInfo.doctorId}}"
class="avatar" class="avatar"
src="{{item.DoctorImg}}" src="{{item.inviteDoctorInfo.doctorImg}}"
level="{{item.DoctorLevel}}" level="{{item.inviteDoctorInfo.doctorLevel}}"
></doctorAvatar> ></doctorAvatar>
<view class="wrap"> <view class="wrap">
<view class="w-header"> <view class="w-header">
<view class="name">{{item.DoctorName}}</view> <view class="name">{{item.inviteDoctorInfo.doctorName}}</view>
<view class="label" wx:if="{{item.TitleType===99}}">{{item.DoctorOtherTitle}}</view> <view class="label" wx:if="{{item.inviteDoctorInfo.doctorOtherTitle}}">
<view class="label" wx:else>{{DoctorTitleType[item.DoctorTitleType]}}</view> {{item.inviteDoctorInfo.doctorOtherTitle}}
<block wx:for="{{item.department}}" wx:key="DepartmentId"> </view>
<view class="label" wx:else>{{item.inviteDoctorInfo.doctorTitleName}}</view>
<block wx:for="{{item.inviteDoctorInfo.doctorDept}}" wx:key="DepartmentId">
<view class="line"></view> <view class="line"></view>
<view class="label">{{item.DepartmentName}}</view> <view class="label">{{item.DepartmentName}}</view>
</block> </block>
</view> </view>
<view class="w-container"> <view class="w-container">
<text class="hostipal">{{item.HospitalName}}</text> <text class="hostipal">{{item.inviteDoctorInfo.hospitalName}}</text>
<view class="tag"> <view class="tag">
{{hospitalClassification[item.HospitalClassification]}}{{hospitalLevel[item.HospitalLevel]}} {{item.inviteDoctorInfo.hospitalClassificationName}}{{item.inviteDoctorInfo.hospitalLevelName}}
</view> </view>
<view class="site" wx:if="{{item.CityName}}"> <view class="site" wx:if="{{item.inviteDoctorInfo.cityName}}">
{{item.CityName}}{{item.CountyName?'/':''}}{{item.CountyName}} {{item.inviteDoctorInfo.cityName}}{{item.inviteDoctorInfo.countyName?'/':''}}{{item.inviteDoctorInfo.countyName}}
</view> </view>
</view> </view>
<view class="w-footer" wx:if="{{item.specialty.length}}"> <view class="w-footer" wx:if="{{item.inviteDoctorInfo.doctorSpecialty.length}}">
<image class="wf-label" src="{{imageUrl}}text-specialty.png?t={{Timestamp}}" mode="aspectFit"></image> <image class="wf-label" src="{{imageUrl}}text-specialty.png?t={{Timestamp}}" mode="aspectFit"></image>
<view class="wf-tag" wx:for="{{item.specialty}}" wx:key="SpecialtyId">{{item.SpecialtyName}}</view> <view class="wf-tag" wx:for="{{item.inviteDoctorInfo.doctorSpecialty}}" wx:key="SpecialtyId">
{{item.SpecialtyName}}
</view>
</view> </view>
</view> </view>
</view> </view>
<view class="d-footer"> <view class="d-footer">
<view class="row"> <view class="row" wx:if="{{item.auditStatus==='0'}}">
<view class="label">提交时间</view>
<view class="content">{{item.createTime}}</view>
</view>
<view class="row" wx:if="{{item.auditStatus!=='0'}}">
<view class="label">审核日期</view> <view class="label">审核日期</view>
<view class="content">2024-12-12</view> <view class="content">{{item.auditTime}}</view>
</view> </view>
<view class="row"> <view class="row" wx:if="{{item.auditStatus==='2'}}">
<view class="label">驳回原因</view> <view class="label">驳回原因</view>
<view class="content">这是一段驳回原因的文案,可能有俩行字</view> <view class="content">{{item.rejectReason}}</view>
</view> </view>
</view> </view>
</view> </view>
<pagination pagination="{{pagination}}"></pagination>
</view> </view>
</view> </view>

4
src/module1/pages/auditDoctorDetail/index.wxml

@ -2,11 +2,11 @@
<view class="card"> <view class="card">
<view class="row"> <view class="row">
<view class="label">申请类型</view> <view class="label">申请类型</view>
<view class="content">新注册医生</view> <view class="content">{{detail.ApplyTypeName}}</view>
</view> </view>
<view class="row"> <view class="row">
<view class="label">医生身份</view> <view class="label">医生身份</view>
<view class="content">一级医生</view> <view class="content">{{detail.doctorLevelName}}</view>
</view> </view>
<view class="row"> <view class="row">
<view class="label">提交人</view> <view class="label">提交人</view>

3
src/module1/pages/auditDoctorList/index.wxml

@ -12,8 +12,7 @@
<view class="label" wx:if="{{item.TitleType==='99'}}">{{item.OtherTitle}}</view> <view class="label" wx:if="{{item.TitleType==='99'}}">{{item.OtherTitle}}</view>
<view class="label" wx:else>{{DoctorTitleType[item.TitleType]}}</view> <view class="label" wx:else>{{DoctorTitleType[item.TitleType]}}</view>
</view> </view>
<view class="type">注册申请</view> <view class="type">{{item.ApplyTypeName}}</view>
<!-- <view class="type">绑定申请</view> -->
</view> </view>
<view class="w-footer"> <view class="w-footer">
<view class="content">{{item.HospitalName}}</view> <view class="content">{{item.HospitalName}}</view>

14
src/module1/pages/chatRoom/index.ts

@ -52,6 +52,8 @@ Page({
protocol: `<p><span style="color: rgb(38, 38, 38); font-size: 14px;">罕心守护平台向用户提供了“学习窗”功能,基于此服务,我们在此特别声明:</span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;">罕心守护平台非常重视您的个人信息保护及平台信息的隐私性,您同意在学习窗功能使用时遵守以下规则:</span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;"> </span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;">1.严禁在学习窗内讨论或分享任何患者的个人身份信息,包括但不限于姓名、性别等。群内发送的任何素材内容,必须去除所有可能识别患者身份的敏感信息;</span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;">2.不以截图、录音或以任何形式将内容传播;</span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;">3.讨论内容仅限于专业交流,不得用于任何商业目的; </span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;">4.保持讨论的专业性和尊重性,避免使用侮辱性或攻击性语言。</span></p><p><br></p>`, protocol: `<p><span style="color: rgb(38, 38, 38); font-size: 14px;">罕心守护平台向用户提供了“学习窗”功能,基于此服务,我们在此特别声明:</span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;">罕心守护平台非常重视您的个人信息保护及平台信息的隐私性,您同意在学习窗功能使用时遵守以下规则:</span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;"> </span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;">1.严禁在学习窗内讨论或分享任何患者的个人身份信息,包括但不限于姓名、性别等。群内发送的任何素材内容,必须去除所有可能识别患者身份的敏感信息;</span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;">2.不以截图、录音或以任何形式将内容传播;</span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;">3.讨论内容仅限于专业交流,不得用于任何商业目的; </span></p><p><span style="color: rgb(38, 38, 38); font-size: 14px;">4.保持讨论的专业性和尊重性,避免使用侮辱性或攻击性语言。</span></p><p><br></p>`,
record: true, record: true,
canInvite: false,
}, },
innerAudioContext: null as WechatMiniprogram.InnerAudioContext | null, innerAudioContext: null as WechatMiniprogram.InnerAudioContext | null,
videoContext: null as WechatMiniprogram.VideoContext | null, videoContext: null as WechatMiniprogram.VideoContext | null,
@ -82,6 +84,17 @@ Page({
this.getMessageList(); this.getMessageList();
this.getDetail(); this.getDetail();
}, },
getInvite() {
wx.ajax({
method: "GET",
url: "?r=takeda/chat/get-invite-doctor-list",
data: { count: 1, caseId: this.data.case.caseId },
}).then((res) => {
this.setData({
canInvite: res.canInvite === 1,
});
});
},
getAgree() { getAgree() {
wx.ajax({ wx.ajax({
method: "GET", method: "GET",
@ -129,6 +142,7 @@ Page({
wx.setNavigationBarTitle({ wx.setNavigationBarTitle({
title: `学习窗(${res.roomDoctorCount})`, title: `学习窗(${res.roomDoctorCount})`,
}); });
this.getInvite();
this.WebIMLogin(); this.WebIMLogin();
}); });

2
src/module1/pages/chatRoom/index.wxml

@ -11,7 +11,7 @@
src="{{item.doctorImg}}" src="{{item.doctorImg}}"
></image> ></image>
<view class="sealed" wx:if="{{case.caseStatus==='4'}}">已归档</view> <view class="sealed" wx:if="{{case.caseStatus==='4'}}">已归档</view>
<image class="chat-add" src="{{imageUrl}}chat-add.png?t={{Timestamp}}"></image> <image class="chat-add" wx:if="{{canInvite}}" src="{{imageUrl}}chat-add.png?t={{Timestamp}}"></image>
</view> </view>
</view> </view>
<view class="inner" bind:tap="handleCaseDetail"> <view class="inner" bind:tap="handleCaseDetail">

27
src/module1/pages/setApplicationDoctor/index.ts

@ -39,10 +39,6 @@ Page({
DoctorId: "", DoctorId: "",
params: {},
caseId: "",
show: false, show: false,
}, },
onLoad(options) { onLoad(options) {
@ -52,13 +48,6 @@ Page({
HospitalName: options.hname, HospitalName: options.hname,
}); });
} }
const eventChannel = this.getOpenerEventChannel();
eventChannel.on("acceptDataFromOpenerPage", (data) => {
this.setData({
params: data.params,
caseId: data.caseId,
});
});
app.waitLogin().then(() => { app.waitLogin().then(() => {
this.getList(); this.getList();
this.getDoctorDict(); this.getDoctorDict();
@ -131,7 +120,7 @@ Page({
const { search, hospitalId, provinceId, cityId, countyId, specialtyId } = this.data; const { search, hospitalId, provinceId, cityId, countyId, specialtyId } = this.data;
wx.ajax({ wx.ajax({
method: "GET", method: "GET",
url: "?r=takeda/case/get-invite-doctor-list", url: "?r=takeda/doctor/get-can-invite-doctor-list",
data: { data: {
search, search,
hospitalId, hospitalId,
@ -242,7 +231,7 @@ Page({
}); });
}, },
handleSubmit() { handleSubmit() {
const { caseId, DoctorId, params } = this.data; const { DoctorId } = this.data;
if (!DoctorId) { if (!DoctorId) {
wx.showToast({ wx.showToast({
title: "请选择医生", title: "请选择医生",
@ -251,19 +240,15 @@ Page({
return; return;
} }
const url = caseId ? "?r=takeda/case/save-case" : "?r=takeda/case/create-case";
wx.ajax({ wx.ajax({
method: "POST", method: "POST",
url, url: "?r=takeda/doctor/apply-binding",
data: { data: {
...params, inviteDoctorId: DoctorId,
caseId,
isSubmit: 1,
dealDoctorId: DoctorId,
}, },
}).then((res) => { }).then((res) => {
wx.reLaunch({ wx.redirectTo({
url: `/module1/pages/setApplicationDoctorResult/index?isf=${res.isSubscribe}&wxi=${encodeURIComponent(res.wxImg)}&cid=${res.caseId || caseId}`, url: `/module1/pages/setApplicationDoctorResult/index?isf=${res.isFollow}&name=${res.InviteDoctorName}`,
}); });
}); });
}, },

2
src/module1/pages/setApplicationDoctorResult/index.ts

@ -3,6 +3,7 @@ const app = getApp<IAppOption>();
Page({ Page({
data: { data: {
isf: 0, isf: 0,
name: "",
codeUrl: "", codeUrl: "",
}, },
onLoad(options) { onLoad(options) {
@ -10,6 +11,7 @@ Page({
this.getCodeUrl(); this.getCodeUrl();
this.setData({ this.setData({
isf: Number(options.isf), isf: Number(options.isf),
name: options.name,
}); });
}); });
}, },

4
src/module1/pages/setApplicationDoctorResult/index.wxml

@ -15,9 +15,9 @@
<image class="result" src="{{imageUrl}}c-doctor-result.png?t={{Timestamp}}"></image> <image class="result" src="{{imageUrl}}c-doctor-result.png?t={{Timestamp}}"></image>
<view class="title">提交成功</view> <view class="title">提交成功</view>
<view class="notice"> <view class="notice">
<view wx:if="{{InviteDoctorName}}"> <view wx:if="{{name}}">
已将信息提交给 已将信息提交给
<text class="link">{{InviteDoctorName}}医生</text> <text class="link">{{name}}医生</text>
</view> </view>
审核通过后,您可绑定成功 审核通过后,您可绑定成功
</view> </view>

Loading…
Cancel
Save