Browse Source

众测问题处理

2.0
kola-web 1 month ago
parent
commit
038b783606
  1. 2
      src/components/pickerArea/index.json
  2. 128
      src/components/pickerArea/index.scss
  3. 310
      src/components/pickerArea/index.ts
  4. 92
      src/components/pickerArea/index.wxml
  5. 7
      src/components/pickerAreaBak/index.json
  6. 0
      src/components/pickerAreaBak/index.scss
  7. 76
      src/components/pickerAreaBak/index.ts
  8. 13
      src/components/pickerAreaBak/index.wxml
  9. 69
      src/components/popup/index.scss
  10. 26
      src/components/popup/index.wxml
  11. 3
      src/components/uploadFile/index.scss
  12. 10
      src/components/uploadFile/index.wxml
  13. 6
      src/doctor/pages/askDoctor/index.scss
  14. 12
      src/doctor/pages/coltStat/index.scss
  15. 14
      src/doctor/pages/coltStat/index.ts
  16. 24
      src/doctor/pages/coltStat/index.wxml
  17. 4
      src/doctor/pages/course/index.ts
  18. 2
      src/doctor/pages/courseHostipal/index.json
  19. 5
      src/doctor/pages/courseHostipal/index.ts
  20. 4
      src/doctor/pages/file/index.json
  21. 11
      src/doctor/pages/file/index.scss
  22. 28
      src/doctor/pages/file/index.ts
  23. 612
      src/doctor/pages/file/index.wxml
  24. 5
      src/doctor/pages/followPlan/index.ts
  25. 4
      src/doctor/pages/followPlan/index.wxml
  26. 75
      src/doctor/pages/index/index.scss
  27. 2
      src/doctor/pages/index/index.ts
  28. 26
      src/doctor/pages/index/index.wxml
  29. 30
      src/doctor/pages/lastDiagnosisReport/index.scss
  30. 17
      src/doctor/pages/lastDiagnosisReport/index.ts
  31. 17
      src/doctor/pages/lastDiagnosisReport/index.wxml
  32. 20
      src/doctor/pages/login/index.scss
  33. 44
      src/doctor/pages/login/index.wxml
  34. 2
      src/doctor/pages/my/index.scss
  35. 3
      src/doctor/pages/patientDetail/index.scss
  36. 2
      src/doctor/pages/patientDetail/index.wxml
  37. 32
      src/doctor/pages/preDiagnosisReport/index.scss
  38. 38
      src/doctor/pages/preDiagnosisReport/index.ts
  39. 30
      src/doctor/pages/preDiagnosisReport/index.wxml
  40. 2
      src/doctor/pages/userInfo/index.scss
  41. BIN
      src/images/bg4.png
  42. BIN
      src/images/gif2.gif
  43. BIN
      src/images/icon119.png
  44. BIN
      src/images/icon12.png
  45. BIN
      src/images/icon120.png
  46. BIN
      src/images/none3.png
  47. BIN
      src/images/none4.png
  48. BIN
      src/images/none5.png
  49. BIN
      src/images/share.png
  50. BIN
      src/images/title17.png
  51. BIN
      src/images/title18.png
  52. 8
      src/pages/applyFrom/index.ts
  53. 15
      src/pages/applyFrom/index.wxml
  54. 2
      src/pages/ask/index.scss
  55. 4
      src/pages/index/index.scss
  56. 2
      src/pages/index/index.wxml
  57. 1
      src/pages/my/index.scss
  58. 14
      src/patient/components/patient-tab-bar/index.ts
  59. 6
      src/patient/pages/askPatient/index.scss
  60. 2
      src/patient/pages/askPatient/index.wxml
  61. 3
      src/patient/pages/blood/index.scss
  62. 2
      src/patient/pages/blood/index.wxml
  63. 4
      src/patient/pages/bloodAdd/index.json
  64. 5
      src/patient/pages/bloodAdd/index.scss
  65. 24
      src/patient/pages/bloodAdd/index.ts
  66. 11
      src/patient/pages/bloodAdd/index.wxml
  67. 8
      src/patient/pages/casesAdd/index.scss
  68. 2
      src/patient/pages/casesAdd/index.ts
  69. 3
      src/patient/pages/coltStat/index.json
  70. 13
      src/patient/pages/coltStat/index.scss
  71. 45
      src/patient/pages/coltStat/index.ts
  72. 34
      src/patient/pages/coltStat/index.wxml
  73. 12
      src/patient/pages/course/index.ts
  74. 4
      src/patient/pages/doctorList/index.scss
  75. 2
      src/patient/pages/doctorList/index.wxml
  76. 9
      src/patient/pages/entryInfo/index.wxml
  77. 2
      src/patient/pages/familyScan/index.ts
  78. 6
      src/patient/pages/file/index.json
  79. 13
      src/patient/pages/file/index.scss
  80. 36
      src/patient/pages/file/index.ts
  81. 597
      src/patient/pages/file/index.wxml
  82. 14
      src/patient/pages/index/index.scss
  83. 8
      src/patient/pages/index/index.ts
  84. 27
      src/patient/pages/index/index.wxml
  85. 1
      src/patient/pages/inhibitorsManage/index.scss
  86. 21
      src/patient/pages/inhibitorsManage/index.ts
  87. 3
      src/patient/pages/inhibitorsManage/index.wxml
  88. 32
      src/patient/pages/lastDiagnosisReport/index.scss
  89. 27
      src/patient/pages/lastDiagnosisReport/index.ts
  90. 36
      src/patient/pages/lastDiagnosisReport/index.wxml
  91. 4
      src/patient/pages/login/index.ts
  92. 2
      src/patient/pages/login/index.wxml
  93. 71
      src/patient/pages/preDiagnosisReport/index.scss
  94. 47
      src/patient/pages/preDiagnosisReport/index.ts
  95. 53
      src/patient/pages/preDiagnosisReport/index.wxml
  96. 4
      src/patient/pages/selectDoctorList/index.ts
  97. 25
      src/patient/pages/selectHostipal/index.ts
  98. 10
      src/patient/pages/selectHostipal/index.wxml
  99. 24
      src/patient/pages/userInfo/index.wxml
  100. 4
      src/utils/page.ts

2
src/components/pickerArea/index.json

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

128
src/components/pickerArea/index.scss

@ -0,0 +1,128 @@ @@ -0,0 +1,128 @@
.aside-share {
position: fixed;
right: 22rpx;
bottom: 120rpx;
width: 136rpx;
height: 136rpx;
}
.popup {
position: relative;
background-color: #fff;
.close {
position: absolute;
top: 52rpx;
right: 32rpx;
color: rgba(72, 72, 72, 1);
font-size: 34rpx;
}
.p-header {
padding: 46rpx 30rpx 0;
.title {
text-align: center;
font-size: 36rpx;
color: rgba(72, 72, 72, 1);
font-weight: bold;
}
.tip {
text-align: center;
margin-top: 16rpx;
font-size: 32rpx;
color: rgba(72, 72, 72, 1);
}
.area {
margin-top: 48rpx;
display: flex;
align-items: center;
justify-content: space-between;
gap: 14rpx;
.item {
flex: 1;
padding: 18rpx 30rpx;
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(0, 0, 0, 0.11);
border-radius: 12rpx 12rpx 12rpx 12rpx;
border: 2rpx solid #e04775;
display: flex;
align-items: center;
justify-content: space-between;
.content {
font-size: 32rpx;
color: rgba(72, 72, 72, 1);
max-width: 5em;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.icon {
width: 32rpx;
height: 32rpx;
}
}
.picker {
flex: 1;
}
.btn {
width: 126rpx;
height: 76rpx;
font-size: 32rpx;
color: rgba(255, 255, 255, 1);
display: flex;
align-items: center;
justify-content: center;
background: #e04775;
border-radius: 12rpx 12rpx 12rpx 12rpx;
}
}
}
.select {
margin-top: 44rpx;
padding: 0 30rpx 0;
display: grid;
grid-template-columns: repeat(auto-fit, 68rpx);
gap: 26rpx 20rpx;
.s-item {
width: 68rpx;
height: 68rpx;
text-align: center;
line-height: 68rpx;
font-size: 28rpx;
color: rgba(158, 158, 158, 1);
border-radius: 50%;
background: #f7f8f9;
&.active {
color: #fff;
background-color: rgba(224, 71, 117, 1);
}
}
}
.scroll {
padding: 0 30rpx;
height: 45vh;
box-sizing: border-box;
.item {
padding: 32rpx 0;
font-size: 28rpx;
color: rgba(72, 72, 72, 1);
border-bottom: 2px solid #fbfbfb;
display: flex;
align-items: center;
justify-content: space-between;
.word {
margin-right: 24rpx;
display: inline-block;
width: 1em;
color: rgba(158, 158, 158, 1);
}
.icon {
width: 36rpx;
height: 36rpx;
}
&.active {
color: rgba(224, 71, 117, 1);
.word {
color: rgba(224, 71, 117, 1);
}
}
}
}
}

310
src/components/pickerArea/index.ts

@ -2,75 +2,315 @@ const app = getApp<IAppOption>() @@ -2,75 +2,315 @@ const app = getApp<IAppOption>()
Component({
properties: {
level: {
type: Number,
value: 3,
// 省份名称
pname: {
type: String,
value: '',
},
// 省份ID
pid: {
type: String,
value: '',
},
value: {
// 城市名称
cname: {
type: String,
value: '',
},
// 城市ID
cid: {
type: String,
value: '',
},
},
observers: {
show(newVal: boolean) {
this.triggerEvent('show', newVal)
},
},
data: {
show: false,
word: '',
imageUrl: app.globalData.imageUrl,
Timestamp: app.globalData.Timestamp,
show: false,
options: [],
fieldNames: {
text: 'label',
value: 'value',
children: 'children',
},
},
lifetimes: {
attached() {
this.getArea()
active: 0,
ProvinceName: '',
ProvinceId: '',
CityName: '',
CityId: '',
proList: {
A: [
{
name: '安徽省',
code: '340000',
},
{
name: '澳门特别行政区',
code: '820000',
},
],
B: [
{
name: '北京市',
code: '110000',
},
],
C: [
{
name: '重庆市',
code: '500000',
},
],
F: [
{
name: '福建省',
code: '350000',
},
],
G: [
{
name: '甘肃省',
code: '620000',
},
{
name: '广东省',
code: '440000',
},
{
name: '广西壮族自治区',
code: '450000',
},
{
name: '贵州省',
code: '520000',
},
],
H: [
{
name: '海南省',
code: '460000',
},
{
name: '河北省',
code: '130000',
},
{
name: '河南省',
code: '410000',
},
{
name: '黑龙江省',
code: '230000',
},
{
name: '湖北省',
code: '420000',
},
{
name: '湖南省',
code: '430000',
},
],
J: [
{
name: '吉林省',
code: '220000',
},
{
name: '江苏省',
code: '320000',
},
{
name: '江西省',
code: '360000',
},
],
L: [
{
name: '辽宁省',
code: '210000',
},
],
N: [
{
name: '宁夏回族自治区',
code: '640000',
},
{
name: '内蒙古自治区',
code: '150000',
},
],
Q: [
{
name: '青海省',
code: '630000',
},
],
S: [
{
name: '山东省',
code: '370000',
},
{
name: '山西省',
code: '140000',
},
{
name: '陕西省',
code: '610000',
},
{
name: '上海市',
code: '310000',
},
{
name: '四川省',
code: '510000',
},
],
T: [
{
name: '天津市',
code: '120000',
},
{
name: '台湾省',
code: '710000',
},
],
X: [
{
name: '西藏自治区',
code: '540000',
},
{
name: '新疆维吾尔自治区',
code: '650000',
},
{
name: '香港特别行政区',
code: '810000',
},
],
Y: [
{
name: '云南省',
code: '530000',
},
],
Z: [
{
name: '浙江省',
code: '330000',
},
],
},
area: [] as any,
range: [],
scrollIntoView0: '',
scrollIntoView1: '',
},
methods: {
handleShow() {
this.setData({
show: true,
ProvinceName: this.data.pname || '',
ProvinceId: this.data.pid || '',
CityName: this.data.cname || '',
CityId: this.data.cid || '',
scrollIntoView0: this.data.pid || '',
scrollIntoView1: this.data.cid || '',
})
this.getArea()
},
getArea() {
const { level } = this.data
wx.ajax({
method: 'GET',
url: '/js/area.json',
data: {},
isJSON: true,
}).then((res) => {
if (level === 1) {
res.forEach((item: any) => {
delete item.children
})
}
if (level === 2) {
res.forEach((item: any) => {
item.children.forEach((child: any) => {
delete child.children
})
})
}
this.setData({
options: res,
area: res,
})
this.getRangeList()
})
},
onFinish(e: any) {
this.triggerEvent('change', e.detail.selectedOptions)
handleItem(e: any) {
const { code, name } = e.currentTarget.dataset
this.setData({
ProvinceId: code,
ProvinceName: name,
CityId: '',
CityName: '',
})
this.getRangeList()
},
handleChangeCity(e: any) {
const { code, name } = e.currentTarget.dataset
this.setData({
CityId: code,
CityName: name,
})
},
handleShare() {
this.setData({
show: false,
})
this.triggerEvent('change', [
{
label: this.data.ProvinceName,
value: this.data.ProvinceId,
},
{
label: this.data.CityName,
value: this.data.CityId,
},
])
},
handleSelect(e) {
const { id } = e.currentTarget.dataset
this.setData({
word: id,
scrollIntoView0: id,
})
},
getRangeList() {
const { area, ProvinceId } = this.data
if (!ProvinceId) return
const range = area.filter((item: any) => item.value == ProvinceId)[0].children
this.setData({
range,
active: 1,
scrollIntoView0: '',
scrollIntoView1: `id${this.data.CityId}`,
})
},
handleProvince() {
this.setData({
active: 0,
scrollIntoView0: this.data.word || `id${this.data.ProvinceId}`,
scrollIntoView1: '',
})
},
handleCity() {
const { ProvinceId } = this.data
if (!ProvinceId) {
wx.showToast({
title: '请先选择省份',
icon: 'none',
})
return
}
this.getRangeList()
},
onClose() {
handleClose() {
this.setData({
show: false,
})
this.triggerEvent('cancel')
},
},
})

92
src/components/pickerArea/index.wxml

@ -1,13 +1,81 @@ @@ -1,13 +1,81 @@
<van-popup show="{{ show }}" round position="bottom">
<van-cascader
wx:if="{{ show }}"
value="{{ value }}"
title="请选择所在地区"
fieldNames="{{fieldNames}}"
options="{{ options }}"
bind:close="onClose"
bind:finish="onFinish"
/>
</van-popup>
<slot bind:tap="handleShow"></slot>
<van-popup show="{{ show }}" position="bottom" round close-on-click-overlay bind:click-overlay="handleClose">
<view class="popup">
<van-icon catch:tap="handleClose" class="close" name="cross" />
<view class="p-header">
<view class="title">选择省份和地区</view>
<!-- <view class="tip">对方打开后自动定位此地区</view> -->
<view class="area">
<view class="item" bind:tap="handleProvince">
<view class="content">{{ProvinceName || '请选择省份'}}</view>
<image class="icon" src="{{imageUrl}}icon6.png?t={{Timestamp}}"></image>
</view>
<view class="item" bind:tap="handleCity">
<view class="content">{{CityName || '请选择城市'}}</view>
<image class="icon" src="{{imageUrl}}icon6.png?t={{Timestamp}}"></image>
</view>
<view class="btn" bind:tap="handleShare">确定</view>
</view>
</view>
<block wx:if="{{active===1}}">
<scroll-view
class="scroll"
scroll-y
scroll-with-animation
scroll-into-view="{{scrollIntoView1}}"
show-scrollbar="{{false}}"
>
<view
class="item {{item.value === CityId && 'active'}}"
id="{{'id'+item.value}}"
wx:for="{{range}}"
wx:key="index"
bind:tap="handleChangeCity"
data-code="{{item.value}}"
data-name="{{item.label}}"
>
<view class="left">{{item.label}}</view>
</view>
</scroll-view>
</block>
<block wx:else>
<view class="select">
<view
class="s-item {{word===index && 'active'}}"
wx:for="{{proList}}"
wx:key="index"
bind:tap="handleSelect"
data-id="{{index}}"
>
{{index}}
</view>
</view>
<scroll-view
class="scroll"
scroll-y
scroll-into-view="{{scrollIntoView0}}"
scroll-with-animation
show-scrollbar="{{false}}"
>
<block wx:for="{{proList}}" wx:for-item="list" wx:for-index="key" wx:key="key">
<block wx:for="{{list}}" wx:key="index">
<view wx:if="{{index==0}}" id="{{key}}"></view>
<view
class="item {{item.code=== ProvinceId && 'active'}}"
id="{{'id'+item.code}}"
bind:tap="handleItem"
data-code="{{item.code}}"
data-name="{{item.name}}"
>
<view class="left">
<text class="word">{{index===0 ? key : ''}}</text>
{{item.name}}
</view>
</view>
</block>
</block>
</scroll-view>
</block>
</view>
</van-popup>

7
src/components/pickerAreaBak/index.json

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"van-popup": "@vant/weapp/popup/index",
"van-cascader": "@vant/weapp/cascader/index"
}
}

0
src/components/pickerAreaBak/index.scss

76
src/components/pickerAreaBak/index.ts

@ -0,0 +1,76 @@ @@ -0,0 +1,76 @@
const app = getApp<IAppOption>()
Component({
properties: {
level: {
type: Number,
value: 3,
},
value: {
type: String,
value: '',
},
},
data: {
imageUrl: app.globalData.imageUrl,
Timestamp: app.globalData.Timestamp,
show: false,
options: [],
fieldNames: {
text: 'label',
value: 'value',
children: 'children',
},
},
lifetimes: {
attached() {
this.getArea()
},
},
methods: {
handleShow() {
this.setData({
show: true,
})
},
getArea() {
const { level } = this.data
wx.ajax({
method: 'GET',
url: '/js/area.json',
data: {},
isJSON: true,
}).then((res) => {
if (level === 1) {
res.forEach((item: any) => {
delete item.children
})
}
if (level === 2) {
res.forEach((item: any) => {
item.children.forEach((child: any) => {
delete child.children
})
})
}
this.setData({
options: res,
})
})
},
onFinish(e: any) {
this.triggerEvent('change', e.detail.selectedOptions)
this.setData({
show: false,
})
},
onClose() {
this.setData({
show: false,
})
this.triggerEvent('cancel')
},
},
})

13
src/components/pickerAreaBak/index.wxml

@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
<van-popup show="{{ show }}" round position="bottom">
<van-cascader
wx:if="{{ show }}"
value="{{ value }}"
title="请选择所在地区"
fieldNames="{{fieldNames}}"
options="{{ options }}"
bind:close="onClose"
bind:finish="onFinish"
/>
</van-popup>
<slot bind:tap="handleShow"></slot>

69
src/components/popup/index.scss

@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
margin: 0 auto;
width: 164rpx;
height: 164rpx;
border-radius: 32rpx;
}
.title {
margin-top: 32rpx;
@ -261,19 +262,19 @@ @@ -261,19 +262,19 @@
.popup6 {
.container {
padding: 330rpx 0 0;
width: 510rpx;
height: 490rpx;
padding: 420rpx 0 0;
width: 610rpx;
height: 600rpx;
box-sizing: border-box;
text-align: center;
.title {
font-size: 36rpx;
font-size: 40rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.content {
margin-top: 20rpx;
font-size: 32rpx;
font-size: 36rpx;
color: rgba(1, 1, 5, 1);
}
}
@ -518,7 +519,7 @@ @@ -518,7 +519,7 @@
margin-top: -72rpx;
padding: 106rpx 0 0;
width: 604rpx;
height: 194rpx;
height: 244rpx;
background: linear-gradient(7deg, #ffffff 19%, #ffe8e4 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx;
box-sizing: border-box;
@ -1160,6 +1161,62 @@ @@ -1160,6 +1161,62 @@
}
}
.popup19 {
.badge {
position: relative;
z-index: 1;
margin: 0 auto;
display: block;
width: 194rpx;
height: 167rpx;
}
.container {
margin-top: -87rpx;
padding: 116rpx 36rpx 34rpx;
width: 610rpx;
height: 370rpx;
box-sizing: border-box;
background: linear-gradient(7deg, #ffffff 19%, #ffe8e4 100%);
border-radius: 24rpx 24rpx 24rpx 24rpx;
border: 2rpx solid #ffffff;
.title {
font-size: 32rpx;
color: rgba(1, 1, 5, 1);
line-height: 48rpx;
font-weight: bold;
text-align: center;
}
.footer {
margin-top: 32rpx;
display: flex;
gap: 26rpx;
.cancel {
flex: 1;
padding: 22rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
color: rgba(246, 74, 58, 1);
border-radius: 84rpx;
border: 1px solid #f64a3a;
}
.submit {
flex: 1;
padding: 22rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
color: #fff;
background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
border-radius: 84rpx;
border: 1px solid #f64a3a;
}
}
}
}
.close {
margin: 32rpx auto 0;
display: block;

26
src/components/popup/index.wxml

@ -100,6 +100,18 @@ @@ -100,6 +100,18 @@
<view class="content">您的病史信息已填写完成!</view>
</view>
</view>
<view class="popup6" wx:elif="{{type==='lastDiagnosisReportComplete'}}">
<view class="container" style="background: url('{{imageUrl}}bg8.png?t={{Timestamp}}') no-repeat top center/100%">
<view class="title">你真棒!</view>
<view class="content">您的信息已填写完成!</view>
</view>
</view>
<view class="popup6" wx:elif="{{type==='preReportComplete'}}">
<view class="container" style="background: url('{{imageUrl}}bg8.png?t={{Timestamp}}') no-repeat top center/100%">
<view class="title">你真棒!</view>
<view class="content">信息录入完成!</view>
</view>
</view>
<view class="popup7" wx:elif="{{type==='selectStatus'}}">
<view class="container">
<view class="title">记录下您此次的检查情况吧</view>
@ -354,6 +366,20 @@ @@ -354,6 +366,20 @@
</view>
</view>
</view>
<view class="popup19" wx:elif="{{type==='coltStatFile'}}">
<image class="badge" src="{{imageUrl}}icon119.png?t={{Timestamp}}"></image>
<view class="container">
<view class="title">
凝血因子数据
<view></view>
通过您的复诊随访档案生成
</view>
<view class="footer">
<view class="cancel" bind:tap="handleCancel">好的</view>
<view class="submit" bind:tap="handleOk">去看档案</view>
</view>
</view>
</view>
<image
wx:if="{{params.close}}"
class="close"

3
src/components/uploadFile/index.scss

@ -66,11 +66,12 @@ @@ -66,11 +66,12 @@
}
.popup {
padding: 102rpx 48rpx;
padding: 102rpx 48rpx calc(102rpx + env(safe-area-inset-bottom));
display: flex;
align-items: center;
gap: 30rpx;
justify-content: space-between;
background-color: rgba(247, 247, 250, 1);
.item {
padding: 32rpx;
flex: 1;

10
src/components/uploadFile/index.wxml

@ -38,7 +38,15 @@ @@ -38,7 +38,15 @@
<!-- <van-action-sheet title=" " show="{{ show }}" actions="{{ actions }}" bind:close="onClose" bind:select="onSelect" /> -->
<van-popup show="{{ show }}" custom-styple="background-color: rgba(247, 247, 250, 1);" round position="bottom" closeable bind:close="onClose">
<van-popup
show="{{ show }}"
custom-styple="background-color: rgba(247, 247, 250, 1);"
safe-area-inset-bottom="{{false}}"
round
position="bottom"
closeable
bind:close="onClose"
>
<view class="popup">
<view class="item" bind:tap="onSelect" data-id="1">
<view class="title">选择视频或图片</view>

6
src/doctor/pages/askDoctor/index.scss

@ -212,7 +212,10 @@ page { @@ -212,7 +212,10 @@ page {
width: 502rpx;
height: 340rpx;
box-sizing: border-box;
padding: 114rpx 56rpx 0;
padding: 94rpx 56rpx 30rpx;
display: flex;
flex-direction: column;
justify-content: center;
.content {
text-align: center;
font-size: 32rpx;
@ -376,6 +379,7 @@ page { @@ -376,6 +379,7 @@ page {
color: rgba(40, 48, 49, 1);
border-radius: 24rpx;
background-color: #fff;
white-space: pre-line;
&.active {
color: #fff;
background: linear-gradient(356deg, #1d6bff 0%, #4f8dff 100%);

12
src/doctor/pages/coltStat/index.scss

@ -145,6 +145,18 @@ page { @@ -145,6 +145,18 @@ page {
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.chart-none {
padding: 86rpx 0;
text-align: center;
.none {
width: 365rpx;
height: 217rpx;
}
.none-title {
font-size: 28rpx;
color: rgba(161, 164, 172, 0.5);
}
}
.container {
margin-top: 32rpx;
height: 600rpx;

14
src/doctor/pages/coltStat/index.ts

@ -39,12 +39,14 @@ Page({ @@ -39,12 +39,14 @@ Page({
},
},
beginDate: dayjs().subtract(1, 'M').startOf('month').format('YYYY-MM-DD'),
beginDate: dayjs().subtract(1, 'y').startOf('month').format('YYYY-MM-DD'),
endDate: dayjs().format('YYYY-MM-DD'),
tabActve: 3,
iDays: '',
chartNone: false,
list2: [] as any[],
total2: 0,
pagination2: {
@ -106,6 +108,7 @@ Page({ @@ -106,6 +108,7 @@ Page({
astList,
altList,
cfRecordList,
chartNone: false,
}
this.initChart(initParams)
})
@ -287,6 +290,11 @@ Page({ @@ -287,6 +290,11 @@ Page({
},
initChart({ altList = {}, astList = {}, cfRecordList = {} }) {
const arr = this.generateDateArray(altList, astList, cfRecordList)
if (!arr.length) {
this.setData({
chartNone: true,
})
}
const astArr: Number[] = []
const altArr: Number[] = []
const cfRecordArr: Number[] = []
@ -336,8 +344,8 @@ Page({ @@ -336,8 +344,8 @@ Page({
},
grid: {
top: '30',
left: '5',
right: '0',
left: '10',
right: '10',
bottom: '45',
containLabel: true,
},

24
src/doctor/pages/coltStat/index.wxml

@ -74,13 +74,31 @@ @@ -74,13 +74,31 @@
<view class="page-container">
<view class="module1">
<view class="title">他的健康变化</view>
<view class="container">
<view class="chart-none" wx:if="{{chartNone}}">
<image class="none" src="{{imageUrl}}none4.png?t={{Timestamp}}"></image>
<view class="none-title">暂无数据</view>
</view>
<view class="container" wx:else>
<ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
</view>
</view>
<view class="tabs">
<view class="tab {{tabActve===3 && 'active'}}" bind:tap="handleTab" data-active="{{3}}" data-name="BTN_COAGULATION_FACTORTAB_CLICK">凝血因子</view>
<view class="tab {{tabActve===2 && 'active'}}" bind:tap="handleTab" data-active="{{2}}" data-name="BTN_BIOCHEMICAL_TESTTAB_CLICK">生化检查</view>
<view
class="tab {{tabActve===3 && 'active'}}"
bind:tap="handleTab"
data-active="{{3}}"
data-name="BTN_COAGULATION_FACTORTAB_CLICK"
>
凝血因子
</view>
<view
class="tab {{tabActve===2 && 'active'}}"
bind:tap="handleTab"
data-active="{{2}}"
data-name="BTN_BIOCHEMICAL_TESTTAB_CLICK"
>
生化检查
</view>
</view>
<view class="doc">
<view class="total" wx:if="{{tabActve===2}}">

4
src/doctor/pages/course/index.ts

@ -192,9 +192,7 @@ Page({ @@ -192,9 +192,7 @@ Page({
this.setData({
popupShow: true,
popupType: 'TCenterEnd',
popupParams: {
close: true,
},
popupParams: {},
})
})
}

2
src/doctor/pages/courseHostipal/index.json

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
{
"navigationBarTitleText": "诊前检查医院",
"navigationBarTitleText": "医院详情",
"usingComponents": {}
}

5
src/doctor/pages/courseHostipal/index.ts

@ -5,11 +5,6 @@ Page({ @@ -5,11 +5,6 @@ Page({
detail: {} as any,
},
onLoad(options: any) {
if (options.period === '2') {
wx.setNavigationBarTitle({
title: '治疗中心',
})
}
app.waitLogin({ type: 2 }).then(() => {
const name = {
1: 'PG_DESIGNATEDHOSPITAL_VISIT',

4
src/doctor/pages/file/index.json

@ -2,6 +2,8 @@ @@ -2,6 +2,8 @@
"navigationStyle": "custom",
"usingComponents": {
"navbar": "/components/navbar/index",
"calendar": "/components/calendar/index"
"calendar": "/components/calendar/index",
"van-tab": "@vant/weapp/tab/index",
"van-tabs": "@vant/weapp/tabs/index"
}
}

11
src/doctor/pages/file/index.scss

@ -101,6 +101,9 @@ page { @@ -101,6 +101,9 @@ page {
}
}
.swiper {
height: 100vh;
}
.container0 {
padding: 8rpx 0 0;
.none {
@ -425,6 +428,9 @@ page { @@ -425,6 +428,9 @@ page {
.row {
padding: 32rpx 0;
border-bottom: 1px solid rgba(247, 247, 250, 1);
&:last-of-type {
border: none;
}
.wrap {
display: flex;
gap: 32rpx;
@ -454,6 +460,9 @@ page { @@ -454,6 +460,9 @@ page {
.row1 {
padding: 32rpx 0;
border-bottom: 1px solid rgba(247, 247, 250, 1);
&:last-of-type {
border: none;
}
.wrap {
display: flex;
align-items: center;
@ -600,7 +609,7 @@ page { @@ -600,7 +609,7 @@ page {
line-height: 48rpx;
color: #fff;
text-align: center;
background: linear-gradient( 356deg, #1D6BFF 0%, #4F8DFF 100%);
background: linear-gradient(356deg, #1d6bff 0%, #4f8dff 100%);
border-radius: 96rpx;
}
}

28
src/doctor/pages/file/index.ts

@ -10,6 +10,8 @@ Page({ @@ -10,6 +10,8 @@ Page({
userInfo: {},
swiperHeight: 800,
fold1: false,
fold2: false,
fold3: false,
@ -74,15 +76,30 @@ Page({ @@ -74,15 +76,30 @@ Page({
})
},
handleNav(e) {
const { nav, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
const { nav } = e.currentTarget.dataset
this.setData({
nav,
})
this.getInfo()
},
handleSwiperChange(e) {
const name = {
0: 'BTN_TREATMENT_RECORD_TAB_CLICK',
1: 'BTN_MEDICAL_HISTORY_TAB_CLICK',
2: 'BTN_FOLLOWUP_CALENDAR_TAB_CLICK',
}[e.detail.current]
if (name) {
app.mpBehavior({ PageName: name })
}
const query = wx.createSelectorQuery()
query.select(`#container${e.detail.current}`).boundingClientRect()
query.exec((res) => {
this.setData({
swiperHeight: res[0].height + 42,
nav: e.detail.current,
})
})
},
getInfo() {
const { nav } = this.data
if (nav == 0) {
@ -104,6 +121,7 @@ Page({ @@ -104,6 +121,7 @@ Page({
!res.periodThree.injectionDrugs &&
!res.periodThree.injectionNum,
})
this.handleSwiperChange({ detail: { current: 0 } })
})
}
if (nav == 1) {
@ -117,6 +135,7 @@ Page({ @@ -117,6 +135,7 @@ Page({
this.setData({
medical: res,
})
this.handleSwiperChange({ detail: { current: 1 } })
})
}
if (nav == 2) {
@ -134,6 +153,7 @@ Page({ @@ -134,6 +153,7 @@ Page({
},
})
this.getFollowList()
this.handleSwiperChange({ detail: { current: 2 } })
})
}
},

612
src/doctor/pages/file/index.wxml

@ -27,355 +27,359 @@ @@ -27,355 +27,359 @@
</view>
</view>
<view class="navbar">
<view
class="nav {{nav==0 && 'active'}}"
bindtap="handleNav"
data-nav="0"
data-name="BTN_TREATMENT_RECORD_TAB_CLICK"
>
健康档案
</view>
<view class="nav {{nav==1 && 'active'}}" bindtap="handleNav" data-nav="1" data-name="BTN_MEDICAL_HISTORY_TAB_CLICK">
病史档案
</view>
<view
class="nav {{nav==2 && 'active'}}"
bindtap="handleNav"
data-nav="2"
data-name="BTN_FOLLOWUP_CALENDAR_TAB_CLICK"
>
随访日历
</view>
<view class="nav {{nav==0 && 'active'}}" bindtap="handleNav" data-nav="0">健康档案</view>
<view class="nav {{nav==1 && 'active'}}" bindtap="handleNav" data-nav="1">病史档案</view>
<view class="nav {{nav==2 && 'active'}}" bindtap="handleNav" data-nav="2">随访日历</view>
</view>
<view class="container0" wx:if="{{nav==0}}">
<view class="card1" wx:if="{{periodFour.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold1">
<view class="title">随访计划</view>
<image class="fold-icon {{fold1 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
<swiper class="swiper" current="{{nav}}" style="height: {{swiperHeight}}px;" bindchange="handleSwiperChange">
<swiper-item>
<view id="container0" class="container0">
<view class="card1" wx:if="{{periodFour.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold1">
<view class="title">随访计划</view>
<image class="fold-icon {{fold1 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="{{fold1 && 'fold'}}">
<view
class="c-body"
wx:for="{{periodFour}}"
wx:key="index"
bind:tap="handleRevisitDetail"
data-id="{{item.examId}}"
data-period="{{item.period}}"
>
<!-- <image wx:if="{{true}}" class="status" src="{{imageUrl}}icon42.png?t={{Timestamp}}"></image> -->
<!-- <image wx:elif="{{false}}" class="status" src="{{imageUrl}}icon43.png?t={{Timestamp}}"></image> -->
<!-- <image wx:elif="{{false}}" class="status" src="{{imageUrl}}icon44.png?t={{Timestamp}}"></image> -->
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">
{{item.beginDate || item.endDate}}
</view>
<view class="content" wx:else>--</view>
</view>
<view class="row">
<view class="label">诊疗医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view>
</view>
<view class="more" bind:tap="handleRevisitAll">
查看全部
<van-icon name="arrow" />
</view>
</view>
</view>
</view>
<view class="{{fold1 && 'fold'}}">
<view
class="c-body"
wx:for="{{periodFour}}"
wx:key="index"
bind:tap="handleRevisitDetail"
data-id="{{item.examId}}"
data-period="{{item.period}}"
class="card2"
wx:if="{{periodThree.injectionDate || periodThree.injectionWeight || periodThree.injectionDrugs || periodThree.injectionNum}}"
>
<!-- <image wx:if="{{true}}" class="status" src="{{imageUrl}}icon42.png?t={{Timestamp}}"></image> -->
<!-- <image wx:elif="{{false}}" class="status" src="{{imageUrl}}icon43.png?t={{Timestamp}}"></image> -->
<!-- <image wx:elif="{{false}}" class="status" src="{{imageUrl}}icon44.png?t={{Timestamp}}"></image> -->
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold2">
<view class="title">注射日</view>
<image class="fold-icon {{fold2 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">{{item.beginDate || item.endDate}}</view>
<view class="content" wx:else>--</view>
</view>
<view class="row">
<view class="label">诊疗医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
<view class="{{fold2 && 'fold'}}">
<view class="c-body">
<view class="row">
<view class="label">注射日期</view>
<view class="content">{{periodThree.injectionDate}}</view>
</view>
<view class="row">
<view class="label">BBM-H901</view>
<view class="content">
<view wx:if="{{periodThree.injectionWeight}}">体重 {{periodThree.injectionWeight}}kg</view>
<view wx:else>体重 未填写</view>
<view wx:if="{{periodThree.injectionDrugs}}">用药 {{periodThree.injectionDrugs}}ml</view>
<view wx:else>用药 未填写</view>
<view wx:if="{{periodThree.injectionNum}}">预期用药 {{periodThree.injectionNum}} 瓶</view>
<view wx:else>预期用药 未填写</view>
</view>
</view>
<view class="options">
<view
class="item"
bind:tap="handleCourse"
data-progress="2"
data-name="BTN_INJECTION_PHASE_DETAIL_CLICK"
>
诊疗阶段详情
<van-icon name="arrow" />
</view>
<view class="item" bind:tap="handleBbmDetail">
查看详情
<van-icon name="arrow" />
</view>
</view>
</view>
</view>
</view>
<view class="more" bind:tap="handleRevisitAll">
查看全部
<van-icon name="arrow" />
<view class="card3" wx:if="{{periodTwo.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold3">
<view class="title">基因治疗中心检查</view>
<image class="fold-icon {{fold3 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="{{fold3 && 'fold'}}">
<view class="c-body" wx:for="{{periodTwo}}" wx:key="index">
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">
{{item.beginDate || item.endDate}}
</view>
<view class="content" wx:else>未填写</view>
</view>
<view class="row">
<view class="label">诊疗医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view>
<view class="options">
<view
class="item"
bind:tap="handleCourse"
data-progress="1"
data-name="BTN_GENE_THERAPY_PHASE_DETAIL_CLICK"
>
诊疗阶段详情
<van-icon name="arrow" />
</view>
<view
class="item"
bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}"
data-period="{{item.period}}"
data-name="BTN_VIEW_GENE_THERAPY_DETAIL_CLICK"
>
查看详情
<van-icon name="arrow" />
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view
class="card2"
wx:if="{{periodThree.injectionDate || periodThree.injectionWeight || periodThree.injectionDrugs || periodThree.injectionNum}}"
>
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold2">
<view class="title">注射日</view>
<image class="fold-icon {{fold2 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
<view class="card4" wx:if="{{periodOne.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold4">
<view class="title">诊前筛查</view>
<image class="fold-icon {{fold4 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="{{fold4 && 'fold'}}">
<view class="c-body" wx:for="{{periodOne}}" wx:key="index">
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">
{{item.beginDate || item.endDate}}
</view>
<view class="content" wx:else>未填写</view>
</view>
<view class="row">
<view class="label">定点医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view>
<view class="options">
<view
class="item"
bind:tap="handleCourse"
data-progress="0"
data-name="BTN_PRE_SCREENING_PHASE_DETAIL_CLICK"
>
诊疗阶段详情
<van-icon name="arrow" />
</view>
<view
class="item"
bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}"
data-period="{{item.period}}"
data-name="BTN_VIEW_PRE_SCREENING_DETAIL_CLICK"
>
查看详情
<van-icon name="arrow" />
</view>
</view>
</view>
</view>
</view>
<image wx:if="{{empty0}}" class="none" src="{{imageUrl}}none.png"></image>
</view>
<view class="{{fold2 && 'fold'}}">
<view class="c-body">
</swiper-item>
<swiper-item>
<view id="container1" class="container1">
<view class="c1_card1">
<view class="row">
<view class="label">注射日期</view>
<view class="content">{{periodThree.injectionDate}}</view>
<view class="label">出生年月</view>
<view class="content">{{medical.birthMonth}}({{medical.ageYear}}岁)</view>
</view>
<view class="row">
<view class="label">BBM-H901</view>
<view class="label">确诊时间</view>
<view class="content">
<view wx:if="{{periodThree.injectionWeight}}">体重 {{periodThree.injectionWeight}}kg</view>
<view wx:else>体重 未填写</view>
<view wx:if="{{periodThree.injectionDrugs}}">用药 {{periodThree.injectionDrugs}}ml</view>
<view wx:else>用药 未填写</view>
<view wx:if="{{periodThree.injectionNum}}">预期用药 {{periodThree.injectionNum}} 瓶</view>
<view wx:else>预期用药 未填写</view>
{{medical.diagnosisTime || '未填写'}}
<block wx:if="{{medical.diagnosisAge}}">({{medical.diagnosisAge}})</block>
</view>
</view>
<view class="options">
<view class="item" bind:tap="handleCourse" data-progress="2" data-name="BTN_INJECTION_PHASE_DETAIL_CLICK">
诊疗阶段详情
<van-icon name="arrow" />
</view>
<view class="item" bind:tap="handleBbmDetail">
查看详情
<van-icon name="arrow" />
</view>
<view class="row">
<view class="label">您的体重</view>
<view class="content" wx:if="{{medical.weight}}">{{medical.weight}} kg</view>
<div class="content" wx:else>未填写</div>
</view>
</view>
</view>
</view>
<view class="card3" wx:if="{{periodTwo.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold3">
<view class="title">基因治疗中心检查</view>
<image class="fold-icon {{fold3 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="{{fold3 && 'fold'}}">
<view class="c-body" wx:for="{{periodTwo}}" wx:key="index">
<view class="c1_card1">
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">{{item.beginDate || item.endDate}}</view>
<view class="label">凝血因子</view>
<view class="content" wx:if="{{medical.clottingFactor}}">{{medical.clottingFactor}}%</view>
<view class="content" wx:else>未填写</view>
</view>
<view class="row">
<view class="label">诊疗医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
<view class="label">治疗方案</view>
<view class="content">{{medical.treatmentPlanName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view>
<view class="options">
<view
class="item"
bind:tap="handleCourse"
data-progress="1"
data-name="BTN_GENE_THERAPY_PHASE_DETAIL_CLICK"
>
诊疗阶段详情
<van-icon name="arrow" />
</view>
<view
class="item"
bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}"
data-period="{{item.period}}"
data-name="BTN_VIEW_GENE_THERAPY_DETAIL_CLICK"
>
查看详情
<van-icon name="arrow" />
</view>
<view class="label">FIX暴露日</view>
<view class="content" wx:if="{{medical.fixExposureDay}}">{{medical.fixExposureDay}}个</view>
<view class="content" wx:else>未填写</view>
</view>
</view>
</view>
</view>
<view class="card4" wx:if="{{periodOne.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold4">
<view class="title">诊前筛查</view>
<image class="fold-icon {{fold4 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="{{fold4 && 'fold'}}">
<view class="c-body" wx:for="{{periodOne}}" wx:key="index">
<view class="c1_card2">
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
<view class="wrap">
<view class="label">既往FIX抑制物病史</view>
<view class="content">{{medical.beforeFixHistoryName || '未填写'}}</view>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">{{item.beginDate || item.endDate}}</view>
<view class="content" wx:else>未填写</view>
</view>
<view class="row">
<view class="label">定点医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
<view class="wrap">
<view class="label">既往肝脏疾病病史</view>
<view class="content">{{medical.beforeLiverHistoryName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.liverRecord}}">{{medical.liverRecord}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
<view class="wrap">
<view class="label">您是否有饮酒史</view>
<view class="content">{{medical.drinkingHistoryName || '未填写'}}</view>
</view>
</view>
<view class="options">
<view
class="item"
bind:tap="handleCourse"
data-progress="0"
data-name="BTN_PRE_SCREENING_PHASE_DETAIL_CLICK"
>
诊疗阶段详情
<van-icon name="arrow" />
<view class="row">
<view class="wrap">
<view class="label">您是否有过敏史</view>
<view class="content">{{medical.allergyHistoryName || '未填写'}}</view>
</view>
<view
class="item"
bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}"
data-period="{{item.period}}"
data-name="BTN_VIEW_PRE_SCREENING_DETAIL_CLICK"
>
查看详情
<van-icon name="arrow" />
<view class="remark" wx:if="{{medical.allergyRecord}}">{{medical.allergyRecord}}</view>
</view>
<view class="row1">
<view class="wrap">
<view class="label">
<view>您是否可能存在不适合</view>
<view>使用糖皮质激素的情况?</view>
</view>
<view class="line"></view>
<view class="content">{{medical.isNotGlucocorticoidName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.medicalHistoryInfo}}">{{medical.medicalHistoryInfo}}</view>
</view>
</view>
</view>
</view>
<image wx:if="{{empty0}}" class="none" src="{{imageUrl}}none.png"></image>
</view>
<view class="container1" wx:if="{{nav==1}}">
<view class="c1_card1">
<view class="row">
<view class="label">出生年月</view>
<view class="content">{{medical.birthMonth}}({{medical.ageYear}}岁)</view>
</view>
<view class="row">
<view class="label">确诊时间</view>
<view class="content">
{{medical.diagnosisTime || '未填写'}}
<block wx:if="{{medical.diagnosisAge}}">({{medical.diagnosisAge}})</block>
</view>
</view>
<view class="row">
<view class="label">您的体重</view>
<view class="content" wx:if="{{medical.weight}}">{{medical.weight}} kg</view>
<div class="content" wx:else>未填写</div>
</view>
</view>
<view class="c1_card1">
<view class="row">
<view class="label">凝血因子</view>
<view class="content" wx:if="{{medical.clottingFactor}}">{{medical.clottingFactor}}%</view>
<view class="content" wx:else>未填写</view>
</view>
<view class="row">
<view class="label">治疗方案</view>
<view class="content">{{medical.treatmentPlanName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">FIX暴露日</view>
<view class="content" wx:if="{{medical.fixExposureDay}}">{{medical.fixExposureDay}}个</view>
<view class="content" wx:else>未填写</view>
</view>
</view>
<view class="c1_card2">
<view class="row">
<view class="wrap">
<view class="label">既往FIX抑制物病史</view>
<view class="content">{{medical.beforeFixHistoryName || '未填写'}}</view>
</view>
</view>
<view class="row">
<view class="wrap">
<view class="label">既往肝脏疾病病史</view>
<view class="content">{{medical.beforeLiverHistoryName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.liverRecord}}">{{medical.liverRecord}}</view>
</view>
<view class="row">
<view class="wrap">
<view class="label">您是否有饮酒史</view>
<view class="content">{{medical.drinkingHistoryName || '未填写'}}</view>
</view>
</view>
<view class="row">
<view class="wrap">
<view class="label">您是否有过敏史</view>
<view class="content">{{medical.allergyHistoryName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.allergyRecord}}">{{medical.allergyRecord}}</view>
</view>
<view class="row1">
<view class="wrap">
<view class="label">
<view>您是否可能存在不适合</view>
<view>使用糖皮质激素的情况?</view>
<view class="c1_card2">
<view class="row">
<view class="wrap">
<view class="label" style="width: 4em">靶关节</view>
<view class="content">
<view wx:for="{{medical.lastBleedingInfo.bleedingPartList}}" wx:key="bleedingId">
{{item.bleedingPartName}}
</view>
</view>
</view>
</view>
<view class="line"></view>
<view class="content">{{medical.isNotGlucocorticoidName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.medicalHistoryInfo}}">{{medical.medicalHistoryInfo}}</view>
</view>
</view>
<view class="c1_card2">
<view class="row">
<view class="wrap">
<view class="label" style="width: 4em">靶关节</view>
<view class="content">
<view wx:for="{{medical.lastBleedingInfo.bleedingPartList}}" wx:key="bleedingId">
{{item.bleedingPartName}}
<view class="row">
<view class="wrap">
<view class="label">最近6个月出血</view>
</view>
<view class="remark" wx:if="{{medical.lastBleedingInfo.remark}}">{{medical.lastBleedingInfo.remark}}</view>
</view>
</view>
</view>
<view class="row">
<view class="wrap">
<view class="label">最近6个月出血</view>
</swiper-item>
<swiper-item>
<view id="container2" class="container2">
<view class="date-card">
<image class="icon" src="{{imageUrl}}icon107.png?t={{Timestamp}}"></image>
<view class="content">注射日:{{followExam.injectionDateName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.lastBleedingInfo.remark}}">{{medical.lastBleedingInfo.remark}}</view>
</view>
</view>
</view>
<view class="container2" wx:if="{{nav==2}}">
<view class="date-card">
<image class="icon" src="{{imageUrl}}icon107.png?t={{Timestamp}}"></image>
<view class="content">注射日:{{followExam.injectionDateName || '未填写'}}</view>
</view>
<view
class="notic"
wx:if="{{followExam.injectionDate}}"
style="background: url('{{imageUrl}}bg26.png?t={{Timestamp}}') no-repeat top center/100%"
>
<view class="title">{{followExam.tipsInfo}}</view>
<view class="content" wx:if="{{followExam.lastNoticeWeekInfo}}">{{followExam.lastNoticeWeekInfo}}</view>
<view class="sub-content" wx:if="{{followExam.lastNoticeExamInfo}}">{{followExam.lastNoticeExamInfo}}</view>
<!-- 绿叶 -->
<image
wx:if="{{followExam.examDiffPassMonth==1}}"
class="badge"
src="{{imageUrl}}icon94.png?t={{Timestamp}}"
></image>
<!-- 红花 -->
<image wx:else class="badge" src="{{imageUrl}}icon95.png?t={{Timestamp}}"></image>
</view>
<view class="card">
<view
class="c-calendar"
style="background: #fff url('{{imageUrl}}icon99.png?t={{Timestamp}}') no-repeat bottom right/118rpx 116rpx"
>
<calendar
bind:whenChangeMonth="handleWhenChangeMonth"
config="{{calendarConfig}}"
id="calendar"
bind:jumpToToday="toggleFold"
></calendar>
<view class="lengend">
<view class="l-item">
<view class="dot dot1"></view>
注射日
</view>
<view class="l-item">
<view class="dot dot2"></view>
已复诊
</view>
<view class="l-item">
<view class="dot dot3"></view>
建议复诊
<view
class="notic"
wx:if="{{followExam.injectionDate}}"
style="background: url('{{imageUrl}}bg26.png?t={{Timestamp}}') no-repeat top center/100%"
>
<view class="title">{{followExam.tipsInfo}}</view>
<view class="content" wx:if="{{followExam.lastNoticeWeekInfo}}">{{followExam.lastNoticeWeekInfo}}</view>
<view class="sub-content" wx:if="{{followExam.lastNoticeExamInfo}}">{{followExam.lastNoticeExamInfo}}</view>
<!-- 绿叶 -->
<image
wx:if="{{followExam.examDiffPassMonth==1}}"
class="badge"
src="{{imageUrl}}icon94.png?t={{Timestamp}}"
></image>
<!-- 红花 -->
<image wx:else class="badge" src="{{imageUrl}}icon95.png?t={{Timestamp}}"></image>
</view>
<view class="card">
<view
class="c-calendar"
style="background: #fff url('{{imageUrl}}icon99.png?t={{Timestamp}}') no-repeat bottom right/118rpx 116rpx"
>
<calendar
bind:whenChangeMonth="handleWhenChangeMonth"
config="{{calendarConfig}}"
id="calendar"
bind:jumpToToday="toggleFold"
></calendar>
<view class="lengend">
<view class="l-item">
<view class="dot dot1"></view>
注射日
</view>
<view class="l-item">
<view class="dot dot2"></view>
已复诊
</view>
<view class="l-item">
<view class="dot dot3"></view>
建议复诊
</view>
</view>
</view>
<view class="c-sub-card"></view>
</view>
<view class="btn" bind:tap="handleRevisitRecord">查看健康档案</view>
</view>
<view class="c-sub-card"></view>
</view>
<view class="btn" bind:tap="handleRevisitRecord">查看健康档案</view>
</view>
</swiper-item>
</swiper>
</view>

5
src/doctor/pages/followPlan/index.ts

@ -18,6 +18,11 @@ Page({ @@ -18,6 +18,11 @@ Page({
this.getDetail()
})
},
handleInject() {
wx.navigateTo({
url: '/patient/pages/injectDate/index',
})
},
getDetail() {
wx.ajax({
method: 'GET',

4
src/doctor/pages/followPlan/index.wxml

@ -1,10 +1,10 @@ @@ -1,10 +1,10 @@
<view class="page">
<view class="date-card">
<view class="date-card" bind:tap="handleInject">
<image class="icon" src="{{imageUrl}}icon107.png?t={{Timestamp}}"></image>
<view class="content">注射日:{{injectionDate || '未录入'}}</view>
</view>
<view class="body">
<view class="title">基因治疗后时间 监测频率</view>
<view class="title">基因治疗后 监测频率</view>
<view class="container">
<view class="table">
<view class="thead">

75
src/doctor/pages/index/index.scss

@ -2,7 +2,7 @@ page { @@ -2,7 +2,7 @@ page {
background-color: rgba(246, 246, 246, 1);
}
.page-title {
width: 399rpx;
width: 148rpx;
height: 30rpx;
}
@ -58,8 +58,15 @@ page { @@ -58,8 +58,15 @@ page {
align-items: center;
justify-content: space-between;
.title {
width: 175rpx;
height: 34rpx;
margin-right: 4rpx;
font-size: 36rpx;
line-height: 40rpx;
font-weight: bold;
color: transparent;
background: linear-gradient(-10deg, rgba(28, 107, 255, 1), rgba(75, 219, 255, 1));
-webkit-background-clip: text;
background-clip: text;
transform: skew(-6deg);
}
.more {
font-size: 28rpx;
@ -82,10 +89,11 @@ page { @@ -82,10 +89,11 @@ page {
.photo {
display: block;
width: 424rpx;
height: 246rpx;
border-radius: 24rpx 24rpx 0 0;
height: 320rpx;
border-radius: 24rpx 24rpx 32rpx 32rpx;
}
.content {
margin-top: -72rpx;
max-width: 424rpx;
box-sizing: border-box;
padding: 20rpx;
@ -104,15 +112,15 @@ page { @@ -104,15 +112,15 @@ page {
.patient {
margin-top: 50rpx;
.p-header {
display: flex;
align-items: center;
.title {
margin-right: 4rpx;
width: 141rpx;
height: 34rpx;
}
margin-right: 4rpx;
font-size: 36rpx;
color: rgba(28, 107, 255, 1);
line-height: 40rpx;
font-weight: bold;
color: transparent;
background: linear-gradient(-1deg, rgba(28, 107, 255, 1), rgba(75, 219, 255, 1));
-webkit-background-clip: text;
background-clip: text;
transform: skew(-6deg);
}
.patient-list {
.card {
@ -125,11 +133,23 @@ page { @@ -125,11 +133,23 @@ page {
align-items: center;
justify-content: space-between;
gap: 20rpx;
.photo {
flex-shrink: 0;
width: 112rpx;
height: 112rpx;
border-radius: 50%;
.photo-wrap {
position: relative;
.photo {
flex-shrink: 0;
width: 112rpx;
height: 112rpx;
border-radius: 50%;
}
.dot {
position: absolute;
top: 6rpx;
right: 6rpx;
width: 16rpx;
height: 16rpx;
border-radius: 50%;
background-color: rgba(246, 74, 58, 1);
}
}
.wrap {
flex: 1;
@ -175,5 +195,24 @@ page { @@ -175,5 +195,24 @@ page {
}
}
}
.patient-none {
padding: 66rpx 0;
text-align: center;
.none-img {
width: 344rpx;
height: 214rpx;
}
.none-title {
margin-top: -30rpx;
font-size: 32rpx;
color: rgba(161, 164, 172, 1);
}
.none-btn {
margin-top: 32rpx;
color: rgba(28, 107, 255, 1);
font-size: 32rpx;
font-weight: bold;
}
}
}
}

2
src/doctor/pages/index/index.ts

@ -6,7 +6,7 @@ Page({ @@ -6,7 +6,7 @@ Page({
knowledgeList: [] as any,
patientList: [] as any,
},
onLoad() {
onShow() {
app.waitLogin({ type: 2 }).then(() => {
app.mpBehavior({ PageName: 'PG_DOCTORHOME_VISIT' })
this.getPatientList()

26
src/doctor/pages/index/index.wxml

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
<navbar fixed custom-style="background:{{background}}" back>
<image class="page-title" slot="left" src="{{imageUrl}}title13.png?t={{Timestamp}}"></image>
<image class="page-title" slot="left" src="{{imageUrl}}title18.png?t={{Timestamp}}"></image>
</navbar>
<view
class="page"
@ -18,9 +18,9 @@ @@ -18,9 +18,9 @@
<view class="banner" bind:tap="handleCalculator">
<image class="b-img" src="{{imageUrl}}banner2.png?t={{Timestamp}}"></image>
</view>
<view class="info" wx:if="{{knowledgeList.length}}">
<view class="info" wx:if="{{knowledgeList.length}}">
<view class="i-header">
<image class="title" src="{{imageUrl}}title14.png?t={{Timestamp}}"></image>
<view class="title">医生小助手</view>
<view class="more" bind:tap="handleInfoMore">
查看更多
<van-icon name="arrow" />
@ -28,19 +28,13 @@ @@ -28,19 +28,13 @@
</view>
<view class="info-list">
<view class="card" wx:for="{{knowledgeList}}" wx:key="index" bind:tap="handleInfoDetail" data-index="{{index}}">
<image
class="photo"
src="{{item.CoverImg}}"
></image>
<image class="photo" src="{{item.CoverImg}}"></image>
<view class="content">{{item.Title}}</view>
</view>
</view>
</view>
<view class="patient">
<view class="p-header">
<image class="title" src="{{imageUrl}}title15.png?t={{Timestamp}}"></image>
({{patientList.length}})
</view>
<view class="p-header">我的患者({{patientList.length}})</view>
<view class="patient-list">
<view
class="card"
@ -49,7 +43,10 @@ @@ -49,7 +43,10 @@
data-id="{{item.patientId}}"
wx:key="patientId"
>
<image class="photo" src="{{item.userAvatar}}"></image>
<view class="photo-wrap">
<image class="photo" src="{{item.userAvatar}}"></image>
<view class="dot" wx:if="{{item.notReadCount>0}}"></view>
</view>
<view class="wrap">
<view class="title">
<view class="name">{{item.patientName}}</view>
@ -63,6 +60,11 @@ @@ -63,6 +60,11 @@
<image class="icon" src="{{imageUrl}}icon12.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="patient-none" bind:tap="handlePoster" wx:if="{{!patientList.length}}">
<image class="none-img" src="{{imageUrl}}none5.png?t={{Timestamp}}"></image>
<view class="none-title">出示您的专属邀约码,邀约患者绑定</view>
<view class="none-btn">立即邀约</view>
</view>
</view>
</view>

30
src/doctor/pages/lastDiagnosisReport/index.scss

@ -97,6 +97,36 @@ page { @@ -97,6 +97,36 @@ page {
}
.form {
margin-top: 48rpx;
.form-header {
margin-bottom: 24rpx;
display: flex;
align-items: center;
gap: 12rpx;
.title {
font-size: 36rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.fold-all {
padding: 2rpx 16rpx 0;
display: flex;
align-items: center;
gap: 6rpx;
font-size: 28rpx;
line-height: 44rpx;
color: rgba(161, 164, 172, 1);
background-color: #fff;
border-radius: 12rpx;
.icon {
transition: all 0.3s;
}
&.trans {
.icon {
transform: rotate(180deg);
}
}
}
}
.form-card {
display: flex;
gap: 24rpx;

17
src/doctor/pages/lastDiagnosisReport/index.ts

@ -8,9 +8,11 @@ Page({ @@ -8,9 +8,11 @@ Page({
edit: false,
fold1: true,
fold2: true,
fold3: true,
foldAll: false,
fold1: false,
fold2: false,
fold3: false,
hospitalName: '',
@ -116,6 +118,15 @@ Page({ @@ -116,6 +118,15 @@ Page({
url: `/doctor/pages/courseHostipal/index?id=${this.data.hospitalId}`,
})
},
handleToggleFoldAll() {
const foldAll = !this.data.foldAll
this.setData({
foldAll,
fold1: foldAll,
fold2: foldAll,
fold3: foldAll,
})
},
handleToggleFold(e: any) {
const { fold } = e.currentTarget.dataset
this.setData({

17
src/doctor/pages/lastDiagnosisReport/index.wxml

@ -10,13 +10,20 @@ @@ -10,13 +10,20 @@
</view>
<view class="select-hostipal">
<view class="label">检查医院</view>
<div class="picker" bind:tap="handleSelectHospital">
<view class="picker" bind:tap="handleSelectHospital">
<view class="picker-content">
<view class="content" data-place="--">{{hospitalName}}</view>
</view>
</div>
</view>
</view>
<view class="form">
<view class="form-header">
<view class="title">您的检查项目</view>
<view class="fold-all {{foldAll && 'trans'}}" bind:tap="handleToggleFoldAll">
{{foldAll ? '展开' : '收起'}}
<van-icon class="icon" name="arrow-up" />
</view>
</view>
<view class="form-card">
<view class="aside {{isBiochemical==1 && 'active'}}">
<view class="line-top" style="border: none"></view>
@ -30,7 +37,7 @@ @@ -30,7 +37,7 @@
<view class="title">生化检查</view>
<image class="icon {{fold1 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isBiochemical==1 && 'active'}}">{{isBiochemical==1?'已检查':'未检查'}}</view>
<view class="status {{isBiochemical==1 && 'active'}}">已检查</view>
</view>
</view>
<view class="c-body {{fold1 && 'fold'}}">
@ -114,7 +121,7 @@ @@ -114,7 +121,7 @@
<view class="title">凝血因子 IX 活性</view>
<image class="icon {{fold2 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isCFIxActivity==1 && 'active'}}">{{isCFIxActivity==1?'已检查':'未检查'}}</view>
<view class="status {{isCFIxActivity==1 && 'active'}}">已检查</view>
</view>
</view>
<view class="c-body {{fold2 && 'fold'}}">
@ -161,7 +168,7 @@ @@ -161,7 +168,7 @@
<view class="title">其他检查</view>
<image class="icon {{fold3 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isOther==1 && 'active'}}">{{isOther==1?'已检查':'未检查'}}</view>
<view class="status {{isOther==1 && 'active'}}">已检查</view>
</view>
<view class="content">您的其他项检查</view>
</view>

20
src/doctor/pages/login/index.scss

@ -70,23 +70,15 @@ page { @@ -70,23 +70,15 @@ page {
}
}
.phone {
margin-top: 38rpx;
height: 48rpx;
width: 280rpx;
font-size: 24rpx;
color: rgba(161, 164, 172, 1);
margin-top: 100rpx;
height: 88rpx;
font-size: 32rpx;
color: rgba(255, 255, 255, 1);
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(356deg, #1d6bff 0%, #4f8dff 100%);
border-radius: 84rpx 84rpx 84rpx 84rpx;
background-color: #fff;
&::after {
border: none;
}
.icon {
width: 48rpx;
height: 48rpx;
}
}
.tel-btn {
margin: 0 auto;
@ -96,7 +88,7 @@ page { @@ -96,7 +88,7 @@ page {
align-items: center;
justify-content: center;
gap: 12rpx;
background: #f7f7fa;
background: #fff;
border-radius: 24rpx;
font-size: 24rpx;
color: rgba(161, 164, 172, 1);

44
src/doctor/pages/login/index.wxml

@ -7,7 +7,18 @@ @@ -7,7 +7,18 @@
>
<image class="logo" src="{{imageUrl}}logo2.png?t={{Timestamp}}"></image>
<view class="title">欢迎加入愈见守护</view>
<view class="form">
<button wx:if="{{check1 && check2 }}" class="phone" open-type="getPhoneNumber" bindgetphonenumber="handleWxSubmit">
手机号一键登录
</button>
<button wx:else class="phone" bind:tap="handleDocRule">手机号一键登录</button>
<view class="divider">
<van-divider class="van-divider" contentPosition="center">或者</van-divider>
</view>
<view class="tel-btn" bind:tap="handleShowTel">
<image class="icon" src="{{imageUrl}}icon87.png?t={{Timestamp}}"></image>
手机号验证码
</view>
<view class="form" wx:if="{{showTel}}">
<view class="form-row">
<input
class="input"
@ -31,31 +42,32 @@ @@ -31,31 +42,32 @@
</view>
<view class="submit" bind:tap="handleSubmit">登录</view>
</view>
<view class="divider">
<van-divider class="van-divider" contentPosition="center">或者</van-divider>
</view>
<button wx:if="{{check1 && check2 }}" class="phone" open-type="getPhoneNumber" bindgetphonenumber="handleWxSubmit">
<image class="icon" src="{{imageUrl}}icon87.png?t={{Timestamp}}"></image>
手机号一键登录
</button>
<button wx:else class="phone" bind:tap="handleDocRule">
<image class="icon" src="{{imageUrl}}icon87.png?t={{Timestamp}}"></image>
手机号一键登录
</button>
<view class="signature">
<view class="row">
<checkbox model:checked="{{check1}}" class="checkbox" color="#fff" bind:tap="handleCheck" data-name="BTN_DOCLOGCHECKAGREEMENT"></checkbox>
<checkbox
model:checked="{{check1}}"
class="checkbox"
color="#fff"
bind:tap="handleCheck"
data-name="BTN_DOCLOGCHECKAGREEMENT"
></checkbox>
<view class="r-content">
我已阅读并同意
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc5/index">《个人信息及隐私协议政策》</text>
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc5/index">《个人信息及隐私保护政策》</text>
</view>
</view>
<view class="row">
<checkbox model:checked="{{check2}}" class="checkbox" color="#fff" bind:tap="handleCheck" data-name="BTN_DOCLOGCHECKAGREEMENT2"></checkbox>
<checkbox
model:checked="{{check2}}"
class="checkbox"
color="#fff"
bind:tap="handleCheck"
data-name="BTN_DOCLOGCHECKAGREEMENT2"
></checkbox>
<view class="r-content">
我已阅读并同意
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc5/index">《个人信息及隐私协议政策》</text>
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc5/index">《个人信息及隐私保护政策》</text>
规定收集我的相关敏感个人信息
</view>
</view>

2
src/doctor/pages/my/index.scss

@ -16,7 +16,7 @@ page { @@ -16,7 +16,7 @@ page {
background-color: transparent;
border-radius: 50%;
border: 2rpx solid #ffffff;
box-shadow: 0 4rpx 8rpx rgba(1, 1, 5, 0.1);
box-shadow: 0 8rpx 16rpx rgba(0, 0, 0, 0.07);
&::after {
border: none;
}

3
src/doctor/pages/patientDetail/index.scss

@ -36,7 +36,7 @@ page { @@ -36,7 +36,7 @@ page {
}
.age {
margin-right: 16rpx;
padding: 0 14rpx;
padding: 2rpx 14rpx 0;
border-radius: 20rpx;
display: inline-flex;
align-items: center;
@ -130,6 +130,7 @@ page { @@ -130,6 +130,7 @@ page {
height: 92rpx;
border-radius: 50%;
border: 1px solid #fff;
background-color: #fff;
&:nth-of-type(2) {
z-index: 1;
margin-left: -46rpx;

2
src/doctor/pages/patientDetail/index.wxml

@ -40,7 +40,7 @@ @@ -40,7 +40,7 @@
<view class="body">
<view class="doctor" bind:tap="handleAsk">
<view class="d-header">
<view class="title">共同照护团队</view>
<view class="title">给{{patientInfo.patientName||'患者'}}留言</view>
<view class="message" wx:if="{{messageCount > 0}}">
最新消息{{messageCount}}条
<view class="dot"></view>

32
src/doctor/pages/preDiagnosisReport/index.scss

@ -44,10 +44,34 @@ page { @@ -44,10 +44,34 @@ page {
display: flex;
align-items: center;
justify-content: space-between;
.form-title {
font-size: 36rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
.wrap {
display: flex;
align-items: center;
gap: 12rpx;
.form-title {
font-size: 36rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.fold-all {
padding: 2rpx 16rpx 0;
display: flex;
align-items: center;
gap: 6rpx;
font-size: 28rpx;
line-height: 44rpx;
color: rgba(161, 164, 172, 1);
background-color: #fff;
border-radius: 12rpx;
.icon {
transition: all 0.3s;
}
&.trans {
.icon {
transform: rotate(180deg);
}
}
}
}
.order {
display: flex;

38
src/doctor/pages/preDiagnosisReport/index.ts

@ -6,16 +6,18 @@ Page({ @@ -6,16 +6,18 @@ Page({
popupType: 'preDiagnosisReportDate', // 确认绑定曾经扫码医生
popupParams: {},
fold1: true,
fold2: true,
fold3: true,
fold4: true,
fold5: true,
fold6: true,
fold7: true,
fold8: true,
fold9: true,
fold10: true,
foldAll: false,
fold1: false,
fold2: false,
fold3: false,
fold4: false,
fold5: false,
fold6: false,
fold7: false,
fold8: false,
fold9: false,
fold10: false,
// form
examId: '',
@ -194,6 +196,22 @@ Page({ @@ -194,6 +196,22 @@ Page({
this.getCheckNum()
})
},
handleToggleFoldAll() {
const foldAll = !this.data.foldAll
this.setData({
foldAll,
fold1: foldAll,
fold2: foldAll,
fold3: foldAll,
fold4: foldAll,
fold5: foldAll,
fold6: foldAll,
fold7: foldAll,
fold8: foldAll,
fold9: foldAll,
fold10: foldAll,
})
},
handleToggleFold(e: any) {
const { fold } = e.currentTarget.dataset
this.setData({

30
src/doctor/pages/preDiagnosisReport/index.wxml

@ -11,8 +11,14 @@ @@ -11,8 +11,14 @@
</view>
<view class="form">
<view class="form-header">
<view class="form-title" wx:if="{{period==='2'}}">检查项目</view>
<view class="form-title" wx:else>诊前检查项目</view>
<view class="wrap">
<view class="form-title" wx:if="{{period==='2'}}">检查项目</view>
<view class="form-title" wx:else>诊前检查项目</view>
<view class="fold-all {{foldAll && 'trans'}}" bind:tap="handleToggleFoldAll">
{{foldAll ? '展开' : '收起'}}
<van-icon class="icon" name="arrow-up" />
</view>
</view>
<view class="order">
<view class="green">{{checkNum}}</view>
/
@ -33,7 +39,7 @@ @@ -33,7 +39,7 @@
<image class="icon {{fold1 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isBloodRoutine==1 && 'active'}} {{isBloodRoutine==1 && 'active'}}">
{{isBloodRoutine==1?'已检查':'未检查'}}
已检查
</view>
</view>
<view class="content">重点检查项目:白细胞计数)WBC)血红蛋白(HGB)血小板计数(PLT)</view>
@ -69,7 +75,7 @@ @@ -69,7 +75,7 @@
<image class="icon {{fold2 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isBiochemical==1 && 'active'}} {{isBiochemical==1 && 'active'}}">
{{isBiochemical==1?'已检查':'未检查'}}
已检查
</view>
</view>
</view>
@ -159,7 +165,7 @@ @@ -159,7 +165,7 @@
<view class="title">凝血因子 IX 活性</view>
<image class="icon {{fold3 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isCFIxActivity==1 && 'active'}}">{{isCFIxActivity==1?'已检查':'未检查'}}</view>
<view class="status {{isCFIxActivity==1 && 'active'}}">已检查</view>
</view>
</view>
<view class="c-body {{fold3 && 'fold'}}">
@ -208,7 +214,7 @@ @@ -208,7 +214,7 @@
<view class="title">凝血因子 IX 抑制物检测</view>
<image class="icon {{fold4 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isCFIxInhibitor==1 && 'active'}}">{{isCFIxInhibitor==1?'已检查':'未检查'}}</view>
<view class="status {{isCFIxInhibitor==1 && 'active'}}">已检查</view>
</view>
</view>
<view class="c-body {{fold4 && 'fold'}}">
@ -244,7 +250,7 @@ @@ -244,7 +250,7 @@
<view class="title">乙型肝炎相关检查</view>
<image class="icon {{fold5 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isHepatitisB==1 && 'active'}}">{{isHepatitisB==1?'已检查':'未检查'}}</view>
<view class="status {{isHepatitisB==1 && 'active'}}">已检查</view>
</view>
</view>
<view class="c-body {{fold5 && 'fold'}}">
@ -285,7 +291,7 @@ @@ -285,7 +291,7 @@
<view class="title">丙型肝炎相关检查</view>
<image class="icon {{fold6 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isHepatitisC==1 && 'active'}}">{{isHepatitisC==1?'已检查':'未检查'}}</view>
<view class="status {{isHepatitisC==1 && 'active'}}">已检查</view>
</view>
</view>
<view class="c-body {{fold6 && 'fold'}}">
@ -328,7 +334,7 @@ @@ -328,7 +334,7 @@
<view class="title">HIV抗体</view>
<image class="icon {{fold7 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isHivAntibody==1 && 'active'}}">{{isHivAntibody==1?'已检查':'未检查'}}</view>
<view class="status {{isHivAntibody==1 && 'active'}}">已检查</view>
</view>
<view class="content">类免疫缺陷病毒抗体(HIV - Ab)</view>
</view>
@ -366,7 +372,7 @@ @@ -366,7 +372,7 @@
<view class="title">甲胎蛋白(AFP)检测</view>
<image class="icon {{fold8 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isAfp==1 && 'active'}}">{{isAfp==1?'已检查':'未检查'}}</view>
<view class="status {{isAfp==1 && 'active'}}">已检查</view>
</view>
</view>
<view class="c-body {{fold8 && 'fold'}}">
@ -415,7 +421,7 @@ @@ -415,7 +421,7 @@
<view class="title">AAV 抗体检查</view>
<image class="icon {{fold9 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isAav==1 && 'active'}}">{{isAav==1?'已检查':'未检查'}}</view>
<view class="status {{isAav==1 && 'active'}}">已检查</view>
</view>
<view class="content">提交您的AAV抗体检查报告</view>
</view>
@ -453,7 +459,7 @@ @@ -453,7 +459,7 @@
<view class="title">其他检查</view>
<image class="icon {{fold10 && 'turn'}}" src="{{imageUrl}}icon63.png?t={{Timestamp}}"></image>
</view>
<view class="status {{isOther==1 && 'active'}}">{{isOther==1?'已检查':'未检查'}}</view>
<view class="status {{isOther==1 && 'active'}}">已检查</view>
</view>
<view class="content">您的其他项检查</view>
</view>

2
src/doctor/pages/userInfo/index.scss

@ -12,7 +12,7 @@ page { @@ -12,7 +12,7 @@ page {
display: flex;
align-items: center;
justify-content: space-between;
padding: 32rpx;
padding: 32rpx 0;
border-bottom: 1px solid rgba(247, 247, 250, 1);
&:last-of-type {
border: none;

BIN
src/images/bg4.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 418 KiB

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
src/images/gif2.gif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 4.9 MiB

BIN
src/images/icon119.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
src/images/icon12.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
src/images/icon120.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/images/none3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
src/images/none4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
src/images/none5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
src/images/share.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 KiB

BIN
src/images/title17.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
src/images/title18.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

8
src/pages/applyFrom/index.ts

@ -142,7 +142,13 @@ Page({ @@ -142,7 +142,13 @@ Page({
})
},
handleBack() {
wx.navigateBack()
wx.navigateBack({
fail: () => {
wx.switchTab({
url: '/pages/index/index',
})
},
})
},
})

15
src/pages/applyFrom/index.wxml

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
<navbar title="患教活动报名" fixed custom-style="background:{{background}}">
<navbar title="" fixed custom-style="background:{{background}}">
<van-icon name="arrow-left" slot="left" size="18px" color="#000" bind:tap="handleBack" />
</navbar>
@ -34,9 +34,8 @@ @@ -34,9 +34,8 @@
<picker mode="date" model:value="{{BirthMonth}}" fields="month">
<view class="picker">
<view class="picker-content">
<view class="picker-text" data-place="请选择{{Relation == 1 ? '您' : '患者'}}的出生月">
{{BirthMonth}}
</view>
<!-- prettier-ignore -->
<view class="picker-text" data-place="请选择{{Relation == 1 ? '您' : '患者'}}的出生月">{{BirthMonth}}</view>
<van-icon name="arrow-down" color="rgba(51,51,51,0.73)" />
</view>
</view>
@ -46,7 +45,13 @@ @@ -46,7 +45,13 @@
<view class="from-item">
<view class="label required">所在地区</view>
<view class="content">
<pickerArea mode="region" value="{{CityId}}" level="{{2}}" bind:change="handleAreaChange">
<pickerArea
pname="{{ProvinceName}}"
pid="{{ProvinceId}}"
cid="{{CityId}}"
cname="{{CityName}}"
bind:change="handleAreaChange"
>
<view class="picker">
<view class="picker-content">
<!-- prettier-ignore -->

2
src/pages/ask/index.scss

@ -63,7 +63,7 @@ page { @@ -63,7 +63,7 @@ page {
line-height: 48rxp;
padding: 20rpx 32rpx;
background-color: #fff;
border-radius: 84rpx;
border-radius: 32rpx;
}
}
}

4
src/pages/index/index.scss

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
.page-title {
width: 319rpx;
height: 92rpx;
width: 168rpx;
height: 32rpx;
}
.page {
min-height: 100vh;

2
src/pages/index/index.wxml

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
<navbar fixed custom-style="background:{{background}}" back>
<image class="page-title" slot="left" src="{{imageUrl}}index-title1.png?t={{Timestamp}}"></image>
<image class="page-title" slot="left" src="{{imageUrl}}title17.png?t={{Timestamp}}"></image>
</navbar>
<view class="page">
<swiper class="banner" autoplay="{{true}}" indicator-dots indicator-active-color="#FA5E48" indicator-color="#fff">

1
src/pages/my/index.scss

@ -13,6 +13,7 @@ page { @@ -13,6 +13,7 @@ page {
width: 128rpx;
height: 128rpx;
outline: none;
background-color: transparent;
&::after {
border: none;
}

14
src/patient/components/patient-tab-bar/index.ts

@ -16,13 +16,6 @@ Component({ @@ -16,13 +16,6 @@ Component({
iconActive: 'tabbar2-1-active',
},
{
pagePath: '/patient/pages/knowledge/index',
text: '知识库',
pageName: 'BTN_KNOWLEDGEBASE_CLICK',
icon: 'tabbar2-2',
iconActive: 'tabbar2-2-active',
},
{
pagePath: '/patient/pages/file/index',
text: '档案',
pageName: 'BTN_PROFILE_CLICK',
@ -30,6 +23,13 @@ Component({ @@ -30,6 +23,13 @@ Component({
iconActive: 'tabbar2-3-active',
},
{
pagePath: '/patient/pages/knowledge/index',
text: '知识库',
pageName: 'BTN_KNOWLEDGEBASE_CLICK',
icon: 'tabbar2-2',
iconActive: 'tabbar2-2-active',
},
{
pagePath: '/patient/pages/my/index',
text: '我的',
pageName: 'BTN_MY_CLICK',

6
src/patient/pages/askPatient/index.scss

@ -204,7 +204,10 @@ page { @@ -204,7 +204,10 @@ page {
width: 502rpx;
height: 340rpx;
box-sizing: border-box;
padding: 114rpx 56rpx 0;
padding: 94rpx 56rpx 30rpx;
display: flex;
flex-direction: column;
justify-content: center;
.content {
text-align: center;
font-size: 32rpx;
@ -424,6 +427,7 @@ page { @@ -424,6 +427,7 @@ page {
flex: 1;
font-size: 32rpx;
color: rgba(40, 48, 49, 1);
white-space: pre-line;
}
.icon {
color: rgba(40, 48, 49, 1);

2
src/patient/pages/askPatient/index.wxml

@ -115,7 +115,7 @@ @@ -115,7 +115,7 @@
<view class="page-footer {{expend && 'expend'}}" catch:tap="handleFooter">
<view class="options">
<view class="title">
<image class="icon" src="{{imageUrl}}icon11.png?t={{Timestamp}}"></image>
<image class="icon" src="{{imageUrl}}icon120.png?t={{Timestamp}}"></image>
我要提问
</view>
<view class="title" catch:tap="handleSendDate">

3
src/patient/pages/blood/index.scss

@ -69,6 +69,9 @@ page { @@ -69,6 +69,9 @@ page {
.list {
padding: 0 32rpx;
margin-top: 32rpx;
&.empty {
padding-top: 200rpx;
}
.list-item {
display: flex;
gap: 16rpx;

2
src/patient/pages/blood/index.wxml

@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
</view>
</view>
</view>
<view class="list">
<view class="list {{pagination.count==0 && 'empty'}}">
<view class="list-item" wx:for="{{list}}" wx:key="recordId" bind:tap="handleEdit" data-id="{{item.recordId}}">
<view class="aside">
<view class="order"></view>

4
src/patient/pages/bloodAdd/index.json

@ -1,4 +1,6 @@ @@ -1,4 +1,6 @@
{
"navigationBarTitleText": "出血记录",
"usingComponents": {}
"usingComponents": {
"popup": "/components/popup/index"
}
}

5
src/patient/pages/bloodAdd/index.scss

@ -89,8 +89,9 @@ page { @@ -89,8 +89,9 @@ page {
&::after {
position: absolute;
content: '';
top: 8rpx;
left: 8rpx;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 16rpx;
height: 16rpx;
border-radius: 50%;

24
src/patient/pages/bloodAdd/index.ts

@ -1,12 +1,20 @@ @@ -1,12 +1,20 @@
import dayjs from 'dayjs'
const app = getApp<IAppOption>()
Page({
data: {
popupShow: false,
popupType: 'preReportComplete',
popupParams: {},
recordId: '',
remark: '',
bleedingDate: '',
bleedingParts: [] as { id: string; name: string }[],
endDate: dayjs().format('YYYY-MM-DD'),
dict: {
parts: {} as any,
},
@ -93,6 +101,7 @@ Page({ @@ -93,6 +101,7 @@ Page({
},
],
},
time: null as any,
onLoad(options) {
this.setData({
recordId: options.id,
@ -185,9 +194,22 @@ Page({ @@ -185,9 +194,22 @@ Page({
bleedingParts: bleedingParts.map((item) => item.id),
},
}).then(() => {
wx.navigateBack()
this.setData({
popupShow: true,
popupType: 'preReportComplete',
popupParams: {},
})
this.time = setTimeout(() => {
wx.navigateBack()
}, 2000)
})
},
handlePopupCancel() {
if (this.time) {
clearTimeout(this.time)
}
this.handleBack()
},
handleBack() {
wx.navigateBack()
},

11
src/patient/pages/bloodAdd/index.wxml

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
<view class="date-form">
<image class="icon" src="{{imageUrl}}icon52.png?t={{Timestamp}}"></image>
<view class="label">出血日期</view>
<picker class="picker" mode="date" model:value="{{bleedingDate}}">
<picker class="picker" mode="date" end="{{endDate}}" model:value="{{bleedingDate}}">
<view class="picker-content">
<view class="content" data-place="请选择">{{bleedingDate}}</view>
<view class="tril"></view>
@ -59,3 +59,12 @@ @@ -59,3 +59,12 @@
<view class="submit" bind:tap="handleSubmit">完成</view>
</view>
</view>
<popup
show="{{popupShow}}"
type="{{popupType}}"
params="{{popupParams}}"
top="40"
bind:ok="handlePopupOk"
bind:cancel="handlePopupCancel"
></popup>

8
src/patient/pages/casesAdd/index.scss

@ -100,6 +100,7 @@ page { @@ -100,6 +100,7 @@ page {
.row {
display: flex;
border-bottom: 1px solid rgba(247, 247, 250, 1);
line-height: 1.4;
&:last-of-type {
border: none;
}
@ -196,8 +197,10 @@ page { @@ -196,8 +197,10 @@ page {
border-radius: 24rpx 24rpx 24rpx 24rpx;
.row {
display: flex;
align-items: center;
border-bottom: 1px solid rgba(247, 247, 250, 1);
flex-wrap: wrap;
line-height: 1.4;
&.column {
flex-direction: column;
.label {
@ -367,8 +370,9 @@ page { @@ -367,8 +370,9 @@ page {
&::after {
position: absolute;
content: '';
top: 8rpx;
left: 8rpx;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 16rpx;
height: 16rpx;
border-radius: 50%;

2
src/patient/pages/casesAdd/index.ts

@ -279,7 +279,7 @@ Page({ @@ -279,7 +279,7 @@ Page({
this.setData({
popupShow: true,
popupType: 'casesAddComplete',
popupParams: { close: true },
popupParams: {},
})
this.time = setTimeout(() => {
wx.navigateBack()

3
src/patient/pages/coltStat/index.json

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
"van-circle": "@vant/weapp/circle/index",
"ec-canvas": "/components/ec-canvas/ec-canvas",
"navbar": "/components/navbar/index",
"calendar": "/components/calendar/index"
"calendar": "/components/calendar/index",
"popup": "/components/popup/index"
}
}

13
src/patient/pages/coltStat/index.scss

@ -48,6 +48,7 @@ page { @@ -48,6 +48,7 @@ page {
}
}
.legend {
margin-top: 40rpx;
padding-right: 40rpx;
display: flex;
justify-content: flex-end;
@ -145,6 +146,18 @@ page { @@ -145,6 +146,18 @@ page {
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.chart-none {
padding: 86rpx 0;
text-align: center;
.none {
width: 365rpx;
height: 217rpx;
}
.none-title {
font-size: 28rpx;
color: rgba(161, 164, 172, 0.5);
}
}
.container {
margin-top: 32rpx;
height: 600rpx;

45
src/patient/pages/coltStat/index.ts

@ -5,6 +5,10 @@ import dayjs from 'dayjs' @@ -5,6 +5,10 @@ import dayjs from 'dayjs'
Page({
data: {
popupShow: false,
popupType: 'coltStatFile',
popupParams: {},
cirlcleColor1: {
'0%': 'rgba(174, 248, 225, 1)',
'100%': 'rgba(31, 219, 160, 1)',
@ -37,12 +41,14 @@ Page({ @@ -37,12 +41,14 @@ Page({
},
},
beginDate: dayjs().subtract(1, 'M').startOf('month').format('YYYY-MM-DD'),
beginDate: dayjs().subtract(1, 'y').startOf('month').format('YYYY-MM-DD'),
endDate: dayjs().format('YYYY-MM-DD'),
tabActve: 3,
iDays: '',
chartNone: false,
list2: [] as any[],
total2: 0,
pagination2: {
@ -88,7 +94,6 @@ Page({ @@ -88,7 +94,6 @@ Page({
...rangeDate,
},
}).then((res) => {
console.log('res: ', res)
this.setCalendarTodos({ bleedDate: res.examDateList, injectionDate: res.bleedDateList })
const astList = {}
const altList = {}
@ -109,6 +114,7 @@ Page({ @@ -109,6 +114,7 @@ Page({
astList,
altList,
cfRecordList,
chartNone: false,
}
this.initChart(initParams)
})
@ -291,6 +297,11 @@ Page({ @@ -291,6 +297,11 @@ Page({
},
initChart({ altList = {}, astList = {}, cfRecordList = {} }) {
const arr = this.generateDateArray(altList, astList, cfRecordList)
if (!arr.length) {
this.setData({
chartNone: true,
})
}
const astArr: Number[] = []
const altArr: Number[] = []
const cfRecordArr: Number[] = []
@ -340,8 +351,8 @@ Page({ @@ -340,8 +351,8 @@ Page({
},
grid: {
top: '30',
left: '5',
right: '0',
left: '10',
right: '10',
bottom: '45',
containLabel: true,
},
@ -574,6 +585,32 @@ Page({ @@ -574,6 +585,32 @@ Page({
}
})
},
handleFactorCheck() {
this.setData({
popupShow: true,
popupType: 'coltStatFile',
popupParams: {},
})
},
handlePopupOk() {
const { popupType } = this.data
if (popupType === 'coltStatFile') {
wx.navigateTo({
url: `/patient/pages/file/index?nav=1`,
})
this.setData({
popupShow: false,
popupType: '',
})
}
},
handlePopupCancel() {
this.setData({
popupShow: false,
popupType: '',
})
},
handleBack() {
wx.navigateBack()
},

34
src/patient/pages/coltStat/index.wxml

@ -74,13 +74,31 @@ @@ -74,13 +74,31 @@
<view class="page-container">
<view class="module1">
<view class="title">我的健康变化</view>
<view class="container">
<view class="chart-none" wx:if="{{chartNone}}">
<image class="none" src="{{imageUrl}}none3.png?t={{Timestamp}}"></image>
<view class="none-title">暂无数据</view>
</view>
<view class="container" wx:else>
<ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
</view>
</view>
<view class="tabs">
<view class="tab {{tabActve===3 && 'active'}}" bind:tap="handleTab" data-active="{{3}}" data-name="BTN_COAGULATIONFACTORTAB_CLICK">凝血因子</view>
<view class="tab {{tabActve===2 && 'active'}}" bind:tap="handleTab" data-active="{{2}}" data-name="BTN_BIOCHEMICALTESTTAB_CLICK">生化检查</view>
<view
class="tab {{tabActve===3 && 'active'}}"
bind:tap="handleTab"
data-active="{{3}}"
data-name="BTN_COAGULATIONFACTORTAB_CLICK"
>
凝血因子
</view>
<view
class="tab {{tabActve===2 && 'active'}}"
bind:tap="handleTab"
data-active="{{2}}"
data-name="BTN_BIOCHEMICALTESTTAB_CLICK"
>
生化检查
</view>
</view>
<view class="doc">
<view class="total" wx:if="{{tabActve===2}}">
@ -95,7 +113,7 @@ @@ -95,7 +113,7 @@
</view>
<view class="tab1" wx:if="{{tabActve===3}}">
<view class="tab1-module">
<view class="item">
<view class="item" bindtap="handleFactorCheck">
<view class="icon">
<image class="i-img" src="{{imageUrl}}icon57.png?t={{Timestamp}}"></image>
</view>
@ -170,3 +188,11 @@ @@ -170,3 +188,11 @@
</view>
</view>
</view>
<popup
show="{{popupShow}}"
type="{{popupType}}"
params="{{popupParams}}"
bind:ok="handlePopupOk"
bind:cancel="handlePopupCancel"
></popup>

12
src/patient/pages/course/index.ts

@ -193,10 +193,16 @@ Page({ @@ -193,10 +193,16 @@ Page({
this.setData({
popupShow: true,
popupType: 'TCenterEnd',
popupParams: {
close: true,
},
popupParams: {},
})
setTimeout(() => {
this.setData({
popupShow: false,
popupType: '',
popupParams: {},
})
this.handleUpdate()
}, 2000)
})
}
},

4
src/patient/pages/doctorList/index.scss

@ -4,6 +4,8 @@ page { @@ -4,6 +4,8 @@ page {
.page {
padding: 0 40rpx 40rpx;
min-height: 100vh;
box-sizing: border-box;
background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
.card {
margin-top: 40rpx;
@ -60,7 +62,7 @@ page { @@ -60,7 +62,7 @@ page {
line-height: 40rpx;
}
}
.none{
.none {
margin: 200rpx auto 0;
display: block;
width: 533rpx;

2
src/patient/pages/doctorList/index.wxml

@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@
</view>
<view class="unbind" bind:tap="handleUnbind" data-id="{{item.doctorId}}">解绑</view>
</view>
<view class="content">{{item.introduce}}</view>
<view class="content" wx:if="{{item.introduce}}">{{item.introduce}}</view>
</view>
<block wx:if="{{pagination.count==0}}">

9
src/patient/pages/entryInfo/index.wxml

@ -35,13 +35,20 @@ @@ -35,13 +35,20 @@
<view class="form-row">
<picker mode="date" end="{{endDate}}" model:value="{{birthMonth}}" fields="month" bind:change="handleBirthChange">
<view class="picker-content">
<!-- prettier-ignore -->
<view class="value" data-place="请选择{{relationType == 2 ? '患者' : '您'}}的出生年月">{{birthMonthName}}</view>
<view class="tril"></view>
</view>
</picker>
</view>
<view class="form-row">
<pickerArea mode="region" value="{{CityId}}" level="city" level="{{2}}" bind:change="handleAreaChange">
<pickerArea
pname="{{provinceName}}"
pid="{{provinceId}}"
cid="{{cityId}}"
cname="{{cityName}}"
bind:change="handleAreaChange"
>
<view class="picker-content">
<!-- prettier-ignore -->
<view class="value" data-place="请选择{{relationType == 2 ? '患者' : '您'}}的所住地">{{provinceName ? provinceName+ '/' : provinceName }}{{cityName}}</view>

2
src/patient/pages/familyScan/index.ts

@ -12,7 +12,9 @@ Page({ @@ -12,7 +12,9 @@ Page({
userInfo: {} as any,
},
onLoad(options) {
console.log("DEBUGPRINT[148]: index.ts:14: options=", options)
const { pId } = parseScene(options.scene) as { pId: string }
console.log("DEBUGPRINT[149]: index.ts:16: pId=", pId)
this.setData({
PatientId: pId,
ignoreAgreement: options.ignoreAgreement,

6
src/patient/pages/file/index.json

@ -1,7 +1,9 @@ @@ -1,7 +1,9 @@
{
"navigationStyle": "custom",
"usingComponents": {
"patient-tab-bar":"/patient/components/patient-tab-bar/index",
"calendar": "/components/calendar/index"
"patient-tab-bar": "/patient/components/patient-tab-bar/index",
"calendar": "/components/calendar/index",
"van-tab": "@vant/weapp/tab/index",
"van-tabs": "@vant/weapp/tabs/index"
}
}

13
src/patient/pages/file/index.scss

@ -32,7 +32,7 @@ page { @@ -32,7 +32,7 @@ page {
}
.age {
margin-right: 16rpx;
padding: 0 14rpx;
padding: 2rpx 14rpx 0;
border-radius: 20rpx;
background-color: rgba(32, 196, 255, 1);
display: inline-flex;
@ -47,7 +47,7 @@ page { @@ -47,7 +47,7 @@ page {
}
}
.site {
padding: 0 14rpx;
padding: 2rpx 14rpx 0;
border-radius: 20rpx;
background-color: rgba(248, 166, 133, 1);
display: inline-flex;
@ -101,6 +101,9 @@ page { @@ -101,6 +101,9 @@ page {
}
}
.swiper {
height: 100vh;
}
.container0 {
padding: 8rpx 0 0;
.none {
@ -419,6 +422,9 @@ page { @@ -419,6 +422,9 @@ page {
.row {
padding: 32rpx 0;
border-bottom: 1px solid rgba(247, 247, 250, 1);
&:last-of-type {
border: none;
}
.wrap {
display: flex;
gap: 32rpx;
@ -448,6 +454,9 @@ page { @@ -448,6 +454,9 @@ page {
.row1 {
padding: 32rpx 0;
border-bottom: 1px solid rgba(247, 247, 250, 1);
&:last-of-type {
border: none;
}
.wrap {
display: flex;
align-items: center;

36
src/patient/pages/file/index.ts

@ -9,6 +9,8 @@ Page({ @@ -9,6 +9,8 @@ Page({
userInfo: {},
swiperHeight: 800,
fold1: false,
fold2: false,
fold3: false,
@ -63,16 +65,34 @@ Page({ @@ -63,16 +65,34 @@ Page({
})
})
},
handleUpdate() {
this.getInfo()
},
handleNav(e) {
const { nav, name } = e.currentTarget.dataset
if (name) {
app.mpBehavior({ PageName: name })
}
const { nav } = e.currentTarget.dataset
this.setData({
nav,
})
this.getInfo()
},
handleSwiperChange(e) {
const name = {
0: 'BTN_TREATMENTARCHIVE_TAB_CLICK',
1: 'BTN_MEDICALHISTORY_TAB_CLICK',
2: 'BTN_FOLLOWUPCALENDAR_TAB_CLICK',
}[e.detail.current]
if (name) {
app.mpBehavior({ PageName: name })
}
const query = wx.createSelectorQuery()
query.select(`#container${e.detail.current}`).boundingClientRect()
query.exec((res) => {
this.setData({
swiperHeight: res[0].height + 42,
nav: e.detail.current,
})
})
},
getInfo() {
const { nav } = this.data
if (nav == 0) {
@ -92,6 +112,7 @@ Page({ @@ -92,6 +112,7 @@ Page({
!res.periodThree.injectionDrugs &&
!res.periodThree.injectionNum,
})
this.handleSwiperChange({ detail: { current: 0 } })
})
}
if (nav == 1) {
@ -103,6 +124,7 @@ Page({ @@ -103,6 +124,7 @@ Page({
this.setData({
medical: res,
})
this.handleSwiperChange({ detail: { current: 1 } })
})
}
if (nav == 2) {
@ -118,6 +140,7 @@ Page({ @@ -118,6 +140,7 @@ Page({
},
})
this.getFollowList()
this.handleSwiperChange({ detail: { current: 2 } })
})
}
},
@ -247,6 +270,11 @@ Page({ @@ -247,6 +270,11 @@ Page({
url: '/patient/pages/injectDate/index',
})
},
handleCases() {
wx.navigateTo({
url: '/patient/pages/casesAdd/index',
})
},
})
export {}

597
src/patient/pages/file/index.wxml

@ -24,349 +24,354 @@ @@ -24,349 +24,354 @@
</view>
</view>
<view class="navbar">
<view
class="nav {{nav==0 && 'active'}}"
bindtap="handleNav"
data-nav="0"
data-name="BTN_TREATMENTARCHIVE_TAB_CLICK"
>
健康档案
</view>
<view class="nav {{nav==1 && 'active'}}" bindtap="handleNav" data-nav="1" data-name="BTN_MEDICALHISTORY_TAB_CLICK">
病史档案
</view>
<view
class="nav {{nav==2 && 'active'}}"
bindtap="handleNav"
data-nav="2"
data-name="BTN_FOLLOWUPCALENDAR_TAB_CLICK"
>
随访日历
</view>
<view class="nav {{nav==0 && 'active'}}" bindtap="handleNav" data-nav="0">健康档案</view>
<view class="nav {{nav==1 && 'active'}}" bindtap="handleNav" data-nav="1">病史档案</view>
<view class="nav {{nav==2 && 'active'}}" bindtap="handleNav" data-nav="2">随访日历</view>
</view>
<view class="container0" wx:if="{{nav==0}}">
<view class="card1" wx:if="{{periodFour.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold1">
<view class="title">随访期</view>
<image class="fold-icon {{fold1 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
<swiper class="swiper" current="{{nav}}" style="height: {{swiperHeight}}px;" bindchange="handleSwiperChange">
<swiper-item>
<view id="container0" class="container0">
<view class="card1" wx:if="{{periodFour.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold1">
<view class="title">随访期</view>
<image class="fold-icon {{fold1 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
<view class="btn" bind:tap="handleRevisitRecord" data-name="BTN_ADDFOLLOWUPRECORD_CLICK">添加随访记录</view>
</view>
<view class="{{fold1 && 'fold'}}">
<view
class="c-body"
wx:for="{{periodFour}}"
wx:key="index"
bind:tap="handleRevisitDetail"
data-id="{{item.examId}}"
data-period="{{item.period}}"
>
<!-- <image wx:if="{{true}}" class="status" src="{{imageUrl}}icon42.png?t={{Timestamp}}"></image> -->
<!-- <image wx:elif="{{false}}" class="status" src="{{imageUrl}}icon43.png?t={{Timestamp}}"></image> -->
<!-- <image wx:elif="{{false}}" class="status" src="{{imageUrl}}icon44.png?t={{Timestamp}}"></image> -->
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">
{{item.beginDate || item.endDate}}
</view>
<view class="content" wx:else>--</view>
</view>
<view class="row">
<view class="label">诊疗医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view>
</view>
<view class="more" bind:tap="handleRevisitAll" data-period="4">
查看全部
<van-icon name="arrow" />
</view>
</view>
</view>
<view class="btn" bind:tap="handleRevisitRecord" data-name="BTN_ADDFOLLOWUPRECORD_CLICK">添加随访记录</view>
</view>
<view class="{{fold1 && 'fold'}}">
<view
class="c-body"
wx:for="{{periodFour}}"
wx:key="index"
bind:tap="handleRevisitDetail"
data-id="{{item.examId}}"
data-period="{{item.period}}"
class="card2"
wx:if="{{periodThree.injectionDate || periodThree.injectionWeight || periodThree.injectionDrugs || periodThree.injectionNum}}"
>
<!-- <image wx:if="{{true}}" class="status" src="{{imageUrl}}icon42.png?t={{Timestamp}}"></image> -->
<!-- <image wx:elif="{{false}}" class="status" src="{{imageUrl}}icon43.png?t={{Timestamp}}"></image> -->
<!-- <image wx:elif="{{false}}" class="status" src="{{imageUrl}}icon44.png?t={{Timestamp}}"></image> -->
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold2">
<view class="title">注射日</view>
<image class="fold-icon {{fold2 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">{{item.beginDate || item.endDate}}</view>
<view class="content" wx:else>--</view>
</view>
<view class="row">
<view class="label">诊疗医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
<view class="{{fold2 && 'fold'}}">
<view class="c-body">
<view class="row">
<view class="label">注射日期</view>
<view class="content">{{periodThree.injectionDate}}</view>
</view>
<view class="row">
<view class="label">BBM-H901</view>
<view class="content">
<view wx:if="{{periodThree.injectionWeight}}">体重 {{periodThree.injectionWeight}}kg</view>
<view wx:else>体重 未填写</view>
<view wx:if="{{periodThree.injectionDrugs}}">用药 {{periodThree.injectionDrugs}}ml</view>
<view wx:else>用药 未填写</view>
<view wx:if="{{periodThree.injectionNum}}">预期用药 {{periodThree.injectionNum}} 瓶</view>
<view wx:else>预期用药 未填写</view>
</view>
</view>
<view class="options">
<view class="item" bind:tap="handleCourse" data-progress="2" data-name="BTN_INJECTIONDAY_DETAIL_CLICK">
诊疗阶段详情
<van-icon name="arrow" />
</view>
<view class="item" bind:tap="handleBbmDetail">
查看详情
<van-icon name="arrow" />
</view>
</view>
</view>
</view>
</view>
<view class="more" bind:tap="handleRevisitAll" data-period="4">
查看全部
<van-icon name="arrow" />
<view class="card3" wx:if="{{periodTwo.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold3">
<view class="title">基因治疗中心检查</view>
<image class="fold-icon {{fold3 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="{{fold3 && 'fold'}}">
<view class="c-body" wx:for="{{periodTwo}}" wx:key="index">
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">
{{item.beginDate || item.endDate}}
</view>
<view class="content" wx:else>未填写</view>
</view>
<view class="row">
<view class="label">诊疗医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view>
<view class="options">
<view
class="item"
bind:tap="handleCourse"
data-progress="1"
data-name="BTN_GENETHERAPYCENTER_DETAIL_CLICK"
>
诊疗阶段详情
<van-icon name="arrow" />
</view>
<view
class="item"
bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}"
data-period="{{item.period}}"
data-name="BTN_VIEWGENETHERAPYDETAIL_CLICK"
>
查看详情
<van-icon name="arrow" />
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view
class="card2"
wx:if="{{periodThree.injectionDate || periodThree.injectionWeight || periodThree.injectionDrugs || periodThree.injectionNum}}"
>
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold2">
<view class="title">注射日</view>
<image class="fold-icon {{fold2 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
<view class="card4" wx:if="{{periodOne.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold4">
<view class="title">诊前筛查</view>
<image class="fold-icon {{fold4 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="{{fold4 && 'fold'}}">
<view class="c-body" wx:for="{{periodOne}}" wx:key="index">
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">
{{item.beginDate || item.endDate}}
</view>
<view class="content" wx:else>未填写</view>
</view>
<view class="row">
<view class="label">定点医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view>
<view class="options">
<view class="item" bind:tap="handleCourse" data-progress="0" data-name="BTN_PRESCREENING_DETAIL_CLICK">
诊疗阶段详情
<van-icon name="arrow" />
</view>
<view
class="item"
bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}"
data-period="{{item.period}}"
data-name="BTN_VIEWPRESCREENINGDETAIL_CLICK"
>
查看详情
<van-icon name="arrow" />
</view>
</view>
</view>
</view>
</view>
<image wx:if="{{empty0}}" class="none" src="{{imageUrl}}none.png"></image>
</view>
<view class="{{fold2 && 'fold'}}">
<view class="c-body">
</swiper-item>
<swiper-item>
<view id="container1" class="container1">
<view class="c1_card1" bind:tap="handleCases">
<view class="row">
<view class="label">注射日期</view>
<view class="content">{{periodThree.injectionDate}}</view>
<view class="label">出生年月</view>
<view class="content">{{medical.birthMonth}}({{medical.ageYear}}岁)</view>
</view>
<view class="row">
<view class="label">BBM-H901</view>
<view class="label">确诊时间</view>
<view class="content">
<view wx:if="{{periodThree.injectionWeight}}">体重 {{periodThree.injectionWeight}}kg</view>
<view wx:else>体重 未填写</view>
<view wx:if="{{periodThree.injectionDrugs}}">用药 {{periodThree.injectionDrugs}}ml</view>
<view wx:else>用药 未填写</view>
<view wx:if="{{periodThree.injectionNum}}">预期用药 {{periodThree.injectionNum}} 瓶</view>
<view wx:else>预期用药 未填写</view>
{{medical.diagnosisTime || '未填写'}}
<block wx:if="{{medical.diagnosisAge}}">({{medical.diagnosisAge}})</block>
</view>
</view>
<view class="options">
<view class="item" bind:tap="handleCourse" data-progress="2" data-name="BTN_INJECTIONDAY_DETAIL_CLICK">
诊疗阶段详情
<van-icon name="arrow" />
</view>
<view class="item" bind:tap="handleBbmDetail">
查看详情
<van-icon name="arrow" />
</view>
<view class="row">
<view class="label">您的体重</view>
<view class="content" wx:if="{{medical.weight}}">{{medical.weight}} kg</view>
<div class="content" wx:else>未填写</div>
</view>
</view>
</view>
</view>
<view class="card3" wx:if="{{periodTwo.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold3">
<view class="title">基因治疗中心检查</view>
<image class="fold-icon {{fold3 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="{{fold3 && 'fold'}}">
<view class="c-body" wx:for="{{periodTwo}}" wx:key="index">
<view class="c1_card1" bind:tap="handleCases">
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">{{item.beginDate || item.endDate}}</view>
<view class="label">凝血因子</view>
<view class="content" wx:if="{{medical.clottingFactor}}">{{medical.clottingFactor}}%</view>
<view class="content" wx:else>未填写</view>
</view>
<view class="row">
<view class="label">诊疗医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
<view class="label">治疗方案</view>
<view class="content">{{medical.treatmentPlanName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
</view>
<view class="options">
<view class="item" bind:tap="handleCourse" data-progress="1" data-name="BTN_GENETHERAPYCENTER_DETAIL_CLICK">
诊疗阶段详情
<van-icon name="arrow" />
</view>
<view
class="item"
bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}"
data-period="{{item.period}}"
data-name="BTN_VIEWGENETHERAPYDETAIL_CLICK"
>
查看详情
<van-icon name="arrow" />
</view>
<view class="label">FIX暴露日</view>
<view class="content" wx:if="{{medical.fixExposureDay}}">{{medical.fixExposureDay}}个</view>
<view class="content" wx:else>未填写</view>
</view>
</view>
</view>
</view>
<view class="card4" wx:if="{{periodOne.length}}">
<view class="c-header">
<view class="left" bindtap="handleFold" data-fold="fold4">
<view class="title">诊前筛查</view>
<image class="fold-icon {{fold4 && 'trun'}}" src="{{imageUrl}}icon56.png?t={{Timestamp}}"></image>
</view>
</view>
<view class="{{fold4 && 'fold'}}">
<view class="c-body" wx:for="{{periodOne}}" wx:key="index">
<view class="c1_card2" bind:tap="handleCases">
<view class="row">
<view class="label">日期</view>
<view class="content" wx:if="{{item.beginDate && item.endDate}}">
<view>{{item.beginDate}}~</view>
<view>{{item.endDate}}</view>
<view class="wrap">
<view class="label">既往FIX抑制物病史</view>
<view class="content">{{medical.beforeFixHistoryName || '未填写'}}</view>
</view>
<view class="content" wx:elif="{{item.beginDate || item.endDate}}">{{item.beginDate || item.endDate}}</view>
<view class="content" wx:else>未填写</view>
</view>
<view class="row">
<view class="label">定点医院</view>
<view class="content">{{item.hospitalName || '未填写'}}</view>
<view class="wrap">
<view class="label">既往肝脏疾病病史</view>
<view class="content">{{medical.beforeLiverHistoryName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.liverRecord}}">{{medical.liverRecord}}</view>
</view>
<view class="row">
<view class="label">检查项目</view>
<view class="content">{{item.totalNum}}/{{item.allNum}}</view>
<view class="wrap">
<view class="label">您是否有饮酒史</view>
<view class="content">{{medical.drinkingHistoryName || '未填写'}}</view>
</view>
</view>
<view class="options">
<view class="item" bind:tap="handleCourse" data-progress="0" data-name="BTN_PRESCREENING_DETAIL_CLICK">
诊疗阶段详情
<van-icon name="arrow" />
<view class="row">
<view class="wrap">
<view class="label">您是否有过敏史</view>
<view class="content">{{medical.allergyHistoryName || '未填写'}}</view>
</view>
<view
class="item"
bind:tap="handlePreDiagnosisReport"
data-id="{{item.examId}}"
data-period="{{item.period}}"
data-name="BTN_VIEWPRESCREENINGDETAIL_CLICK"
>
查看详情
<van-icon name="arrow" />
<view class="remark" wx:if="{{medical.allergyRecord}}">{{medical.allergyRecord}}</view>
</view>
<view class="row1">
<view class="wrap">
<view class="label">
<view>您是否可能存在不适合</view>
<view>使用糖皮质激素的情况?</view>
</view>
<view class="line"></view>
<view class="content">{{medical.isNotGlucocorticoidName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.medicalHistoryInfo}}">{{medical.medicalHistoryInfo}}</view>
</view>
</view>
</view>
</view>
<image wx:if="{{empty0}}" class="none" src="{{imageUrl}}none.png"></image>
</view>
<view class="container1" wx:if="{{nav==1}}">
<view class="c1_card1">
<view class="row">
<view class="label">出生年月</view>
<view class="content">{{medical.birthMonth}}({{medical.ageYear}}岁)</view>
</view>
<view class="row">
<view class="label">确诊时间</view>
<view class="content">
{{medical.diagnosisTime || '未填写'}}
<block wx:if="{{medical.diagnosisAge}}">({{medical.diagnosisAge}})</block>
</view>
</view>
<view class="row">
<view class="label">您的体重</view>
<view class="content" wx:if="{{medical.weight}}">{{medical.weight}} kg</view>
<div class="content" wx:else>未填写</div>
</view>
</view>
<view class="c1_card1">
<view class="row">
<view class="label">凝血因子</view>
<view class="content" wx:if="{{medical.clottingFactor}}">{{medical.clottingFactor}}%</view>
<view class="content" wx:else>未填写</view>
</view>
<view class="row">
<view class="label">治疗方案</view>
<view class="content">{{medical.treatmentPlanName || '未填写'}}</view>
</view>
<view class="row">
<view class="label">FIX暴露日</view>
<view class="content" wx:if="{{medical.fixExposureDay}}">{{medical.fixExposureDay}}个</view>
<view class="content" wx:else>未填写</view>
</view>
</view>
<view class="c1_card2">
<view class="row">
<view class="wrap">
<view class="label">既往FIX抑制物病史</view>
<view class="content">{{medical.beforeFixHistoryName || '未填写'}}</view>
</view>
</view>
<view class="row">
<view class="wrap">
<view class="label">既往肝脏疾病病史</view>
<view class="content">{{medical.beforeLiverHistoryName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.liverRecord}}">{{medical.liverRecord}}</view>
</view>
<view class="row">
<view class="wrap">
<view class="label">您是否有饮酒史</view>
<view class="content">{{medical.drinkingHistoryName || '未填写'}}</view>
</view>
</view>
<view class="row">
<view class="wrap">
<view class="label">您是否有过敏史</view>
<view class="content">{{medical.allergyHistoryName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.allergyRecord}}">{{medical.allergyRecord}}</view>
</view>
<view class="row1">
<view class="wrap">
<view class="label">
<view>您是否可能存在不适合</view>
<view>使用糖皮质激素的情况?</view>
<view class="c1_card2" bind:tap="handleCases">
<view class="row">
<view class="wrap">
<view class="label" style="width: 4em">靶关节</view>
<view class="content">
<view wx:for="{{medical.lastBleedingInfo.bleedingPartList}}" wx:key="bleedingId">
{{item.bleedingPartName}}
</view>
</view>
</view>
</view>
<view class="line"></view>
<view class="content">{{medical.isNotGlucocorticoidName || '未填写'}}</view>
</view>
<view class="remark" wx:if="{{medical.medicalHistoryInfo}}">{{medical.medicalHistoryInfo}}</view>
</view>
</view>
<view class="c1_card2">
<view class="row">
<view class="wrap">
<view class="label" style="width: 4em">靶关节</view>
<view class="content">
<view wx:for="{{medical.lastBleedingInfo.bleedingPartList}}" wx:key="bleedingId">
{{item.bleedingPartName}}
<view class="row">
<view class="wrap">
<view class="label">最近6个月出血</view>
</view>
<view class="remark" wx:if="{{medical.lastBleedingInfo.remark}}">{{medical.lastBleedingInfo.remark}}</view>
</view>
</view>
</view>
<view class="row">
<view class="wrap">
<view class="label">最近6个月出血</view>
</swiper-item>
<swiper-item>
<view id="container2" class="container2">
<view class="date-card" bind:tap="handleInjectionDate">
<image class="icon" src="{{imageUrl}}icon67.png?t={{Timestamp}}"></image>
<view class="content" wx:if="{{followExam.injectionDate}}">注射日:{{followExam.injectionDateName}}</view>
<view class="content" wx:else>请填写您的注射日,生成随访计划</view>
</view>
<view class="remark" wx:if="{{medical.lastBleedingInfo.remark}}">{{medical.lastBleedingInfo.remark}}</view>
</view>
</view>
</view>
<view class="container2" wx:if="{{nav==2}}">
<view class="date-card" bind:tap="handleInjectionDate">
<image class="icon" src="{{imageUrl}}icon67.png?t={{Timestamp}}"></image>
<view class="content" wx:if="{{followExam.injectionDate}}">注射日:{{followExam.injectionDateName}}</view>
<view class="content" wx:else>请填写您的注射日生成随访计划</view>
</view>
<view
class="notic"
wx:if="{{followExam.injectionDate}}"
style="background: url('{{imageUrl}}bg21.png?t={{Timestamp}}') no-repeat top center/100%"
>
<view class="title">{{followExam.tipsInfo}}</view>
<view class="content" wx:if="{{followExam.lastNoticeWeekInfo}}">{{followExam.lastNoticeWeekInfo}}</view>
<view class="sub-content" wx:if="{{followExam.lastNoticeExamInfo}}">{{followExam.lastNoticeExamInfo}}</view>
<!-- 绿叶 -->
<image
wx:if="{{followExam.examDiffPassMonth==1}}"
class="badge"
src="{{imageUrl}}icon94.png?t={{Timestamp}}"
></image>
<!-- 红花 -->
<image wx:else class="badge" src="{{imageUrl}}icon95.png?t={{Timestamp}}"></image>
</view>
<view class="card">
<view
class="c-calendar"
style="background: #fff url('{{imageUrl}}icon99.png?t={{Timestamp}}') no-repeat bottom right/118rpx 116rpx"
>
<calendar
bind:whenChangeMonth="handleWhenChangeMonth"
config="{{calendarConfig}}"
id="calendar"
bind:jumpToToday="toggleFold"
></calendar>
<view class="lengend">
<view class="l-item">
<view class="dot dot1"></view>
注射日
</view>
<view class="l-item">
<view class="dot dot2"></view>
已复诊
</view>
<view class="l-item">
<view class="dot dot3"></view>
建议复诊
<view
class="notic"
wx:if="{{followExam.injectionDate}}"
style="background: url('{{imageUrl}}bg21.png?t={{Timestamp}}') no-repeat top center/100%"
>
<view class="title">{{followExam.tipsInfo}}</view>
<view class="content" wx:if="{{followExam.lastNoticeWeekInfo}}">{{followExam.lastNoticeWeekInfo}}</view>
<view class="sub-content" wx:if="{{followExam.lastNoticeExamInfo}}">{{followExam.lastNoticeExamInfo}}</view>
<!-- 绿叶 -->
<image
wx:if="{{followExam.examDiffPassMonth==1}}"
class="badge"
src="{{imageUrl}}icon94.png?t={{Timestamp}}"
></image>
<!-- 红花 -->
<image wx:else class="badge" src="{{imageUrl}}icon95.png?t={{Timestamp}}"></image>
</view>
<view class="card">
<view
class="c-calendar"
style="background: #fff url('{{imageUrl}}icon99.png?t={{Timestamp}}') no-repeat bottom right/118rpx 116rpx"
>
<calendar
bind:whenChangeMonth="handleWhenChangeMonth"
config="{{calendarConfig}}"
id="calendar"
bind:jumpToToday="toggleFold"
></calendar>
<view class="lengend">
<view class="l-item">
<view class="dot dot1"></view>
注射日
</view>
<view class="l-item">
<view class="dot dot2"></view>
已复诊
</view>
<view class="l-item">
<view class="dot dot3"></view>
建议复诊
</view>
</view>
</view>
<view class="c-sub-card"></view>
</view>
<view class="btn" bind:tap="handleRevisitRecord" data-name="BTN_CARD_ADDRECHECKRECORD_CLICK">
添加复诊检查记录
</view>
</view>
<view class="c-sub-card"></view>
</view>
<view class="btn" bind:tap="handleRevisitRecord" data-name="BTN_CARD_ADDRECHECKRECORD_CLICK">添加复诊检查记录</view>
</view>
</swiper-item>
</swiper>
</view>
<patient-tab-bar></patient-tab-bar>

14
src/patient/pages/index/index.scss

@ -2,14 +2,14 @@ page { @@ -2,14 +2,14 @@ page {
background-color: rgba(247, 247, 250, 1);
}
.page-title {
width: 319rpx;
height: 92rpx;
width: 168rpx;
height: 32rpx;
}
.page {
padding: 0 40rpx 180rpx;
.user {
margin-top: 42rpx;
margin-top: 62rpx;
display: flex;
align-items: center;
.avatar {
@ -213,6 +213,7 @@ page { @@ -213,6 +213,7 @@ page {
align-items: center;
justify-content: center;
border-radius: 50%;
background-color: #fff;
&.active {
background-color: rgba(242, 58, 47, 1);
color: #fff;
@ -382,7 +383,7 @@ page { @@ -382,7 +383,7 @@ page {
}
}
.info {
margin-top: 50rpx;
margin-top: 20rpx;
.i-header {
display: flex;
align-items: center;
@ -413,10 +414,11 @@ page { @@ -413,10 +414,11 @@ page {
.photo {
display: block;
width: 424rpx;
height: 246rpx;
border-radius: 24rpx 24rpx 0 0;
height: 320rpx;
border-radius: 24rpx 24rpx 32rpx 32rpx;
}
.content {
margin-top: -72rpx;
max-width: 424rpx;
box-sizing: border-box;
padding: 20rpx;

8
src/patient/pages/index/index.ts

@ -15,7 +15,7 @@ Page({ @@ -15,7 +15,7 @@ Page({
doctorList: [],
progress: 1,
progress: 0,
swiperHeight: 220,
treatment: {
followUpWeekInfo: {},
@ -212,7 +212,7 @@ Page({ @@ -212,7 +212,7 @@ Page({
query.select(`#process${e.detail.current}`).boundingClientRect()
query.exec((res) => {
this.setData({
swiperHeight: res[0].height + 22,
swiperHeight: res[0].height + 42,
})
})
},
@ -308,9 +308,7 @@ Page({ @@ -308,9 +308,7 @@ Page({
this.setData({
popupShow: true,
popupType: 'publicCard',
popupParams: {
close: true,
},
popupParams: {},
})
this.handleClosePublicCard()
},

27
src/patient/pages/index/index.wxml

@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
<navbar fixed custom-style="background:{{background}}" back>
<image class="page-title" slot="left" src="{{imageUrl}}index-title1.png?t={{Timestamp}}"></image>
<image class="page-title" slot="left" src="{{imageUrl}}title17.png?t={{Timestamp}}"></image>
</navbar>
<view
class="page"
style="padding-top:{{pageTop}}px;background:url('{{imageUrl}}bg4.png?t={{Timestamp}}') no-repeat top center/100% 666rpx"
style="padding-top:{{pageTop}}px;background:url('{{imageUrl}}bg4.png?t={{Timestamp}}') no-repeat top center/100% 836rpx"
>
<view class="user">
<button class="avatar" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
@ -58,7 +58,7 @@ @@ -58,7 +58,7 @@
</view>
</view>
<swiper class="swiper" style="height: {{swiperHeight}}px;" current="{{progress}}" bindchange="handleSwiperChange">
<swiper-item>
<swiper-item bind:tap="handleCourse" data-current="0">
<view class="process" id="process0">
<view class="header">
<view class="title">我的专属诊疗流程</view>
@ -77,11 +77,11 @@ @@ -77,11 +77,11 @@
<view class="content">了解您筛查全部流程和注意事项</view>
</view>
</view>
<view class="btn" bind:tap="handleCourse" data-current="0">查看我的诊疗计划</view>
<view class="btn">查看我的诊疗计划</view>
</view>
</view>
</swiper-item>
<swiper-item>
<swiper-item bind:tap="handleCourse" data-current="1">
<view class="process" id="process1">
<view class="header">
<view class="title">我的专属诊疗流程</view>
@ -100,11 +100,11 @@ @@ -100,11 +100,11 @@
<view class="content">做好每一步检查,向美好生活继续!</view>
</view>
</view>
<view class="btn" bind:tap="handleCourse" data-current="1">查看我的诊疗计划</view>
<view class="btn">查看我的诊疗计划</view>
</view>
</view>
</swiper-item>
<swiper-item>
<swiper-item bind:tap="handleCourse" data-current="2">
<view class="process" id="process2">
<view class="header">
<view class="title">我的专属诊疗流程</view>
@ -123,11 +123,11 @@ @@ -123,11 +123,11 @@
<view class="content">重要的日子终于到来了~</view>
</view>
</view>
<view class="btn" bind:tap="handleCourse" data-current="2">查看我的诊疗计划</view>
<view class="btn">查看我的诊疗计划</view>
</view>
</view>
</swiper-item>
<swiper-item>
<swiper-item bind:tap="handleCourse" data-current="3">
<view class="process" id="process3">
<view class="header">
<view class="title">我的专属诊疗流程</view>
@ -174,14 +174,17 @@ @@ -174,14 +174,17 @@
</view>
<view class="line"></view>
<view class="item2">
<view class="title">
<view class="title" wx:if="{{treatment.examDiffDays=='0'}}">
<text class="num">今天</text>
</view>
<view class="title" wx:else>
<text class="num">{{treatment.examDiffDays || '--'}}</text>
天前
</view>
<view class="content">最近一次复诊</view>
</view>
</view>
<view class="btn" bind:tap="handleCourse" data-current="3">查看我的诊疗计划</view>
<view class="btn">查看我的诊疗计划</view>
</view>
<view class="container1" wx:else>
<view class="c-header">
@ -191,7 +194,7 @@ @@ -191,7 +194,7 @@
<view class="content">我们一直陪伴您,全程参与您的健康之旅</view>
</view>
</view>
<view class="btn" bind:tap="handleCourse" data-current="3">查看我的诊疗计划</view>
<view class="btn">查看我的诊疗计划</view>
</view>
</view>
</swiper-item>

1
src/patient/pages/inhibitorsManage/index.scss

@ -10,6 +10,7 @@ page { @@ -10,6 +10,7 @@ page {
border-radius: 24rpx 24rpx 24rpx 24rpx;
.row {
display: flex;
align-items: center;
border-bottom: 1px solid rgba(247, 247, 250, 1);
flex-wrap: wrap;
&:last-of-type {

21
src/patient/pages/inhibitorsManage/index.ts

@ -1,3 +1,5 @@ @@ -1,3 +1,5 @@
import dayjs from 'dayjs'
const app = getApp<IAppOption>()
Page({
@ -17,6 +19,8 @@ Page({ @@ -17,6 +19,8 @@ Page({
dosageUnitName: '',
dosageUnitIndex: 0,
endDate: dayjs().format('YYYY-MM-DD'),
drugUnitList: [] as any,
dict: {
drugTypeList: {},
@ -24,6 +28,7 @@ Page({ @@ -24,6 +28,7 @@ Page({
drugList: {},
},
},
time: null as any,
onLoad(options) {
console.log('DEBUGPRINT[71]: index.ts:29: options=', options)
this.setData({
@ -108,6 +113,13 @@ Page({ @@ -108,6 +113,13 @@ Page({
})
},
handlePopupCancel() {
const { popupType } = this.data
if (popupType === 'inhibitors') {
if (this.time) {
clearInterval(this.time)
}
wx.navigateBack()
}
this.setData({
popupShow: false,
})
@ -128,7 +140,14 @@ Page({ @@ -128,7 +140,14 @@ Page({
dosageUnit,
},
}).then(() => {
this.handleBack()
this.setData({
popupShow: true,
popupType: 'preReportComplete',
popupParams: {},
})
this.time = setTimeout(() => {
this.handleBack()
}, 2000)
})
},
handleDel() {

3
src/patient/pages/inhibitorsManage/index.wxml

@ -59,7 +59,7 @@ @@ -59,7 +59,7 @@
<view class="row">
<view class="label">用药时间</view>
<view class="container">
<picker mode="date" model:value="{{recordDate}}" class="date">
<picker mode="date" model:value="{{recordDate}}" end="{{endDate}}" class="date">
<view class="date-content">
<view class="content" data-place="请选择">{{recordDate}}</view>
<van-icon name="arrow-down" />
@ -78,6 +78,7 @@ @@ -78,6 +78,7 @@
show="{{popupShow}}"
type="{{popupType}}"
params="{{popupParams}}"
top="{{popupType==='preReportComplete' ? 40 : 50}}"
bind:ok="handlePopupOk"
bind:cancel="handlePopupCancel"
></popup>

32
src/patient/pages/lastDiagnosisReport/index.scss

@ -39,8 +39,8 @@ page { @@ -39,8 +39,8 @@ page {
justify-content: center;
background-color: rgba(247, 247, 250, 1);
border-radius: 12rpx;
gap: 10rpx;
.content {
flex: 1;
font-size: 32rpx;
color: rgba(1, 1, 5, 1);
text-align: center;
@ -94,6 +94,36 @@ page { @@ -94,6 +94,36 @@ page {
}
.form {
margin-top: 48rpx;
.form-header {
margin-bottom: 24rpx;
display: flex;
align-items: center;
gap: 12rpx;
.title {
font-size: 36rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.fold-all {
padding: 2rpx 16rpx 0;
display: flex;
align-items: center;
gap: 6rpx;
font-size: 28rpx;
line-height: 44rpx;
color: rgba(161, 164, 172, 1);
background-color: #fff;
border-radius: 12rpx;
.icon {
transition: all 0.3s;
}
&.trans {
.icon {
transform: rotate(180deg);
}
}
}
}
.form-card {
display: flex;
gap: 24rpx;

27
src/patient/pages/lastDiagnosisReport/index.ts

@ -3,11 +3,13 @@ const app = getApp<IAppOption>() @@ -3,11 +3,13 @@ const app = getApp<IAppOption>()
Page({
data: {
popupShow: false,
popupType: 'preDiagnosisReportDate', // 确认绑定曾经扫码医生
popupType: 'lastDiagnosisReportComplete',
popupParams: {},
edit: false,
foldAll: true,
fold1: true,
fold2: true,
fold3: true,
@ -66,6 +68,9 @@ Page({ @@ -66,6 +68,9 @@ Page({
this.getDetail()
})
},
handleUpdate() {
this.getDetail()
},
handleInput(e) {
const { key, length } = e.currentTarget.dataset
const value = e.detail.value
@ -148,6 +153,15 @@ Page({ @@ -148,6 +153,15 @@ Page({
},
})
},
handleToggleFoldAll() {
const foldAll = !this.data.foldAll
this.setData({
foldAll,
fold1: foldAll,
fold2: foldAll,
fold3: foldAll,
})
},
handleToggleFold(e: any) {
const { fold } = e.currentTarget.dataset
this.setData({
@ -176,7 +190,7 @@ Page({ @@ -176,7 +190,7 @@ Page({
if (isBack && !this.data.beginDate && !this.data.endDate) {
wx.showToast({
title: '请选择开始和结束日期',
icon:"none"
icon: 'none',
})
return
}
@ -198,7 +212,14 @@ Page({ @@ -198,7 +212,14 @@ Page({
examId: res,
})
if (isBack) {
wx.navigateBack()
this.setData({
popupShow: true,
popupType: 'lastDiagnosisReportComplete',
popupParams: {},
})
setTimeout(() => {
wx.navigateBack()
}, 2000)
}
})
},

36
src/patient/pages/lastDiagnosisReport/index.wxml

@ -5,14 +5,28 @@ @@ -5,14 +5,28 @@
<view class="label">检查时间</view>
</view>
<view class="range">
<picker class="picker" end="{{endDate}}" model:value="{{beginDate}}" mode="date" bind:change="updateSave" bind:tap="handleStartDate">
<picker
class="picker"
end="{{endDate}}"
model:value="{{beginDate}}"
mode="date"
bind:change="updateSave"
bind:tap="handleStartDate"
>
<view class="picker-content">
<view class="content" data-place="开始时间">{{beginDate}}</view>
<view class="tril"></view>
</view>
</picker>
<picker class="picker" start="{{beginDate}}" model:value="{{endDate}}" mode="date" bind:change="updateSave" bind:tap="handleEndDate">
<picker
class="picker"
start="{{beginDate}}"
model:value="{{endDate}}"
mode="date"
bind:change="updateSave"
bind:tap="handleEndDate"
>
<view class="picker-content">
<view class="content" data-place="结束时间">{{endDate}}</view>
<view class="tril"></view>
@ -22,14 +36,21 @@ @@ -22,14 +36,21 @@
</view>
<view class="select-hostipal">
<view class="label">检查医院</view>
<div class="picker" bind:tap="handleSelectHospital">
<view class="picker" bind:tap="handleSelectHospital">
<view class="picker-content">
<view class="content" data-place="请选择">{{hospitalName}}</view>
<van-icon name="arrow" />
</view>
</div>
</view>
</view>
<view class="form">
<view class="form-header">
<view class="title">您的检查项目</view>
<view class="fold-all {{foldAll && 'trans'}}" bind:tap="handleToggleFoldAll">
{{foldAll ? '展开' : '收起'}}
<van-icon class="icon" name="arrow-up" />
</view>
</view>
<view class="form-card">
<view class="aside {{isBiochemical==1 && 'active'}}">
<view class="line-top" style="border: none"></view>
@ -51,7 +72,7 @@ @@ -51,7 +72,7 @@
>
<image wx:if="{{isBiochemical==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isBiochemical==1?'已检查':'未检查'}}
已检查
</view>
</view>
</view>
@ -147,7 +168,7 @@ @@ -147,7 +168,7 @@
>
<image wx:if="{{isCFIxActivity==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isCFIxActivity==1?'已检查':'未检查'}}
已检查
</view>
</view>
</view>
@ -205,7 +226,7 @@ @@ -205,7 +226,7 @@
>
<image wx:if="{{isOther==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isOther==1?'已检查':'未检查'}}
已检查
</view>
</view>
<view class="content">您的其他项检查</view>
@ -246,6 +267,7 @@ @@ -246,6 +267,7 @@
<popup
show="{{popupShow}}"
type="{{popupType}}"
top="40"
params="{{popupParams}}"
bind:ok="handlePopupOk"
bind:cancel="handlePopupCancel"

4
src/patient/pages/login/index.ts

@ -156,7 +156,7 @@ Page({ @@ -156,7 +156,7 @@ Page({
scanType: ['wxCode'],
success: (res) => {
console.log('DEBUGPRINT[140]: index.ts:157: res=', res)
const path = res.path
const path = res.path.replace('pId=', 'pId%3D')
if (res.errMsg !== 'scanCode:ok' || !path || !path.includes('?scene=pId')) {
wx.showToast({
icon: 'none',
@ -165,7 +165,7 @@ Page({ @@ -165,7 +165,7 @@ Page({
return
}
wx.reLaunch({
url: `/${res.path}`,
url: `/${path}`,
})
},
})

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

@ -58,7 +58,7 @@ @@ -58,7 +58,7 @@
></checkbox>
<view class="r-content">
我特此同意
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc3/index">《个人信息及隐私协议政策》</text>
<text class="link" bind:tap="handleLink" data-url="/doc/pages/doc3/index">《个人信息及隐私保护政策》</text>
规定收集我的相关敏感个人信息
</view>
</view>

71
src/patient/pages/preDiagnosisReport/index.scss

@ -3,7 +3,7 @@ page { @@ -3,7 +3,7 @@ page {
}
.page {
padding: 32rpx 30rpx;
padding: 32rpx 30rpx 200rpx;
.date-form {
padding: 24rpx 32rpx;
background-color: #fff;
@ -67,10 +67,34 @@ page { @@ -67,10 +67,34 @@ page {
display: flex;
align-items: center;
justify-content: space-between;
.form-title {
font-size: 36rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
.wrap {
display: flex;
align-items: center;
gap: 12rpx;
.form-title {
font-size: 36rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.fold-all {
padding: 2rpx 16rpx 0;
display: flex;
align-items: center;
gap: 6rpx;
font-size: 28rpx;
line-height: 44rpx;
color: rgba(161, 164, 172, 1);
background-color: #fff;
border-radius: 12rpx;
.icon {
transition: all 0.3s;
}
&.trans {
.icon {
transform: rotate(180deg);
}
}
}
}
.order {
display: flex;
@ -503,4 +527,41 @@ page { @@ -503,4 +527,41 @@ page {
}
}
}
.footer {
position: fixed;
bottom: 0;
left: 0;
z-index: 10;
width: 100%;
box-sizing: border-box;
margin-top: 32rpx;
flex-shrink: 0;
display: flex;
align-items: center;
gap: 22rpx;
background-color: #fff;
padding: 30rpx 30rpx calc(42rpx + env(safe-area-inset-bottom));
box-shadow: 0rpx -4rpx 15rpx 0rpx rgba(0, 0, 0, 0.05);
.cancel {
flex: 1;
padding: 18rpx;
font-size: 32rpx;
color: rgba(246, 74, 58, 1);
line-height: 44rpx;
border-radius: 112rpx;
border: 2px solid #f64a3a;
text-align: center;
}
.submit {
flex: 1;
padding: 18rpx;
font-size: 32rpx;
color: rgba(255, 255, 255, 1);
line-height: 44rpx;
border-radius: 112rpx;
border: 2px solid #f64a3a;
background-color: #f64a3a;
text-align: center;
}
}
}

47
src/patient/pages/preDiagnosisReport/index.ts

@ -3,9 +3,11 @@ const app = getApp<IAppOption>() @@ -3,9 +3,11 @@ const app = getApp<IAppOption>()
Page({
data: {
popupShow: false,
popupType: 'preDiagnosisReportDate', // 确认绑定曾经扫码医生
popupType: 'preReportComplete',
popupParams: {},
foldAll: true,
fold1: true,
fold2: true,
fold3: true,
@ -105,6 +107,7 @@ Page({ @@ -105,6 +107,7 @@ Page({
number: {},
},
},
time: null as any,
onLoad(options) {
this.setData({
examId: options.examid || '',
@ -210,6 +213,22 @@ Page({ @@ -210,6 +213,22 @@ Page({
this.getCheckNum()
})
},
handleToggleFoldAll() {
const foldAll = !this.data.foldAll
this.setData({
foldAll,
fold1: foldAll,
fold2: foldAll,
fold3: foldAll,
fold4: foldAll,
fold5: foldAll,
fold6: foldAll,
fold7: foldAll,
fold8: foldAll,
fold9: foldAll,
fold10: foldAll,
})
},
handleToggleFold(e: any) {
const { fold } = e.currentTarget.dataset
this.setData({
@ -249,7 +268,12 @@ Page({ @@ -249,7 +268,12 @@ Page({
})
this.updateSave()
},
updateSave() {
updateSave(e = null) {
let isBack = false
if (e) {
const { back } = (e as any).currentTarget.dataset
isBack = back == 1
}
const { formKeys, period, examId, ...reset } = this.data
const form = formKeys.reduce((pre, cur) => {
pre[cur] = reset[cur]
@ -269,6 +293,16 @@ Page({ @@ -269,6 +293,16 @@ Page({
}).then(() => {
wx.removeStorageSync(storageKey)
this.handlePrevUpdate()
if (isBack) {
this.setData({
popupShow: true,
popupType: 'preReportComplete',
popupParams: {},
})
this.time = setTimeout(() => {
wx.navigateBack()
}, 2000)
}
})
},
handlePrevUpdate() {
@ -343,6 +377,15 @@ Page({ @@ -343,6 +377,15 @@ Page({
handleUploadTap() {
app.mpBehavior({ PageName: 'BTN_UPLOADFILE_CLICK' })
},
handlePopupCancel() {
if (this.time) {
clearTimeout(this.time)
}
this.handleBack()
},
handleBack() {
wx.navigateBack()
},
})
export {}

53
src/patient/pages/preDiagnosisReport/index.wxml

@ -5,14 +5,28 @@ @@ -5,14 +5,28 @@
<view class="label">检查时间</view>
</view>
<view class="range">
<picker class="picker" end="{{endDate}}" model:value="{{beginDate}}" mode="date" bind:change="updateSave" bind:tap="handleStartDate">
<picker
class="picker"
end="{{endDate}}"
model:value="{{beginDate}}"
mode="date"
bind:change="updateSave"
bind:tap="handleStartDate"
>
<view class="picker-content">
<view class="content" data-place="开始时间">{{beginDate}}</view>
<view class="tril"></view>
</view>
</picker>
<picker class="picker" start="{{beginDate}}" model:value="{{endDate}}" mode="date" bind:change="updateSave" bind:tap="handleEndDate">
<picker
class="picker"
start="{{beginDate}}"
model:value="{{endDate}}"
mode="date"
bind:change="updateSave"
bind:tap="handleEndDate"
>
<view class="picker-content">
<view class="content" data-place="结束时间">{{endDate}}</view>
<view class="tril"></view>
@ -22,8 +36,14 @@ @@ -22,8 +36,14 @@
</view>
<view class="form">
<view class="form-header">
<view class="form-title" wx:if="{{period==='2'}}">您的检查项目</view>
<view class="form-title" wx:else>您的诊前检查项目</view>
<view class="wrap">
<view class="form-title" wx:if="{{period==='2'}}">您的检查项目</view>
<view class="form-title" wx:else>您的诊前检查项目</view>
<view class="fold-all {{foldAll && 'trans'}}" bind:tap="handleToggleFoldAll">
{{foldAll ? '展开' : '收起'}}
<van-icon class="icon" name="arrow-up" />
</view>
</view>
<view class="order">
<view class="green">{{checkNum}}</view>
/
@ -51,7 +71,7 @@ @@ -51,7 +71,7 @@
>
<image wx:if="{{isBloodRoutine==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isBloodRoutine==1?'已检查':'未检查'}}
已检查
</view>
</view>
<view class="content">重点检查项目:白细胞计数)WBC)血红蛋白(HGB)血小板计数(PLT)</view>
@ -95,7 +115,7 @@ @@ -95,7 +115,7 @@
>
<image wx:if="{{isBiochemical==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isBiochemical==1?'已检查':'未检查'}}
已检查
</view>
</view>
</view>
@ -191,7 +211,7 @@ @@ -191,7 +211,7 @@
>
<image wx:if="{{isCFIxActivity==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isCFIxActivity==1?'已检查':'未检查'}}
已检查
</view>
</view>
</view>
@ -249,7 +269,7 @@ @@ -249,7 +269,7 @@
>
<image wx:if="{{isCFIxInhibitor==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isCFIxInhibitor==1?'已检查':'未检查'}}
已检查
</view>
</view>
</view>
@ -304,7 +324,7 @@ @@ -304,7 +324,7 @@
>
<image wx:if="{{isHepatitisB==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isHepatitisB==1?'已检查':'未检查'}}
已检查
</view>
</view>
</view>
@ -373,7 +393,7 @@ @@ -373,7 +393,7 @@
>
<image wx:if="{{isHepatitisC==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isHepatitisC==1?'已检查':'未检查'}}
已检查
</view>
</view>
</view>
@ -442,7 +462,7 @@ @@ -442,7 +462,7 @@
>
<image wx:if="{{isHivAntibody==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isHivAntibody==1?'已检查':'未检查'}}
已检查
</view>
</view>
<view class="content">类免疫缺陷病毒抗体(HIV - Ab)</view>
@ -499,7 +519,7 @@ @@ -499,7 +519,7 @@
>
<image wx:if="{{isAfp==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isAfp==1?'已检查':'未检查'}}
已检查
</view>
</view>
</view>
@ -557,7 +577,7 @@ @@ -557,7 +577,7 @@
>
<image wx:if="{{isAav==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isAav==1?'已检查':'未检查'}}
已检查
</view>
</view>
<view class="content">提交您的AAV抗体检查报告</view>
@ -614,7 +634,7 @@ @@ -614,7 +634,7 @@
>
<image wx:if="{{isOther==1}}" class="icon" src="{{imageUrl}}icon64.png?t={{Timestamp}}"></image>
<image wx:else class="icon" src="{{imageUrl}}icon65.png?t={{Timestamp}}"></image>
{{isOther==1?'已检查':'未检查'}}
已检查
</view>
</view>
<view class="content">您的其他项检查</view>
@ -644,12 +664,17 @@ @@ -644,12 +664,17 @@
</view>
</view>
</view>
<view class="footer">
<view class="cancel" bind:tap="handleBack">取消</view>
<view class="submit" bind:tap="updateSave" data-back="1">提交</view>
</view>
</view>
<popup
show="{{popupShow}}"
type="{{popupType}}"
params="{{popupParams}}"
top="40"
bind:ok="handlePopupOk"
bind:cancel="handlePopupCancel"
></popup>

4
src/patient/pages/selectDoctorList/index.ts

@ -65,9 +65,7 @@ Page({ @@ -65,9 +65,7 @@ Page({
this.setData({
popupShow: true,
popupType: 'selectHostipalComplete',
popupParams: {
close: true,
},
popupParams: {},
})
})
}

25
src/patient/pages/selectHostipal/index.ts

@ -24,6 +24,7 @@ Page({ @@ -24,6 +24,7 @@ Page({
cityId: '',
cityName: '',
},
time: null as any,
onLoad(options) {
this.setData({
selectId: options.id || '',
@ -136,16 +137,27 @@ Page({ @@ -136,16 +137,27 @@ Page({
this.setData({
popupShow: true,
popupType: 'selectHostipalComplete',
popupParams: {
close: true,
},
popupParams: {},
})
this.time = setTimeout(() => {
this.setData({
popupShow: false,
popupType: '',
popupParams: {},
})
this.handlePrevUpdate()
wx.navigateBack()
}, 2000)
})
}
},
handlePopupCancel() {
const { popupType } = this.data
if (popupType === 'selectHostipalComplete') {
if (this.time) {
clearInterval(this.time)
}
this.handlePrevUpdate()
wx.navigateBack()
}
this.setData({
@ -157,6 +169,13 @@ Page({ @@ -157,6 +169,13 @@ Page({
url: '/patient/pages/selectDoctorList/index',
})
},
handlePrevUpdate() {
const pages = getCurrentPages()
const currentPage = pages[pages.length - 1]
if (currentPage && currentPage.handleUpdate) {
currentPage.handleUpdate()
}
},
handleBack() {
wx.navigateBack()
},

10
src/patient/pages/selectHostipal/index.wxml

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
<navbar fixed z-index="2" title="选择我的定点检查医院" custom-style="background:{{background}}" back>
<navbar fixed z-index="2" title="选择医院" custom-style="background:{{background}}" back>
<van-icon name="arrow-left" slot="left" size="18px" color="#000" bind:tap="handleBack" />
</navbar>
<view class="page" style="padding-top:{{pageTop + 30}}px">
@ -19,7 +19,13 @@ @@ -19,7 +19,13 @@
bind:tap="handleSearchTap"
/>
</view>
<pickerArea mode="region" value="{{CityId}}" level="city" level="{{2}}" bind:change="handleAreaChange">
<pickerArea
pname="{{provinceName}}"
pid="{{provinceId}}"
cid="{{cityId}}"
cname="{{cityName}}"
bind:change="handleAreaChange"
>
<view class="picker">
<view class="picker-item" bind:tap="handleProvince">{{provinceName || '省份'}}</view>
<view class="picker-item" bind:tap="handleCity">{{cityName || '城市'}}</view>

24
src/patient/pages/userInfo/index.wxml

@ -16,8 +16,16 @@ @@ -16,8 +16,16 @@
<view class="row">
<view class="label">{{userInfo.RelationType == 1 ? '' : '亲友'}}出生年月</view>
<view class="container">
<picker class="picker" mode="date" end="{{end}}" model:value="{{birthMonth}}" fields="month" bind:change="handleUpdate">
<picker
class="picker"
mode="date"
end="{{end}}"
model:value="{{birthMonth}}"
fields="month"
bind:change="handleUpdate"
>
<view class="picker-content">
<!-- prettier-ignore -->
<view class="content" data-place="请选择">{{birthMonth}}</view>
</view>
</picker>
@ -26,11 +34,17 @@ @@ -26,11 +34,17 @@
<view class="row">
<view class="label">{{userInfo.RelationType == 1 ? '' : '亲友'}}所在地</view>
<view class="container">
<pickerArea class="picker-area" value="{{cityId}}" level="{{2}}" bind:change="handleAreaChange">
<pickerArea
class="picker-area"
pname="{{provinceName}}"
pid="{{provinceId}}"
cid="{{cityId}}"
cname="{{cityName}}"
bind:change="handleAreaChange"
>
<view class="picker-content">
<view class="content" data-place="请选择">
{{provinceName ? provinceName+ '/' : provinceName }}{{cityName}}
</view>
<!-- prettier-ignore -->
<view class="content" data-place="请选择">{{provinceName ? provinceName+ '/' : provinceName }}{{cityName}}</view>
</view>
</pickerArea>
</view>

4
src/utils/page.ts

@ -60,14 +60,16 @@ function page(config: WechatMiniprogram.Page.Instance<WechatMiniprogram.IAnyObje @@ -60,14 +60,16 @@ function page(config: WechatMiniprogram.Page.Instance<WechatMiniprogram.IAnyObje
const isNoShare = noSharePath.some((path) => url.includes(path))
let imageUrl = ''
if (isNoShare) {
url = 'pages/start/index'
imageUrl = `${getApp().globalData.imageUrl}share.png?t=${Timestamp}`
}
return {
title: '血友病B 基因疗法数字化平台',
path: url,
// imageUrl: `${getApp().globalData.imageUrl}1/1.png?t=${Timestamp}`,
imageUrl,
}
}
}

Loading…
Cancel
Save