diff --git a/project.private.config.json b/project.private.config.json
index 7f8cce9..c9fa47a 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -23,11 +23,18 @@
"miniprogram": {
"list": [
{
+ "name": "医生端-医患互动",
+ "pathName": "doctor/pages/askDoctor/index",
+ "query": "id=25",
+ "scene": null,
+ "launchMode": "default"
+ },
+ {
"name": "医生端-诊疗流程",
"pathName": "doctor/pages/course/index",
"query": "id=25¤t=0",
- "scene": null,
- "launchMode": "default"
+ "launchMode": "default",
+ "scene": null
},
{
"name": "医生-海报",
diff --git a/src/app.json b/src/app.json
index d6022ec..5ecce9c 100644
--- a/src/app.json
+++ b/src/app.json
@@ -77,7 +77,13 @@
"pages/followPlan/index",
"pages/revisitRecord/index",
"pages/lastDiagnosisReport/index",
- "pages/blood/index"
+ "pages/blood/index",
+ "pages/bloodDetail/index",
+ "pages/coltStat/index",
+ "pages/knowledge/index",
+ "pages/knowledgeDetail/index",
+ "pages/knowledgeDetailVideo/index",
+ "pages/askDoctor/index"
]
},
{
diff --git a/src/components/popup/index.scss b/src/components/popup/index.scss
index ba5a4fe..1a8096d 100644
--- a/src/components/popup/index.scss
+++ b/src/components/popup/index.scss
@@ -1005,10 +1005,10 @@
}
.hostipal {
margin-top: 16rpx;
- line-height: 28rpx;
+ line-height: 36rpx;
.content {
margin-right: 8rpx;
- display: inline-block;
+ display: inline;
font-size: 28rpx;
color: rgba(161, 164, 172, 1);
}
diff --git a/src/components/popup/index.ts b/src/components/popup/index.ts
index bb8e5cd..6a01334 100644
--- a/src/components/popup/index.ts
+++ b/src/components/popup/index.ts
@@ -47,6 +47,8 @@ Component({
inhibitorsName: '',
inhibitorsContent: '',
+ selectDoctorId: '',
+
imageUrl: app.globalData.imageUrl,
Timestamp: app.globalData.Timestamp,
},
@@ -91,6 +93,18 @@ Component({
this.triggerEvent('ok', { id: inhibitorsId, name: inhibitorsName, content: inhibitorsContent })
return
}
+
+ if (type === 'selectDoctor') {
+ if (!this.data.selectDoctorId) {
+ wx.showToast({
+ title: '请选择医生',
+ icon: 'none',
+ })
+ return
+ }
+ this.triggerEvent('ok', { id: this.data.selectDoctorId })
+ return
+ }
this.triggerEvent('ok')
},
handleCancel() {
@@ -117,9 +131,14 @@ Component({
TCenterId: id,
})
},
+ handleSelectDoctor(e) {
+ const { id } = e.currentTarget.dataset
+ this.setData({
+ selectDoctorId: id,
+ })
+ },
handleSelectInhibitors(e) {
const { id, name } = e.currentTarget.dataset
- console.log(11111)
this.setData({
inhibitorsId: id,
inhibitorsName: name,
diff --git a/src/components/popup/index.wxml b/src/components/popup/index.wxml
index 67e1d21..0c04408 100644
--- a/src/components/popup/index.wxml
+++ b/src/components/popup/index.wxml
@@ -300,19 +300,16 @@
-
+
-
+
-
+
- 王青
+ {{item.doctorName}}
- 北京积水潭医院龙泽院区
- 三甲
+ {{item.hospitalName}}
+ {{item.hospitalClassificationName}}{{item.hospitalLevelName}}
diff --git a/src/doctor/components/doctor-tab-bar/index.ts b/src/doctor/components/doctor-tab-bar/index.ts
index 252fa06..c27faa7 100644
--- a/src/doctor/components/doctor-tab-bar/index.ts
+++ b/src/doctor/components/doctor-tab-bar/index.ts
@@ -15,10 +15,10 @@ Component({
iconActive: 'tabbar3-1-active',
},
{
- pagePath: '/doctor/pages/index/index',
- text: '知识库',
- icon: 'tabbar3-1',
- iconActive: 'tabbar3-1-active',
+ pagePath: '/doctor/pages/knowledge/index',
+ text: '小助手',
+ icon: 'tabbar3-3',
+ iconActive: 'tabbar3-3-active',
},
{
pagePath: '/doctor/pages/my/index',
diff --git a/src/doctor/pages/askDoctor/index.json b/src/doctor/pages/askDoctor/index.json
new file mode 100644
index 0000000..2beb893
--- /dev/null
+++ b/src/doctor/pages/askDoctor/index.json
@@ -0,0 +1,10 @@
+{
+ "navigationStyle": "custom",
+ "usingComponents": {
+ "van-overlay": "@vant/weapp/overlay/index",
+ "van-loading": "@vant/weapp/loading/index",
+ "navbar": "/components/navbar/index",
+ "popup": "/components/popup/index",
+ "van-popup": "@vant/weapp/popup/index"
+ }
+}
diff --git a/src/doctor/pages/askDoctor/index.scss b/src/doctor/pages/askDoctor/index.scss
new file mode 100644
index 0000000..d2cde3c
--- /dev/null
+++ b/src/doctor/pages/askDoctor/index.scss
@@ -0,0 +1,398 @@
+page {
+ background-color: rgba(242, 244, 245, 1);
+}
+.page {
+ height: 100vh;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ box-sizing: border-box;
+ .page-container {
+ flex: 1;
+ overflow: hidden;
+ .user {
+ margin: 0 30rpx;
+ padding: 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ gap: 20rpx;
+ background-color: #fff;
+ border-radius: 24rpx;
+ box-shadow: 0rpx 4rpx 18rpx 0rpx rgba(0, 0, 0, 0.06);
+ .avatar {
+ flex-shrink: 0;
+ width: 108rpx;
+ height: 108rpx;
+ border-radius: 50%;
+ border: 2px solid #fff;
+ }
+ .wrap {
+ flex: 1;
+ .w-header {
+ .name {
+ margin-right: 16rpx;
+ display: inline;
+ font-size: 36rpx;
+ color: rgba(28, 107, 255, 1);
+ }
+ .age {
+ margin-right: 16rpx;
+ padding: 0 14rpx;
+ border-radius: 20rpx;
+ display: inline-flex;
+ align-items: center;
+ gap: 6rpx;
+ font-size: 24rpx;
+ color: rgba(255, 255, 255, 1);
+ line-height: 32rpx;
+ border: 1px solid #fff;
+ background-color: rgba(28, 107, 255, 1);
+ .icon {
+ width: 28rpx;
+ height: 28rpx;
+ }
+ }
+ .site {
+ padding: 0 14rpx;
+ border-radius: 20rpx;
+ background-color: rgba(32, 196, 255, 1);
+ display: inline-flex;
+ align-items: center;
+ gap: 6rpx;
+ font-size: 24rpx;
+ color: rgba(255, 255, 255, 1);
+ line-height: 32rpx;
+ .icon {
+ width: 28rpx;
+ height: 28rpx;
+ }
+ }
+ }
+ .w-footer {
+ margin-top: 22rpx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ .content {
+ font-size: 28rpx;
+ color: rgba(0, 0, 0, 0.3);
+ }
+ .doc {
+ font-size: 28rpx;
+ color: rgba(28, 107, 255, 1);
+ }
+ }
+ }
+ }
+ .scroll-view {
+ height: 100%;
+ .date {
+ padding-top: 20rpx;
+ font-size: 28rpx;
+ color: rgba(173, 179, 180, 1);
+ text-align: center;
+ }
+ .f-header-list {
+ margin: 24rpx 32rpx 24rpx;
+ padding: 32rpx;
+ border-radius: 32rpx;
+ box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(0, 0, 0, 0.06);
+ background: linear-gradient(9deg, #f3fdfb 0%, #eaf2ff 100%);
+ border: 2rpx solid #ffffff;
+ .content {
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ line-height: 48rpx;
+ }
+ .l-item {
+ margin-top: 24rpx;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ line-height: 48rxp;
+ padding: 20rpx 32rpx;
+ background-color: #fff;
+ border-radius: 84rpx;
+ }
+ }
+ .doctor {
+ padding: 15rpx 30rpx;
+ display: flex;
+ justify-content: flex-end;
+ .avatar {
+ position: relative;
+ padding-left: 16rpx;
+ flex-shrink: 0;
+ .a-img {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 50%;
+ }
+ .label {
+ position: absolute;
+ top: 68rpx;
+ right: 0;
+ padding: 0 8rpx;
+ width: 84rpx;
+ height: 28rpx;
+ box-sizing: border-box;
+ line-height: 28rpx;
+ font-size: 20rpx;
+ color: rgba(255, 255, 255, 1);
+ text-align: center;
+ background: linear-gradient(356deg, #f23a2f 0%, #fc684f 100%);
+ border-radius: 35rpx 35rpx 35rpx 35rpx;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+ }
+ .d-container {
+ flex: 1;
+ margin-left: 74rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-end;
+ .message {
+ padding: 26rpx 32rpx;
+ background-color: #fff;
+ border-radius: 32rpx;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ line-height: 48rpx;
+ white-space: pre-line;
+ }
+ .week {
+ padding: 26rpx 32rpx;
+ background: linear-gradient(91deg, #1c6bff 0%, #73a4ff 100%);
+ border-radius: 32rpx;
+ .w-title {
+ font-size: 32rpx;
+ color: rgba(255, 255, 255, 1);
+ }
+ .w-container {
+ margin-top: 24rpx;
+ .w-content {
+ padding: 32rpx;
+ font-size: 32rpx;
+ color: rgba(40, 48, 49, 1);
+ line-height: 48rpx;
+ border-radius: 24rpx;
+ background-color: rgba(247, 247, 250, 1);
+ white-space: pre-line;
+ }
+ .w-wrap {
+ padding: 16rpx 32rpx;
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ background-color: rgba(247, 247, 250, 1);
+ border-radius: 24rpx;
+ .row {
+ padding: 16rpx 0;
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ .content {
+ margin-left: 16rpx;
+ }
+ &:nth-of-type(2n-1)::after {
+ margin: 0 16rpx;
+ content: '';
+ width: 1rpx;
+ height: 40rpx;
+ background-color: rgba(161, 164, 172, 0.35);
+ }
+ }
+ }
+ }
+ }
+ .card1 {
+ width: 502rpx;
+ height: 340rpx;
+ box-sizing: border-box;
+ padding: 114rpx 56rpx 0;
+ .content {
+ text-align: center;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ line-height: 48rpx;
+ }
+ .btn {
+ margin-top: 18rpx;
+ height: 64rpx;
+ border-radius: 84rpx;
+ font-size: 28rpx;
+ color: rgba(255, 255, 255, 1);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: linear-gradient( 356deg, #1D6BFF 0%, #4F8DFF 100%);
+ }
+ }
+ }
+ }
+ .patient {
+ padding: 15rpx 30rpx;
+ display: flex;
+ .avatar {
+ padding-right: 16rpx;
+ flex-shrink: 0;
+ .a-img {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 50%;
+ }
+ }
+ .p-container {
+ flex: 1;
+ margin-right: 74rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ .guide {
+ padding: 32rpx 30rpx;
+ border-radius: 32rpx 0 32rpx 32rpx;
+ background: linear-gradient(13deg, #ffffff 8%, #e8f0f1 100%);
+ border: 2rpx solid #ffffff;
+ .title {
+ font-size: 32rpx;
+ color: rgba(40, 48, 49, 1);
+ font-weight: bold;
+ }
+ .sub-title {
+ font-size: 28rpx;
+ color: rgba(154, 161, 162, 1);
+ margin-bottom: 30rpx;
+ }
+ .list {
+ .l-item {
+ display: flex;
+ align-items: center;
+ gap: 16rpx;
+ margin-bottom: 30rpx;
+ .order {
+ flex-shrink: 0;
+ width: 28rpx;
+ height: 28rpx;
+ font-size: 24rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: rgba(255, 255, 255, 1);
+ border-radius: 6rpx;
+ background: #67baca;
+ }
+ .content {
+ font-size: 32rpx;
+ color: rgba(40, 48, 49, 1);
+ }
+ }
+ }
+ .tip {
+ font-size: 28rpx;
+ color: rgba(103, 113, 114, 1);
+ display: flex;
+ align-items: center;
+ .icon {
+ width: 44rpx;
+ height: 44rpx;
+ }
+ }
+ }
+ .message {
+ padding: 26rpx 32rpx;
+ background-color: #fff;
+ border-radius: 40rpx;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ white-space: pre-line;
+ }
+ }
+ }
+ .place {
+ height: 15vh;
+ }
+ }
+ }
+ .page-footer {
+ padding: 32rpx 30rpx calc(32rpx + env(safe-area-inset-bottom));
+ box-sizing: border-box;
+ display: flex;
+ gap: 28rpx;
+ border-radius: 32rpx 32rpx 0 0;
+ box-shadow: 0rpx 8rpx 16rpx 0rpx rgba(40, 48, 49, 0.04);
+ border: 2rpx solid #ffffff;
+ background-color: #fff;
+ .send {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 32rpx;
+ color: rgba(40, 48, 49, 1);
+ height: 76rpx;
+ background: #ffffff;
+ box-shadow: 0rpx 8rpx 16rpx 0rpx rgba(40, 48, 49, 0.04);
+ border-radius: 140rpx 140rpx 140rpx 140rpx;
+ border: 2rpx solid #f2f4f5;
+ .icon {
+ width: 36rpx;
+ height: 36rpx;
+ }
+ }
+ .send-date {
+ flex-shrink: 0;
+ font-size: 24rpx;
+ color: #283031;
+ text-align: center;
+ .icon {
+ width: 40rpx;
+ height: 40rpx;
+ }
+ }
+ }
+}
+
+.popup-message {
+ padding: 30rpx;
+ background-color: rgba(242, 244, 245, 1);
+ .title {
+ padding: 0 32rpx 32rpx;
+ font-size: 36rpx;
+ color: rgba(40, 48, 49, 1);
+ font-weight: bold;
+ text-align: center;
+ }
+ .list {
+ max-height: 50vh;
+ overflow-y: auto;
+ overflow-x: hidden;
+ .l-item {
+ margin-bottom: 24rpx;
+ padding: 30rpx;
+ font-size: 32rpx;
+ color: rgba(40, 48, 49, 1);
+ border-radius: 24rpx;
+ background-color: #fff;
+ &.active {
+ color: #fff;
+ background: linear-gradient(356deg, #1d6bff 0%, #4f8dff 100%);
+ }
+ }
+ }
+ .submit {
+ margin-top: 24rpx;
+ width: 690rpx;
+ height: 84rpx;
+ font-size: 36rpx;
+ color: rgba(255, 255, 255, 1);
+ font-weight: bold;
+ background: linear-gradient(356deg, #1d6bff 0%, #4f8dff 100%);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 64rpx 64rpx 64rpx 64rpx;
+ }
+}
diff --git a/src/doctor/pages/askDoctor/index.ts b/src/doctor/pages/askDoctor/index.ts
new file mode 100644
index 0000000..960cdf4
--- /dev/null
+++ b/src/doctor/pages/askDoctor/index.ts
@@ -0,0 +1,388 @@
+import dayjs from 'dayjs'
+const licia = require('miniprogram-licia')
+
+const app = getApp()
+
+interface IMessageItem {
+ msgId: string
+ msgContentType: '1' | '2' | '3' | '4' | '5' // 1:欢迎语 2: 文本 3: 出诊时间 4: 随访计划 5: 复诊提醒
+ msgContent: any
+ msgVisitTime: string
+ msgVisitTimeType?: string
+ msgFromType: '1' | '2' // 1: 患者 2: 医生
+ msgCreateTime: string // 消息创建时间
+ msgCreateTimeName?: string // 消息创建时间
+ showTime?: boolean
+ questionId?: string // 问题ID
+ doctorId?: string
+ doctorName?: string
+ doctorAvatar?: string
+ msgOtherInfo?: any // 其他信息
+}
+
+Page({
+ data: {
+ popupShow: false,
+ popupType: 'selectDoctor',
+ popupParams: {},
+
+ patientId: '',
+
+ expend: false,
+ scrollTop: 0,
+ scrollIntoView: '',
+ doctorDetail: {} as any,
+ doctorList: {},
+
+ questionActive: 0,
+ questionList: [] as any,
+ questionActiveList: [] as any[],
+ headerQuestionList: [] as any,
+
+ isLoad: false,
+ isFinish: false,
+ messageList: [
+ // { msgFromType: '2', msgContentType: '1', msgContent: '你的注射日还未填写,随访计划还未生成哦!' },
+ // { msgFromType: '2', msgContentType: '2', msgContent: '' },
+ // { msgFromType: '2', msgContentType: '3', msgContent: '' },
+ // { msgFromType: '2', msgContentType: '4', msgContent: '' },
+ // { msgFromType: '2', msgContentType: '5', msgContent: '' },
+ ] as IMessageItem[],
+ nextMsgId: '',
+ unReadCount: 0,
+ firstNotReadMsgId: 0,
+ isVisitAdl: 2,
+ adlMsgId: 0,
+
+ messageListShow: false,
+ wordIndex: 0,
+ wordList: [],
+
+ userInfo: {} as any,
+
+ week: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
+ timeDay: { 1: '上午', 2: '下午' },
+ },
+ onLoad(options) {
+ this.setData({
+ patientId: options.id || '',
+ })
+ app.waitLogin({ type: 2 }).then(() => {
+ app.getUserInfo(2).then((userInfo) => {
+ this.setData({
+ userInfo,
+ })
+ })
+ this.getDetail()
+ // this.getQuestionCommonList(this.data.questionActive)
+ this.getMessageList()
+ this.getWordList()
+ })
+ },
+ onShow() {},
+ getDetail() {
+ wx.ajax({
+ method: 'GET',
+ url: '?r=wtx/doctor/patient/get-detail',
+ data: {
+ patientId: this.data.patientId,
+ },
+ }).then((res) => {
+ this.setData({
+ patientInfo: {
+ ...res.patientInfo,
+ createTimeName: dayjs(res.patientInfo.createTime).format('YYYY年MM月DD日'),
+ },
+ })
+ })
+ },
+ getMessageList() {
+ if (this.data.isLoad || this.data.isFinish) return
+ this.setData({
+ isLoad: true,
+ })
+ const nextMsgId = this.data.nextMsgId
+ wx.ajax({
+ method: 'GET',
+ url: '?r=wtx/doctor/message-interact/get-message-list',
+ data: {
+ nextMsgId,
+ patientId: this.data.patientId,
+ },
+ }).then((res) => {
+ res.messageList.map((item) => {
+ if (item.msgContentType === '1') {
+ item.msgOtherInfo = JSON.parse(item.msgOtherInfo)
+ } else if (item.msgContentType === '3') {
+ item.msgOtherInfo = JSON.parse(item.msgOtherInfo)
+ } else if (item.msgContentType === '4') {
+ item.msgContent = JSON.parse(item.msgContent)
+ } else if (item.msgContentType === '5') {
+ item.msgContent = JSON.parse(item.msgContent)
+ }
+ return item
+ })
+ if (!this.data.nextMsgId && !res.messageList.length) {
+ res.messageList = [
+ {
+ msgId: '0',
+ msgContentType: '0',
+ msgContent: '',
+ msgVisitTime: '',
+ msgFromType: '2',
+ },
+ ]
+ }
+ this.setData({
+ messageList: [...res.messageList.reverse(), ...this.data.messageList],
+ nextMsgId: res.nextMsgId,
+ unReadCount: res.unReadCount,
+ firstNotReadMsgId: res.firstNotReadMsgId,
+ isVisitAdl: res.isVisitAdl,
+ adlMsgId: res.adlMsgId,
+ isLoad: false,
+ isFinish: nextMsgId === res.nextMsgId,
+ })
+ this.filterCreateTime()
+ if (!nextMsgId) {
+ this.handleView()
+ }
+ })
+ },
+ getWordList() {
+ wx.ajax({
+ method: 'GET',
+ url: '?r=wtx/doctor/message-interact/get-common-word-list',
+ data: {
+ patientId: this.data.patientId,
+ },
+ }).then((res) => {
+ this.setData({
+ wordList: res,
+ })
+ })
+ },
+ scrolltoupper(e) {
+ if (e.detail.direction === 'top') {
+ this.getMessageList()
+ }
+ },
+ handleView(index = -1) {
+ this.setData({
+ scrollIntoView: index > -1 ? `view${index}` : `place`,
+ })
+ },
+ getQuestionCommonList(questionActive: number) {
+ wx.ajax({
+ method: 'GET',
+ url: '?r=wtx/doctor/message-interact/get-question-list',
+ data: {},
+ }).then((res) => {
+ this.setData({
+ questionList: res,
+ questionActiveList: res[questionActive].questionList,
+ })
+ })
+ },
+ formatTime(date: string) {
+ let msgCreateTimeName = ''
+ if (dayjs().format('YYYY-MM-DD') === dayjs(date).format('YYYY-MM-DD')) {
+ msgCreateTimeName = dayjs(date).format('HH:mm')
+ } else if (dayjs().format('YYYY-MM-DD') === dayjs(date).add(1, 'day').format('YYYY-MM-DD')) {
+ msgCreateTimeName = `昨天 ${dayjs(date).format('HH:mm')}`
+ } else if (dayjs().diff(date, 'day') < 7) {
+ msgCreateTimeName = dayjs(date).format(`dddd HH:mm`)
+ } else {
+ msgCreateTimeName = dayjs(date).format('YYYY-MM-DD HH:mm')
+ }
+ return msgCreateTimeName
+ },
+ filterCreateTime() {
+ const gapTime = 5 * 60 * 1000
+ const { messageList } = this.data
+
+ let preTime = 0
+ messageList.forEach((item, index) => {
+ if (index === 0) {
+ item.showTime = true
+ preTime = dayjs(item.msgCreateTime).valueOf()
+ item.msgCreateTimeName = this.formatTime(item.msgCreateTime)
+ } else {
+ const curTime = dayjs(item.msgCreateTime).valueOf()
+ if (curTime - preTime > gapTime) {
+ item.showTime = true
+ item.msgCreateTimeName = this.formatTime(item.msgCreateTime)
+ preTime = dayjs(item.msgCreateTime).valueOf()
+ }
+ }
+ })
+ this.setData({
+ messageList,
+ })
+ },
+ handleSendShow() {
+ this.setData({
+ messageListShow: true,
+ })
+ },
+ handlePopupMessageClose() {
+ this.setData({
+ messageListShow: false,
+ })
+ },
+ handleWord(e) {
+ const { index } = e.currentTarget.dataset
+ this.setData({
+ wordIndex: index,
+ })
+ },
+ handleSendWord() {
+ const { messageList, wordList, wordIndex, userInfo } = this.data
+ const { wordId, word } = wordList[wordIndex]
+ console.log(wordList[wordIndex])
+ this.setData({
+ messageList: [
+ ...messageList,
+ {
+ msgId: '',
+ msgContentType: '2',
+ msgContent: word,
+ msgVisitTime: '',
+ msgFromType: '2',
+ msgCreateTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
+ doctorAvatar: userInfo.doctorAvatar,
+ doctorName: userInfo.doctorName,
+ },
+ ],
+ })
+ this.filterCreateTime()
+ this.handlePopupMessageClose()
+ this.handleView()
+ wx.ajax({
+ method: 'POST',
+ url: '?r=wtx/doctor/message-interact/send-word-message',
+ data: {
+ patientId: this.data.patientId,
+ wordId,
+ },
+ })
+ },
+ handleSendDate() {
+ const {
+ messageList,
+ userInfo: { doctorName, doctorAvatar, clinic, clinicType },
+ } = this.data
+ if (!clinic || (Array.isArray(clinic) && !clinic.length)) {
+ wx.showToast({
+ title: '还未录入您的出诊时间~',
+ icon: 'none',
+ })
+ return
+ }
+ wx.showModal({
+ title: '提示',
+ content: '将您的出诊时间发送给患者?',
+ confirmColor: 'rgba(29, 107, 255, 1)',
+ success: (res) => {
+ if (res.confirm) {
+ this.setData({
+ messageList: [
+ ...messageList,
+ {
+ msgId: '',
+ msgContentType: '3',
+ msgContent: '以下是我的出诊时间',
+ msgVisitTime: clinic,
+ msgVisitTimeType: clinicType,
+ msgFromType: '2',
+ msgCreateTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
+ msgOtherInfo: {
+ Clinic: clinic,
+ ClinicType: clinicType,
+ },
+ doctorAvatar: doctorAvatar,
+ doctorName: doctorName,
+ },
+ ],
+ })
+ this.filterCreateTime()
+ wx.ajax({
+ method: 'POST',
+ url: '?r=wtx/doctor/message-interact/send-visit-time',
+ data: {
+ patientId: this.data.patientId,
+ },
+ })
+ this.handleView()
+ }
+ },
+ })
+ },
+ handleReferral() {
+ const { userInfo } = this.data
+ wx.showModal({
+ title: '',
+ content: '您将给患者发送复诊提醒卡片?',
+ confirmText: '发送',
+ confirmColor: 'rgba(29, 107, 255, 1)',
+ success: (res) => {
+ if (res.confirm) {
+ wx.ajax({
+ method: 'POST',
+ url: '?r=wtx/doctor/message-interact/send-revisit',
+ data: {
+ patientId: this.data.patientId,
+ },
+ }).then((res) => {
+ this.setData({
+ messageList: [
+ ...this.data.messageList,
+ {
+ msgId: '',
+ msgContentType: '5',
+ msgVisitTime: '',
+ msgContent: res,
+ msgFromType: '2',
+ msgCreateTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
+ doctorAvatar: userInfo.doctorAvatar,
+ doctorName: userInfo.doctorName,
+ },
+ ],
+ })
+ this.handleView()
+ })
+ }
+ },
+ })
+ },
+ handleQuestionTab(e) {
+ const { index } = e.currentTarget.dataset
+ this.setData({
+ questionActive: index,
+ questionActiveList: this.data.questionList[index].questionList,
+ })
+ },
+ handleFooter() {
+ this.setData({
+ expend: !this.data.expend,
+ })
+ if (this.data.expend) {
+ setTimeout(() => {
+ this.handleView()
+ }, 300)
+ }
+ },
+ handlePopupCancel() {
+ this.setData({
+ popupShow: false,
+ })
+ },
+ handleFile() {
+ wx.navigateTo({
+ url: `/doctor/pages/file/index?id=${this.data.patientId}`,
+ })
+ },
+ handleBack() {
+ wx.navigateBack()
+ },
+})
diff --git a/src/doctor/pages/askDoctor/index.wxml b/src/doctor/pages/askDoctor/index.wxml
new file mode 100644
index 0000000..ef2201b
--- /dev/null
+++ b/src/doctor/pages/askDoctor/index.wxml
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{message.msgCreateTimeName}}
+
+
+
+ {{message.msgContent }}
+
+ {{message.msgContent}}:
+
+ {{message.msgOtherInfo.Clinic}}
+
+
+ {{week[item.weekday-1]}}
+ {{timeDay[item.timeType]}}
+
+
+
+
+
+
+ {{message.msgContent.weekInfo}}
+
+ {{message.msgContent.examInfo}}
+
+ 点击查看
+
+
+
+ {{message.msgContent.weekInfo}}
+
+ {{message.msgContent.examInfo}}
+
+ 点击立即查看
+
+
+
+
+ {{message.doctorName}}
+
+
+
+
+
+
+
+ {{message.msgContent}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/doctor/pages/bbmReport/index.wxml b/src/doctor/pages/bbmReport/index.wxml
index 26999a8..b945b95 100644
--- a/src/doctor/pages/bbmReport/index.wxml
+++ b/src/doctor/pages/bbmReport/index.wxml
@@ -23,7 +23,7 @@
model:value="{{injectionWeight}}"
type="digit"
placeholder-class="input-place"
- placeholder="请输入"
+ placeholder="--"
bindblur="handleWeight"
/>
KG
diff --git a/src/doctor/pages/blood/index.ts b/src/doctor/pages/blood/index.ts
index 44ee4e2..0e3ac77 100644
--- a/src/doctor/pages/blood/index.ts
+++ b/src/doctor/pages/blood/index.ts
@@ -68,15 +68,10 @@ Page({
this.getList(page + 1)
}
},
- handleEdit(e) {
+ handleEdit(e: any) {
const { id } = e.currentTarget.dataset
wx.navigateTo({
- url: `/patient/pages/bloodDetail/index?id=${id}`,
- })
- },
- handleAdd() {
- wx.navigateTo({
- url: '/patient/pages/bloodAdd/index',
+ url: `/doctor/pages/bloodDetail/index?id=${id}&pid=${this.data.patientId}`,
})
},
})
diff --git a/src/doctor/pages/blood/index.wxml b/src/doctor/pages/blood/index.wxml
index cdff737..52b843e 100644
--- a/src/doctor/pages/blood/index.wxml
+++ b/src/doctor/pages/blood/index.wxml
@@ -15,7 +15,7 @@
-
+
重选
diff --git a/src/doctor/pages/bloodDetail/index.json b/src/doctor/pages/bloodDetail/index.json
new file mode 100644
index 0000000..1351d31
--- /dev/null
+++ b/src/doctor/pages/bloodDetail/index.json
@@ -0,0 +1,4 @@
+{
+ "navigationBarTitleText": "出血记录",
+ "usingComponents": {}
+}
diff --git a/src/doctor/pages/bloodDetail/index.scss b/src/doctor/pages/bloodDetail/index.scss
new file mode 100644
index 0000000..3e4e0d1
--- /dev/null
+++ b/src/doctor/pages/bloodDetail/index.scss
@@ -0,0 +1,87 @@
+page {
+ background-color: rgba(247, 247, 250, 1);
+}
+.page {
+ padding: 32rpx;
+ .card1 {
+ padding: 0 32rpx;
+ border-radius: 24rpx;
+ background-color: #fff;
+ .row {
+ padding: 32rpx 0;
+ display: flex;
+ gap: 48rpx;
+ border-bottom: 1px solid rgba(247, 247, 250, 1);
+ &:last-of-type {
+ border: none;
+ }
+ .label {
+ flex-shrink: 0;
+ font-size: 32rpx;
+ color: rgba(137, 141, 151, 1);
+ }
+ .content {
+ font-size: 32rpx;
+ color: rgba(0, 0, 0, 1);
+ display: flex;
+ gap: 20rpx;
+ flex-wrap: wrap;
+ }
+ }
+ }
+ .card2 {
+ margin-top: 24rpx;
+ padding: 0 32rpx 32rpx;
+ border-radius: 24rpx;
+ background-color: #fff;
+ .title {
+ padding: 32rpx 0 24rpx;
+ font-size: 36rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ }
+ .content {
+ padding: 24rpx 32rpx;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ line-height: 48rpx;
+ background-color: rgba(247, 247, 250, 1);
+ border-radius: 12rpx;
+ }
+ }
+
+ .footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ padding: 16rpx 40rpx calc(16rpx + env(safe-area-inset-bottom));
+ background-color: rgba(255, 255, 255, 1);
+ display: flex;
+ gap: 26rpx;
+ box-sizing: border-box;
+ .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;
+ }
+ }
+}
diff --git a/src/doctor/pages/bloodDetail/index.ts b/src/doctor/pages/bloodDetail/index.ts
new file mode 100644
index 0000000..30bbb77
--- /dev/null
+++ b/src/doctor/pages/bloodDetail/index.ts
@@ -0,0 +1,35 @@
+const app = getApp()
+
+Page({
+ data: {
+ recordId: '',
+ patientId: '',
+
+ detail: {} as any,
+ },
+ onLoad(options) {
+ this.setData({
+ recordId: options.id,
+ patientId: options.pid || '',
+ })
+ app.waitLogin({ type: 2 }).then(() => {
+ this.getDetail()
+ })
+ },
+ getDetail() {
+ wx.ajax({
+ method: 'GET',
+ url: '?r=wtx/doctor/treatment/get-bleeding-detail',
+ data: {
+ recordId: this.data.recordId,
+ patientId: this.data.patientId,
+ },
+ }).then((res) => {
+ this.setData({
+ detail: res,
+ })
+ })
+ },
+})
+
+export {}
diff --git a/src/doctor/pages/bloodDetail/index.wxml b/src/doctor/pages/bloodDetail/index.wxml
new file mode 100644
index 0000000..c5f3bd8
--- /dev/null
+++ b/src/doctor/pages/bloodDetail/index.wxml
@@ -0,0 +1,22 @@
+
+
+
+ 出血日期
+ {{detail.bleedingDate}}
+
+
+ 出血关节
+
+
+ {{subItem.bleedingPartName}}
+
+
+
+
+
+ 其他情况备注
+
+ {{detail.remark}}
+
+
+
diff --git a/src/doctor/pages/calculator/index.scss b/src/doctor/pages/calculator/index.scss
index 3e48525..e6cb0e1 100644
--- a/src/doctor/pages/calculator/index.scss
+++ b/src/doctor/pages/calculator/index.scss
@@ -15,7 +15,7 @@ page {
.banner {
background-color: rgba(28, 107, 255, 1);
border: 1px solid rgba(255, 255, 255, 1);
- border-radius: 24rpx;
+ border-radius: 24rpx 24rpx 34rpx 34rpx;
.b-header {
padding: 24rpx 32rpx;
display: flex;
diff --git a/src/doctor/pages/calculator/index.wxml b/src/doctor/pages/calculator/index.wxml
index 86d4246..3c0fd9f 100644
--- a/src/doctor/pages/calculator/index.wxml
+++ b/src/doctor/pages/calculator/index.wxml
@@ -36,5 +36,5 @@
-
+
diff --git a/src/doctor/pages/coltStat/index.json b/src/doctor/pages/coltStat/index.json
new file mode 100644
index 0000000..02adba7
--- /dev/null
+++ b/src/doctor/pages/coltStat/index.json
@@ -0,0 +1,9 @@
+{
+ "navigationStyle": "custom",
+ "usingComponents": {
+ "van-circle": "@vant/weapp/circle/index",
+ "ec-canvas": "/components/ec-canvas/ec-canvas",
+ "navbar": "/components/navbar/index",
+ "calendar": "/components/calendar/index"
+ }
+}
diff --git a/src/doctor/pages/coltStat/index.scss b/src/doctor/pages/coltStat/index.scss
new file mode 100644
index 0000000..b06865c
--- /dev/null
+++ b/src/doctor/pages/coltStat/index.scss
@@ -0,0 +1,406 @@
+page {
+ background-color: rgba(246, 246, 246, 1);
+}
+
+.page {
+ .page-header {
+ position: relative;
+ padding-bottom: 44rpx;
+ margin-bottom: 58rpx;
+ border-radius: 0 0 32rpx 32rpx;
+ transition: all 0.3s;
+ background-color: rgba(255, 255, 255, 1);
+ border-radius: 0 0 32rpx 32rpx;
+ filter: drop-shadow(0rpx 8rpx 20rpx rgba(24, 57, 107, 0.05));
+ .calendar-wrap {
+ margin-top: 48rpx;
+ .calendar-header {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 48rpx;
+ .left,
+ .right {
+ padding: 8rpx 10rpx 10rpx 8rpx;
+ background: #ffffff;
+ border-radius: 12rpx 12rpx 12rpx 12rpx;
+ border: 2rpx solid rgba(174, 182, 205, 0.18);
+ .icon {
+ display: block;
+ width: 30rpx;
+ height: 30rpx;
+ }
+ }
+ .current-date {
+ display: flex;
+ align-items: baseline;
+ gap: 8rpx;
+ font-size: 52rpx;
+ color: #091f44;
+ font-weight: bold;
+ .name {
+ font-size: 32rpx;
+ }
+ }
+ }
+ .calendar {
+ margin: 16rpx 0 0;
+ }
+ }
+ .legend {
+ padding-right: 40rpx;
+ display: flex;
+ justify-content: flex-end;
+ gap: 48rpx;
+ .l-item {
+ display: flex;
+ align-items: center;
+ gap: 12rpx;
+ .dot {
+ width: 16rpx;
+ height: 16rpx;
+ border-radius: 50%;
+ &.dot1 {
+ background-color: rgba(5, 134, 255, 1);
+ }
+ &.dot2 {
+ background-color: rgba(246, 74, 58, 1);
+ }
+ }
+ .name {
+ font-size: 28rpx;
+ color: #aeb6cd;
+ }
+ }
+ }
+ .more {
+ position: absolute;
+ bottom: -32rpx;
+ left: 50%;
+ transform: translateX(-50%);
+ width: 84rpx;
+ height: 44rpx;
+ background-color: #fff;
+ border-radius: 0 0 16rpx 16rpx;
+ display: flex;
+ justify-content: center;
+ &.active {
+ .icon {
+ transform: rotate(180deg);
+ }
+ }
+ .icon {
+ transition: all 0.3s;
+ width: 44rpx;
+ height: 44rpx;
+ }
+ }
+ }
+ .form {
+ margin: 80rpx 40rpx 0;
+ display: flex;
+ align-items: center;
+ gap: 18rpx;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ .picker {
+ flex: 1;
+ .picker-content {
+ padding: 22rpx 32rpx;
+ display: flex;
+ align-items: center;
+ background-color: #fff;
+ border-radius: 12rpx;
+ .content {
+ flex: 1;
+ font-size: 28rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: normal;
+ &:empty::after {
+ content: attr(data-place);
+ color: rgba(161, 164, 172, 0.5);
+ }
+ }
+ .tril {
+ width: 0;
+ height: 0;
+ border-style: solid;
+ border-width: 12rpx 12rpx 0 12rpx;
+ border-color: rgba(207, 209, 213, 1) transparent transparent transparent;
+ }
+ }
+ }
+ }
+ .page-container {
+ padding: 0 40rpx 40rpx;
+ .module1 {
+ margin-top: 32rpx;
+ padding: 24rpx 32rpx 32rpx;
+ background: #ffffff;
+ box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(0, 0, 0, 0.06);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ .title {
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ }
+ .container {
+ margin-top: 32rpx;
+ height: 600rpx;
+ #mychart-dom-bar {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ }
+ .tabs {
+ margin-top: 48rpx;
+ display: flex;
+ padding: 8rpx;
+ background-color: #fff;
+ border-radius: 112rpx;
+ .tab {
+ flex: 1;
+ padding: 16rpx;
+ text-align: center;
+ font-size: 32rpx;
+ color: rgba(137, 141, 151, 1);
+ &.active {
+ color: #fff;
+ border-radius: 112rpx;
+ background-color: rgba(28, 107, 255, 1);
+ }
+ }
+ }
+ .doc {
+ margin-top: 32rpx;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ gap: 58rpx;
+ .total {
+ font-size: 28rpx;
+ color: rgba(137, 141, 151, 1);
+ .num {
+ font-size: 32rpx;
+ color: rgba(28, 107, 255, 1);
+ }
+ }
+ .more {
+ font-size: 28rpx;
+ color: rgba(28, 107, 255, 1);
+ }
+ }
+ .tab1 {
+ .tab1-module {
+ margin-top: 32rpx;
+ padding: 32rpx;
+ background: linear-gradient(3deg, #ffffff 0%, #fff4f3 100%);
+ box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(0, 0, 0, 0.06);
+ border-radius: 24rpx 24rpx 24rpx 24rpx;
+ border: 2rpx solid #ffffff;
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ .item {
+ padding: 0 0 0 48rpx;
+ display: flex;
+ align-items: center;
+ gap: 24rpx;
+ &:first-of-type {
+ border-right: 1px solid rgba(0, 0, 0, 0.09);
+ }
+ .icon {
+ width: 96rpx;
+ height: 96rpx;
+ background: linear-gradient(159deg, #1dd4ac 0%, #1c6bff 100%);
+ box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(28, 107, 255, 0.1);
+ border-radius: 122rpx 122rpx 122rpx 122rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ .i-img {
+ width: 52rpx;
+ height: 52rpx;
+ }
+ }
+ .wrap {
+ .name {
+ font-size: 24rpx;
+ color: rgba(161, 164, 172, 1);
+ }
+ .num {
+ font-size: 40rpx;
+ font-weight: bold;
+ color: rgba(1, 1, 5, 1);
+ .sub {
+ font-size: 24rpx;
+ color: rgba(161, 164, 172, 1);
+ font-weight: normal;
+ }
+ }
+ }
+ }
+ }
+ .tab1-list {
+ margin-top: 32rpx;
+ .list-item {
+ display: flex;
+ gap: 16rpx;
+ .aside {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ gap: 16rpx;
+ .order {
+ margin-top: 8rpx;
+ width: 16rpx;
+ height: 16rpx;
+ border-radius: 50%;
+ background-clip: content-box;
+ background-color: rgba(28, 107, 255, 1);
+ border: 4rpx solid rgba(28, 107, 255, 0.3);
+ }
+ .line {
+ flex: 1;
+ border-right: 1px dashed rgba(28, 107, 255, 1);
+ }
+ }
+ .container {
+ flex: 1;
+ padding-bottom: 16rpx;
+ .date {
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ padding-bottom: 16rpx;
+ }
+ .wrap {
+ background-color: #fff;
+ border-radius: 24rpx;
+ padding: 16rpx 32rpx 16rpx 0;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ .title {
+ display: flex;
+ align-items: center;
+ gap: 20rpx;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ &::before {
+ content: '';
+ width: 12rpx;
+ height: 36rpx;
+ border-radius: 0 7rpx 7rpx 0;
+ background: rgba(28, 107, 255, 1);
+ }
+ }
+ .progress {
+ min-width: 148rpx;
+ height: 88rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 40rpx;
+ color: rgba(255, 255, 255, 1);
+ background: #0586ff;
+ border-radius: 16rpx 16rpx 16rpx 16rpx;
+ &::after {
+ margin-top: 10rpx;
+ content: '%';
+ font-size: 24rpx;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ .tab2 {
+ .tab2-list {
+ margin-top: 32rpx;
+ .list-item {
+ display: flex;
+ gap: 16rpx;
+ .aside {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ gap: 16rpx;
+ .order {
+ margin-top: 8rpx;
+ width: 16rpx;
+ height: 16rpx;
+ border-radius: 50%;
+ background-clip: content-box;
+ background-color: rgba(28, 107, 255, 1);
+ border: 4rpx solid rgba(28, 107, 255, 0.3);
+ }
+ .line {
+ flex: 1;
+ border-right: 1px dashed rgba(28, 107, 255, 1);
+ }
+ }
+ .container {
+ flex: 1;
+ padding-bottom: 16rpx;
+ .date {
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ padding-bottom: 16rpx;
+ }
+ .wrap {
+ background-color: #fff;
+ border-radius: 24rpx;
+ padding: 16rpx 32rpx 16rpx 0;
+ .title {
+ display: flex;
+ align-items: center;
+ gap: 20rpx;
+ font-size: 32rpx;
+ color: rgbargba(137, 141, 151, 1) (1, 1, 5, 1);
+ padding-bottom: 16rpx;
+ font-weight: bold;
+ &::before {
+ content: '';
+ width: 12rpx;
+ height: 36rpx;
+ border-radius: 0 7rpx 7rpx 0;
+ background: rgba(28, 107, 255, 1);
+ }
+ }
+ .row {
+ padding: 16rpx 32rpx;
+ display: flex;
+ align-items: center;
+ gap: 16rpx;
+ .legend {
+ width: 16rpx;
+ height: 16rpx;
+ border-radius: 50%;
+ &.legend1 {
+ background: linear-gradient(180deg, #54e5ff 0%, #0588ff 100%);
+ }
+ &.legend2 {
+ background: linear-gradient(166deg, #acf8e0 0%, #22dca1 100%);
+ }
+ }
+ .label {
+ flex: 1;
+ font-size: 28rpx;
+ color: rgba(137, 141, 151, 1);
+ }
+ .num {
+ width: 5em;
+ font-size: 28rpx;
+ color: rgba(137, 141, 151, 1);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/doctor/pages/coltStat/index.ts b/src/doctor/pages/coltStat/index.ts
new file mode 100644
index 0000000..9c89d24
--- /dev/null
+++ b/src/doctor/pages/coltStat/index.ts
@@ -0,0 +1,573 @@
+const app = getApp()
+const echarts = require('@/components/ec-canvas/echarts.js')
+const licia = require('miniprogram-licia')
+import dayjs from 'dayjs'
+
+Page({
+ data: {
+ patientId: '',
+
+ cirlcleColor1: {
+ '0%': 'rgba(174, 248, 225, 1)',
+ '100%': 'rgba(31, 219, 160, 1)',
+ },
+ cirlcleColor2: {
+ '0%': 'rgba(188, 223, 255, 1)',
+ '100%': 'rgba(0, 132, 255, 1)',
+ },
+ cirlcleColor3: {
+ '0%': 'rgba(246, 74, 58, 1)',
+ '100%': 'rgba(255, 185, 1, 1)',
+ },
+
+ calendarCurrent: {
+ year: dayjs().year(),
+ month: dayjs().month() + 1,
+ },
+ calendarConfig: {
+ multi: false,
+ weekMode: true,
+ hideHeader: true,
+ autoChoosedWhenJump: true,
+ firstDayOfWeek: 'Mon',
+ theme: 'data-view',
+ takeoverTap: true,
+ highlightToday: true,
+ onlyShowCurrentMonth: true,
+ disableMode: {
+ type: 'after',
+ },
+ },
+
+ beginDate: dayjs().subtract(1, 'M').startOf('month').format('YYYY-MM-DD'),
+ endDate: dayjs().format('YYYY-MM-DD'),
+
+ tabActve: 2,
+ iDays: '',
+
+ list2: [] as any[],
+ total2: 0,
+ pagination2: {
+ page: 1,
+ pages: 1,
+ count: 1,
+ },
+
+ list3: [] as any[],
+ total3: 0,
+ pagination3: {
+ page: 1,
+ pages: 1,
+ count: 1,
+ },
+ },
+ ecDataTrendComponent: null as any,
+ onLoad(options: any) {
+ this.setData({
+ patientId: options.id || '',
+ })
+ this.ecDataTrendComponent = this.selectComponent('#mychart-dom-bar')
+ },
+ handleUpdate() {
+ this.getDetail()
+ this.getList()
+ },
+ getDetail() {
+ const rangeDate = this.getRangeDate()
+ wx.ajax({
+ method: 'GET',
+ url: '?r=wtx/doctor/treatment/get-health',
+ data: {
+ patientId: this.data.patientId,
+ ...rangeDate,
+ },
+ }).then((res) => {
+ console.log('res: ', res)
+ this.setCalendarTodos({ bleedDate: res.examDateList, injectionDate: res.bleedDateList })
+ const astList = {}
+ const altList = {}
+ const cfRecordList = {}
+ res.astList = res.astList || []
+ res.altList = res.altList || []
+ res.cfRecordList = res.cfRecordList || []
+ res.astList.forEach((item: any) => {
+ astList[item.beginDate] = item.ast
+ })
+ res.altList.forEach((item: any) => {
+ altList[item.beginDate] = item.alt
+ })
+ res.cfRecordList.forEach((item: any) => {
+ cfRecordList[item.beginDate] = item.clottingFactor
+ })
+ const initParams = {
+ astList,
+ altList,
+ cfRecordList,
+ }
+ console.log('DEBUGPRINT[107]: index.ts:102: initParams=', initParams)
+ this.initChart(initParams, rangeDate)
+ })
+ },
+ getRangeDate() {
+ const { beginDate, endDate } = this.data
+
+ return {
+ beginDate,
+ endDate,
+ }
+ },
+ setCalendarTodos({ bleedDate = [], injectionDate = [] }: { bleedDate: any[]; injectionDate: string[] }) {
+ const calendar = this.selectComponent('#calendar').calendar
+ const dates: any[] = []
+ const intersectDate = licia.intersect(bleedDate, injectionDate)
+ const filterAdlDate = bleedDate.filter((item) => !intersectDate.includes(item))
+ const filterMedication = injectionDate.filter((item) => !intersectDate.includes(item))
+
+ filterAdlDate.forEach((Date: string) => {
+ dates.push({
+ year: Date.split('-')[0],
+ month: Date.split('-')[1],
+ date: Date.split('-')[2],
+ color: ['rgba(5, 134, 255, 1)'],
+ })
+ })
+ filterMedication.forEach((Date: string) => {
+ dates.push({
+ year: Date.split('-')[0],
+ month: Date.split('-')[1],
+ date: Date.split('-')[2],
+ color: ['rgba(246, 74, 58, 1)'],
+ })
+ })
+ intersectDate.forEach((Date: string) => {
+ dates.push({
+ year: Date.split('-')[0],
+ month: Date.split('-')[1],
+ date: Date.split('-')[2],
+ color: ['rgba(5, 134, 255, 1)', 'rgba(246, 74, 58, 1)'],
+ })
+ })
+ calendar.setTodos({
+ // 待办点标记设置
+ pos: 'bottom', // 待办点标记位置 ['top', 'bottom']
+ dotColor: 'purple', // 待办点标记颜色
+ circle: false, // 待办圆圈标记设置(如圆圈标记已签到日期),该设置与点标记设置互斥
+ showLunar: true,
+ showLabelAlways: true, // 点击时是否显示待办事项(圆点/文字),在 circle 为 true 及当日历配置 showLunar 为 true 时,此配置失效
+ dates,
+ })
+ },
+ afterCalendarRender() {
+ const calendar = this.selectComponent('#calendar').calendar
+ const { year, month } = calendar.getCurrentYM()
+ this.setData({
+ calendarCurrent: {
+ year,
+ month,
+ },
+ })
+ app.waitLogin().then(() => {
+ this.handleUpdate()
+ })
+ this.handleIsDisableRight()
+ },
+ onSwipe() {
+ const calendar = this.selectComponent('#calendar').calendar
+ const { year, month } = calendar.getCurrentYM()
+ this.setData({
+ calendarCurrent: {
+ year,
+ month,
+ },
+ })
+ this.handleIsDisableRight()
+ },
+ handleCalendarSwitch(e: any) {
+ const { type } = e.currentTarget.dataset
+ const calendar = this.selectComponent('#calendar').calendar
+ let { year, month } = this.data.calendarCurrent
+ const { weekMode } = calendar.getCalendarConfig()
+ if (type === 'prev') {
+ month -= 1
+ if (month < 1) {
+ month = 12
+ year -= 1
+ }
+ } else if (type === 'next') {
+ month += 1
+ if (month > 12) {
+ month = 1
+ year += 1
+ }
+ }
+ if (weekMode) {
+ calendar.weekModeJump({
+ year: year,
+ month: month,
+ date: 1,
+ })
+ } else {
+ calendar.jump({
+ year: year,
+ month: month,
+ date: 1,
+ })
+ }
+ this.setData({
+ calendarCurrent: {
+ year,
+ month,
+ },
+ beginDate: dayjs(`${year}-${month}-01`).startOf('month').format('YYYY-MM-DD'),
+ endDate: dayjs(`${year}-${month}-01`).endOf('month').format('YYYY-MM-DD'),
+ })
+ this.handleIsDisableRight()
+ },
+ handleCalendarCurrent() {
+ const calendar = this.selectComponent('#calendar').calendar
+ const { weekMode } = calendar.getCalendarConfig()
+ if (weekMode) {
+ calendar.weekModeJump()
+ } else {
+ calendar.jump()
+ }
+ const { year, month } = calendar.getCurrentYM()
+ this.setData({
+ calendarCurrent: {
+ year,
+ month,
+ },
+ })
+ this.handleIsDisableRight()
+ },
+ handleCalendarMore() {
+ const calendar = this.selectComponent('#calendar').calendar
+ const { weekMode } = calendar.getCalendarConfig()
+ let { year, month } = this.data.calendarCurrent
+ console.log(calendar)
+ if (weekMode) {
+ calendar.switchView('month').then(() => {
+ calendar.jump({
+ year: year,
+ month: month,
+ date: 1,
+ })
+ })
+ } else {
+ calendar.switchView('week').then(() => {
+ calendar.weekModeJump({
+ year: year,
+ month: month,
+ date: 1,
+ })
+ })
+ if (dayjs().month() + 1 === month && dayjs().year() === year) {
+ calendar.weekModeJump()
+ }
+ }
+ this.setData({
+ ['calendarConfig.weekMode']: !weekMode,
+ })
+ },
+ handleIsDisableRight() {
+ const { year, month } = this.data.calendarCurrent
+ // 是否大于等于当月
+ const calendarCurrentNum = Number(year * 12) + Number(month)
+ const currentNum = Number(dayjs().year() * 12) + Number(dayjs().month() + 1)
+
+ if (calendarCurrentNum >= currentNum) {
+ this.setData({
+ disableRight: true,
+ })
+ } else {
+ this.setData({
+ disableRight: false,
+ })
+ }
+ },
+ initChart({ altList = {}, astList = {}, cfRecordList = {} }, rangeDate) {
+ const arr = this.generateDateArray(rangeDate.beginDate, rangeDate.endDate)
+ const astArr: Number[] = []
+ const altArr: Number[] = []
+ const cfRecordArr: Number[] = []
+ arr.forEach((item: any) => {
+ astArr.push(astList[item] ? Number(astList[item]) : 0)
+ altArr.push(altList[item] ? Number(altList[item]) : 0)
+ cfRecordArr.push(cfRecordList[item] ? Number(cfRecordList[item]) : 0)
+ })
+ console.log(altArr)
+ this.ecDataTrendComponent.init((canvas, width, height, dpr) => {
+ let chart = echarts.init(canvas, null, {
+ width: width,
+ height: height,
+ devicePixelRatio: dpr, // new
+ })
+ canvas.setChart(chart)
+
+ var option = {
+ dataZoom: [
+ {
+ type: 'inside', // 内置于坐标系中
+ startValue: 0,
+ endValue: 7,
+ xAxisIndex: [0],
+ },
+ ],
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow',
+ },
+ confine: true,
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
+ textStyle: {
+ color: '#fff',
+ fontSize: 10,
+ },
+ order: 'seriesDesc',
+ },
+ legend: {
+ bottom: 0,
+ padding: 0,
+ itemGap: 5,
+ itemWidth: 8,
+ itemHeight: 8,
+ icon: 'circle',
+ },
+ grid: {
+ top: '30',
+ left: '5',
+ right: '0',
+ bottom: '45',
+ containLabel: true,
+ },
+ xAxis: {
+ type: 'category',
+ axisLabel: {
+ color: 'rgba(161, 164, 172, 1)',
+ },
+ axisTick: {
+ show: false,
+ },
+ axisLine: {
+ lineStyle: {
+ type: 'solid',
+ color: 'rgba(137, 141, 151, 0.23)',
+ },
+ },
+ splitLine: {
+ show: true,
+ showMinLine: false,
+ lineStyle: {
+ type: 'dotted',
+ color: 'rgba(137, 141, 151, 0.23)',
+ },
+ },
+ data: arr,
+ },
+ yAxis: [
+ {
+ type: 'value',
+ name: '单位:%',
+ axisLabel: {
+ color: 'rgba(161, 164, 172, 1)',
+ },
+ axisLine: {
+ show: false,
+ lineStyle: {
+ type: 'solid',
+ color: 'rgba(161, 164, 172, 1)',
+ },
+ },
+ splitLine: {
+ show: true,
+ showMinLine: false,
+ lineStyle: {
+ type: 'dotted',
+ color: 'rgba(137, 141, 151, 0.23)',
+ },
+ },
+ },
+ {
+ type: 'value',
+ name: '单位:U/L',
+ position: 'right',
+ axisLabel: {
+ color: 'rgba(161, 164, 172, 1)',
+ },
+ axisLine: {
+ show: false,
+ lineStyle: {
+ type: 'solid',
+ color: 'rgba(161, 164, 172, 1)',
+ },
+ },
+ splitLine: {
+ show: true,
+ showMinLine: false,
+ lineStyle: {
+ type: 'dotted',
+ color: 'rgba(137, 141, 151, 0.23)',
+ },
+ },
+ },
+ ],
+ series: [
+ {
+ name: 'AST天门冬氨酸氨基转移酶',
+ data: astArr,
+ type: 'line',
+ yAxisIndex: 1,
+ lineStyle: { width: 4 },
+ symbolSize: 6,
+ color: {
+ type: 'linear',
+ colorStops: [
+ {
+ offset: 0,
+ color: 'rgba(1, 132, 255, 1)', // 0% 处的颜色
+ },
+ {
+ offset: 1,
+ color: 'rgba(85, 229, 255, 1)', // 100% 处的颜色
+ },
+ ],
+ global: false, // 缺省为 false
+ },
+ },
+ {
+ name: 'ALT丙氨酸氨基转移酶',
+ yAxisIndex: 1,
+ data: altArr,
+ type: 'line',
+ lineStyle: { width: 4 },
+ symbolSize: 6,
+ color: {
+ type: 'linear',
+ colorStops: [
+ {
+ offset: 0,
+ color: 'rgba(246, 74, 58, 1)', // 0% 处的颜色
+ },
+ {
+ offset: 1,
+ color: 'rgba(255, 187, 0, 1)', // 100% 处的颜色
+ },
+ ],
+ global: false, // 缺省为 false
+ },
+ },
+ {
+ name: '凝血因子水平',
+ data: cfRecordArr,
+ type: 'line',
+ lineStyle: { width: 4 },
+ symbolSize: 6,
+ color: {
+ type: 'linear',
+ colorStops: [
+ {
+ offset: 0,
+ color: 'rgba(31, 220, 160, 1)', // 0% 处的颜色
+ },
+ {
+ offset: 1,
+ color: 'rgba(174, 248, 225, 1)', // 100% 处的颜色
+ },
+ ],
+ global: false, // 缺省为 false
+ },
+ },
+ ],
+ // dataZoom: {
+ // show: true, // 为true 滚动条出现
+ // realtime: true,
+ // type: "slider", // 有type这个属性,滚动条在最下面,也可以不行,写y:36,这表示距离顶端36px,一般就是在图上面。
+ // height: 20, // 表示滚动条的高度,也就是粗细
+ // start: 20, // 表示默认展示20%~80%这一段。
+ // end: 80,
+ // },
+ }
+
+ chart.setOption(option)
+ return chart
+ })
+ },
+ generateDateArray(startDate, endDate) {
+ const dates: string[] = []
+ let currentDate = dayjs(startDate)
+
+ while (currentDate.isBefore(dayjs(endDate).add(1, 'day'))) {
+ dates.push(currentDate.format('YYYY-MM-DD'))
+ currentDate = currentDate.add(1, 'day')
+ }
+
+ return dates
+ },
+
+ handleTab(e: any) {
+ const { active } = e.currentTarget.dataset
+ this.setData({
+ tabActve: active,
+ })
+ this.getList(1)
+ },
+ handleFile() {
+ wx.navigateTo({
+ url: `/doctor/pages/file/index?id=${this.data.patientId}`,
+ })
+ },
+ getList(newPage = 1) {
+ const { tabActve } = this.data
+ const dateRange = this.getRangeDate()
+ wx.ajax({
+ method: 'GET',
+ url: '?r=wtx/doctor/treatment/get-health-exam-list',
+ data: {
+ patientId: this.data.patientId,
+ examType: tabActve,
+ page: newPage,
+ ...dateRange,
+ },
+ }).then((res) => {
+ res.list = res.list.map((item) => {
+ return {
+ ...item,
+ beginDate: item.beginDate ? dayjs(item.beginDate).format('YYYY.MM.DD') : null,
+ endDate: item.endDate ? dayjs(item.endDate).format('YYYY.MM.DD') : null,
+ }
+ })
+ if (tabActve == 2) {
+ const list = res.page === 1 ? res.list : [...this.data.list2, ...res.list]
+ this.setData({
+ total2: res.count,
+ list2: list,
+ iDays: res.iDays,
+ pagination2: {
+ page: res.page,
+ pages: res.pages,
+ count: res.count,
+ },
+ })
+ }
+ if (tabActve == 3) {
+ const list = res.page === 1 ? res.list : [...this.data.list3, ...res.list]
+ this.setData({
+ total3: res.count,
+ list3: list,
+ iDays: res.iDays,
+ pagination3: {
+ page: res.page,
+ pages: res.pages,
+ count: res.count,
+ },
+ })
+ }
+ })
+ },
+ handleBack() {
+ wx.navigateBack()
+ },
+})
+
+export {}
diff --git a/src/doctor/pages/coltStat/index.wxml b/src/doctor/pages/coltStat/index.wxml
new file mode 100644
index 0000000..a21836d
--- /dev/null
+++ b/src/doctor/pages/coltStat/index.wxml
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+ {{beginDate}}
+
+
+
+ -
+
+
+ {{endDate}}
+
+
+
+
+
+
+ 他的健康变化
+
+
+
+
+
+ 凝血因子
+ 生化检查
+
+
+
+ 已记录
+ {{pagination2.count}}
+ 条
+
+
+ 查看档案
+
+
+
+
+
+
+
+
+
+
+ 因子检查
+
+ {{pagination2.count}}
+ 次
+
+
+
+
+
+
+
+
+ 注射后
+
+ {{iDays || '--'}}
+ 天
+
+
+
+
+
+
+
+
+
+
+
+ {{item.beginDate}}~{{item.endDate}}
+ {{item.beginDate || item.endDate}}
+ --
+
+ {{item.periodName}}
+ {{item.clottingFactor}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.beginDate}}~{{item.endDate}}
+ {{item.beginDate || item.endDate}}
+ 未填写
+
+ {{item.periodName}}
+
+
+ AST天门冬氨酸氨基转移酶
+ {{item.ast}}U/L
+ --
+
+
+
+ ALT丙氨酸氨基转移酶
+ {{item.alt}}U/L
+ --
+
+
+
+
+
+
+
+
diff --git a/src/doctor/pages/course/index.ts b/src/doctor/pages/course/index.ts
index feb53a8..54397f1 100644
--- a/src/doctor/pages/course/index.ts
+++ b/src/doctor/pages/course/index.ts
@@ -70,10 +70,18 @@ Page({
})
this.handleUpdate()
},
- handleSelectHostipal() {
+ handleSelectHostipal(e) {
+ const { period } = e.currentTarget.dataset
const { periodInfo1 } = this.data
+ if (!periodInfo1.hospitalId) {
+ wx.showToast({
+ title: '患者还未填写此信息哦~',
+ icon: 'none',
+ })
+ return
+ }
wx.navigateTo({
- url: `/doctor/pages/courseHostipal/index?id=${periodInfo1.hospitalId}`,
+ url: `/doctor/pages/courseHostipal/index?id=${periodInfo1.hospitalId}&period=${period}`,
})
},
handleCasesAdd() {
@@ -88,25 +96,6 @@ Page({
popupParams: { position: 'bottom' },
})
},
- handleTCenter() {
- const { periodInfo2 } = this.data
- wx.ajax({
- method: 'GET',
- url: '?r=wtx/doctor/common/get-treatment-center-list',
- data: {
- patientId: this.data.patientId,
- },
- }).then((res) => {
- this.setData({
- popupShow: true,
- popupType: 'TCenter',
- popupParams: {
- hospitalId: periodInfo2.hospitalId,
- list: res,
- },
- })
- })
- },
handlePreDiagnosisReport(e: any) {
const { period } = e.currentTarget.dataset
const { examId } = this.data[`periodInfo${period}`]
@@ -114,11 +103,6 @@ Page({
url: `/doctor/pages/preDiagnosisReport/index?examid=${examId}&period=${period}&id=${this.data.patientId}`,
})
},
- handleAavReport() {
- wx.navigateTo({
- url: '/patient/pages/aavReport/index',
- })
- },
handleBbmReport() {
wx.navigateTo({
url: `/doctor/pages/bbmReport/index?id=${this.data.patientId}`,
@@ -129,11 +113,6 @@ Page({
url: `/doctor/pages/bbmRemark/index?id=${this.data.patientId}`,
})
},
- hadnleInjectDate() {
- wx.navigateTo({
- url: '/patient/pages/injectDate/index',
- })
- },
handleInhibitorsManage(e: any) {
const { period } = e.currentTarget.dataset
wx.navigateTo({
@@ -142,7 +121,7 @@ Page({
},
handleFollowPlan() {
wx.navigateTo({
- url: '/doctor/pages/followPlan/index',
+ url: `/doctor/pages/followPlan/index?id=${this.data.patientId}`,
})
},
handleLastDiagnosisReport() {
@@ -152,7 +131,7 @@ Page({
},
handleColtStat() {
wx.navigateTo({
- url: '/patient/pages/coltStat/index',
+ url: `/doctor/pages/coltStat/index?id=${this.data.patientId}`,
})
},
handleBlood() {
diff --git a/src/doctor/pages/course/index.wxml b/src/doctor/pages/course/index.wxml
index 51f9ebf..000dad6 100644
--- a/src/doctor/pages/course/index.wxml
+++ b/src/doctor/pages/course/index.wxml
@@ -28,7 +28,7 @@
-
+
-
+
- 2.我的检查报告
+ 2.检查报告
diff --git a/src/doctor/pages/courseHostipal/index.scss b/src/doctor/pages/courseHostipal/index.scss
index 0dbcb03..83f7537 100644
--- a/src/doctor/pages/courseHostipal/index.scss
+++ b/src/doctor/pages/courseHostipal/index.scss
@@ -24,14 +24,17 @@ page {
font-size: 32rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
- line-height: 36rpx;
+ line-height: 48rpx;
.tag {
+ margin-left: 8rpx;
+ vertical-align: 2px;
display: inline-block;
font-size: 22rpx;
color: rgba(255, 255, 255, 1);
background-color: rgba(255, 186, 1, 1);
border-radius: 8rpx;
padding: 0 10rpx;
+ line-height: 36rpx;
}
}
.site {
diff --git a/src/doctor/pages/courseHostipal/index.ts b/src/doctor/pages/courseHostipal/index.ts
index 1d7470d..6225a52 100644
--- a/src/doctor/pages/courseHostipal/index.ts
+++ b/src/doctor/pages/courseHostipal/index.ts
@@ -5,6 +5,11 @@ Page({
detail: {} as any,
},
onLoad(options: any) {
+ if (options.period === '2') {
+ wx.setNavigationBarTitle({
+ title: '治疗中心',
+ })
+ }
app.waitLogin({ type: 2 }).then(() => {
this.getDetail(options.id)
})
diff --git a/src/doctor/pages/file/index.scss b/src/doctor/pages/file/index.scss
index 4555da3..a5d8da8 100644
--- a/src/doctor/pages/file/index.scss
+++ b/src/doctor/pages/file/index.scss
@@ -23,19 +23,19 @@ page {
padding-left: 20rpx;
flex: 1;
.w-header {
- display: flex;
- align-items: center;
- gap: 16rpx;
.name {
+ margin-right: 16rpx;
+ display: inline;
font-size: 36rpx;
color: rgba(1, 1, 5, 1);
font-weight: bold;
}
.age {
+ margin-right: 16rpx;
padding: 0 14rpx;
border-radius: 20rpx;
background-color: rgba(32, 196, 255, 1);
- display: flex;
+ display: inline-flex;
align-items: center;
gap: 6rpx;
font-size: 24rpx;
@@ -50,7 +50,7 @@ page {
padding: 0 14rpx;
border-radius: 20rpx;
background-color: rgba(248, 166, 133, 1);
- display: flex;
+ display: inline-flex;
align-items: center;
gap: 6rpx;
font-size: 24rpx;
@@ -489,7 +489,7 @@ page {
.date-card {
margin-top: 32rpx;
padding: 18rpx 32rpx;
- background: linear-gradient( 355deg, #FFFFFF 0%, #E6EFFF 100%);
+ background: linear-gradient(355deg, #ffffff 0%, #e6efff 100%);
box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(0, 0, 0, 0.08);
border-radius: 84rpx 84rpx 84rpx 84rpx;
border: 2px solid #ffffff;
diff --git a/src/doctor/pages/file/index.ts b/src/doctor/pages/file/index.ts
index 82cc12e..b0ae4cc 100644
--- a/src/doctor/pages/file/index.ts
+++ b/src/doctor/pages/file/index.ts
@@ -155,7 +155,6 @@ Page({
})
},
handleWhenChangeMonth(e) {
- console.log('DEBUGPRINT[101]: index.ts:129: e=', e)
const next = e.detail.next
const dateMonth = dayjs(`${next.year}-${next.month}`).format('YYYY-MM')
this.getFollowList(dateMonth)
@@ -212,42 +211,32 @@ Page({
})
console.log(this.data[fold])
},
- handleRevisitRecord() {
- wx.navigateTo({
- url: '/patient/pages/lastDiagnosisReport/index?period=4',
- })
- },
handleRevisitDetail(e) {
const { id, period } = e.currentTarget.dataset
wx.navigateTo({
- url: `/patient/pages/lastDiagnosisReport/index?examid=${id}&period=${period}`,
+ url: `/doctor/pages/lastDiagnosisReport/index?examid=${id}&period=${period}&id=${this.data.id}`,
})
},
handleRevisitAll() {
wx.navigateTo({
- url: '/patient/pages/revisitRecord/index',
+ url: `/doctor/pages/revisitRecord/index?id=${this.data.id}`,
})
},
handleCourse(e: any) {
const { progress } = e.currentTarget.dataset
wx.navigateTo({
- url: `/patient/pages/course/index?current=${progress}`,
+ url: `/doctor/pages/course/index?current=${progress}&id=${this.data.id}`,
})
},
handleBbmDetail() {
wx.navigateTo({
- url: '/patient/pages/bbmReport/index',
+ url: `/doctor/pages/bbmReport/index?id=${this.data.id}`,
})
},
handlePreDiagnosisReport(e) {
const { id, period } = e.currentTarget.dataset
wx.navigateTo({
- url: `/patient/pages/preDiagnosisReport/index?examid=${id}&period=${period}`,
- })
- },
- handleInjectionDate() {
- wx.navigateTo({
- url: '/patient/pages/injectDate/index',
+ url: `/doctor/pages/preDiagnosisReport/index?examid=${id}&period=${period}&id=${this.data.id}`,
})
},
handleBack() {
diff --git a/src/doctor/pages/file/index.wxml b/src/doctor/pages/file/index.wxml
index 860f385..b855dad 100644
--- a/src/doctor/pages/file/index.wxml
+++ b/src/doctor/pages/file/index.wxml
@@ -53,7 +53,11 @@
日期
- {{item.beginDate}}~{{item.endDate}}
+
+ {{item.beginDate}}~
+ {{item.endDate}}
+
+ {{item.beginDate || item.endDate}}
--
@@ -122,7 +126,10 @@
日期
- {{item.beginDate}}~{{item.endDate}}
+
+ {{item.beginDate}}~
+ {{item.endDate}}
+
未填写
@@ -162,7 +169,10 @@
日期
- {{item.beginDate}}~{{item.endDate}}
+
+ {{item.beginDate}}~
+ {{item.endDate}}
+
未填写
@@ -287,10 +297,9 @@
-
+
- 注射日:{{followExam.injectionDateName}}
- 请填写您的注射日生成随访计划
+ 注射日:{{followExam.injectionDateName || '未填写'}}
-
+
()
Page({
data: {
userInfo: {},
+ knowledgeList: [],
patientList: [],
},
onLoad() {
app.waitLogin({ type: 2 }).then(() => {
this.getPatientList()
+ this.getKnowledge()
app.getUserInfo(2).then((userInfo) => {
this.setData({
userInfo: userInfo,
@@ -26,6 +28,30 @@ Page({
})
})
},
+ getKnowledge() {
+ wx.ajax({
+ method: 'GET',
+ url: '?r=wtx/doctor/knowledge/index-list',
+ data: {},
+ }).then((res) => {
+ this.setData({
+ knowledgeList: res.list,
+ })
+ })
+ },
+ handleInfoDetail(e) {
+ const { index } = e.currentTarget.dataset
+ const params = this.data.knowledgeList[index]
+ if (params.Type == 1) {
+ wx.navigateTo({
+ url: `/doctor/pages/knowledgeDetail/index?id=${params.Id}`,
+ })
+ return
+ }
+ wx.navigateTo({
+ url: `/doctor/pages/knowledgeDetailVideo/index?id=${params.Id}`,
+ })
+ },
handleCalculator() {
wx.navigateTo({
url: '/doctor/pages/calculator/index',
@@ -42,6 +68,11 @@ Page({
url: '/doctor/pages/poster/index',
})
},
+ handleInfoMore() {
+ wx.navigateTo({
+ url: '/doctor/pages/knowledge/index',
+ })
+ },
})
export {}
diff --git a/src/doctor/pages/index/index.wxml b/src/doctor/pages/index/index.wxml
index a96aa11..ea5c9bb 100644
--- a/src/doctor/pages/index/index.wxml
+++ b/src/doctor/pages/index/index.wxml
@@ -1,7 +1,10 @@
-
+
-
+
-
+
-
+
diff --git a/src/doctor/pages/my/index.ts b/src/doctor/pages/my/index.ts
index df6e35d..47854fc 100644
--- a/src/doctor/pages/my/index.ts
+++ b/src/doctor/pages/my/index.ts
@@ -74,9 +74,14 @@ Page({
url: '/doctor/pages/userInfo/index',
})
},
+ handlePoster() {
+ wx.navigateTo({
+ url: '/doctor/pages/poster/index',
+ })
+ },
handleDoc() {
wx.navigateTo({
- url: '/doctor/pages/doc/index',
+ url: '/doc/pages/doc5/index',
})
},
})
diff --git a/src/doctor/pages/my/index.wxml b/src/doctor/pages/my/index.wxml
index 6bcd8cb..09be202 100644
--- a/src/doctor/pages/my/index.wxml
+++ b/src/doctor/pages/my/index.wxml
@@ -15,7 +15,7 @@
{{userInfo.hospitalClassificationName}}{{userInfo.hospitalLevelName}}
-
+
diff --git a/src/doctor/pages/patientDetail/index.scss b/src/doctor/pages/patientDetail/index.scss
index 945242f..248c60d 100644
--- a/src/doctor/pages/patientDetail/index.scss
+++ b/src/doctor/pages/patientDetail/index.scss
@@ -28,17 +28,17 @@ page {
.wrap {
flex: 1;
.w-header {
- display: flex;
- align-items: center;
- gap: 16rpx;
.name {
+ margin-right: 16rpx;
+ display: inline;
font-size: 36rpx;
color: rgba(255, 255, 255, 1);
}
.age {
+ margin-right: 16rpx;
padding: 0 14rpx;
border-radius: 20rpx;
- display: flex;
+ display: inline-flex;
align-items: center;
gap: 6rpx;
font-size: 24rpx;
@@ -54,7 +54,7 @@ page {
padding: 0 14rpx;
border-radius: 20rpx;
background-color: rgba(32, 196, 255, 1);
- display: flex;
+ display: inline-flex;
align-items: center;
gap: 6rpx;
font-size: 24rpx;
@@ -175,17 +175,11 @@ page {
}
.card {
display: flex;
- gap: 24rpx;
.c-aside {
+ padding-top: 48rpx;
+ position: relative;
+ z-index: 1;
flex-shrink: 0;
- display: flex;
- flex-direction: column;
- align-items: center;
- .line-top {
- flex-shrink: 0;
- height: 48rpx;
- border-right: 1px dashed rgba(225, 225, 226, 1);
- }
.num {
flex-shrink: 0;
width: 56rpx;
@@ -197,20 +191,17 @@ page {
color: rgba(255, 255, 255, 1);
background-color: rgba(225, 225, 226, 1);
}
- .line-bottom {
- flex: 1;
- border-right: 1px dashed rgba(225, 225, 226, 1);
- }
.hide {
opacity: 0;
}
}
.c-container {
+ margin-left: -28rpx;
padding-bottom: 24rpx;
flex: 1;
.module {
position: relative;
- padding: 32rpx;
+ padding: 32rpx 32rpx 32rpx 66rpx;
background-color: #fff;
border-radius: 32rpx;
box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(0, 0, 0, 0.05);
diff --git a/src/doctor/pages/patientDetail/index.ts b/src/doctor/pages/patientDetail/index.ts
index 908e9f5..13a17ab 100644
--- a/src/doctor/pages/patientDetail/index.ts
+++ b/src/doctor/pages/patientDetail/index.ts
@@ -10,13 +10,18 @@ Page({
doctorAvatarList: [],
lastBindDoctorInfo: {},
patientArchiveInfo: {},
+
+ messageCount: 0,
},
onLoad(options: any) {
this.setData({
id: options.id,
})
+ },
+ onShow() {
app.waitLogin({ type: 2 }).then(() => {
this.getDetail()
+ this.getMessageCount()
})
},
getDetail() {
@@ -42,6 +47,25 @@ Page({
})
})
},
+ getMessageCount() {
+ wx.ajax({
+ method: 'GET',
+ url: '?r=wtx/doctor/message-interact/get-not-read-count',
+ data: {
+ patientId: this.data.id,
+ },
+ }).then((res) => {
+ console.log('res: ', res)
+ this.setData({
+ messageCount: res || 0,
+ })
+ })
+ },
+ handleAsk() {
+ wx.navigateTo({
+ url: `/doctor/pages/askDoctor/index?id=${this.data.id}`,
+ })
+ },
handleFile() {
const { patientInfo } = this.data
wx.navigateTo({
@@ -54,6 +78,18 @@ Page({
url: `/doctor/pages/course/index?id=${this.data.id}¤t=${period}`,
})
},
+ handleCase(){
+ const { patientInfo } = this.data
+ wx.navigateTo({
+ url: `/doctor/pages/casesDetail/index?id=${patientInfo.patientId}`,
+ })
+ },
+ handleStat() {
+ const { patientInfo } = this.data
+ wx.navigateTo({
+ url: `/doctor/pages/coltStat/index?id=${patientInfo.patientId}`,
+ })
+ },
handleBack() {
wx.navigateBack()
},
diff --git a/src/doctor/pages/patientDetail/index.wxml b/src/doctor/pages/patientDetail/index.wxml
index 0b83cb3..5272422 100644
--- a/src/doctor/pages/patientDetail/index.wxml
+++ b/src/doctor/pages/patientDetail/index.wxml
@@ -38,18 +38,18 @@
-
+
-
1
-
@@ -83,144 +81,165 @@
class="date"
wx:if="{{patientArchiveInfo.periodOneExamBeginDate && patientArchiveInfo.periodOneExamEndDate}}"
>
- {{patientArchiveInfo.periodOneExamBeginDate && patientArchiveInfo.periodOneExamEndDate}}
+ {{patientArchiveInfo.periodOneExamBeginDate }}~{{patientArchiveInfo.periodOneExamEndDate}}
+
+
+ {{patientArchiveInfo.periodOneExamBeginDate || patientArchiveInfo.periodOneExamEndDate}}
-
+
- 查看详情
+ 查看详情
-
2
-
-
+
+ 查看详情
-
3
-
+ 查看详情
-
4
-
+ 查看详情
- 待启动
+
-
+
他的全部
病历档案
-
+
查看他的
diff --git a/src/doctor/pages/poster/index.scss b/src/doctor/pages/poster/index.scss
index dde444d..db9910a 100644
--- a/src/doctor/pages/poster/index.scss
+++ b/src/doctor/pages/poster/index.scss
@@ -1,9 +1,13 @@
+page {
+ height: 100vh;
+ overflow: hidden;
+}
.page {
position: relative;
height: 1624rpx;
.poster {
width: 100%;
- height: 100%;
+ height: 100vh;
}
.btn {
position: absolute;
diff --git a/src/doctor/pages/poster/index.wxml b/src/doctor/pages/poster/index.wxml
index c78fc79..b429e20 100644
--- a/src/doctor/pages/poster/index.wxml
+++ b/src/doctor/pages/poster/index.wxml
@@ -1,5 +1,5 @@
-
-
+
+
长按图片保存
diff --git a/src/doctor/pages/preDiagnosisReport/index.json b/src/doctor/pages/preDiagnosisReport/index.json
index f0a3a25..e4a3507 100644
--- a/src/doctor/pages/preDiagnosisReport/index.json
+++ b/src/doctor/pages/preDiagnosisReport/index.json
@@ -1,5 +1,5 @@
{
- "navigationBarTitleText": "我的诊前检查报告",
+ "navigationBarTitleText": "诊前检查报告",
"usingComponents": {
"uploadFile": "/components/uploadFile/index",
"popup": "/components/popup/index"
diff --git a/src/doctor/pages/preDiagnosisReport/index.scss b/src/doctor/pages/preDiagnosisReport/index.scss
index 5dbf949..0280323 100644
--- a/src/doctor/pages/preDiagnosisReport/index.scss
+++ b/src/doctor/pages/preDiagnosisReport/index.scss
@@ -279,7 +279,7 @@ page {
border-radius: 12rpx 12rpx 12rpx 12rpx;
&.active {
color: #fff;
- background-color: rgba(246, 74, 58, 1);
+ background-color: rgba(28, 107, 255, 1);
}
}
}
@@ -311,7 +311,7 @@ page {
border-radius: 12rpx 12rpx 12rpx 12rpx;
&.active {
color: #fff;
- background-color: rgba(246, 74, 58, 1);
+ background-color: rgba(28, 107, 255, 1);
}
}
}
@@ -343,7 +343,7 @@ page {
border-radius: 12rpx 12rpx 12rpx 12rpx;
&.active {
color: #fff;
- background-color: rgba(246, 74, 58, 1);
+ background-color: rgba(28, 107, 255, 1);
}
}
}
@@ -375,7 +375,7 @@ page {
border-radius: 12rpx 12rpx 12rpx 12rpx;
&.active {
color: #fff;
- background-color: rgba(246, 74, 58, 1);
+ background-color: rgba(28, 107, 255, 1);
}
}
}
@@ -444,7 +444,7 @@ page {
border-radius: 12rpx 12rpx 12rpx 12rpx;
&.active {
color: #fff;
- background-color: rgba(246, 74, 58, 1);
+ background-color: rgba(28, 107, 255, 1);
}
}
}
diff --git a/src/doctor/pages/preDiagnosisReport/index.ts b/src/doctor/pages/preDiagnosisReport/index.ts
index ea740dc..639a84d 100644
--- a/src/doctor/pages/preDiagnosisReport/index.ts
+++ b/src/doctor/pages/preDiagnosisReport/index.ts
@@ -114,7 +114,7 @@ Page({
})
if (options.period === '2') {
wx.setNavigationBarTitle({
- title: '我的检查报告',
+ title: '检查报告',
})
}
},
@@ -195,18 +195,6 @@ Page({
[fold]: !this.data[fold],
})
},
- handleToggleCheck(e: any) {
- const { check, fold } = e.currentTarget.dataset
- let foldValue = this.data[fold]
- if (this.data[check] == 2 || !this.data[check]) {
- foldValue = false
- }
- this.setData({
- [check]: this.data[check] == 1 ? 2 : 1,
- [fold]: foldValue,
- })
- this.getCheckNum()
- },
getCheckNum() {
const { checkList } = this.data
let num = 0
diff --git a/src/doctor/pages/preDiagnosisReport/index.wxml b/src/doctor/pages/preDiagnosisReport/index.wxml
index 84a9ee9..3e23d0b 100644
--- a/src/doctor/pages/preDiagnosisReport/index.wxml
+++ b/src/doctor/pages/preDiagnosisReport/index.wxml
@@ -10,7 +10,8 @@
-
+
{{isBiochemical==1?'已检查':'未检查'}}
@@ -167,14 +158,7 @@
凝血因子 IX 活性
-
- {{isCFIxActivity==1?'已检查':'未检查'}}
-
+ {{isCFIxActivity==1?'已检查':'未检查'}}
@@ -223,14 +207,7 @@
凝血因子 IX 抑制物检测
-
- {{isCFIxInhibitor==1?'已检查':'未检查'}}
-
+ {{isCFIxInhibitor==1?'已检查':'未检查'}}
@@ -266,14 +243,7 @@
乙型肝炎相关检查
-
- {{isHepatitisB==1?'已检查':'未检查'}}
-
+ {{isHepatitisB==1?'已检查':'未检查'}}
@@ -314,14 +284,7 @@
丙型肝炎相关检查
-
- {{isHepatitisC==1?'已检查':'未检查'}}
-
+ {{isHepatitisC==1?'已检查':'未检查'}}
@@ -364,14 +327,7 @@
HIV抗体
-
- {{isHivAntibody==1?'已检查':'未检查'}}
-
+ {{isHivAntibody==1?'已检查':'未检查'}}
类免疫缺陷病毒抗体(HIV - Ab)
@@ -409,14 +365,7 @@
甲胎蛋白(AFP)检测
-
- {{isAfp==1?'已检查':'未检查'}}
-
+ {{isAfp==1?'已检查':'未检查'}}
@@ -465,14 +414,7 @@
AAV 抗体检查
-
- {{isAav==1?'已检查':'未检查'}}
-
+ {{isAav==1?'已检查':'未检查'}}
提交您的AAV抗体检查报告
@@ -510,14 +452,7 @@
其他检查
-
- {{isOther==1?'已检查':'未检查'}}
-
+ {{isOther==1?'已检查':'未检查'}}
您的其他项检查
diff --git a/src/doctor/pages/revisitRecord/index.scss b/src/doctor/pages/revisitRecord/index.scss
index e20c727..fd8ff67 100644
--- a/src/doctor/pages/revisitRecord/index.scss
+++ b/src/doctor/pages/revisitRecord/index.scss
@@ -22,6 +22,7 @@ page {
padding: 16rpx 32rpx;
display: flex;
.item-title {
+ flex-shrink: 0;
width: 5em;
font-size: 32rpx;
color: rgba(161, 164, 172, 1);
diff --git a/src/doctor/pages/revisitRecord/index.wxml b/src/doctor/pages/revisitRecord/index.wxml
index d704863..0e7b336 100644
--- a/src/doctor/pages/revisitRecord/index.wxml
+++ b/src/doctor/pages/revisitRecord/index.wxml
@@ -10,6 +10,7 @@
日期
{{item.beginDate}}-{{item.endDate}}
+ {{item.beginDate || item.endDate}}
---
diff --git a/src/images/bg27.png b/src/images/bg27.png
new file mode 100644
index 0000000..7f68488
Binary files /dev/null and b/src/images/bg27.png differ
diff --git a/src/images/bg28.png b/src/images/bg28.png
new file mode 100644
index 0000000..85e49bc
Binary files /dev/null and b/src/images/bg28.png differ
diff --git a/src/images/bg29.png b/src/images/bg29.png
new file mode 100644
index 0000000..91cf79b
Binary files /dev/null and b/src/images/bg29.png differ
diff --git a/src/images/bg30.png b/src/images/bg30.png
new file mode 100644
index 0000000..ac5c38d
Binary files /dev/null and b/src/images/bg30.png differ
diff --git a/src/images/guide1.png b/src/images/guide1.png
new file mode 100644
index 0000000..4de3348
Binary files /dev/null and b/src/images/guide1.png differ
diff --git a/src/images/guide2.png b/src/images/guide2.png
new file mode 100644
index 0000000..bf3a401
Binary files /dev/null and b/src/images/guide2.png differ
diff --git a/src/images/guide3.png b/src/images/guide3.png
new file mode 100644
index 0000000..0881501
Binary files /dev/null and b/src/images/guide3.png differ
diff --git a/src/images/icon111.png b/src/images/icon111.png
new file mode 100644
index 0000000..3daad75
Binary files /dev/null and b/src/images/icon111.png differ
diff --git a/src/images/icon112.png b/src/images/icon112.png
new file mode 100644
index 0000000..b55a3c3
Binary files /dev/null and b/src/images/icon112.png differ
diff --git a/src/images/icon113.png b/src/images/icon113.png
new file mode 100644
index 0000000..325be8a
Binary files /dev/null and b/src/images/icon113.png differ
diff --git a/src/images/tabbar/tabbar3-3-active.png b/src/images/tabbar/tabbar3-3-active.png
new file mode 100644
index 0000000..eebe0b7
Binary files /dev/null and b/src/images/tabbar/tabbar3-3-active.png differ
diff --git a/src/images/tabbar/tabbar3-3.png b/src/images/tabbar/tabbar3-3.png
new file mode 100644
index 0000000..c3d607c
Binary files /dev/null and b/src/images/tabbar/tabbar3-3.png differ
diff --git a/src/pages/index/index.scss b/src/pages/index/index.scss
index f321d38..a90fb45 100644
--- a/src/pages/index/index.scss
+++ b/src/pages/index/index.scss
@@ -116,6 +116,8 @@
height: 317rpx;
}
.item-title {
+ width: 424rpx;
+ box-sizing: border-box;
position: absolute;
bottom: 0;
left: 0;
diff --git a/src/patient/pages/askPatient/index.scss b/src/patient/pages/askPatient/index.scss
index 2cd31b6..9cbba55 100644
--- a/src/patient/pages/askPatient/index.scss
+++ b/src/patient/pages/askPatient/index.scss
@@ -88,7 +88,7 @@ page {
text-align: center;
}
.f-header-list {
- margin: 40rpx 32rpx 0;
+ margin: 40rpx 32rpx 24rpx;
padding: 32rpx;
border-radius: 32rpx;
box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(0, 0, 0, 0.06);
@@ -147,7 +147,6 @@ page {
flex-direction: column;
align-items: start;
.message {
- margin-bottom: 32rpx;
padding: 26rpx 32rpx;
background: linear-gradient(13deg, #ffffff 58.17%, #ffcdca 156.6%);
border-radius: 32rpx;
@@ -157,7 +156,6 @@ page {
white-space: pre-line;
}
.week {
- margin-bottom: 32rpx;
padding: 26rpx 32rpx;
background: linear-gradient(13deg, #ffffff 58.17%, #ffcdca 156.6%);
border-radius: 32rpx;
@@ -167,20 +165,38 @@ page {
}
.w-container {
margin-top: 24rpx;
- padding: 16rpx 0;
- background: #f7f7fa;
- border-radius: 24rpx;
- display: grid;
- grid-template-columns: 1fr 1px 1fr;
- .item {
- padding: 16rpx 32rpx;
+ .w-content {
+ padding: 32rpx;
font-size: 32rpx;
- color: rgba(1, 1, 5, 1);
+ color: rgba(40, 48, 49, 1);
+ line-height: 48rpx;
+ border-radius: 24rpx;
+ background-color: rgba(247, 247, 250, 1);
+ white-space: pre-line;
}
- .line {
- margin: 16rpx 0 0;
- height: 40rpx;
- background-color: rgba(161, 164, 172, 0.35);
+ .w-wrap {
+ padding: 16rpx 32rpx;
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ background-color: rgba(247, 247, 250, 1);
+ border-radius: 24rpx;
+ .row {
+ padding: 16rpx 0;
+ display: flex;
+ align-items: center;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ .content {
+ margin-left: 16rpx;
+ }
+ &:nth-of-type(2n-1)::after {
+ margin: 0 16rpx;
+ content: '';
+ width: 1rpx;
+ height: 40rpx;
+ background-color: rgba(161, 164, 172, 0.35);
+ }
+ }
}
}
}
@@ -229,7 +245,6 @@ page {
flex-direction: column;
align-items: flex-end;
.guide {
- margin-bottom: 32rpx;
padding: 32rpx 30rpx;
border-radius: 32rpx 0 32rpx 32rpx;
background: linear-gradient(13deg, #ffffff 8%, #e8f0f1 100%);
@@ -280,7 +295,6 @@ page {
}
}
.message {
- margin-bottom: 32rpx;
padding: 26rpx 32rpx;
background: linear-gradient(180deg, #fc684f 0%, #f33d31 100%);
border-radius: 40rpx;
@@ -307,9 +321,8 @@ page {
background-color: rgba(247, 247, 250, 1);
&.expend {
height: 50vh;
- .options{
+ .options {
padding-bottom: 50rpx;
-
}
.container {
margin-top: -20rpx;
diff --git a/src/patient/pages/askPatient/index.ts b/src/patient/pages/askPatient/index.ts
index 84d9d9a..f8c807d 100644
--- a/src/patient/pages/askPatient/index.ts
+++ b/src/patient/pages/askPatient/index.ts
@@ -53,10 +53,12 @@ Page({
LikeTimes: 0,
userInfo: {},
+
+ week: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
+ timeDay: { 1: '上午', 2: '下午' },
},
onLoad() {
app.waitLogin({ type: 1 }).then(() => {
- app.mpBehavior({ PageName: 'PG_FAQ' })
app.getUserInfo().then((userInfo) => {
this.setData({
userInfo,
@@ -79,7 +81,7 @@ Page({
data: {},
}).then((res) => {
this.setData({
- doctorList: res,
+ doctorList: Object.values(res),
})
})
},
@@ -99,6 +101,12 @@ Page({
res.messageList.map((item) => {
if (item.msgContentType === '1') {
item.msgOtherInfo = JSON.parse(item.msgOtherInfo)
+ } else if (item.msgContentType === '3') {
+ item.msgOtherInfo = JSON.parse(item.msgOtherInfo)
+ } else if (item.msgContentType === '4') {
+ item.msgContent = JSON.parse(item.msgContent)
+ } else if (item.msgContentType === '5') {
+ item.msgContent = JSON.parse(item.msgContent)
}
return item
})
@@ -274,10 +282,56 @@ Page({
})
},
handleSendDate() {
- this.setData({
- popupShow: true,
- popupType: 'selectDoctor',
- popupParams: {},
+ const { doctorList } = this.data
+ console.log('DEBUGPRINT[130]: index.ts:285: doctorList=', doctorList)
+ if (doctorList.length == 1) {
+ this.handleSendDateMessage(doctorList[0].doctorId)
+ } else {
+ this.setData({
+ popupShow: true,
+ popupType: 'selectDoctor',
+ popupParams: {
+ list: doctorList,
+ },
+ })
+ }
+ },
+ handleSendDateMessage(id) {
+ const { messageList } = this.data
+ wx.ajax({
+ method: 'POST',
+ url: '?r=wtx/message-interact/send-get-visit-time',
+ data: { doctorId: id },
+ }).then((res) => {
+ console.log('res: ', res)
+ let params = {}
+ if (res.contentType == 3) {
+ params = {
+ msgId: '',
+ msgContentType: '3',
+ msgContent: res.content,
+ msgVisitTime: res.other.Clinic,
+ msgVisitTimeType: res.other.ClinicType,
+ msgFromType: '2',
+ msgCreateTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
+ msgOtherInfo: res.other,
+ doctorAvatar: res.doctorAvatar,
+ doctorName: res.doctorName,
+ }
+ } else if (res.contentType == 2) {
+ params = {
+ msgId: '',
+ msgContentType: '2',
+ msgContent: res.content,
+ msgFromType: '2',
+ msgCreateTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
+ doctorAvatar: res.doctorAvatar,
+ doctorName: res.doctorName,
+ }
+ }
+ this.setData({
+ messageList: [...messageList, params],
+ })
})
},
handleQuestionTab(e) {
@@ -302,6 +356,13 @@ Page({
url: '/patient/pages/doctorList/index',
})
},
+ handlePopupOk(e) {
+ const { popupType } = this.data
+ if (popupType === 'selectDoctor') {
+ this.handleSendDateMessage(e.detail.id)
+ this.handlePopupCancel()
+ }
+ },
handlePopupCancel() {
this.setData({
popupShow: false,
diff --git a/src/patient/pages/askPatient/index.wxml b/src/patient/pages/askPatient/index.wxml
index 7780420..b427145 100644
--- a/src/patient/pages/askPatient/index.wxml
+++ b/src/patient/pages/askPatient/index.wxml
@@ -51,59 +51,49 @@
-
+
{{message.doctorName}}
{{message.msgContent }}
- 我的出诊时间如下:
+ {{message.msgContent}}:
- 周二 上午
-
- 周二 上午
+
+ {{message.msgOtherInfo.Clinic}}
+
+
+
+ {{week[item.weekday-1]}}
+ {{timeDay[item.timeType]}}
+
+
- 这是您的诊疗地图
+ {{message.msgContent.weekInfo}}
- 填写上你的注射日吧~
+ {{message.msgContent.examInfo}}
点击查看
- 您的专属随访计划
+ {{message.msgContent.weekInfo}}
- 已生成
+ {{message.msgContent.examInfo}}
点击立即查看
-
-
- 现在是您注射后16周
-
- 建议每周1次回院复诊~
-
- 查看我的随访计划
-
diff --git a/src/patient/pages/bbmReport/index.ts b/src/patient/pages/bbmReport/index.ts
index 63ecb0a..c9b4299 100644
--- a/src/patient/pages/bbmReport/index.ts
+++ b/src/patient/pages/bbmReport/index.ts
@@ -14,6 +14,28 @@ Page({
this.getDetail()
})
},
+ handleInput(e) {
+ const { key, length } = e.currentTarget.dataset
+ const value = e.detail.value
+ this.setData({
+ [`${key}`]: this.validateInput(value, length),
+ })
+ },
+ validateInput(val, integerLimit) {
+ let num = val.toString()
+ // 清除“数字”和“.”以外的字符
+ num = num.replace(/[^\d.]/g, '')
+ // 只保留第一个.,清除多余的
+ num = num.replace(/\.{2,}/g, '.')
+ // 限制整数位位数
+ const index = num.indexOf('.')
+ if (index !== -1) {
+ num = num.slice(0, index + integerLimit + 1)
+ } else {
+ num = num.slice(0, integerLimit)
+ }
+ return num
+ },
handleWeight(e) {
const value = e.detail.value
if (value) {
diff --git a/src/patient/pages/bbmReport/index.wxml b/src/patient/pages/bbmReport/index.wxml
index 0af3401..71c1396 100644
--- a/src/patient/pages/bbmReport/index.wxml
+++ b/src/patient/pages/bbmReport/index.wxml
@@ -20,11 +20,14 @@
KG
diff --git a/src/patient/pages/coltStat/index.scss b/src/patient/pages/coltStat/index.scss
index 92cbb31..5c111e3 100644
--- a/src/patient/pages/coltStat/index.scss
+++ b/src/patient/pages/coltStat/index.scss
@@ -96,11 +96,47 @@ page {
}
}
}
+ .form {
+ margin: 80rpx 40rpx 0;
+ display: flex;
+ align-items: center;
+ gap: 18rpx;
+ font-size: 32rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: bold;
+ .picker {
+ flex: 1;
+ .picker-content {
+ padding: 22rpx 32rpx;
+ display: flex;
+ align-items: center;
+ background-color: #fff;
+ border-radius: 12rpx;
+ .content {
+ flex: 1;
+ font-size: 28rpx;
+ color: rgba(1, 1, 5, 1);
+ font-weight: normal;
+ &:empty::after {
+ content: attr(data-place);
+ color: rgba(161, 164, 172, 0.5);
+ }
+ }
+ .tril {
+ width: 0;
+ height: 0;
+ border-style: solid;
+ border-width: 12rpx 12rpx 0 12rpx;
+ border-color: rgba(207, 209, 213, 1) transparent transparent transparent;
+ }
+ }
+ }
+ }
.page-container {
padding: 0 40rpx 40rpx;
.module1 {
margin-top: 32rpx;
- padding: 24rpx 32rpx 32rpx;
+ padding: 16rpx 32rpx;
background: #ffffff;
box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(0, 0, 0, 0.06);
border-radius: 24rpx 24rpx 24rpx 24rpx;
@@ -251,6 +287,7 @@ page {
gap: 20rpx;
font-size: 32rpx;
color: rgba(1, 1, 5, 1);
+ font-weight: bold;
&::before {
content: '';
width: 12rpx;
@@ -323,6 +360,7 @@ page {
gap: 20rpx;
font-size: 32rpx;
color: rgbargba(137, 141, 151, 1) (1, 1, 5, 1);
+ font-weight: bold;
padding-bottom: 16rpx;
&::before {
content: '';
diff --git a/src/patient/pages/coltStat/index.ts b/src/patient/pages/coltStat/index.ts
index 59e93ad..464269a 100644
--- a/src/patient/pages/coltStat/index.ts
+++ b/src/patient/pages/coltStat/index.ts
@@ -37,6 +37,9 @@ Page({
},
},
+ beginDate: dayjs().subtract(1, 'M').startOf('month').format('YYYY-MM-DD'),
+ endDate: dayjs().format('YYYY-MM-DD'),
+
tabActve: 2,
iDays: '',
@@ -109,13 +112,11 @@ Page({
})
},
getRangeDate() {
- const calendar = this.selectComponent('#calendar').calendar
- const dates = calendar.getCalendarDates()
- console.log('DEBUGPRINT[96]: index.ts:69: dates=')
+ const { beginDate, endDate } = this.data
return {
- beginDate: `${dates[0].year}-${dates[0].month}-${dates[0].date}`,
- endDate: `${dates.at(-1).year}-${dates.at(-1).month}-${dates.at(-1).date}`,
+ beginDate,
+ endDate,
}
},
setCalendarTodos({ bleedDate = [], injectionDate = [] }: { bleedDate: any[]; injectionDate: string[] }) {
@@ -183,7 +184,6 @@ Page({
month,
},
})
- this.handleUpdate()
this.handleIsDisableRight()
},
handleCalendarSwitch(e: any) {
@@ -225,7 +225,6 @@ Page({
beginDate: dayjs(`${year}-${month}-01`).startOf('month').format('YYYY-MM-DD'),
endDate: dayjs(`${year}-${month}-01`).endOf('month').format('YYYY-MM-DD'),
})
- this.handleUpdate()
this.handleIsDisableRight()
},
handleCalendarCurrent() {
@@ -243,7 +242,6 @@ Page({
month,
},
})
- this.handleUpdate()
this.handleIsDisableRight()
},
handleCalendarMore() {
@@ -274,7 +272,6 @@ Page({
this.setData({
['calendarConfig.weekMode']: !weekMode,
})
- this.handleUpdate()
},
handleIsDisableRight() {
const { year, month } = this.data.calendarCurrent
diff --git a/src/patient/pages/coltStat/index.wxml b/src/patient/pages/coltStat/index.wxml
index ed91774..41cf74f 100644
--- a/src/patient/pages/coltStat/index.wxml
+++ b/src/patient/pages/coltStat/index.wxml
@@ -56,6 +56,21 @@
+
+
+
+ {{beginDate}}
+
+
+
+ -
+
+
+ {{endDate}}
+
+
+
+
我的健康变化
@@ -106,13 +121,14 @@
-
+
{{item.beginDate}}~{{item.endDate}}
+ {{item.beginDate || item.endDate}}
--
{{item.periodName}}
@@ -131,7 +147,8 @@
{{item.beginDate}}~{{item.endDate}}
- --
+ {{item.beginDate || item.endDate}}
+ 未填写
{{item.periodName}}
diff --git a/src/patient/pages/course/index.ts b/src/patient/pages/course/index.ts
index a3d3934..5db40a4 100644
--- a/src/patient/pages/course/index.ts
+++ b/src/patient/pages/course/index.ts
@@ -120,9 +120,10 @@ Page({
url: `/patient/pages/inhibitorsManageList/index?period=${period}`,
})
},
- handleFollowPlan() {
+ handleFollowPlan(e) {
+ const { period } = e.currentTarget.dataset
wx.navigateTo({
- url: '/patient/pages/followPlan/index',
+ url: `/patient/pages/followPlan/index?period=${period}`,
})
},
handleLastDiagnosisReport() {
diff --git a/src/patient/pages/course/index.wxml b/src/patient/pages/course/index.wxml
index e1e6423..fe3cbfc 100644
--- a/src/patient/pages/course/index.wxml
+++ b/src/patient/pages/course/index.wxml
@@ -337,7 +337,7 @@
-
+
-->
日期
- {{item.beginDate}}~{{item.endDate}}
+
+ {{item.beginDate}}~
+ {{item.endDate}}
+
+ {{item.beginDate || item.endDate}}
--
@@ -63,7 +67,7 @@
{{item.totalNum}}/{{item.allNum}}
-
+
查看全部
@@ -120,7 +124,10 @@
日期
- {{item.beginDate}}~{{item.endDate}}
+
+ {{item.beginDate}}~
+ {{item.endDate}}
+
未填写
@@ -160,7 +167,10 @@
日期
- {{item.beginDate}}~{{item.endDate}}
+
+ {{item.beginDate}}~
+ {{item.endDate}}
+
未填写
@@ -306,7 +316,10 @@
-
+
{
this.getDetail()
this.addVisitRecord()
@@ -42,7 +47,8 @@ Page({
},
handleLastDiagnosisReport() {
wx.navigateTo({
- url: '/patient/pages/lastDiagnosisReport/index',
+ // url: '/patient/pages/lastDiagnosisReport/index',
+ url: `/patient/pages/lastDiagnosisReport/index?period=${this.data.period}`,
})
},
})
diff --git a/src/patient/pages/index/index.scss b/src/patient/pages/index/index.scss
index 13493c3..3f4f477 100644
--- a/src/patient/pages/index/index.scss
+++ b/src/patient/pages/index/index.scss
@@ -356,9 +356,9 @@ page {
}
}
}
- .module1 {
- margin-top: 48rpx;
- .m-header {
+ .info {
+ margin-top: 50rpx;
+ .i-header {
display: flex;
align-items: center;
justify-content: space-between;
@@ -368,14 +368,42 @@ page {
font-weight: bold;
}
.more {
- font-size: 24rpx;
- color: rgba(1, 1, 5, 0.36);
+ font-size: 28rpx;
+ color: rgba(1, 1, 5, 0.4);
}
}
- .m-card {
- margin-top: 24rpx;
- width: 670rpx;
- height: 280rpx;
+ .info-list {
+ padding-right: 40rpx;
+ padding-left: 40rpx;
+ margin: 30rpx -40rpx 0;
+ overflow-x: auto;
+ overflow-y: hidden;
+ display: flex;
+ gap: 24rpx;
+ &::-webkit-scrollbar {
+ display: none;
+ }
+ .card {
+ flex-shrink: 0;
+ .photo {
+ width: 424rpx;
+ height: 246rpx;
+ border-radius: 24rpx 24rpx 0 0;
+ }
+ .content {
+ max-width: 424rpx;
+ box-sizing: border-box;
+ padding: 20rpx;
+ font-size: 28rpx;
+ color: rgba(1, 1, 5, 1);
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ background-color: #fff;
+ line-height: 32rpx;
+ border-radius: 0 0 24rpx 24rpx;
+ }
+ }
}
}
@@ -457,3 +485,25 @@ page {
}
}
}
+
+.preview {
+ position: fixed;
+ width: 100vw;
+ height: 100vh;
+ z-index: 1000000000;
+ top: 0;
+ left: 0;
+ overflow: hidden;
+ .img {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ opacity: 0;
+ display: block;
+ }
+ .show {
+ opacity: 1;
+ }
+}
diff --git a/src/patient/pages/index/index.ts b/src/patient/pages/index/index.ts
index 6bc7d3d..70596a5 100644
--- a/src/patient/pages/index/index.ts
+++ b/src/patient/pages/index/index.ts
@@ -26,6 +26,12 @@ Page({
userInfo: {} as any,
isLoad: false,
+
+ knowledgeList: [] as any,
+
+ guide: 0,
+ guideShow: false,
+ guideList: ['1', '2', '3'],
},
onLoad() {
app.waitLogin({ type: 1 }).then(() => {
@@ -38,6 +44,7 @@ Page({
'$1',
),
})
+ this.getKnowledge()
this.getBindDoctorList()
this.getTeratmentInfo()
const waitBindDoctorId = app.globalData.waitBindDoctorId
@@ -63,7 +70,7 @@ Page({
data: {},
}).then((res) => {
this.setData({
- doctorList: res,
+ doctorList: Object.values(res),
})
})
},
@@ -79,6 +86,35 @@ Page({
})
})
},
+ getKnowledge() {
+ wx.ajax({
+ method: 'GET',
+ url: '?r=wtx/knowledge/index-list',
+ data: {},
+ }).then((res) => {
+ this.setData({
+ knowledgeList: res.list,
+ })
+ })
+ },
+ handleInfoMore() {
+ wx.navigateTo({
+ url: '/patient/pages/knowledge/index',
+ })
+ },
+ handleInfoDetail(e) {
+ const { index } = e.currentTarget.dataset
+ const params = this.data.knowledgeList[index]
+ if (params.Type == 1) {
+ wx.navigateTo({
+ url: `/patient/pages/knowledgeDetail/index?id=${params.Id}`,
+ })
+ return
+ }
+ wx.navigateTo({
+ url: `/patient/pages/knowledgeDetailVideo/index?id=${params.Id}`,
+ })
+ },
handleSwiperChange(e) {
const query = wx.createSelectorQuery()
query.select(`#process${e.detail.current}`).boundingClientRect()
@@ -213,6 +249,16 @@ Page({
popupType: '',
})
},
+ handleTapPreview() {
+ if (this.data.guide == this.data.guideList.length - 1) {
+ this.setData({
+ guideShow: false,
+ })
+ }
+ this.setData({
+ guide: Number(this.data.guide) + 1,
+ })
+ },
})
export {}
diff --git a/src/patient/pages/index/index.wxml b/src/patient/pages/index/index.wxml
index 52569d1..65d3d18 100644
--- a/src/patient/pages/index/index.wxml
+++ b/src/patient/pages/index/index.wxml
@@ -190,15 +190,20 @@
-
-
+
+
+
+
至
-
+
{{endDate}}
@@ -65,10 +65,11 @@
总胆红素
您的凝血因子水平
{
app.getUserInfo(1).then((userInfo) => {
this.setData({
diff --git a/src/patient/pages/preDiagnosisReport/index.scss b/src/patient/pages/preDiagnosisReport/index.scss
index 2e52b6b..9f88b96 100644
--- a/src/patient/pages/preDiagnosisReport/index.scss
+++ b/src/patient/pages/preDiagnosisReport/index.scss
@@ -33,15 +33,17 @@ page {
.picker {
flex: 1;
.picker-content {
- padding: 22rpx 32rpx;
+ padding: 22rpx 16rpx;
display: flex;
align-items: center;
+ 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);
+ white-space: nowrap;
&:empty::after {
content: attr(data-place);
color: rgba(161, 164, 172, 0.5);
diff --git a/src/patient/pages/preDiagnosisReport/index.wxml b/src/patient/pages/preDiagnosisReport/index.wxml
index 740dffd..389c72b 100644
--- a/src/patient/pages/preDiagnosisReport/index.wxml
+++ b/src/patient/pages/preDiagnosisReport/index.wxml
@@ -12,7 +12,7 @@
至
-
+
{{endDate}}
@@ -22,7 +22,8 @@