Browse Source

update

main
kola-web 4 months ago
parent
commit
2953e68b4d
  1. 7
      project.private.config.json
  2. 7
      src/components/customAudioBar/index.ts
  3. 2
      src/components/popupDoctorDetail/index.scss
  4. BIN
      src/images/defaultAvatar.png
  5. 62
      src/module1/pages/casesDetail/index.scss
  6. 15
      src/module1/pages/casesDetail/index.ts
  7. 33
      src/module1/pages/casesDetail/index.wxml
  8. 30
      src/module1/pages/casesFeedback/index.ts
  9. 12
      src/module1/pages/casesFeedback/index.wxml
  10. 6
      src/module1/pages/chatRoom/index.ts
  11. 2
      src/module1/pages/chatRoomInfo/index.ts
  12. 9
      src/module1/pages/entryCases/index.ts
  13. 2
      src/module1/pages/entryCases/index.wxml
  14. 2
      src/module1/pages/entryCasesResult/index.json
  15. 6
      src/module1/pages/entryCasesResult/index.scss
  16. 6
      src/module1/pages/entryCasesResult/index.ts
  17. 3
      src/module1/pages/entryCasesResult/index.wxml
  18. 5
      src/module1/pages/login/index.ts
  19. 2
      src/module1/pages/login/index.wxml
  20. 4
      src/module1/pages/setCaseDoctor/index.ts
  21. 1
      src/module1/pages/setChatDoctor/index.ts
  22. 13
      src/module1/pages/setInfo/index.scss
  23. 7
      src/module1/pages/setInfo/index.ts
  24. 14
      src/module1/pages/setInfo/index.wxml
  25. 9
      src/pages/cases/index.scss
  26. 21
      src/pages/cases/index.ts
  27. 27
      src/pages/cases/index.wxml
  28. 3
      src/pages/chatRoomList/index.scss
  29. 11
      src/pages/chatRoomList/index.ts
  30. 4
      src/pages/chatRoomList/index.wxml

7
project.private.config.json

@ -16,13 +16,6 @@
"scene": null "scene": null
}, },
{ {
"name": "module1/pages/setChatDoctor/index",
"pathName": "module1/pages/setChatDoctor/index",
"query": "cid=39&create=1",
"launchMode": "default",
"scene": null
},
{
"name": "病历详情", "name": "病历详情",
"pathName": "module1/pages/casesDetail/index", "pathName": "module1/pages/casesDetail/index",
"query": "id=25", "query": "id=25",

7
src/components/customAudioBar/index.ts

@ -31,6 +31,13 @@ Component({
innerAudioContext: wx.createInnerAudioContext(), innerAudioContext: wx.createInnerAudioContext(),
}); });
}, },
detached() {
if (this.data.innerAudioContext) {
this.data.innerAudioContext?.stop();
this.data.innerAudioContext.destroy()
}
},
}, },
/** /**

2
src/components/popupDoctorDetail/index.scss

@ -1,7 +1,6 @@
.doctor-detail { .doctor-detail {
padding: 48rpx 32rpx; padding: 48rpx 32rpx;
width: 662rpx; width: 662rpx;
height: 874rpx;
background: #ffffff; background: #ffffff;
box-sizing: border-box; box-sizing: border-box;
border-radius: 16rpx 16rpx 16rpx 16rpx; border-radius: 16rpx 16rpx 16rpx 16rpx;
@ -54,6 +53,7 @@
display: flex; display: flex;
border-bottom: 1px solid rgba(224, 224, 224, 0.5); border-bottom: 1px solid rgba(224, 224, 224, 0.5);
line-height: 32rpx; line-height: 32rpx;
align-items: baseline;
.label { .label {
padding-right: 1em; padding-right: 1em;
flex-shrink: 0; flex-shrink: 0;

BIN
src/images/defaultAvatar.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

62
src/module1/pages/casesDetail/index.scss

@ -124,6 +124,7 @@ page {
gap: 24rpx; gap: 24rpx;
align-items: center; align-items: center;
.avatar { .avatar {
flex-shrink: 0;
width: 112rpx; width: 112rpx;
height: 112rpx; height: 112rpx;
} }
@ -239,12 +240,15 @@ page {
} }
.r-content { .r-content {
margin-top: 24rpx; margin-top: 24rpx;
padding: 32rpx; border: 32rpx solid #fff;
font-size: 28rpx; font-size: 28rpx;
color: rgba(133, 133, 133, 1); color: rgba(133, 133, 133, 1);
line-height: 50rpx; line-height: 50rpx;
border-radius: 16rpx; border-radius: 16rpx;
background-color: #fff; background-color: #fff;
white-space: pre-line;
max-height: 400rpx;
overflow-y: auto;
} }
} }
.audio-list { .audio-list {
@ -453,8 +457,8 @@ page {
padding: 16rpx 32rpx; padding: 16rpx 32rpx;
display: flex; display: flex;
gap: 24rpx; gap: 24rpx;
align-items: center;
.avatar { .avatar {
flex-shrink: 0;
width: 112rpx; width: 112rpx;
height: 112rpx; height: 112rpx;
} }
@ -498,6 +502,25 @@ page {
border-radius: 4rpx; border-radius: 4rpx;
background-color: rgba(250, 229, 206, 1); background-color: rgba(250, 229, 206, 1);
} }
.specialty{
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);
}
}
} }
} }
} }
@ -535,12 +558,15 @@ page {
} }
.r-content { .r-content {
margin-top: 24rpx; margin-top: 24rpx;
padding: 32rpx; border: 32rpx solid #fff;
font-size: 28rpx; font-size: 28rpx;
color: rgba(133, 133, 133, 1); color: rgba(133, 133, 133, 1);
line-height: 50rpx; line-height: 50rpx;
border-radius: 16rpx; border-radius: 16rpx;
background-color: #fff; background-color: #fff;
white-space: pre-line;
max-height: 400rpx;
overflow-y: auto;
} }
} }
.audio-list { .audio-list {
@ -760,11 +786,11 @@ page {
.name { .name {
font-size: 24rpx; font-size: 24rpx;
color: rgba(153, 153, 153, 1); color: rgba(153, 153, 153, 1);
white-space: nowrap;
} }
.tip { .tip {
position: absolute; position: fixed;
top: -25rpx; transform: translate(-50%, -110%);
transform: translate(-50%, -100%);
left: 50%; left: 50%;
border-radius: 12rpx; border-radius: 12rpx;
width: 686rpx; width: 686rpx;
@ -788,18 +814,18 @@ page {
color: rgba(255, 125, 0, 1); color: rgba(255, 125, 0, 1);
text-align: left; text-align: left;
} }
&::after { // &::after {
position: absolute; // position: absolute;
bottom: -12rpx; // bottom: -12rpx;
left: 50%; // left: 50%;
transform: translateX(-50%); // transform: translateX(-50%);
content: ""; // content: "";
width: 0; // width: 0;
height: 0; // height: 0;
border-style: solid; // border-style: solid;
border-width: 27rpx 27rpx 0 27rpx; // border-width: 27rpx 27rpx 0 27rpx;
border-color: rgba(255, 247, 232, 1) transparent transparent transparent; // border-color: rgba(255, 247, 232, 1) transparent transparent transparent;
} // }
} }
.more { .more {
position: absolute; position: absolute;

15
src/module1/pages/casesDetail/index.ts

@ -45,6 +45,12 @@ Page({
fold: false, fold: false,
}, },
onLoad(options) { onLoad(options) {
if (options.feedback === "1") {
wx.showToast({
icon: "none",
title: "病历反馈成功!",
});
}
this.setData({ this.setData({
id: options.id, id: options.id,
beforeClose1: (e: any) => { beforeClose1: (e: any) => {
@ -103,6 +109,8 @@ Page({
detail: res, detail: res,
dealDoctorInfo: res.dealCaseInfo.dealDoctorInfo, dealDoctorInfo: res.dealCaseInfo.dealDoctorInfo,
dealInfo: res.dealCaseInfo.dealInfo, dealInfo: res.dealCaseInfo.dealInfo,
deptId: res.caseDeptId[0],
labelIds: res.caseLabels.map((item) => item.labelId),
}); });
this.readFeedback(); this.readFeedback();
}); });
@ -198,6 +206,13 @@ Page({
}, },
handleShowLable() { handleShowLable() {
const { deptId, deptList } = this.data;
if (deptId) {
const params = deptList.find((item) => item.value === deptId);
this.setData({
labelList: params.options,
});
}
this.setData({ this.setData({
show7: true, show7: true,
}); });

33
src/module1/pages/casesDetail/index.wxml

@ -105,7 +105,7 @@
</view> </view>
</view> </view>
<view class="feedback-card" wx:for="{{detail.feedbackList}}" wx:key="index"> <view class="feedback-card" wx:for="{{detail.feedbackList}}" wx:key="index">
<view class="li-options"> <view class="li-options" wx:if="{{item.isSelf===1}}">
<image <image
wx:if="{{item.isSelf===1}}" wx:if="{{item.isSelf===1}}"
class="quality" class="quality"
@ -123,7 +123,7 @@
</view> </view>
</view> </view>
<view class="li-row"> <view class="li-row">
<view class="label">提交时间</view> <view class="label">反馈时间</view>
<view class="content">{{item.createTime}}</view> <view class="content">{{item.createTime}}</view>
<view class="fold" bind:tap="handleFeedBackFold" data-index="{{index}}"> <view class="fold" bind:tap="handleFeedBackFold" data-index="{{index}}">
{{item.fold ? '展开' : '收起'}} {{item.fold ? '展开' : '收起'}}
@ -142,13 +142,24 @@
<view class="desc">{{item.createDoctorInfo.doctorTitleName || item.createDoctorInfo.doctorOtherTitle}}</view> <view class="desc">{{item.createDoctorInfo.doctorTitleName || item.createDoctorInfo.doctorOtherTitle}}</view>
</view> </view>
<view class="w-footer"> <view class="w-footer">
<view class="hostipal">{{item.hospitalName}}</view> <view class="hostipal">{{item.createDoctorInfo.hospitalName}}</view>
<view class="tag"> <view class="tag">
{{item.createDoctorInfo.hospitalClassificationName}}{{item.createDoctorInfo.hospitalLevelName}} {{item.createDoctorInfo.hospitalClassificationName}}{{item.createDoctorInfo.hospitalLevelName}}
</view> </view>
<view class="site" wx:if="{{item.createDoctorInfo.cityName}}"> <view class="site" wx:if="{{item.createDoctorInfo.cityName}}">
{{item.createDoctorInfo.cityName}}{{item.createDoctorInfo.countyName?'/':''}}{{item.createDoctorInfo.countyName}} {{item.createDoctorInfo.cityName}}{{item.createDoctorInfo.countyName?'/':''}}{{item.createDoctorInfo.countyName}}
</view> </view>
<view class="specialty">
<image class="wf-label" src="{{imageUrl}}text-specialty.png?t={{Timestamp}}" mode="aspectFit"></image>
<view
class="wf-tag"
wx:for="{{item.createDoctorInfo.doctorSpecialty}}"
wx:for-item="spec"
wx:key="SpecialtyId"
>
{{spec.SpecialtyName}}
</view>
</view>
</view> </view>
</view> </view>
</view> </view>
@ -227,7 +238,9 @@
<view class="w-container"> <view class="w-container">
<text class="hostipal">{{dealDoctorInfo.hospitalName}}</text> <text class="hostipal">{{dealDoctorInfo.hospitalName}}</text>
<view class="tag">{{dealDoctorInfo.hospitalClassificationName}}{{dealDoctorInfo.hospitalLevelName}}</view> <view class="tag">{{dealDoctorInfo.hospitalClassificationName}}{{dealDoctorInfo.hospitalLevelName}}</view>
<view class="site" wx:if="{{dealDoctorInfo.cityName}}">{{dealDoctorInfo.cityName}}{{dealDoctorInfo.countyName?'/':''}}{{dealDoctorInfo.countyName}}</view> <view class="site" wx:if="{{dealDoctorInfo.cityName}}">
{{dealDoctorInfo.cityName}}{{dealDoctorInfo.countyName?'/':''}}{{dealDoctorInfo.countyName}}
</view>
</view> </view>
<view class="w-footer"> <view class="w-footer">
<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>
@ -244,7 +257,11 @@
<image class="icon" src="{{imageUrl}}case-detail-footer-icon3.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}case-detail-footer-icon3.png?t={{Timestamp}}"></image>
<view class="name">更多操作</view> <view class="name">更多操作</view>
<view class="more" wx:if="{{moreShow}}"> <view class="more" wx:if="{{moreShow}}">
<view class="m-item" wx:if="{{auth.canCreateChatRoom && foldAuth.canCreateChatRoom}}" bind:tap="handleCreateRoomShow"> <view
class="m-item"
wx:if="{{auth.canCreateChatRoom && foldAuth.canCreateChatRoom}}"
bind:tap="handleCreateRoomShow"
>
<image class="icon" src="{{imageUrl}}case-detail-footer-icon2.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}case-detail-footer-icon2.png?t={{Timestamp}}"></image>
<view class="name">创建聊天室</view> <view class="name">创建聊天室</view>
</view> </view>
@ -305,7 +322,11 @@
<image class="icon" src="{{imageUrl}}case-detail-footer-icon1.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}case-detail-footer-icon1.png?t={{Timestamp}}"></image>
<view class="name">驳回原因</view> <view class="name">驳回原因</view>
</view> </view>
<view class="w-item" wx:if="{{auth.canCreateChatRoom && !foldAuth.canCreateChatRoom}}" bind:tap="handleCreateRoomShow"> <view
class="w-item"
wx:if="{{auth.canCreateChatRoom && !foldAuth.canCreateChatRoom}}"
bind:tap="handleCreateRoomShow"
>
<image class="icon" src="{{imageUrl}}case-detail-footer-icon2.png?t={{Timestamp}}"></image> <image class="icon" src="{{imageUrl}}case-detail-footer-icon2.png?t={{Timestamp}}"></image>
<view class="name">创建聊天室</view> <view class="name">创建聊天室</view>
</view> </view>

30
src/module1/pages/casesFeedback/index.ts

@ -12,6 +12,8 @@ Page({
files: [] as any, files: [] as any,
DoctorLevel: 1, DoctorLevel: 1,
auth: {} as any,
}, },
onLoad(options) { onLoad(options) {
this.setData({ this.setData({
@ -71,10 +73,19 @@ Page({
}); });
}, },
handleDelAudio(e) { handleDelAudio(e) {
wx.showModal({
title: "确认删除?",
confirmColor: "#00B4C5",
cancelColor: "#141515",
success: (res) => {
if (res.confirm) {
const { index } = e.currentTarget.dataset; const { index } = e.currentTarget.dataset;
this.setData({ this.setData({
audios: this.data.audios.filter((_, i) => i !== Number(index)), audios: this.data.audios.filter((_, i) => i !== Number(index)),
}); });
}
},
});
}, },
handleFile(e) { handleFile(e) {
this.setData({ this.setData({
@ -93,10 +104,19 @@ Page({
}); });
}, },
handleDelFile(e) { handleDelFile(e) {
wx.showModal({
title: "确认删除?",
confirmColor: "#00B4C5",
cancelColor: "#141515",
success: (res) => {
if (res.confirm) {
const { index } = e.currentTarget.dataset; const { index } = e.currentTarget.dataset;
this.setData({ this.setData({
files: this.data.files.filter((_, i) => i !== Number(index)), files: this.data.files.filter((_, i) => i !== Number(index)),
}); });
}
},
});
}, },
handlePreviewFile(e) { handlePreviewFile(e) {
const { index } = e.currentTarget.dataset; const { index } = e.currentTarget.dataset;
@ -162,7 +182,7 @@ Page({
}); });
}, },
handleSave() { handleSave() {
const { images, audios, files, info } = this.data; const { images, audios, files, info, auth } = this.data;
if (images.length === 0 && audios.length === 0 && files.length === 0 && !info) { if (images.length === 0 && audios.length === 0 && files.length === 0 && !info) {
wx.showToast({ wx.showToast({
title: "请填写或上传反馈信息", title: "请填写或上传反馈信息",
@ -170,9 +190,13 @@ Page({
}); });
return; return;
} }
if (!auth.canFeedbackInvite && !auth.canFeedbackOpen) {
this.handleSubmit();
} else {
this.setData({ this.setData({
show1: true, show1: true,
}); });
}
}, },
handleBack() { handleBack() {
wx.navigateBack(); wx.navigateBack();
@ -190,7 +214,9 @@ Page({
isOpen, isOpen,
}, },
}).then(() => { }).then(() => {
wx.navigateBack(); wx.redirectTo({
url: `/module1/pages/casesDetail/index?id=${caseId}&feedback=1`,
});
}); });
}, },
handleInvite() { handleInvite() {

12
src/module1/pages/casesFeedback/index.wxml

@ -34,7 +34,7 @@
<view class="card"> <view class="card">
<view class="card-title"> <view class="card-title">
上传图片建议 上传图片建议
<text class="limit">(0/9)</text> <text class="limit">({{images.length}}/9)</text>
</view> </view>
<view class="image-files"> <view class="image-files">
<view class="photo" wx:for="{{images}}" wx:key="index"> <view class="photo" wx:for="{{images}}" wx:key="index">
@ -80,12 +80,6 @@
data-index="{{index}}" data-index="{{index}}"
src="{{imageUrl}}icon-eye.png?t={{Timestamp}}" src="{{imageUrl}}icon-eye.png?t={{Timestamp}}"
></image> ></image>
<image
bind:tap="handleDownloadFile"
data-index="{{index}}"
class="icon"
src="{{imageUrl}}icon-download.png?t={{Timestamp}}"
></image>
</view> </view>
</view> </view>
</view> </view>
@ -104,8 +98,8 @@
<view class="popup1"> <view class="popup1">
<view class="title">确认提交您的反馈信息</view> <view class="title">确认提交您的反馈信息</view>
<view class="btn1" bind:tap="handleSubmit">直接提交我的反馈信息</view> <view class="btn1" bind:tap="handleSubmit">直接提交我的反馈信息</view>
<view class="btn2" bind:tap="handleInvite" wx:if="{{res.canFeedbackInvite}}">提交并邀约质控医生</view> <view class="btn2" bind:tap="handleInvite" wx:if="{{auth.canFeedbackInvite}}">提交并邀约质控医生</view>
<view class="public"> <view class="public" wx:if="{{auth.canFeedbackOpen}}">
<radio class="radio" checked="{{isOpen===1}}" bind:tap="handleTogleOpen"> <radio class="radio" checked="{{isOpen===1}}" bind:tap="handleTogleOpen">
病历公开(选择公开后,本科室医生均查看病历) 病历公开(选择公开后,本科室医生均查看病历)
</radio> </radio>

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

@ -131,9 +131,12 @@ Page({
}, },
handleView(index = -1) { handleView(index = -1) {
const time = setTimeout(() => {
this.setData({ this.setData({
scrollIntoView: index > -1 ? `view${index}` : `place`, scrollIntoView: index > -1 ? `view${index}` : `place`,
}); });
clearTimeout(time);
}, 300);
}, },
getMessageList() { getMessageList() {
if (this.data.isLoad || this.data.isFinish) return; if (this.data.isLoad || this.data.isFinish) return;
@ -289,6 +292,7 @@ Page({
msg: message.content, msg: message.content,
to: chatGroupInfo.ChatGroupId, to: chatGroupInfo.ChatGroupId,
chatType: "groupChat", chatType: "groupChat",
deliverOnlineOnly: "true",
ext: { ext: {
...message, ...message,
}, },
@ -381,9 +385,7 @@ Page({
fold: !this.data.fold, fold: !this.data.fold,
}); });
if (!this.data.fold) { if (!this.data.fold) {
setTimeout(() => {
this.handleView(); this.handleView();
}, 300);
} }
}, },
handleAudio(e) { handleAudio(e) {

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

@ -23,7 +23,7 @@ Page({
}, },
handleDoctor() { handleDoctor() {
wx.navigateTo({ wx.navigateTo({
url: `/module1/pages/setChatDoctor/index?id=${this.data.id}&cid=${this.data.caseId}`, url: `/module1/pages/setChatDoctor/index?rid=${this.data.id}&cid=${this.data.caseId}`,
}); });
}, },
}); });

9
src/module1/pages/entryCases/index.ts

@ -295,7 +295,7 @@ Page({
}, },
handleInvite() { handleInvite() {
const params = this.formatParams(); const params = this.formatParams();
const images = this.data.images; const { deptId, labelIds, images } = this.data;
if (images.length === 0) { if (images.length === 0) {
wx.showToast({ wx.showToast({
title: "请上传病历图片", title: "请上传病历图片",
@ -303,6 +303,13 @@ Page({
}); });
return; return;
} }
if (deptId && !labelIds.length) {
wx.showToast({
title: "请选择标签",
icon: "none",
});
return;
}
wx.navigateTo({ wx.navigateTo({
url: `/module1/pages/setCaseDoctor/index`, url: `/module1/pages/setCaseDoctor/index`,
success: (res) => { success: (res) => {

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

@ -6,7 +6,7 @@
<view class="card"> <view class="card">
<view class="card-title required"> <view class="card-title required">
上传病历图片 上传病历图片
<text class="limit">(0/9)</text> <text class="limit">({{images.length}}/9)</text>
</view> </view>
<view class="image-files"> <view class="image-files">
<view class="photo" wx:for="{{images}}" wx:key="index"> <view class="photo" wx:for="{{images}}" wx:key="index">

2
src/module1/pages/entryCasesResult/index.json

@ -1,5 +1,5 @@
{ {
"navigationBarTitleText": "录入新病历", "navigationBarTitleText": "提交成功",
"navigationStyle": "default", "navigationStyle": "default",
"usingComponents": {} "usingComponents": {}
} }

6
src/module1/pages/entryCasesResult/index.scss

@ -6,6 +6,12 @@
width: 200rpx; width: 200rpx;
height: 200rpx; height: 200rpx;
} }
.title{
font-size: 48rpx;
text-align: center;
font-weight: bold;
color: #141515;
}
.desc { .desc {
margin-top: 16rpx; margin-top: 16rpx;
font-size: 32rpx; font-size: 32rpx;

6
src/module1/pages/entryCasesResult/index.ts

@ -9,9 +9,13 @@ Page({
onLoad(options) { onLoad(options) {
this.setData({ this.setData({
caseId: options.cid, caseId: options.cid,
codeUrl: options.wxi,
isFollow: options.isf, isFollow: options.isf,
}); });
if (options.wxi) {
this.setData({
codeUrl: decodeURIComponent(options.wxi),
});
}
}, },
handleBackCase() { handleBackCase() {
wx.reLaunch({ wx.reLaunch({

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

@ -1,7 +1,8 @@
<view class="page"> <view class="page">
<image class="badge" src="{{imageUrl}}icon-resolve.png?t={{Timestamp}}" mode="scaleToFill"></image> <image class="badge" src="{{imageUrl}}icon-resolve.png?t={{Timestamp}}" mode="scaleToFill"></image>
<view class="title">提交成功</view>
<view class="desc">病历提交后医生将收到消息提醒</view> <view class="desc">病历提交后医生将收到消息提醒</view>
<view class="btn1" bind:tap="handleDetail">查看我提交的病历</view> <view class="btn1" bind:tap="handleDetail">查看病历详情</view>
<view class="btn2" bind:tap="handleBackCase">返回病历列表</view> <view class="btn2" bind:tap="handleBackCase">返回病历列表</view>
<image class="code" src="{{codeUrl}}" mode="scaleToFill" show-menu-by-longpress></image> <image class="code" src="{{codeUrl}}" mode="scaleToFill" show-menu-by-longpress></image>
<view class="tip">关注公众号接收病历反馈消息</view> <view class="tip">关注公众号接收病历反馈消息</view>

5
src/module1/pages/login/index.ts

@ -58,10 +58,7 @@ Page({
handleSubmit() { handleSubmit() {
const { mobile, code, protool } = this.data; const { mobile, code, protool } = this.data;
if (!protool) { if (!protool) {
wx.showToast({ this.handleNavProtool()
title: "请先勾选协议",
icon: "none",
});
return; return;
} }
if (!mobile) { if (!mobile) {

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

@ -11,7 +11,7 @@
model:value="{{mobile}}" model:value="{{mobile}}"
class="input" class="input"
placeholder-class="place-input" placeholder-class="place-input"
type="tel" type="number"
placeholder="请输入手机号" placeholder="请输入手机号"
/> />
</view> </view>

4
src/module1/pages/setCaseDoctor/index.ts

@ -262,7 +262,7 @@ Page({
}, },
}).then(() => { }).then(() => {
wx.redirectTo({ wx.redirectTo({
url: `/module1/pages/casesDetail/index?id=${caseId}`, url: `/module1/pages/casesDetail/index?id=${caseId}&feedback=1`,
}); });
}); });
return; return;
@ -272,7 +272,7 @@ Page({
wx.ajax({ method: "POST", url: "?r=takeda/case/invite-doctor", data: { caseId, dealDoctorId: DoctorId } }).then( wx.ajax({ method: "POST", url: "?r=takeda/case/invite-doctor", data: { caseId, dealDoctorId: DoctorId } }).then(
(res) => { (res) => {
wx.navigateTo({ wx.navigateTo({
url: `/module1/pages/entryCasesResult/index?isf=${res.isSubscribe}&wxi=${encodeURIComponent(res.wxImg)}&cid=${res.caseId}`, url: `/module1/pages/entryCasesResult/index?isf=${res.isSubscribe}&wxi=${encodeURIComponent(res.wxImg)}&cid=${res.caseId || caseId}`,
}); });
}, },
); );

1
src/module1/pages/setChatDoctor/index.ts

@ -260,6 +260,7 @@ Page({
caseId, caseId,
roomId, roomId,
inviteDoctorId: DoctorId, inviteDoctorId: DoctorId,
doctorId: DoctorId,
}, },
}).then((res) => { }).then((res) => {
wx.reLaunch({ wx.reLaunch({

13
src/module1/pages/setInfo/index.scss

@ -1,8 +1,4 @@
.page { .reject {
overflow: hidden;
.reject {
position: fixed;
top: 0;
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
padding: 20rpx 32rpx; padding: 20rpx 32rpx;
@ -13,10 +9,13 @@
align-items: center; align-items: center;
gap: 16rpx; gap: 16rpx;
.icon { .icon {
flex-shrink: 0;
width: 32rpx; width: 32rpx;
height: 32rpx; height: 32rpx;
} }
} }
.page {
overflow: hidden;
.container { .container {
margin-top: 244rpx; margin-top: 244rpx;
padding: 32rpx 32rpx 250rpx; padding: 32rpx 32rpx 250rpx;
@ -40,7 +39,7 @@
align-items: top; align-items: top;
border-bottom: 1px solid rgba(224, 224, 224, 0.5); border-bottom: 1px solid rgba(224, 224, 224, 0.5);
line-height: 1; line-height: 1;
&.row-center{ &.row-center {
align-items: center; align-items: center;
} }
.label { .label {

7
src/module1/pages/setInfo/index.ts

@ -79,6 +79,12 @@ Page({
this.setData({ this.setData({
applyHostipalInfo: Array.isArray(res) ? null : res, applyHostipalInfo: Array.isArray(res) ? null : res,
}); });
if (res.AuditStatus === 1) {
this.setData({
HospitalName: res.Name,
HospitalId: res.HospitalId,
});
}
}); });
}, },
getDoctorDict() { getDoctorDict() {
@ -182,6 +188,7 @@ Page({
if (!PositionImg) { if (!PositionImg) {
wx.showToast({ wx.showToast({
title: "请上传任职证书", title: "请上传任职证书",
icon: "none",
}); });
return; return;
} }

14
src/module1/pages/setInfo/index.wxml

@ -1,11 +1,11 @@
<view class="reject" wx:if="{{RejectReason}}">
<image class="icon" src="{{imageUrl}}icon-error.png?t={{Timestamp}}"></image>
审核不通过原因:{{RejectReason}}
</view>
<view <view
class="page" class="page"
style="background: url({{imageUrl}}set-info-bg.png?r={{Timestamp}}) no-repeat top center/100% 356rpx;" style="background: url({{imageUrl}}set-info-bg.png?r={{Timestamp}}) no-repeat top center/100% 356rpx;"
> >
<view class="reject" wx:if="{{RejectReason}}">
<image class="icon" src="{{imageUrl}}icon-error.png?t={{Timestamp}}"></image>
审核不通过原因:{{RejectReason}}
</view>
<view class="container"> <view class="container">
<view class="invite" wx:if="{{inviteName}}">{{inviteName}}医生为您的邀约医生</view> <view class="invite" wx:if="{{inviteName}}">{{inviteName}}医生为您的邀约医生</view>
<view class="invite" wx:else>您没有邀约医生,可能会影响您的审核</view> <view class="invite" wx:else>您没有邀约医生,可能会影响您的审核</view>
@ -78,15 +78,15 @@
</view> </view>
<view class="files"> <view class="files">
<uploadFile class="upload" bind:file="handleFile" data-key="RegisterImg"> <uploadFile class="upload" bind:file="handleFile" data-key="RegisterImg">
<image wx:if="{{RegisterImg}}" class="u-img" src="{{RegisterImg}}"></image> <image wx:if="{{RegisterImg}}" mode="aspectFill" class="u-img" src="{{RegisterImg}}"></image>
<image wx:else class="u-img" src="{{imageUrl}}credentials1.png?t={{Timestamp}}"></image> <image wx:else class="u-img" src="{{imageUrl}}credentials1.png?t={{Timestamp}}"></image>
</uploadFile> </uploadFile>
<uploadFile class="upload" bind:file="handleFile" data-key="QualificationImg"> <uploadFile class="upload" bind:file="handleFile" data-key="QualificationImg">
<image wx:if="{{QualificationImg}}" class="u-img" src="{{QualificationImg}}"></image> <image wx:if="{{QualificationImg}}" mode="aspectFill" class="u-img" src="{{QualificationImg}}"></image>
<image wx:else class="u-img" src="{{imageUrl}}credentials2.png?t={{Timestamp}}"></image> <image wx:else class="u-img" src="{{imageUrl}}credentials2.png?t={{Timestamp}}"></image>
</uploadFile> </uploadFile>
<uploadFile class="upload" bind:file="handleFile" data-key="PositionImg"> <uploadFile class="upload" bind:file="handleFile" data-key="PositionImg">
<image wx:if="{{PositionImg}}" class="u-img" src="{{PositionImg}}"></image> <image wx:if="{{PositionImg}}" mode="aspectFill" class="u-img" src="{{PositionImg}}"></image>
<image wx:else class="u-img" src="{{imageUrl}}credentials3.png?t={{Timestamp}}"></image> <image wx:else class="u-img" src="{{imageUrl}}credentials3.png?t={{Timestamp}}"></image>
</uploadFile> </uploadFile>
</view> </view>

9
src/pages/cases/index.scss

@ -56,7 +56,7 @@ page {
} }
} }
.form { .form {
margin: 32rpx 32rpx; margin: 32rpx 32rpx 0;
display: grid; display: grid;
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
gap: 18rpx 28rpx; gap: 18rpx 28rpx;
@ -287,10 +287,11 @@ page {
font-size: 28rpx; font-size: 28rpx;
color: rgba(20, 21, 21, 1); color: rgba(20, 21, 21, 1);
.line { .line {
margin: 0 6rpx;
color: rgba(205, 205, 205, 1); color: rgba(205, 205, 205, 1);
} }
.new { .new {
margin-right: 12rpx; margin-left: 12rpx;
display: inline-block; display: inline-block;
padding: 0 8rpx; padding: 0 8rpx;
font-size: 24rpx; font-size: 24rpx;
@ -299,6 +300,7 @@ page {
border-radius: 0rpx 8rpx 0rpx 8rpx; border-radius: 0rpx 8rpx 0rpx 8rpx;
} }
.reject { .reject {
margin-left: 12rpx;
padding: 0 8rpx; padding: 0 8rpx;
display: inline-block; display: inline-block;
font-size: 24rpx; font-size: 24rpx;
@ -450,7 +452,8 @@ page {
color: rgba(20, 21, 21, 1); color: rgba(20, 21, 21, 1);
line-height: 44rpx; line-height: 44rpx;
.tag { .tag {
vertical-align: 4rpx; margin-left: 12rpx;
vertical-align: 2rpx;
display: inline-block; display: inline-block;
padding: 0 8rpx; padding: 0 8rpx;
font-size: 24rpx; font-size: 24rpx;

21
src/pages/cases/index.ts

@ -40,6 +40,7 @@ Page({
caseStatusName: "全部", caseStatusName: "全部",
hospitalName: "全部", hospitalName: "全部",
deptName: "全部", deptName: "全部",
labelName: "全部",
provinceName: "", provinceName: "",
cityName: "", cityName: "",
countyName: "", countyName: "",
@ -60,7 +61,7 @@ Page({
isHighQuality: "", isHighQuality: "",
isOpen: "", isOpen: "",
needDeal: "", needDeal: "",
orderType: "", orderType: "feedbackTime",
myCaseCount: 0, myCaseCount: 0,
@ -338,15 +339,31 @@ Page({
}, },
handleLabel(e) { handleLabel(e) {
const { params } = e.currentTarget.dataset; const { params } = e.currentTarget.dataset;
const labelId = this.data.labelId; const { labelId, labelList } = this.data;
const newLabelId = labelId.includes(params.value) const newLabelId = labelId.includes(params.value)
? labelId.filter((item) => item !== params.value) ? labelId.filter((item) => item !== params.value)
: [...labelId, params.value]; : [...labelId, params.value];
let labelName = "";
labelList.forEach((item) => {
if (newLabelId.includes(item.value)) {
labelName = `${labelName}${labelName ? "," : ""}${item.label}`;
}
});
this.setData({ this.setData({
labelId: newLabelId, labelId: newLabelId,
labelName: labelName || "全部",
}); });
}, },
handleTagSubmit() { handleTagSubmit() {
const { deptId, labelId } = this.data;
if (deptId.length && !labelId.length) {
wx.showToast({
title: "请选择标签",
icon: "none",
});
return;
}
this.setData({ this.setData({
show3: false, show3: false,
}); });

27
src/pages/cases/index.wxml

@ -100,27 +100,34 @@
<view class="row"> <view class="row">
<view class="label">标签</view> <view class="label">标签</view>
<view class="picker-content" bind:tap="handleTagShow"> <view class="picker-content" bind:tap="handleTagShow">
<view class="content">{{deptName}}</view> <view class="content">{{labelName}}</view>
<van-icon name="arrow-down" /> <van-icon name="arrow-down" />
</view> </view>
</view> </view>
<view class="row"> <view class="row">
<view class="label">地区</view> <view class="label">地区</view>
<view class="picker-content" bind:tap="handleArea"> <view class="picker-content" bind:tap="handleArea">
<view class="content">{{cityName + countyName || '地区'}}</view> <view class="content">{{cityName + countyName || '全部'}}</view>
<van-icon name="arrow-down" /> <van-icon name="arrow-down" />
</view> </view>
</view> </view>
</view> </view>
<view class="station"> <view class="station">
<view class="wrap"> <view class="wrap">
<view class="item"> <view class="item" wx:if="{{nav==='0'}}">
<radio class="radio" checked="{{isReject==='1'}}" bind:tap="handleRadio" data-key="isReject"></radio> <radio
class="radio"
color="#00B4C5"
checked="{{isReject==='1'}}"
bind:tap="handleRadio"
data-key="isReject"
></radio>
驳回 驳回
</view> </view>
<view class="item" wx:if="{{nav!=='2'}}"> <view class="item" wx:if="{{nav!=='2'}}">
<radio <radio
class="radio" class="radio"
color="#00B4C5"
checked="{{isHighQuality==='1'}}" checked="{{isHighQuality==='1'}}"
bind:tap="handleRadio" bind:tap="handleRadio"
data-key="isHighQuality" data-key="isHighQuality"
@ -128,7 +135,13 @@
优质 优质
</view> </view>
<view class="item" wx:if="{{nav!=='1'}}"> <view class="item" wx:if="{{nav!=='1'}}">
<radio class="radio" checked="{{isOpen==='1'}}" bind:tap="handleRadio" data-key="isOpen"></radio> <radio
class="radio"
color="#00B4C5"
checked="{{isOpen==='1'}}"
bind:tap="handleRadio"
data-key="isOpen"
></radio>
公开 公开
</view> </view>
</view> </view>
@ -148,7 +161,7 @@
</view> </view>
</view> </view>
<radio <radio
wx:if="{{userInfo.DoctorLevel>1}}" wx:if="{{userInfo.DoctorLevel>1 && nav==='0'}}"
class="feedback" class="feedback"
color="rgba(0, 180, 197, 1)" color="rgba(0, 180, 197, 1)"
checked="{{needDeal==='1'}}" checked="{{needDeal==='1'}}"
@ -341,7 +354,7 @@
{{item.label}} {{item.label}}
</view> </view>
</view> </view>
<view class="submit" bind:tap="handleTagSubmit">保存</view> <view class="submit" bind:tap="handleTagSubmit">确定</view>
</view> </view>
</van-popup> </van-popup>

3
src/pages/chatRoomList/index.scss

@ -341,7 +341,8 @@ page {
color: rgba(20, 21, 21, 1); color: rgba(20, 21, 21, 1);
line-height: 44rpx; line-height: 44rpx;
.tag { .tag {
vertical-align: 4rpx; margin-left: 12rpx;
vertical-align: 2rpx;
display: inline-block; display: inline-block;
padding: 0 8rpx; padding: 0 8rpx;
font-size: 24rpx; font-size: 24rpx;

11
src/pages/chatRoomList/index.ts

@ -39,6 +39,7 @@ Page({
caseStatusName: "全部", caseStatusName: "全部",
hospitalName: "全部", hospitalName: "全部",
deptName: "全部", deptName: "全部",
labelName: "全部",
provinceName: "", provinceName: "",
cityName: "", cityName: "",
countyName: "", countyName: "",
@ -360,12 +361,20 @@ Page({
}, },
handleLabel(e) { handleLabel(e) {
const { params } = e.currentTarget.dataset; const { params } = e.currentTarget.dataset;
const labelId = this.data.labelId; const { labelId, labelList } = this.data;
const newLabelId = labelId.includes(params.value) const newLabelId = labelId.includes(params.value)
? labelId.filter((item) => item !== params.value) ? labelId.filter((item) => item !== params.value)
: [...labelId, params.value]; : [...labelId, params.value];
let labelName = "";
labelList.forEach((item) => {
if (newLabelId.includes(item.value)) {
labelName = `${labelName}${labelName ? "," : ""}${item.label}`;
}
});
this.setData({ this.setData({
labelId: newLabelId, labelId: newLabelId,
labelName: labelName || "全部",
}); });
}, },
handleTagSubmit() { handleTagSubmit() {

4
src/pages/chatRoomList/index.wxml

@ -93,7 +93,7 @@
<view class="row"> <view class="row">
<view class="label">标签</view> <view class="label">标签</view>
<view class="picker-content" bind:tap="handleTagShow"> <view class="picker-content" bind:tap="handleTagShow">
<view class="content">{{deptName}}</view> <view class="content">{{labelName}}</view>
<van-icon name="arrow-down" /> <van-icon name="arrow-down" />
</view> </view>
</view> </view>
@ -107,7 +107,7 @@
<view class="row"> <view class="row">
<view class="label">地区</view> <view class="label">地区</view>
<view class="picker-content" bind:tap="handleArea"> <view class="picker-content" bind:tap="handleArea">
<view class="content">{{cityName + countyName || '地区'}}</view> <view class="content">{{cityName + countyName || '全部'}}</view>
<van-icon name="arrow-down" /> <van-icon name="arrow-down" />
</view> </view>
</view> </view>

Loading…
Cancel
Save