Browse Source

病历模块

main
kola 4 months ago
parent
commit
5938b4d940
  1. 1
      .prettierrc
  2. 10
      .vscode/settings.json
  3. 7
      project.private.config.json
  4. 3
      src/app.json
  5. 0
      src/components/customAudio/index.scss
  6. 2
      src/components/customAudio/index.wxml
  7. 0
      src/components/customAudioBar/index.json
  8. 32
      src/components/customAudioBar/index.scss
  9. 14
      src/components/customAudioBar/index.ts
  10. 12
      src/components/customAudioBar/index.wxml
  11. 0
      src/images/audio-line-play.png
  12. BIN
      src/images/wave.gif
  13. BIN
      src/images/wave.png
  14. 80
      src/module1/pages/casesDetail/index.wxml
  15. 5
      src/module1/pages/casesFeedback/index.json
  16. 189
      src/module1/pages/casesFeedback/index.scss
  17. 12
      src/module1/pages/casesFeedback/index.ts
  18. 6
      src/module1/pages/casesFeedback/index.wxml
  19. 1
      src/module1/pages/entryCases/index.json
  20. 27
      src/module1/pages/entryCases/index.scss
  21. 9
      src/module1/pages/entryCases/index.wxml

1
.prettierrc

@ -1,4 +1,3 @@ @@ -1,4 +1,3 @@
{
"$schema": "http://json.schemastore.org/prettierrc",
"printWidth": 120,

10
.vscode/settings.json vendored

@ -0,0 +1,10 @@ @@ -0,0 +1,10 @@
{
"path-autocomplete.pathMappings": {
"@": "${folder}/src",
"/": "${folder}/src",
},
"emmet.preferences": {
"css.intUnit": "rpx",
"css.floatUnit": "rpx"
},
}

7
project.private.config.json

@ -8,6 +8,13 @@ @@ -8,6 +8,13 @@
"miniprogram": {
"list": [
{
"name": "病历反馈",
"pathName": "module1/pages/casesFeedback/index",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "病例详情",
"pathName": "module1/pages/casesDetail/index",
"query": "",

3
src/app.json

@ -27,7 +27,8 @@ @@ -27,7 +27,8 @@
"pages/org4/index",
"pages/entryCases/index",
"pages/entryCasesResult/index",
"pages/casesDetail/index"
"pages/casesDetail/index",
"pages/casesFeedback/index"
]
}
],

0
src/components/customAudio/index.scss

2
src/components/customAudio/index.wxml

@ -1,2 +0,0 @@ @@ -1,2 +0,0 @@
<!--pages/story/a.wxml-->
<text>pages/story/a.wxml</text>

0
src/components/customAudio/index.json → src/components/customAudioBar/index.json

32
src/components/customAudioBar/index.scss

@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
.audio-bar {
padding: 10rpx 14rpx;
display: flex;
align-items: center;
justify-content: space-between;
border-radius: 104rpx 104rpx 104rpx 104rpx;
gap: 16rpx;
.btn {
width: 50rpx;
height: 50rpx;
.icon {
width: 100%;
height: 100%;
}
}
.container {
flex: 1;
width: 0;
.hide {
overflow: hidden;
.wave {
display: block;
width: 394rpx;
height: 60rpx;
}
}
}
.time {
font-size: 28rpx;
color: rgba(1, 180, 197, 1);
}
}

14
src/components/customAudio/index.ts → src/components/customAudioBar/index.ts

@ -1,25 +1,19 @@ @@ -1,25 +1,19 @@
const _app = getApp<IAppOption>();
const _app = getApp<IAppOption>()
// pages/story/a.ts
Component({
/**
*
*/
properties: {
},
properties: {},
/**
*
*/
data: {
},
data: {},
/**
*
*/
methods: {
}
methods: {},
})

12
src/components/customAudioBar/index.wxml

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<view class="audio-bar">
<view class="btn">
<image class="icon" src="/images/audio-line-play.png"></image>
<!-- <image class="icon" src="/images/audio-line-pause.png.png"></image> -->
</view>
<view class="container">
<view class="hide">
<image class="wave" src="/images/wave.png"></image>
</view>
</view>
<view class="time">45”</view>
</view>

0
src/images/audio-line-plat.png → src/images/audio-line-play.png

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
src/images/wave.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 KiB

BIN
src/images/wave.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

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

@ -15,7 +15,11 @@ @@ -15,7 +15,11 @@
<view class="content">2024-02-09 12:04:23</view>
</view>
<view class="user">
<doctorAvatar class="avatar" src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" level="{{1}}"></doctorAvatar>
<doctorAvatar
class="avatar"
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567"
level="{{1}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">徐萌</view>
@ -37,11 +41,19 @@ @@ -37,11 +41,19 @@
</view>
</view>
<view class="photos">
<image class="photo" src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" mode="aspectFill" bind:tap="handleImagePreview" data-url="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567"></image>
<image
class="photo"
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567"
mode="aspectFill"
bind:tap="handleImagePreview"
data-url="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567"
></image>
</view>
<view class="remark">
<view class="r-title">病历备注</view>
<view class="r-content">此患者已经做了基因检测,根据基因检测的流程判断已排除,但是其他的检测档案指向性较强,请帮忙判断</view>
<view class="r-content">
此患者已经做了基因检测,根据基因检测的流程判断已排除,但是其他的检测档案指向性较强,请帮忙判断
</view>
</view>
<view class="audio-list">
<view class="audio-row">音频条,占位</view>
@ -69,7 +81,11 @@ @@ -69,7 +81,11 @@
<view class="date">提交时间:2024-10-01 12:34:34</view>
</view>
<view class="doctor">
<doctorAvatar class="avatar" src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567" level="{{1}}"></doctorAvatar>
<doctorAvatar
class="avatar"
src="https://pic1.zhimg.com/50/v2-dcfbab1219ae4f7a7a6db168bb1580a2_720w.jpg?source=2c26e567"
level="{{1}}"
></doctorAvatar>
<view class="wrap">
<view class="w-header">
<view class="name">徐萌</view>
@ -136,7 +152,14 @@ @@ -136,7 +152,14 @@
</view>
</view>
</view>
<van-dialog use-slot title="" show="{{ show1 }}" show-cancel-button bind:close="onClose" confirm-button-color="rgba(0, 180, 197, 1)">
<van-dialog
use-slot
title=""
show="{{ show1 }}"
show-cancel-button
bind:close="onClose"
confirm-button-color="rgba(0, 180, 197, 1)"
>
<view class="dialog1">
<view class="title">驳回病历后您无需批注此病历</view>
<view class="select-wrap">
@ -144,10 +167,23 @@ @@ -144,10 +167,23 @@
<view class="select">资料待补充</view>
<view class="select">重复病历</view>
</view>
<textarea class="remark" placeholder="请输入驳回原因" placeholder-style="color:rgba(205, 205, 205, 1);" auto-height></textarea>
<textarea
class="remark"
placeholder="请输入驳回原因"
placeholder-style="color:rgba(205, 205, 205, 1);"
auto-height
></textarea>
</view>
</van-dialog>
<van-dialog use-slot title="" show="{{ show2 }}" show-cancel-button bind:close="onClose" confirm-button-color="rgba(0, 180, 197, 1)" custom-style="background:transparent">
<van-dialog
use-slot
title=""
show="{{ show2 }}"
show-cancel-button
bind:close="onClose"
confirm-button-color="rgba(0, 180, 197, 1)"
custom-style="background:transparent"
>
<view class="dialog2">
<image class="badge" src="/images/case-detail-dialog1.png"></image>
<view class="container">
@ -156,7 +192,15 @@ @@ -156,7 +192,15 @@
</view>
</view>
</van-dialog>
<van-dialog use-slot title="" show="{{ show3 }}" show-cancel-button bind:close="onClose" confirm-button-color="rgba(0, 180, 197, 1)" custom-style="background:transparent">
<van-dialog
use-slot
title=""
show="{{ show3 }}"
show-cancel-button
bind:close="onClose"
confirm-button-color="rgba(0, 180, 197, 1)"
custom-style="background:transparent"
>
<view class="dialog3">
<image class="badge" src="/images/case-detail-dialog2.png"></image>
<view class="container">
@ -165,7 +209,15 @@ @@ -165,7 +209,15 @@
</view>
</view>
</van-dialog>
<van-dialog use-slot title="" show="{{ show4 }}" show-cancel-button bind:close="onClose" confirm-button-color="rgba(0, 180, 197, 1)" custom-style="background:transparent">
<van-dialog
use-slot
title=""
show="{{ show4 }}"
show-cancel-button
bind:close="onClose"
confirm-button-color="rgba(0, 180, 197, 1)"
custom-style="background:transparent"
>
<view class="dialog4">
<image class="badge" src="/images/case-detail-dialog3.png"></image>
<view class="container">
@ -174,7 +226,15 @@ @@ -174,7 +226,15 @@
</view>
</view>
</van-dialog>
<van-dialog use-slot title="" show="{{ show5 }}" show-cancel-button bind:close="onClose" confirm-button-color="rgba(0, 180, 197, 1)" custom-style="background:transparent">
<van-dialog
use-slot
title=""
show="{{ show5 }}"
show-cancel-button
bind:close="onClose"
confirm-button-color="rgba(0, 180, 197, 1)"
custom-style="background:transparent"
>
<view class="dialog5">
<image class="badge" src="/images/case-detail-dialog4.png"></image>
<view class="container">

5
src/module1/pages/casesFeedback/index.json

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
{
"navigationBarTitleText": "病历反馈",
"navigationStyle": "default",
"usingComponents": {}
}

189
src/module1/pages/casesFeedback/index.scss

@ -0,0 +1,189 @@ @@ -0,0 +1,189 @@
page {
background-color: #f6f6f6;
}
.page {
.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;
align-items: center;
justify-content: space-between;
background-color: #fff;
box-shadow: 0 -10rpx 20rpx rgba(0, 0, 0, 0.1);
.cancel {
width: 332rpx;
height: 84rpx;
text-align: center;
line-height: 88rpx;
font-size: 32rpx;
color: rgba(1, 180, 197, 1);
border-radius: 96rpx 96rpx 96rpx 96rpx;
border: 1rpx solid #01b4c5;
}
.submit {
width: 330rpx;
height: 88rpx;
text-align: center;
line-height: 88rpx;
font-size: 32rpx;
color: #fff;
background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%);
border-radius: 96rpx;
}
}
}
.dialog1 {
padding: 48rpx 32rpx 32rpx;
.title {
font-size: 36rpx;
color: rgba(20, 21, 21, 1);
font-weight: bold;
}
.select-wrap {
margin-top: 32rpx;
display: flex;
gap: 16rpx;
.select {
padding: 4rpx 24rpx;
font-size: 28rpx;
color: rgba(133, 133, 133, 1);
line-height: 44rpx;
background-color: rgba(246, 246, 246, 1);
border-radius: 84rpx;
}
}
.remark {
margin-top: 24rpx;
padding: 32rpx;
width: 100%;
box-sizing: border-box;
border-radius: 16rpx;
min-height: 200rpx;
background-color: rgba(246, 246, 246, 1);
}
}
.dialog2 {
.badge {
position: relative;
z-index: 1;
margin: 0 auto;
display: block;
width: 192rpx;
height: 204rpx;
}
.container {
padding: 160rpx 48rpx 48rpx;
background-color: #fff;
border-radius: 16rpx 16rpx 0 0;
margin-top: -126rpx;
background: linear-gradient(180deg, #e5f5f7 0%, #ffffff 39%, #ffffff 100%);
.title {
font-size: 32rpx;
text-align: center;
color: rgba(20, 21, 21, 1);
font-weight: bold;
}
.content {
margin-top: 24rpx;
font-size: 28rpx;
line-height: 40rpx;
color: rgba(153, 153, 153, 1);
}
}
}
.dialog3 {
.badge {
position: relative;
z-index: 1;
margin: 0 auto;
display: block;
width: 192rpx;
height: 204rpx;
}
.container {
padding: 160rpx 48rpx 48rpx;
background-color: #fff;
border-radius: 16rpx 16rpx 0 0;
margin-top: -126rpx;
background: linear-gradient(180deg, #e5f5f7 0%, #ffffff 39%, #ffffff 100%);
.title {
font-size: 32rpx;
text-align: center;
color: rgba(20, 21, 21, 1);
font-weight: bold;
}
.content {
margin-top: 24rpx;
font-size: 28rpx;
line-height: 40rpx;
color: rgba(153, 153, 153, 1);
}
}
}
.dialog4 {
.badge {
position: relative;
z-index: 1;
margin: 0 auto;
display: block;
width: 192rpx;
height: 204rpx;
}
.container {
padding: 160rpx 48rpx 48rpx;
background-color: #fff;
border-radius: 16rpx 16rpx 0 0;
margin-top: -126rpx;
background: linear-gradient(180deg, #fff0ee 0%, #ffffff 39%, #ffffff 100%);
.title {
font-size: 32rpx;
text-align: center;
color: rgba(20, 21, 21, 1);
font-weight: bold;
}
.content {
margin-top: 24rpx;
font-size: 28rpx;
line-height: 40rpx;
color: rgba(153, 153, 153, 1);
}
}
}
.dialog5 {
.badge {
position: relative;
z-index: 1;
margin: 0 auto;
display: block;
width: 192rpx;
height: 204rpx;
}
.container {
padding: 160rpx 48rpx 48rpx;
background-color: #fff;
border-radius: 16rpx 16rpx 0 0;
margin-top: -126rpx;
background: linear-gradient(180deg, #fff0ee 0%, #ffffff 39%, #ffffff 100%);
.title {
font-size: 32rpx;
text-align: center;
color: rgba(20, 21, 21, 1);
font-weight: bold;
}
.content {
margin-top: 24rpx;
font-size: 28rpx;
line-height: 40rpx;
color: rgba(153, 153, 153, 1);
}
}
}

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

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
const _app = getApp<IAppOption>()
Page({
data: {
show1: false,
show2: false,
show3: false,
show4: false,
show5: false,
},
onLoad() {},
})

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

@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
<view class="page">
<view class="footer">
<view class="cancel">返回</view>
<view class="submit" bind:tap="handleSubmit">保存并提交</view>
</view>
</view>

1
src/module1/pages/entryCases/index.json

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

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

@ -115,6 +115,33 @@ page { @@ -115,6 +115,33 @@ page {
text-align: right;
}
}
.audio-list {
margin-top: 32rpx;
.row {
display: flex;
gap: 28rpx;
align-items: center;
.audio-bar {
flex: 1;
border-radius: 104rpx;
background-color: rgba(246, 246, 246, 1);
}
.options {
flex-shrink: 0;
gap: 20rpx;
display: flex;
align-items: center;
.del{
width: 36rpx;
height: 36rpx;
}
.trans {
font-size: 28rpx;
color: rgba(128, 128, 128, 1);
}
}
}
}
.record {
margin: 24rpx -30rpx -30rpx;
height: 198rpx;

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

@ -38,6 +38,15 @@ @@ -38,6 +38,15 @@
></textarea>
<view class="limit">0/3000</view>
</view>
<view class="audio-list">
<view class="row">
<customAudioBar class="audio-bar"></customAudioBar>
<view class="options">
<image class="del" src="/images/icon-del.png"></image>
<view class="trans">转文字</view>
</view>
</view>
</view>
<view class="record">
<customRecord class="record-btn"></customRecord>
<view class="r-title">您也可以长按录入语音</view>

Loading…
Cancel
Save