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

7
src/components/customAudioBar/index.ts

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -1,7 +1,8 @@ @@ -1,7 +1,8 @@
<view class="page">
<image class="badge" src="{{imageUrl}}icon-resolve.png?t={{Timestamp}}" mode="scaleToFill"></image>
<view class="title">提交成功</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>
<image class="code" src="{{codeUrl}}" mode="scaleToFill" show-menu-by-longpress></image>
<view class="tip">关注公众号接收病历反馈消息</view>

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

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

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

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

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

@ -262,7 +262,7 @@ Page({ @@ -262,7 +262,7 @@ Page({
},
}).then(() => {
wx.redirectTo({
url: `/module1/pages/casesDetail/index?id=${caseId}`,
url: `/module1/pages/casesDetail/index?id=${caseId}&feedback=1`,
});
});
return;
@ -272,7 +272,7 @@ Page({ @@ -272,7 +272,7 @@ Page({
wx.ajax({ method: "POST", url: "?r=takeda/case/invite-doctor", data: { caseId, dealDoctorId: DoctorId } }).then(
(res) => {
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({ @@ -260,6 +260,7 @@ Page({
caseId,
roomId,
inviteDoctorId: DoctorId,
doctorId: DoctorId,
},
}).then((res) => {
wx.reLaunch({

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

@ -1,8 +1,4 @@ @@ -1,8 +1,4 @@
.page {
overflow: hidden;
.reject {
position: fixed;
top: 0;
width: 100%;
box-sizing: border-box;
padding: 20rpx 32rpx;
@ -13,10 +9,13 @@ @@ -13,10 +9,13 @@
align-items: center;
gap: 16rpx;
.icon {
flex-shrink: 0;
width: 32rpx;
height: 32rpx;
}
}
.page {
overflow: hidden;
.container {
margin-top: 244rpx;
padding: 32rpx 32rpx 250rpx;

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

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

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

@ -1,11 +1,11 @@ @@ -1,11 +1,11 @@
<view
class="page"
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="page"
style="background: url({{imageUrl}}set-info-bg.png?r={{Timestamp}}) no-repeat top center/100% 356rpx;"
>
<view class="container">
<view class="invite" wx:if="{{inviteName}}">{{inviteName}}医生为您的邀约医生</view>
<view class="invite" wx:else>您没有邀约医生,可能会影响您的审核</view>
@ -78,15 +78,15 @@ @@ -78,15 +78,15 @@
</view>
<view class="files">
<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>
</uploadFile>
<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>
</uploadFile>
<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>
</uploadFile>
</view>

9
src/pages/cases/index.scss

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

21
src/pages/cases/index.ts

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

27
src/pages/cases/index.wxml

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

3
src/pages/chatRoomList/index.scss

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

11
src/pages/chatRoomList/index.ts

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

4
src/pages/chatRoomList/index.wxml

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

Loading…
Cancel
Save