Browse Source

bug处理

main
kola-web 3 months ago
parent
commit
ad0340f3aa
  1. 8
      dist.ps1
  2. 1
      src/app.json
  3. 4
      src/components/doctorAvatar/index.json
  4. 66
      src/components/doctorAvatar/index.ts
  5. 9
      src/components/doctorAvatar/index.wxml
  6. 1
      src/components/popupDoctorDetail/index.json
  7. 16
      src/components/popupDoctorDetail/index.scss
  8. 26
      src/components/popupDoctorDetail/index.wxml
  9. 4
      src/echart/components/homeLevel1/index.wxml
  10. 41
      src/echart/components/homeLevel2/index.scss
  11. 16
      src/echart/components/homeLevel2/index.ts
  12. 27
      src/echart/components/homeLevel2/index.wxml
  13. 2
      src/echart/components/homeLevel3/index.wxml
  14. 41
      src/echart/components/homeLevel4/index.scss
  15. 23
      src/echart/components/homeLevel4/index.ts
  16. 14
      src/echart/components/homeLevel4/index.wxml
  17. BIN
      src/images/icon-keyboard.png
  18. 1
      src/module1/pages/casesDetail/index.scss
  19. 83
      src/module1/pages/casesDetail/index.ts
  20. 41
      src/module1/pages/casesDetail/index.wxml
  21. 3
      src/module1/pages/chatRoom/index.json
  22. 20
      src/module1/pages/chatRoom/index.scss
  23. 8
      src/module1/pages/chatRoom/index.ts
  24. 62
      src/module1/pages/chatRoom/index.wxml
  25. 2
      src/module1/pages/chatRoomInfo/index.wxml
  26. 32
      src/module1/pages/login/index.ts
  27. 6
      src/module1/pages/login/index.wxml
  28. 2
      src/module1/pages/loginProtool/index.ts
  29. 8
      src/module1/pages/org3/index.wxml
  30. 8
      src/module1/pages/org4/index.wxml
  31. 7
      src/module1/pages/setCaseDoctor/index.wxml
  32. 2
      src/module1/pages/setChatDoctor/index.wxml
  33. 7
      src/module1/pages/setDoctor/index.wxml
  34. 27
      src/module1/pages/setInfo/index.scss
  35. 32
      src/module1/pages/setInfo/index.ts
  36. 5
      src/module1/pages/setInfo/index.wxml
  37. 10
      src/module1/pages/setInfoDoctor/index.json
  38. 236
      src/module1/pages/setInfoDoctor/index.scss
  39. 77
      src/module1/pages/setInfoDoctor/index.ts
  40. 72
      src/module1/pages/setInfoDoctor/index.wxml
  41. 6
      src/module1/pages/setInfoResult/index.scss
  42. 21
      src/module1/pages/setInfoResult/index.ts
  43. 3
      src/module1/pages/setInfoResult/index.wxml
  44. 1
      src/module1/pages/userInfo/index.scss
  45. 7
      src/pages/cases/index.ts
  46. 1
      src/pages/cases/index.wxml
  47. 7
      src/pages/my/index.wxml

8
dist.ps1

@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
# Change to the src/images directory, or exit if the directory doesn't exist
Set-Location -Path ./src/images/ -ErrorAction Stop
# Add all files to svn, including ignored files and forced additions
svn add . --no-ignore --force
# Commit the changes with a message
svn ci -m "版本更新"

1
src/app.json

@ -13,6 +13,7 @@ @@ -13,6 +13,7 @@
"pages/loginProtool/index",
"pages/invite/index",
"pages/setInfo/index",
"pages/setInfoDoctor/index",
"pages/setInfoResult/index",
"pages/sHostipal/index",
"pages/cHostipal/index",

4
src/components/doctorAvatar/index.json

@ -1,4 +1,6 @@ @@ -1,4 +1,6 @@
{
"component": true,
"usingComponents": {}
"usingComponents": {
"popupDoctorDetail": "/components/popupDoctorDetail/index"
}
}

66
src/components/doctorAvatar/index.ts

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
const _app = getApp<IAppOption>()
const _app = getApp<IAppOption>();
// pages/story/a.ts
Component({
@ -9,21 +9,77 @@ Component({ @@ -9,21 +9,77 @@ Component({
properties: {
src: {
type: String,
value: '',
optionalTypes: [String, Number],
value: "",
},
level: {
type: Number,
optionalTypes: [String, Number],
value: 1,
},
did: {
type: String,
optionalTypes: [String, Number],
value: "",
},
},
/**
*
*/
data: {},
data: {
showDetail: false,
popupDoctorDetail: {},
DoctorTitleType: {},
hospitalClassification: {},
hospitalLevel: {},
},
/**
*
*/
methods: {},
})
methods: {
async getDoctorDict(): Promise<any> {
return wx.ajax({
method: "GET",
url: "?r=takeda/reg/doctor-dict",
data: {},
});
},
async handleDetail() {
const did = this.data.did;
if (!did) return;
const { DoctorTitleType } = await this.getDoctorDict();
wx.ajax({
method: "GET",
url: "?r=takeda/doctor/detail",
data: {
DoctorId: did,
},
}).then((res) => {
this.setData({
showDetail: true,
popupDoctorDetail: {
DoctorLevel: res.DoctorLevel,
DoctorImg: res.Img,
DoctorName: res.Name,
DoctorTitleName: res.TitleType === "99" ? res.OtherTitle : DoctorTitleType[res.TitleType],
HospitalName: res.HospitalName,
HospitalClassificationName: res.HospitalClassificationName,
HospitalLevelName: res.HospitalLevelName,
CityName: res.CityName,
CountyName: res.CountyName,
Introduce: res.Introduce,
department: res.Department,
specialty: res.Specialty,
},
});
});
},
handlePopupClose() {
this.setData({
showDetail: false,
});
},
},
});

9
src/components/doctorAvatar/index.wxml

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
<view class="avatar">
<view class="avatar" catch:tap="handleDetail">
<image class="a-img" mode="aspectFill" src="{{src}}"></image>
<image
class="mask"
@ -19,3 +19,10 @@ @@ -19,3 +19,10 @@
src="{{imageUrl}}doctor-level4.png?t={{Timestamp}}"
></image>
</view>
<popupDoctorDetail
wx:if="{{did}}"
show="{{showDetail}}"
params="{{popupDoctorDetail}}"
bind:close="handlePopupClose"
></popupDoctorDetail>

1
src/components/popupDoctorDetail/index.json

@ -2,7 +2,6 @@ @@ -2,7 +2,6 @@
"component": true,
"usingComponents": {
"van-popup": "@vant/weapp/popup/index",
"doctorAvatar": "/components/doctorAvatar/index",
"van-icon": "@vant/weapp/icon/index"
}
}

16
src/components/popupDoctorDetail/index.scss

@ -24,6 +24,19 @@ @@ -24,6 +24,19 @@
flex-shrink: 0;
width: 112rpx;
height: 112rpx;
position: relative;
.a-img {
width: 100%;
height: 100%;
border-radius: 50%;
}
.mask {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
}
.wrap {
.name {
@ -105,6 +118,9 @@ @@ -105,6 +118,9 @@
}
.brief-introduction {
flex: 1;
max-height: 20vh;
overflow-y: auto;
overflow-x: hidden;
font-size: 28rpx;
color: rgba(20, 21, 21, 1);
line-height: 44rpx;

26
src/components/popupDoctorDetail/index.wxml

@ -3,7 +3,27 @@ @@ -3,7 +3,27 @@
<van-icon class="close" name="cross" bind:tap="onClose" />
<view class="title">医生详情</view>
<view class="user">
<doctorAvatar class="avatar" src="{{params.DoctorImg}}" level="{{params.DoctorLevel}}"></doctorAvatar>
<view class="avatar">
<image class="a-img" mode="aspectFill" src="{{params.DoctorImg}}"></image>
<image
class="mask"
mode="aspectFill"
wx:if="{{params.DoctorLevel==3}}"
src="{{imageUrl}}doctor-level3.png?t={{Timestamp}}"
></image>
<image
class="mask"
mode="aspectFill"
wx:elif="{{params.DoctorLevel==2}}"
src="{{imageUrl}}doctor-level2.png?t={{Timestamp}}"
></image>
<image
class="mask"
mode="aspectFill"
wx:if="{{params.DoctorLevel==4}}"
src="{{imageUrl}}doctor-level4.png?t={{Timestamp}}"
></image>
</view>
<view class="wrap">
<view class="name">{{params.DoctorName}}</view>
<view class="w-footer">
@ -20,7 +40,9 @@ @@ -20,7 +40,9 @@
<view class="hostipal">
<view class="h-name">{{params.HospitalName}}</view>
<view class="h-tag">{{params.HospitalClassificationName}}{{params.HospitalLevelName}}</view>
<view class="h-site" wx:if="{{params.CityName}}">{{params.CityName}}{{params.CountyName?'/':''}}{{params.CountyName}}</view>
<view class="h-site" wx:if="{{params.CityName}}">
{{params.CityName}}{{params.CountyName?'/':''}}{{params.CountyName}}
</view>
</view>
</view>
<view class="row">

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

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<view class="page">
<view class="user">
<doctorAvatar class="avatar" src="{{userInfo.Img}}" level="{{userInfo.DoctorLevel}}"></doctorAvatar>
<doctorAvatar did="{{userInfo.DoctorId}}" class="avatar" src="{{userInfo.Img}}" level="{{userInfo.DoctorLevel}}"></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">{{userInfo.Name}}</view>
@ -102,7 +102,7 @@ @@ -102,7 +102,7 @@
</view>
<view id="fold1" class="doctor-list {{fold1 && 'doctor-list-fold'}}" style="--fold-height: {{foldHeight1}}px;">
<view class="doctor" wx:for="{{cooperateList}}" wx:key="DoctorId">
<doctorAvatar class="avatar" src="{{item.DoctorImg}}" level="{{item.DoctorLevel}}"></doctorAvatar>
<doctorAvatar did="{{item.DoctorId}}" class="avatar" src="{{item.DoctorImg}}" level="{{item.DoctorLevel}}"></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">{{item.DoctorName}}</view>

41
src/echart/components/homeLevel2/index.scss

@ -185,6 +185,7 @@ @@ -185,6 +185,7 @@
.s-container {
display: flex;
.item {
position: relative;
flex: 1;
text-align: center;
.name {
@ -198,6 +199,46 @@ @@ -198,6 +199,46 @@
color: rgba(20, 21, 21, 1);
line-height: 56rpx;
}
.item-toast {
position: absolute;
left: -80rpx;
top: -20rpx;
transform: translate(0, -100%);
padding: 28rpx 0;
border-radius: 16rpx;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
display: flex;
align-items: center;
white-space: nowrap;
font-size: 28rpx;
color: #fff;
.i-row {
padding: 0 56rpx;
}
.i-line {
width: 2rpx;
height: 32rpx;
background-color: rgba(255, 255, 255, 0.29);
}
.i-clsoe {
position: absolute;
top: -10rpx;
right: -10rpx;
width: 32rpx;
height: 32rpx;
}
&::after {
position: absolute;
left: 134rpx;
bottom: -10rpx;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 18rpx 18rpx 0 18rpx;
border-color: #4abfc0 transparent transparent transparent;
}
}
}
.line {
flex-shrink: 0;

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

@ -24,6 +24,7 @@ Component({ @@ -24,6 +24,7 @@ Component({
case: {} as any,
cooperateList: [],
inviteList: [],
newCaseShow: false,
},
lifetimes: {
@ -147,14 +148,15 @@ Component({ @@ -147,14 +148,15 @@ Component({
const { index } = e.currentTarget.dataset;
this.triggerEvent("question", index);
},
handleNewCase() {
const { case: cases } = this.data;
wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
showCancel: false,
confirmText: "关闭",
content: `本人提交:${cases.newOneCaseCount}\r\n他人提交:${cases.newTwoCaseCount}`,
this.setData({
newCaseShow: true,
});
},
handleNewCaseClose() {
this.setData({
newCaseShow: false,
});
},
},

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

@ -1,6 +1,11 @@ @@ -1,6 +1,11 @@
<view class="page">
<view class="user">
<doctorAvatar class="avatar" src="{{userInfo.Img}}" level="{{userInfo.DoctorLevel}}"></doctorAvatar>
<doctorAvatar
did="{{userInfo.DoctorId}}"
class="avatar"
src="{{userInfo.Img}}"
level="{{userInfo.DoctorLevel}}"
></doctorAvatar>
<image class="code" bind:tap="handleInvite" src="{{imageUrl}}icon-code.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="w-header">
@ -81,6 +86,12 @@ @@ -81,6 +86,12 @@
<van-icon catch:tap="handleQuestion" data-index="1" name="question" color="rgba(224, 224, 224, 1)" />
</view>
<view class="num">{{case.newCaseCount}}</view>
<view class="item-toast" wx:if="{{newCaseShow}}">
<image class="i-clsoe" src="{{imageUrl}}icon-close.png?r={{Timestamp}}" catch:tap="handleNewCaseClose"></image>
<view class="i-row">本人提交:{{case.newOneCaseCount}}</view>
<view class="i-line"></view>
<view class="i-row">他人提交:{{case.newTwoCaseCount}}</view>
</view>
</view>
<view class="line"></view>
<view class="item">
@ -128,7 +139,12 @@ @@ -128,7 +139,12 @@
</view>
<view id="fold1" class="doctor-list {{fold1 && 'doctor-list-fold'}}" style="--fold-height: {{foldHeight1}}px;">
<view class="doctor" wx:for="{{cooperateList}}" wx:key="DoctorId">
<doctorAvatar class="avatar" src="{{item.DoctorImg}}" level="{{item.DoctorLevel}}"></doctorAvatar>
<doctorAvatar
did="{{item.DoctorId}}"
class="avatar"
src="{{item.DoctorImg}}"
level="{{item.DoctorLevel}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">{{item.DoctorName}}</view>
@ -184,7 +200,12 @@ @@ -184,7 +200,12 @@
</view>
<view id="fold2" class="doctor-list {{fold2 && 'doctor-list-fold'}}" style="--fold-height: {{foldHeight2}}px;">
<view class="doctor" wx:for="{{inviteList}}" wx:key="DoctorId">
<doctorAvatar class="avatar" src="{{item.DoctorImg}}" level="{{item.DoctorLevel}}"></doctorAvatar>
<doctorAvatar
did="{{item.DoctorId}}"
class="avatar"
src="{{item.DoctorImg}}"
level="{{item.DoctorLevel}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">{{item.DoctorName}}</view>

2
src/echart/components/homeLevel3/index.wxml

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<view class="page">
<view class="user">
<doctorAvatar class="avatar" src="{{userInfo.Img}}" level="{{userInfo.DoctorLevel}}"></doctorAvatar>
<doctorAvatar did="{{userInfo.DoctorId}}" class="avatar" src="{{userInfo.Img}}" level="{{userInfo.DoctorLevel}}"></doctorAvatar>
<image class="code" bind:tap="handleInvite" src="{{imageUrl}}icon-code.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="w-header">

41
src/echart/components/homeLevel4/index.scss

@ -200,6 +200,7 @@ @@ -200,6 +200,7 @@
.s-container {
display: flex;
.item {
position: relative;
flex: 1;
text-align: center;
.name {
@ -213,6 +214,46 @@ @@ -213,6 +214,46 @@
color: rgba(20, 21, 21, 1);
line-height: 56rpx;
}
.item-toast {
position: absolute;
left: -80rpx;
top: -20rpx;
transform: translate(0, -100%);
padding: 28rpx 0;
border-radius: 16rpx;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
display: flex;
align-items: center;
white-space: nowrap;
font-size: 28rpx;
color: #fff;
.i-row {
padding: 0 56rpx;
}
.i-line {
width: 2rpx;
height: 32rpx;
background-color: rgba(255, 255, 255, 0.29);
}
.i-clsoe {
position: absolute;
top: -10rpx;
right: -10rpx;
width: 32rpx;
height: 32rpx;
}
&::after {
position: absolute;
left: 134rpx;
bottom: -10rpx;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 18rpx 18rpx 0 18rpx;
border-color: #4abfc0 transparent transparent transparent;
}
}
}
.line {
flex-shrink: 0;

23
src/echart/components/homeLevel4/index.ts

@ -38,6 +38,8 @@ Component({ @@ -38,6 +38,8 @@ Component({
empty3: false,
rankList: [],
newCaseShow: false,
},
lifetimes: {
@ -180,6 +182,7 @@ Component({ @@ -180,6 +182,7 @@ Component({
{
name: "质控医生",
type: "bar",
barMaxWidth: 40,
stack: "a",
label: {
show: true,
@ -197,6 +200,7 @@ Component({ @@ -197,6 +200,7 @@ Component({
{
name: "核心医生",
type: "bar",
barMaxWidth: 40,
stack: "a",
label: {
show: true,
@ -214,6 +218,7 @@ Component({ @@ -214,6 +218,7 @@ Component({
{
name: "一级医生",
type: "bar",
barMaxWidth: 40,
stack: "a",
label: {
show: true,
@ -357,6 +362,7 @@ Component({ @@ -357,6 +362,7 @@ Component({
{
name: "核心医生提交",
type: "bar",
barMaxWidth: 40,
stack: "a",
label: {
show: true,
@ -374,6 +380,7 @@ Component({ @@ -374,6 +380,7 @@ Component({
{
name: "一级医生提交",
type: "bar",
barMaxWidth: 40,
stack: "a",
label: {
show: true,
@ -517,6 +524,7 @@ Component({ @@ -517,6 +524,7 @@ Component({
{
name: "核心医生提交",
type: "bar",
barMaxWidth: 40,
stack: "a",
label: {
show: true,
@ -534,6 +542,7 @@ Component({ @@ -534,6 +542,7 @@ Component({
{
name: "一级医生提交",
type: "bar",
barMaxWidth: 40,
stack: "a",
label: {
show: true,
@ -681,13 +690,13 @@ Component({ @@ -681,13 +690,13 @@ Component({
this.triggerEvent("question", index);
},
handleNewCase() {
const { case: cases } = this.data;
wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
showCancel: false,
confirmText: "关闭",
content: `本科室:${cases.newOneCaseCount}\r\n无科室:${cases.newTwoCaseCount}`,
this.setData({
newCaseShow: true,
});
},
handleNewCaseClose() {
this.setData({
newCaseShow: false,
});
},
},

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

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<view class="page">
<view class="user">
<doctorAvatar class="avatar" src="{{userInfo.Img}}" level="4"></doctorAvatar>
<doctorAvatar did="{{userInfo.DoctorId}}" class="avatar" src="{{userInfo.Img}}" level="4"></doctorAvatar>
<image class="code" bind:tap="handleInvite" src="{{imageUrl}}icon-code.png?t={{Timestamp}}"></image>
<view class="wrap">
<view class="w-header">
@ -78,8 +78,18 @@ @@ -78,8 +78,18 @@
<van-icon catch:tap="handleQuestion" data-index="1" name="question" color="rgba(224, 224, 224, 1)" />
</view>
<view class="num">{{case.newCaseCount}}</view>
<view class="item-toast" wx:if="{{newCaseShow}}">
<image
class="i-clsoe"
src="{{imageUrl}}icon-close.png?r={{Timestamp}}"
catch:tap="handleNewCaseClose"
></image>
<view class="i-row">本科室:{{case.newOneCaseCount}}</view>
<view class="i-line"></view>
<view class="i-row">无科室:{{case.newTwoCaseCount}}</view>
</view>
</view>
<view class="item" >
<view class="item">
<view class="name">
讨论中
<van-icon catch:tap="handleQuestion" data-index="2" name="question" color="rgba(224, 224, 224, 1)" />

BIN
src/images/icon-keyboard.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

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

@ -967,6 +967,7 @@ page { @@ -967,6 +967,7 @@ page {
.select-wrap {
margin-top: 32rpx;
display: flex;
flex-wrap: wrap;
gap: 16rpx;
.select {
padding: 4rpx 24rpx;

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

@ -9,6 +9,8 @@ Page({ @@ -9,6 +9,8 @@ Page({
show5: false, // 取消归档
show6: false, // 创建学习窗
show7: false, // 更改标签
show8: false, // 公开
show9: false, // 取消公开
showRejectReason: false,
more: false,
@ -78,6 +80,18 @@ Page({ @@ -78,6 +80,18 @@ Page({
}
return true;
},
beforeClose8: (e: any) => {
if (e === "confirm") {
this.handleOpenSubmit();
}
return true;
},
beforeClose9: (e: any) => {
if (e === "confirm") {
this.handleUnOpenSubmit();
}
return true;
},
});
},
onShow() {
@ -174,9 +188,11 @@ Page({ @@ -174,9 +188,11 @@ Page({
},
handleImagePreview(e) {
const { url } = e.currentTarget.dataset;
const { url, parent } = e.currentTarget.dataset;
const urls = parent.map((item) => item.url);
wx.previewImage({
urls: [url],
urls,
current: url,
});
},
@ -393,25 +409,40 @@ Page({ @@ -393,25 +409,40 @@ Page({
},
handleOpen() {
const { detail, id } = this.data;
const { detail } = this.data;
const isOpen = detail.isOpen === "1";
wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
title: `确认${isOpen ? "取消公开" : "公开"}?`,
success: (res) => {
if (res.confirm) {
wx.ajax({
method: "POST",
url: "?r=takeda/case/set-open",
data: {
caseId: id,
},
}).then(() => {
this.handleResoure();
});
}
if (isOpen) {
this.setData({
show9: true,
});
} else {
this.setData({
show8: true,
});
}
},
handleOpenSubmit() {
const { id } = this.data;
wx.ajax({
method: "POST",
url: "?r=takeda/case/set-open",
data: {
caseId: id,
},
}).then(() => {
this.handleResoure();
});
},
handleUnOpenSubmit() {
const { id } = this.data;
wx.ajax({
method: "POST",
url: "?r=takeda/case/set-open",
data: {
caseId: id,
},
}).then(() => {
this.handleResoure();
});
},
@ -516,8 +547,18 @@ Page({ @@ -516,8 +547,18 @@ Page({
remark,
},
}).then(() => {
wx.reLaunch({
url: "/pages/cases/index",
wx.showToast({
icon: "none",
title: "驳回成功",
duration: 2000,
success() {
const time = setTimeout(() => {
clearInterval(time);
wx.reLaunch({
url: "/pages/cases/index",
});
}, 2000);
},
});
});
},

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

@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@
class="avatar"
src="{{detail.createDoctorInfo.doctorImg}}"
level="{{detail.createDoctorInfo.doctorLevel}}"
did="{{detail.createDoctorInfo.doctorId}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
@ -61,6 +62,7 @@ @@ -61,6 +62,7 @@
mode="aspectFill"
bind:tap="handleImagePreview"
data-url="{{item.url}}"
data-parent="{{detail.caseImages}}"
wx:for="{{detail.caseImages}}"
wx:key="url"
></image>
@ -129,6 +131,7 @@ @@ -129,6 +131,7 @@
class="avatar"
src="{{item.createDoctorInfo.doctorImg}}"
level="{{item.createDoctorInfo.doctorLevel}}"
did="{{item.createDoctorInfo.doctorId}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
@ -177,6 +180,7 @@ @@ -177,6 +180,7 @@
mode="aspectFill"
bind:tap="handleImagePreview"
data-url="{{cItem.url}}"
data-parent="{{item.feedbackImages}}"
wx:for="{{item.feedbackImages}}"
wx:for-item="cItem"
wx:key="url"
@ -214,6 +218,7 @@ @@ -214,6 +218,7 @@
class="avatar"
src="{{dealDoctorInfo.doctorImg}}"
level="{{dealDoctorInfo.doctorLevel}}"
did="{{dealDoctorInfo.doctorId}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
@ -362,6 +367,7 @@ @@ -362,6 +367,7 @@
use-slot
title=""
show="{{ show1 }}"
width="678rpx"
show-cancel-button
confirm-button-color="rgba(0, 180, 197, 1)"
beforeClose="{{beforeClose1}}"
@ -507,3 +513,38 @@ @@ -507,3 +513,38 @@
<view class="submit" bind:tap="handleLableSubmit">提交</view>
</view>
</van-dialog>
<van-dialog
use-slot
title=""
show="{{ show8 }}"
show-cancel-button
confirm-button-color="rgba(0, 180, 197, 1)"
custom-style="background:transparent"
beforeClose="{{beforeClose8}}"
>
<view class="dialog2">
<image class="badge" src="{{imageUrl}}case-detail-dialog1.png?t={{Timestamp}}"></image>
<view class="container">
<view class="title">确认公开病历吗?</view>
<view class="content">您的病历配置为公开后,科室内医生均可查看</view>
</view>
</view>
</van-dialog>
<van-dialog
use-slot
title=""
show="{{ show9 }}"
show-cancel-button
confirm-button-color="rgba(0, 180, 197, 1)"
custom-style="background:transparent"
beforeClose="{{beforeClose9}}"
>
<view class="dialog4">
<image class="badge" src="{{imageUrl}}case-detail-dialog3.png?t={{Timestamp}}"></image>
<view class="container">
<view class="title">确认取消公开病历吗?</view>
<view class="content"></view>
</view>
</view>
</van-dialog>

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

@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
"van-icon": "@vant/weapp/icon/index",
"van-popup": "@vant/weapp/popup/index",
"customRecord": "/components/customRecord/index",
"uploadFile": "/components/uploadFile/index"
"uploadFile": "/components/uploadFile/index",
"doctorAvatar":"/components/doctorAvatar/index"
}
}

20
src/module1/pages/chatRoom/index.scss

@ -121,6 +121,8 @@ page { @@ -121,6 +121,8 @@ page {
.avatar {
padding-right: 16rpx;
flex-shrink: 0;
width: 84rpx;
height: 84rpx;
.a-img {
width: 84rpx;
height: 84rpx;
@ -216,6 +218,8 @@ page { @@ -216,6 +218,8 @@ page {
.avatar {
padding-left: 16rpx;
flex-shrink: 0;
width: 84rpx;
height: 84rpx;
.a-img {
width: 84rpx;
height: 84rpx;
@ -306,10 +310,6 @@ page { @@ -306,10 +310,6 @@ page {
gap: 12rpx;
align-items: center;
justify-content: space-between;
.custom-record{
width: 48rpx;
height: 48rpx;
}
.icon {
width: 48rpx;
height: 48rpx;
@ -333,10 +333,22 @@ page { @@ -333,10 +333,22 @@ page {
border-radius: 212rpx 212rpx 212rpx 212rpx;
font-size: 28rpx;
color: #000;
line-height: 40rpx;
}
.place-input {
color: rgba(205, 205, 205, 1);
}
.custom-record {
padding: 16rpx 32rpx;
flex: 1;
background: #f6f6f6;
text-align: center;
border-radius: 212rpx 212rpx 212rpx 212rpx;
font-size: 28rpx;
line-height: 40rpx;
color: #141515;
}
.icon-add {
width: 48rpx;
height: 48rpx;

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

@ -49,6 +49,8 @@ Page({ @@ -49,6 +49,8 @@ Page({
videoUrl: "",
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,
},
innerAudioContext: null as WechatMiniprogram.InnerAudioContext | null,
videoContext: null as WechatMiniprogram.VideoContext | null,
@ -484,4 +486,10 @@ Page({ @@ -484,4 +486,10 @@ Page({
focus: false,
});
},
handleToggleRecord() {
this.setData({
record: !this.data.record,
focus: !this.data.record,
});
},
});

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

@ -44,9 +44,7 @@ @@ -44,9 +44,7 @@
<view class="date" wx:if="{{message.showTime}}">{{message.createTimeName}}</view>
<view class="create" wx:if="{{message.contentType==='5'}}">{{message.content}}</view>
<view class="doctor" wx:elif="{{message.isSelf===2}}">
<view class="avatar">
<image class="a-img" mode="aspectFill" src="{{message.doctorImg}}"></image>
</view>
<doctorAvatar did="{{message.fromDoctorId}}" class="avatar" src="{{message.doctorImg}}"></doctorAvatar>
<view class="d-container">
<view class="user">{{message.doctorName}} {{message.hospitalName}}</view>
<view class="message" wx:if="{{message.contentType==='1'}}">{{message.content}}</view>
@ -64,6 +62,7 @@ @@ -64,6 +62,7 @@
></image>
<image wx:else class="icon" src="{{imageUrl}}/audio-right.png?t={{Timestamp}}" mode="aspectFit"></image>
{{message.content.duration}}''
<view style="width:{{message.content.duration*3}}px;height: 10px;"></view>
</view>
<view class="photo" wx:elif="{{message.contentType==='3'}}">
<image
@ -91,6 +90,7 @@ @@ -91,6 +90,7 @@
<view class="user">{{message.doctorName}} {{message.hospitalName}}</view>
<view class="message" wx:if="{{message.contentType==='1'}}">{{message.content}}</view>
<view class="audio" wx:elif="{{message.contentType==='2'}}" bind:tap="handleAudio" data-index="{{mIndex}}">
<view style="width:{{message.content.duration*3}}px;height: 10px;"></view>
{{message.content.duration}}''
<image
class="icon"
@ -120,9 +120,7 @@ @@ -120,9 +120,7 @@
<image class="play" src="{{imageUrl}}icon-video-play.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="avatar">
<image class="a-img" mode="aspectFill" src="{{message.doctorImg}}"></image>
</view>
<doctorAvatar did="{{message.fromDoctorId}}" class="avatar" src="{{message.doctorImg}}"></doctorAvatar>
</view>
</view>
<view id="place" class="place"></view>
@ -130,26 +128,38 @@ @@ -130,26 +128,38 @@
</view>
<view class="page-footer" wx:if="{{case.caseStatus!=='4'}}">
<view class="header">
<customRecord class="custom-record" bind:file="handleSendAudio" slotIcon>
<image class="icon" src="{{imageUrl}}icon-voice.png?t={{Timestamp}}"></image>
</customRecord>
<input
wx:if="{{focus}}"
class="input"
placeholder-class="place-input"
type="text"
fixed
focus="{{focus}}"
always-embed
model:value="{{sendMessage}}"
placeholder="请输入"
cursor-spacing="{{30}}"
confirm-type="send"
bindconfirm="handleSendMessage"
bindblur="handleBlur"
bindfocus="handleFocus"
/>
<view class="place" wx:else bind:tap="handleFocus">{{sendMessage}}</view>
<image
wx:if="{{record}}"
class="icon"
src="{{imageUrl}}icon-voice.png?t={{Timestamp}}"
bind:tap="handleToggleRecord"
></image>
<image
wx:else
class="icon"
src="{{imageUrl}}icon-keyboard.png?t={{Timestamp}}"
bind:tap="handleToggleRecord"
></image>
<block wx:if="{{record}}">
<input
wx:if="{{focus}}"
class="input"
placeholder-class="place-input"
type="text"
fixed
focus="{{focus}}"
always-embed
model:value="{{sendMessage}}"
placeholder="请输入"
cursor-spacing="{{30}}"
confirm-type="send"
bindconfirm="handleSendMessage"
bindblur="handleBlur"
bindfocus="handleFocus"
/>
<view class="place" wx:else bind:tap="handleFocus">{{sendMessage}}</view>
</block>
<customRecord wx:else class="custom-record" bind:file="handleSendAudio" slotIcon>按住说话</customRecord>
<image
class="icon-add"
src="{{imageUrl}}icon-circle-add.png?t={{Timestamp}}"

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

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
<view class="page">
<view class="container">
<view class="user" wx:for="{{list}}" wx:key="doctorId">
<doctorAvatar class="avatar" src="{{item.doctorImg}}" level="{{item.doctorLevel}}"></doctorAvatar>
<doctorAvatar did="{{item.doctorId}}" class="avatar" src="{{item.doctorImg}}" level="{{item.doctorLevel}}"></doctorAvatar>
<view class="name">{{item.doctorName}}</view>
</view>
<view wx:if="{{canInvite}}" class="add" bind:tap="handleDoctor">

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

@ -8,13 +8,8 @@ Page({ @@ -8,13 +8,8 @@ Page({
code: "",
protool: false,
codeText: "发送验证码",
isProtocol: false,
},
onLoad() {
if(!this.data.isProtocol){
this.handleNavProtool()
}
},
onLoad() {},
getCode() {
if (timer) return;
const mobile = this.data.mobile;
@ -63,10 +58,7 @@ Page({ @@ -63,10 +58,7 @@ Page({
handleSubmit() {
const { mobile, code, protool } = this.data;
if (!protool) {
wx.showToast({
title: "请先勾选协议",
icon: "none",
});
this.handleNavProtool();
return;
}
if (!mobile) {
@ -98,10 +90,6 @@ Page({ @@ -98,10 +90,6 @@ Page({
const { protool } = this.data;
const { iv, encryptedData } = e.detail;
if (!protool) {
wx.showToast({
title: "请先勾选协议",
icon: "none",
});
return;
}
if (iv && encryptedData) {
@ -127,11 +115,21 @@ Page({ @@ -127,11 +115,21 @@ Page({
});
},
handleProtool() {
this.setData({
protool: !this.data.protool,
});
if (this.data.protool) {
this.setData({
protool: false,
});
} else {
this.setData({
protool: false,
});
wx.navigateTo({ url: "/module1/pages/loginProtool/index" });
}
},
handleNavProtool() {
if (this.data.protool) {
return;
}
wx.navigateTo({ url: "/module1/pages/loginProtool/index" });
},
});

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

@ -32,7 +32,11 @@ @@ -32,7 +32,11 @@
或者
</van-divider>
</view>
<button class="tel-btn" open-type="getPhoneNumber" bindgetphonenumber="handleWxSubmit">
<button wx:if="{{protool}}" class="tel-btn" open-type="getPhoneNumber" bindgetphonenumber="handleWxSubmit">
<image class="icon" src="{{imageUrl}}icon-tel.png?t={{Timestamp}}"></image>
手机号快捷登录
</button>
<button wx:else class="tel-btn" bind:tap="handleNavProtool">
<image class="icon" src="{{imageUrl}}icon-tel.png?t={{Timestamp}}"></image>
手机号快捷登录
</button>

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

@ -22,7 +22,6 @@ Page({ @@ -22,7 +22,6 @@ Page({
const prevPage = pages[pages.length - 2];
prevPage.setData({
protool: false,
isProtocol: true,
});
wx.navigateBack();
},
@ -31,7 +30,6 @@ Page({ @@ -31,7 +30,6 @@ Page({
const prevPage = pages[pages.length - 2];
prevPage.setData({
protool: true,
isProtocol: true,
});
wx.navigateBack();
},

8
src/module1/pages/org3/index.wxml

@ -40,6 +40,7 @@ @@ -40,6 +40,7 @@
class="avatar"
src="{{item.DoctorInfo.doctorImg}}"
level="{{item.DoctorInfo.doctorLevel}}"
did="{{item.DoctorInfo.DoctorId}}"
></doctorAvatar>
<block wx:if="{{item.Children.length}}">
<view class="num">{{item.ChildCount}}人</view>
@ -91,6 +92,7 @@ @@ -91,6 +92,7 @@
class="avatar"
src="{{item.DoctorInfo.doctorImg}}"
level="{{item.DoctorInfo.doctorLevel}}"
did="{{item.DoctorInfo.doctorId}}"
></doctorAvatar>
<block wx:if="{{item.Children.length}}">
<view class="num">{{item.ChildCount}}人</view>
@ -153,6 +155,7 @@ @@ -153,6 +155,7 @@
class="avatar"
src="{{subItem.DoctorInfo.doctorImg}}"
level="{{subItem.DoctorInfo.doctorLevel}}"
did="{{subItem.DoctorInfo.doctorId}}"
></doctorAvatar>
<block wx:if="{{subItem.Children.length}}">
<view class="num">{{subItem.ChildCount}}人</view>
@ -222,6 +225,7 @@ @@ -222,6 +225,7 @@
class="avatar"
src="{{subSubItem.DoctorInfo.doctorImg}}"
level="{{subSubItem.DoctorInfo.doctorLevel}}"
did="{{subSubItem.DoctorInfo.doctorId}}"
></doctorAvatar>
</view>
<view class="wrap">
@ -276,6 +280,7 @@ @@ -276,6 +280,7 @@
class="avatar"
src="{{subItem.DoctorInfo.doctorImg}}"
level="{{subItem.DoctorInfo.doctorLevel}}"
did="{{subItem.DoctorInfo.doctorId}}"
></doctorAvatar>
</view>
<view class="wrap">
@ -330,6 +335,7 @@ @@ -330,6 +335,7 @@
class="avatar"
src="{{item.DoctorInfo.doctorImg}}"
level="{{item.DoctorInfo.doctorLevel}}"
did="{{item.DoctorInfo.doctorId}}"
></doctorAvatar>
<block wx:if="{{item.Children.length}}">
<view class="num">{{item.ChildCount}}人</view>
@ -390,6 +396,7 @@ @@ -390,6 +396,7 @@
class="avatar"
src="{{subSubItem.DoctorInfo.doctorImg}}"
level="{{subSubItem.DoctorInfo.doctorLevel}}"
did="{{subSubItem.DoctorInfo.doctorId}}"
></doctorAvatar>
</view>
<view class="wrap">
@ -444,6 +451,7 @@ @@ -444,6 +451,7 @@
class="avatar"
src="{{item.DoctorInfo.doctorImg}}"
level="{{item.DoctorInfo.doctorLevel}}"
did="{{item.DoctorInfo.doctorId}}"
></doctorAvatar>
</view>
<view class="wrap">

8
src/module1/pages/org4/index.wxml

@ -53,6 +53,7 @@ @@ -53,6 +53,7 @@
class="avatar"
src="{{item.DoctorInfo.doctorImg}}"
level="{{item.DoctorInfo.doctorLevel}}"
did="{{item.DoctorInfo.doctorId}}"
></doctorAvatar>
<block wx:if="{{item.Children.length}}">
<view class="num">{{item.ChildCount}}人</view>
@ -104,6 +105,7 @@ @@ -104,6 +105,7 @@
class="avatar"
src="{{item.DoctorInfo.doctorImg}}"
level="{{item.DoctorInfo.doctorLevel}}"
did="{{item.DoctorInfo.doctorId}}"
></doctorAvatar>
<block wx:if="{{item.Children.length}}">
<view class="num">{{item.ChildCount}}人</view>
@ -166,6 +168,7 @@ @@ -166,6 +168,7 @@
class="avatar"
src="{{subItem.DoctorInfo.doctorImg}}"
level="{{subItem.DoctorInfo.doctorLevel}}"
did="{{subItem.DoctorInfo.doctorId}}"
></doctorAvatar>
<block wx:if="{{subItem.Children.length}}">
<view class="num">{{subItem.ChildCount}}人</view>
@ -235,6 +238,7 @@ @@ -235,6 +238,7 @@
class="avatar"
src="{{subSubItem.DoctorInfo.doctorImg}}"
level="{{subSubItem.DoctorInfo.doctorLevel}}"
did="{{subSubItem.DoctorInfo.doctorId}}"
></doctorAvatar>
</view>
<view class="wrap">
@ -289,6 +293,7 @@ @@ -289,6 +293,7 @@
class="avatar"
src="{{subItem.DoctorInfo.doctorImg}}"
level="{{subItem.DoctorInfo.doctorLevel}}"
did="{{subItem.DoctorInfo.doctorId}}"
></doctorAvatar>
</view>
<view class="wrap">
@ -343,6 +348,7 @@ @@ -343,6 +348,7 @@
class="avatar"
src="{{item.DoctorInfo.doctorImg}}"
level="{{item.DoctorInfo.doctorLevel}}"
did="{{item.DoctorInfo.doctorId}}"
></doctorAvatar>
<block wx:if="{{item.Children.length}}">
<view class="num">{{item.ChildCount}}人</view>
@ -403,6 +409,7 @@ @@ -403,6 +409,7 @@
class="avatar"
src="{{subSubItem.DoctorInfo.doctorImg}}"
level="{{subSubItem.DoctorInfo.doctorLevel}}"
did="{{subSubItem.DoctorInfo.doctorId}}"
></doctorAvatar>
</view>
<view class="wrap">
@ -457,6 +464,7 @@ @@ -457,6 +464,7 @@
class="avatar"
src="{{item.DoctorInfo.doctorImg}}"
level="{{item.DoctorInfo.doctorLevel}}"
did="{{item.DoctorInfo.doctorId}}"
></doctorAvatar>
</view>
<view class="wrap">

7
src/module1/pages/setCaseDoctor/index.wxml

@ -51,7 +51,12 @@ @@ -51,7 +51,12 @@
data-index="{{index}}"
></radio>
<view class="card" bind:tap="handlePopupDetail" data-index="{{index}}">
<doctorAvatar class="avatar" src="{{item.doctorImg}}" level="{{item.doctorLevel}}"></doctorAvatar>
<doctorAvatar
did="{{item.doctorId}}"
class="avatar"
src="{{item.doctorImg}}"
level="{{item.doctorLevel}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">{{item.doctorName}}</view>

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

@ -51,7 +51,7 @@ @@ -51,7 +51,7 @@
color="#00B4C5"
></radio>
<view class="card" bind:tap="handlePopupDetail" data-index="{{index}}">
<doctorAvatar class="avatar" src="{{item.doctorImg}}" level="{{item.doctorLevel}}"></doctorAvatar>
<doctorAvatar did="{{item.doctorId}}" class="avatar" src="{{item.doctorImg}}" level="{{item.doctorLevel}}"></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">{{item.doctorName}}</view>

7
src/module1/pages/setDoctor/index.wxml

@ -55,7 +55,12 @@ @@ -55,7 +55,12 @@
color="#00B4C5"
></radio>
<view class="card" bind:tap="handlePopupDetail" data-index="{{index}}">
<doctorAvatar class="avatar" src="{{item.DoctorImg}}" level="{{item.DoctorLevel}}"></doctorAvatar>
<doctorAvatar
did="{{item.DoctorId}}"
class="avatar"
src="{{item.DoctorImg}}"
level="{{item.DoctorLevel}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">{{item.DoctorName}}</view>

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

@ -24,16 +24,22 @@ @@ -24,16 +24,22 @@
.invite {
padding: 22rpx 28rpx;
border-radius: 16rpx;
font-size: 32rpx;
font-size: 28rpx;
color: #fff;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
display: flex;
align-items: center;
justify-content: space-between;
.icon{
flex-shrink: 0;
width: 40rpx;
height: 40rpx;
.bind {
width: 128rpx;
height: 50rpx;
font-size: 28rpx;
color: #00B4C5;
background: #ffffff;
display: flex;
align-items: center;
justify-content: center;
border-radius: 102rpx 102rpx 102rpx 102rpx;
}
}
.card {
@ -208,6 +214,17 @@ @@ -208,6 +214,17 @@
justify-content: space-between;
background-color: #fff;
box-shadow: 0 -10rpx 20rpx rgba(0, 0, 0, 0.1);
gap: 24rpx;
.cancel {
flex: 1;
height: 84rpx;
border-radius: 96rpx 96rpx 96rpx 96rpx;
border: 1px solid #01b4c5;
font-size: 32rpx;
color: #01b4c5;
text-align: center;
line-height: 84rpx;
}
.submit {
flex: 1;
height: 88rpx;

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

@ -271,6 +271,38 @@ Page({ @@ -271,6 +271,38 @@ Page({
},
});
},
handleBindDoctor() {
wx.navigateTo({
url: "/module1/pages/setInfoDoctor/index",
events: {
acceptDataFromOpenedPage: (data) => {
this.setData({
InviteDoctorId: data.DoctorId,
inviteName: data.DoctorName,
});
},
},
});
},
handleLoginOut() {
wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
title: "确认退出登录?",
success(res) {
if (res.confirm) {
wx.ajax({
method: "POST",
url: "?r=takeda/account/reg-logout",
}).then(() => {
wx.reLaunch({
url: "/module1/pages/login/index",
});
});
}
},
});
},
});
export {};

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

@ -9,11 +9,11 @@ @@ -9,11 +9,11 @@
<view class="container">
<view class="invite" wx:if="{{inviteName}}">
{{inviteName}}医生为您的邀约医生
<image class="icon" src="{{imageUrl}}scan.png?r={{Timestamp}}" bind:tap="handleScan"></image>
<view class="bind" bind:tap="handleBindDoctor">绑定</view>
</view>
<view class="invite" wx:else>
您没有邀约医生,可能会影响您的审核
<image class="icon" src="{{imageUrl}}scan.png?r={{Timestamp}}" bind:tap="handleScan"></image>
<view class="bind" bind:tap="handleBindDoctor">绑定</view>
</view>
<view class="card">
<view class="row row-center">
@ -114,6 +114,7 @@ @@ -114,6 +114,7 @@
</view>
</view>
<view class="footer">
<view class="cancel" bind:tap="handleLoginOut">退出</view>
<view class="submit" bind:tap="handleSubmit">提交</view>
</view>
</view>

10
src/module1/pages/setInfoDoctor/index.json

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
{
"navigationBarTitleText": "指派医生",
"navigationStyle": "default",
"usingComponents": {
"popupDoctorDetail": "/components/popupDoctorDetail/index",
"doctorAvatar": "/components/doctorAvatar/index",
"van-popup": "@vant/weapp/popup/index",
"van-dialog": "@vant/weapp/dialog/index"
}
}

236
src/module1/pages/setInfoDoctor/index.scss

@ -0,0 +1,236 @@ @@ -0,0 +1,236 @@
page {
background-color: rgba(246, 246, 246, 1);
}
.page {
.header {
padding: 32rpx 32rpx 32rpx;
background-color: #fff;
.tip {
font-size: 28rpx;
color: rgba(20, 21, 21, 1);
.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 {
.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;
}
}
}
.resolve {
background-color: transparent;
.r-badge {
position: relative;
z-index: 1;
display: block;
margin: 0 auto;
width: 152rpx;
height: 152rpx;
}
.r-container {
margin-top: -76rpx;
padding: 78rpx 32rpx 40rpx;
background-color: #fff;
border-radius: 32rpx 32rpx 0 0;
.title {
font-size: 32rpx;
color: rgba(20, 21, 21, 1);
font-weight: bold;
text-align: center;
}
.content {
margin-top: 32rpx;
font-size: 30rpx;
color: rgba(153, 153, 153, 1);
line-height: 44rpx;
}
}
}

77
src/module1/pages/setInfoDoctor/index.ts

@ -0,0 +1,77 @@ @@ -0,0 +1,77 @@
const app = getApp<IAppOption>();
Page({
data: {
showDetail: false,
popupDoctorDetail: {},
Search: "",
list: [],
DoctorId: "",
DoctorName: "",
},
onLoad() {
app.waitLogin().then(() => {
this.getList();
});
},
handleSearch() {
this.setData({
list: [],
});
this.getList();
},
handleReset() {
this.setData({
Search: "",
});
this.handleSearch();
},
getList() {
const { Search } = this.data;
wx.ajax({
method: "GET",
url: "?r=takeda/reg/second-doctor-list",
data: {
Search,
},
}).then((res) => {
this.setData({
list: res.list,
});
});
},
handlePopupClose() {
this.setData({
showDetail: false,
});
},
handleRadio(e: any) {
const { index } = e.currentTarget.dataset;
const { list } = this.data;
this.setData({
DoctorId: (list as any)[index].DoctorId,
DoctorName: (list as any)[index].DoctorName,
});
},
handleResolve() {
const { DoctorId, DoctorName } = this.data;
if (!DoctorId) {
wx.showToast({
title: "请选择医生",
icon: "none",
});
return;
}
const eventChannel = this.getOpenerEventChannel();
eventChannel.emit("acceptDataFromOpenedPage", { DoctorId, DoctorName });
this.handleBack()
},
handleBack() {
wx.navigateBack();
},
});
export {};

72
src/module1/pages/setInfoDoctor/index.wxml

@ -0,0 +1,72 @@ @@ -0,0 +1,72 @@
<view class="page">
<view class="header">
<view class="search-wrap">
<view class="search">
<image class="icon" src="{{imageUrl}}icon-search.png?t={{Timestamp}}"></image>
<input
model:value="{{Search}}"
class="input"
placeholder-class="place-input"
placeholder="搜索医生名"
type="text"
confirm-type="search"
bindconfirm="handleSearch"
/>
</view>
<view class="reset" bind:tap="handleReset">重置</view>
</view>
</view>
<view class="container">
<radio-group>
<view class="list">
<view class="list-item" wx:for="{{list}}" wx:key="DoctorId">
<radio
class="radio"
value="{{item.DoctorId}}"
bind:tap="handleRadio"
data-index="{{index}}"
color="#00B4C5"
></radio>
<view class="card" bind:tap="handlePopupDetail" data-index="{{index}}">
<doctorAvatar
did="{{item.DoctorId}}"
class="avatar"
src="{{item.DoctorImg}}"
level="{{item.DoctorLevel}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">{{item.DoctorName}}</view>
<view class="label" wx:if="{{item.DoctorTitleType==='99'}}">{{item.DoctorOtherTitle}}</view>
<view class="label" wx:else>{{DoctorTitleType[item.DoctorTitleType]}}</view>
<block wx:for-item="depart" wx:for="{{item.department}}" wx:key="DepartmentId">
<view class="line"></view>
<view class="label">{{depart.DepartmentName}}</view>
</block>
</view>
<view class="w-container">
<text class="hostipal">{{item.HospitalName}}</text>
<view class="tag">
{{hospitalClassification[item.HospitalClassification]}}{{hospitalLevel[item.HospitalLevel]}}
</view>
<view class="site" wx:if="{{item.CityName}}">
{{item.CityName}}{{item.CountyName?'/':''}}{{item.CountyName}}
</view>
</view>
<view class="w-footer">
<image class="wf-label" src="{{imageUrl}}text-specialty.png?t={{Timestamp}}" mode="aspectFit"></image>
<view class="wf-tag" wx:for="{{item.specialty}}" wx:for-item="spec" wx:key="SpecialtyId">
{{spec.SpecialtyName}}
</view>
</view>
</view>
</view>
</view>
</view>
</radio-group>
</view>
<view class="footer">
<view class="cancel" bind:tap="handleBack">返回</view>
<view class="submit" bind:tap="handleResolve">确认</view>
</view>
</view>

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

@ -53,4 +53,10 @@ @@ -53,4 +53,10 @@
color: rgba(153, 153, 153, 1);
}
}
.login-out{
margin-top: 42rpx;
font-size: 32rpx;
color: #fff;
text-align: center;
}
}

21
src/module1/pages/setInfoResult/index.ts

@ -12,7 +12,7 @@ Page({ @@ -12,7 +12,7 @@ Page({
isFollow: Number(options.isf),
InviteDoctorName: options.iname === "null" ? "" : options.iname,
});
this.getCodeUrl()
this.getCodeUrl();
if (!options.iname) {
this.getApplyDoctor();
}
@ -38,6 +38,25 @@ Page({ @@ -38,6 +38,25 @@ Page({
});
});
},
handleLoginOut() {
wx.showModal({
confirmColor: "#00B4C5",
cancelColor: "#141515",
title: "确认退出登录?",
success(res) {
if (res.confirm) {
wx.ajax({
method: "POST",
url: "?r=takeda/account/reg-logout",
}).then(() => {
wx.reLaunch({
url: "/module1/pages/login/index",
});
});
}
},
});
},
});
export {};

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

@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
<image class="p-title" src="{{imageUrl}}set-info-result-title.png?r={{Timestamp}}"></image>
<view class="container">
<image class="result" src="{{imageUrl}}c-doctor-result.png?r={{Timestamp}}"></image>
<view class="title">提交成功</view>
<view class="title">提交成功待审核</view>
<view class="notice">
<view wx:if="{{InviteDoctorName}}">
已将信息提交给
@ -19,4 +19,5 @@ @@ -19,4 +19,5 @@
<view>获取审核通知</view>
</view>
</view>
<view class="login-out" bind:tap="handleLoginOut">退出登录</view>
</view>

1
src/module1/pages/userInfo/index.scss

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
page {
background-color: rgba(246, 246, 246, 1);
padding-bottom: 200rpx;
}
.page {
margin-bottom: 32rpx;

7
src/pages/cases/index.ts

@ -143,6 +143,7 @@ Page({ @@ -143,6 +143,7 @@ Page({
nav,
isOpen: nav === "1" ? "1" : "",
isHighQuality: nav === "2" ? "1" : "",
isReject: "",
});
if (noSearch) return;
this.handleSearch();
@ -273,9 +274,11 @@ Page({ @@ -273,9 +274,11 @@ Page({
}
},
handleImagePreview(e) {
const { url } = e.currentTarget.dataset;
const { url, parent } = e.currentTarget.dataset;
const urls = parent.map((item) => item.url);
wx.previewImage({
urls: [url],
urls,
current: url,
});
},
handleDetail(e) {

1
src/pages/cases/index.wxml

@ -242,6 +242,7 @@ @@ -242,6 +242,7 @@
src="{{photoItem.url}}"
catch:tap="handleImagePreview"
data-url="{{photoItem.url}}"
data-parent="{{item.caseImages}}"
wx:key="index"
></image>
</view>

7
src/pages/my/index.wxml

@ -3,7 +3,12 @@ @@ -3,7 +3,12 @@
style="background: url({{imageUrl}}my-bg.png?r={{Timestamp}}) no-repeat top center/100% 642rpx;padding-top:{{menuButtonInfo.bottom+30}}px;"
>
<view class="user">
<doctorAvatar class="avatar" src="{{userInfo.Img}}" level="{{userInfo.DoctorLevel}}"></doctorAvatar>
<doctorAvatar
did="{{userInfo.DoctorId}}"
class="avatar"
src="{{userInfo.Img}}"
level="{{userInfo.DoctorLevel}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">{{userInfo.Name}}</view>

Loading…
Cancel
Save