diff --git a/project.private.config.json b/project.private.config.json index 57b6973..4b63061 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -8,6 +8,27 @@ "miniprogram": { "list": [ { + "name": "聊天室", + "pathName": "module1/pages/chatRoom/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "聊天室信息", + "pathName": "module1/pages/chatRoomInfo/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "聊天室列表", + "pathName": "pages/chatRoomList/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { "name": "病历反馈", "pathName": "module1/pages/casesFeedback/index", "query": "", diff --git a/src/app.json b/src/app.json index ef24cf4..0c2daa3 100644 --- a/src/app.json +++ b/src/app.json @@ -1,6 +1,6 @@ { "$schema": "https://dldir1.qq.com/WechatWebDev/editor-extension/wx-json/app.schema.json", - "pages": ["pages/start/index", "pages/home/index", "pages/cases/index", "pages/my/index"], + "pages": ["pages/start/index", "pages/home/index", "pages/cases/index", "pages/my/index", "pages/chatRoomList/index"], "subPackages": [ { "root": "echart", @@ -28,7 +28,9 @@ "pages/entryCases/index", "pages/entryCasesResult/index", "pages/casesDetail/index", - "pages/casesFeedback/index" + "pages/casesFeedback/index", + "pages/chatRoom/index", + "pages/chatRoomInfo/index" ] } ], @@ -52,6 +54,10 @@ "text": "病历" }, { + "pagePath": "pages/chatRoomList/index", + "text": "我的" + }, + { "pagePath": "pages/my/index", "text": "我的" } diff --git a/src/custom-tab-bar/index.ts b/src/custom-tab-bar/index.ts index 6197eda..30be479 100644 --- a/src/custom-tab-bar/index.ts +++ b/src/custom-tab-bar/index.ts @@ -29,14 +29,14 @@ Component({ path: '/module1/pages/entryCases/index', }, { - path: '/pages/home/index', - name: '首页', + path: '/pages/chatRoomList/index', + name: '聊天室', icon: 'tab3.png', iconActive: 'tab-active3.png', }, { - path: '/pages/home/index', - name: '首页', + path: '/pages/my/index', + name: '我的', icon: 'tab4.png', iconActive: 'tab-active3.png', }, diff --git a/src/module1/pages/chatRoom/index.json b/src/module1/pages/chatRoom/index.json new file mode 100644 index 0000000..c42b95a --- /dev/null +++ b/src/module1/pages/chatRoom/index.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "聊天室", + "navigationStyle": "default", + "usingComponents": { + "van-icon": "@vant/weapp/icon/index" + } +} diff --git a/src/module1/pages/chatRoom/index.scss b/src/module1/pages/chatRoom/index.scss new file mode 100644 index 0000000..3b9a5c4 --- /dev/null +++ b/src/module1/pages/chatRoom/index.scss @@ -0,0 +1,82 @@ +page { + background-color: rgba(246, 246, 246, 1); +} +.page { + .header { + padding: 26rpx 32rpx 30rpx; + background-color: #fff; + border-radius: 16rpx; + border-radius: 0 0 0 32rpx; + .info { + padding: 24rpx; + background: #f6f6f6; + box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.1); + border-radius: 16rpx 16rpx 16rpx 16rpx; + border: 2rpx solid #ffffff; + display: flex; + gap: 28rpx; + align-items: flex-start; + .photos { + padding: 4rpx; + display: grid; + grid-template-columns: repeat(2, 40rpx); + grid-template-rows: repeat(2, 40rpx); + background-color: #fff; + border-radius: 8rpx; + gap: 4rpx; + .photo { + width: 100%; + height: 100%; + } + } + .inner { + flex: 1; + padding-left: 24rpx; + border-left: 1px solid rgba(205, 205, 205, 0.5); + .c-header { + display: flex; + align-items: center; + justify-content: space-between; + .id { + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + } + .detail { + font-size: 28rpx; + color: rgba(153, 153, 153, 1); + } + } + .c-footer { + margin-top: 16rpx; + line-height: 28rpx; + .name { + display: inline-block; + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + } + .line { + margin: 0 10rpx; + display: inline; + font-size: 24rpx; + color: rgba(205, 205, 205, 0.5); + } + .hostipal { + margin-right: 10rpx; + display: inline; + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + } + .site { + display: inline-block; + padding: 0 8rpx; + font-size: 24rpx; + line-height: 32rpx; + color: rgba(148, 87, 30, 1); + background: #fae5ce; + border-radius: 4rpx 4rpx 4rpx 4rpx; + } + } + } + } + } +} diff --git a/src/module1/pages/chatRoom/index.ts b/src/module1/pages/chatRoom/index.ts new file mode 100644 index 0000000..b792ee4 --- /dev/null +++ b/src/module1/pages/chatRoom/index.ts @@ -0,0 +1,6 @@ +const _app = getApp(); + +Page({ + data: {}, + onLoad() {}, +}); diff --git a/src/module1/pages/chatRoom/index.wxml b/src/module1/pages/chatRoom/index.wxml new file mode 100644 index 0000000..6c41982 --- /dev/null +++ b/src/module1/pages/chatRoom/index.wxml @@ -0,0 +1,39 @@ + + + + + + + + + + + + ID:2024020913049204001 + + 详情 + + + + + 刘欢 + | + 广东省人民医院 + 广州市/番禺区 + + + + + diff --git a/src/module1/pages/chatRoomInfo/index.json b/src/module1/pages/chatRoomInfo/index.json new file mode 100644 index 0000000..dc1a944 --- /dev/null +++ b/src/module1/pages/chatRoomInfo/index.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "聊天室信息", + "navigationStyle": "default", + "usingComponents": { + "doctorAvatar": "/components/doctorAvatar/index", + "van-icon": "@vant/weapp/icon/index" + } +} diff --git a/src/module1/pages/chatRoomInfo/index.scss b/src/module1/pages/chatRoomInfo/index.scss new file mode 100644 index 0000000..4adeaf0 --- /dev/null +++ b/src/module1/pages/chatRoomInfo/index.scss @@ -0,0 +1,44 @@ +page { + background-color: rgba(246, 246, 246, 1); +} +.page { + padding: 24rpx 32rpx; + .container { + padding: 32rpx; + border-radius: 16rpx; + background-color: #fff; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + gap: 28rpx; + .user { + flex-shrink: 0; + .avatar { + display: block; + width: 102rpx; + height: 102rpx; + } + .name { + margin-top: 14rpx; + text-align: center; + font-size: 24rpx; + color: rgba(133, 133, 133, 1); + line-height: 28rpx; + max-width: 4em; + } + } + .add { + flex-shrink: 0; + width: 102rpx; + height: 102rpx; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 50rpx; + font-weight: bold; + color: #cdcdcd; + border: 2rpx dashed #cdcdcd; + } + } +} diff --git a/src/module1/pages/chatRoomInfo/index.ts b/src/module1/pages/chatRoomInfo/index.ts new file mode 100644 index 0000000..b792ee4 --- /dev/null +++ b/src/module1/pages/chatRoomInfo/index.ts @@ -0,0 +1,6 @@ +const _app = getApp(); + +Page({ + data: {}, + onLoad() {}, +}); diff --git a/src/module1/pages/chatRoomInfo/index.wxml b/src/module1/pages/chatRoomInfo/index.wxml new file mode 100644 index 0000000..b7962aa --- /dev/null +++ b/src/module1/pages/chatRoomInfo/index.wxml @@ -0,0 +1,15 @@ + + + + + 王鸿军 + + + + + + diff --git a/src/pages/chatRoomList/index.json b/src/pages/chatRoomList/index.json new file mode 100644 index 0000000..6e7cb42 --- /dev/null +++ b/src/pages/chatRoomList/index.json @@ -0,0 +1,8 @@ +{ + "navigationStyle": "default", + "navigationBarTitleText": "聊天室", + "usingComponents": { + "van-icon": "@vant/weapp/icon/index", + "van-popup": "@vant/weapp/popup/index" + } +} diff --git a/src/pages/chatRoomList/index.scss b/src/pages/chatRoomList/index.scss new file mode 100644 index 0000000..8fcda55 --- /dev/null +++ b/src/pages/chatRoomList/index.scss @@ -0,0 +1,290 @@ +page { + background-color: rgba(246, 246, 246, 1); +} +.page { + padding-bottom: 240rpx; + .header { + background-color: #fff; + border-radius: 0 0 32rpx 32rpx; + .navbar { + display: flex; + align-items: center; + justify-content: space-between; + .nav { + padding: 20rpx; + flex: 1; + text-align: center; + font-size: 32rpx; + color: rgba(133, 133, 133, 1); + line-height: 44rpx; + &.active { + position: relative; + color: rgba(0, 180, 197, 1); + &::after { + position: absolute; + bottom: 0; + left: 50%; + transform: translateX(-50%); + width: 48rpx; + height: 8rpx; + border-radius: 8rpx 8rpx 0 0; + content: ''; + background-color: rgba(0, 180, 197, 1); + } + } + } + } + .search { + margin: 32rpx 32rpx 0; + padding: 16rpx 32rpx; + display: flex; + align-items: center; + border-radius: 122rpx; + background-color: rgba(246, 246, 246, 1); + .icon { + margin-right: 14rpx; + width: 32rpx; + height: 32rpx; + } + .input { + flex: 1; + font-size: 28rpx; + color: #000; + } + .place-input { + color: rgba(205, 205, 205, 1); + } + } + .form { + margin: 32rpx 32rpx 0; + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 18rpx 28rpx; + .row { + display: flex; + align-items: center; + gap: 16rpx; + .label { + flex-shrink: 0; + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + } + .picker { + flex: 1; + } + .picker-content { + flex: 1; + padding: 16rpx 20rpx; + font-size: 28rpx; + color: rgba(153, 153, 153, 1); + line-height: 32rpx; + background: #f6f6f6; + border-radius: 12rpx 12rpx 12rpx 12rpx; + display: flex; + align-items: center; + justify-content: space-between; + .content { + max-width: 6em; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } + } + } + .station { + padding: 32rpx; + display: flex; + align-items: center; + justify-content: flex-end; + .fold { + font-size: 28rpx; + color: rgba(153, 153, 153, 1); + } + } + } + .filter { + padding: 32rpx; + display: flex; + align-items: center; + justify-content: space-between; + .wrap { + display: flex; + align-items: center; + gap: 16rpx; + .btn { + padding: 8rpx 25rpx; + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + line-height: 32rpx; + background: #ffffff; + border-radius: 40rpx 40rpx 40rpx 40rpx; + &.active { + color: #fff; + background-color: rgba(0, 180, 197, 1); + } + } + } + .all-read { + font-size: 28rpx; + color: rgba(0, 180, 197, 1); + } + } + .room-list { + padding: 0 32rpx; + .card { + margin-bottom: 24rpx; + background: linear-gradient(180deg, #f1feff 0%, #ffffff 35%, #ffffff 100%); + border-radius: 16rpx 16rpx 16rpx 16rpx; + border: 2rpx solid #ffffff; + .c-header { + padding: 32rpx 32rpx 32rpx 0; + display: flex; + justify-content: space-between; + align-items: center; + .id { + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + line-height: 40rpx; + &::before { + margin-right: 22rpx; + display: inline-block; + content: ''; + vertical-align: top; + width: 10rpx; + height: 40rpx; + background: #00b4c5; + border-radius: 0rpx 0rpx 0rpx 0rpx; + } + } + .date { + font-size: 28rpx; + color: rgba(153, 153, 153, 1); + } + } + .c-container { + margin: 0 32rpx; + padding: 24rpx; + background: #f6f6f6; + border-radius: 16rpx 16rpx 16rpx 16rpx; + display: flex; + gap: 28rpx; + align-items: flex-start; + .photos { + padding: 4rpx; + display: grid; + grid-template-columns: repeat(2, 36rpx); + grid-template-rows: repeat(2, 36rpx); + background-color: #fff; + border-radius: 8rpx; + gap: 4rpx; + .photo { + width: 100%; + height: 100%; + } + } + .inner { + .hostipal { + display: inline; + font-size: 32rpx; + color: rgba(20, 21, 21, 1); + font-weight: bold; + .site { + display: inline-block; + padding: 0 8rpx; + font-size: 24rpx; + color: rgba(148, 87, 30, 1); + background: #fae5ce; + border-radius: 4rpx 4rpx 4rpx 4rpx; + } + } + .content { + margin-top: 8rpx; + font-size: 28rpx; + color: rgba(133, 133, 133, 1); + line-height: 32rpx; + } + } + } + .c-footer { + padding: 32rpx; + display: flex; + justify-content: space-between; + .name { + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + line-height: 32rpx; + } + .tags { + padding-left: 24rpx; + flex: 1; + display: flex; + flex-wrap: wrap; + gap: 12rpx; + .tag { + padding: 2rpx 8rpx; + font-size: 22rpx; + color: rgba(0, 180, 197, 1); + line-height: 32rpx; + border-radius: 4rpx 4rpx 4rpx 4rpx; + border: 1rpx solid #bfeff4; + } + } + } + } + } +} + +.popup1 { + padding: 48rpx 32rpx; + width: 580rpx; + background: linear-gradient(180deg, #e5f5f7 0%, #ffffff 17%); + border-radius: 16rpx 16rpx 16rpx 16rpx; + border: 2rpx solid #ffffff; + .title { + font-size: 36rpx; + color: rgba(20, 21, 21, 1); + line-height: 48rpx; + font-weight: bold; + text-align: center; + } + .scroll { + margin-top: 24rpx; + max-height: 680rpx; + overflow-y: auto; + overflow-x: hidden; + .s-title { + margin-top: 24rpx; + font-size: 28rpx; + color: rgba(20, 21, 21, 1); + line-height: 56rpx; + font-weight: bold; + } + .s-content { + font-size: 28rpx; + color: rgba(133, 133, 133, 1); + line-height: 48rpx; + } + } + .tip { + margin-top: 24rpx; + padding: 16rpx; + border-radius: 10rpx; + text-align: center; + font-size: 24rpx; + color: rgba(255, 125, 0, 1); + line-height: 40rpx; + background-color: rgba(255, 247, 232, 1); + } + .btn { + margin-top: 24rpx; + height: 72rpx; + font-size: 32rpx; + color: rgba(255, 255, 255, 1); + display: flex; + align-items: center; + justify-content: center; + background: linear-gradient(90deg, #00b4c5 0%, #54e2b4 100%); + border-radius: 60rpx 60rpx 60rpx 60rpx; + } +} diff --git a/src/pages/chatRoomList/index.ts b/src/pages/chatRoomList/index.ts new file mode 100644 index 0000000..f15c673 --- /dev/null +++ b/src/pages/chatRoomList/index.ts @@ -0,0 +1,14 @@ +const _app = getApp() + +Page({ + data: { + fold: true, + show1: false, + }, + onLoad() {}, + handleRoom() { + wx.navigateTo({ + url: '/module1/pages/chatRoom/index', + }) + }, +}) diff --git a/src/pages/chatRoomList/index.wxml b/src/pages/chatRoomList/index.wxml new file mode 100644 index 0000000..2419ea9 --- /dev/null +++ b/src/pages/chatRoomList/index.wxml @@ -0,0 +1,133 @@ + + + + + + + + + 状态 + + 全全部全部全部全部全部全部全部全部全部全部部 + + + + + 医院 + + 全全部全部全部全部全部全部全部全部全部全部部 + + + + + 创建 + + + 全全部全部全部全部全部全部全部全部全部全部部 + + + + + + 更新 + + + 全全部全部全部全部全部全部全部全部全部全部部 + + + + + + 标签 + + 全全部全部全部全部全部全部全部全部全部全部部 + + + + + 地区 + + + 全全部全部全部全部全部全部全部全部全部全部部 + + + + + + + + 收起 + + + + + + + 全部 + 未读 + 已读 + + 全部标为已读 + + + + + ID:2024020913049204001 + 10:34 + + + + + + + + + + + 广东省人民医院 + 广州市/番禺区 + + 好的,那我们就按照这种方式来进医院 + + + + 杨梦 副主任医师 + + 心律失常 + 心律失常 + 心律失常 + + + + + + + + + 用户须知 + + + 为了确保患者隐私得到充分保护,我们要求所有使用本小程序的医疗保健专业人士(HCP)遵守以下协议。 + + 一、用户同意 + + 在使用本小程序上传患者档案之前,您必须同意以下条款:隐私保护:我确认我已经阅读并理解了本小程序的隐私政策,并将严格遵守所有相关的隐私保护规定。 + 信息处理:我保证在上传任何患者档案信息之前,已经彻底去除了所有患者的敏感隐私信息,包括但不限于姓名、地址、身份证号、电话 + + + 聊天室自动将此病历讨论医生拉入讨论 + 确定 + + diff --git a/wxmlComponent/index.json b/wxmlComponent/index.json new file mode 100644 index 0000000..a89ef4d --- /dev/null +++ b/wxmlComponent/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} diff --git a/wxmlComponent/index.scss b/wxmlComponent/index.scss new file mode 100644 index 0000000..e69de29 diff --git a/wxmlComponent/index.ts b/wxmlComponent/index.ts new file mode 100644 index 0000000..82539bc --- /dev/null +++ b/wxmlComponent/index.ts @@ -0,0 +1,25 @@ +const _app = getApp(); + +// pages/story/a.ts +Component({ + /** + * 组件的属性列表 + */ + properties: { + + }, + + /** + * 组件的初始数据 + */ + data: { + + }, + + /** + * 组件的方法列表 + */ + methods: { + + } +}) diff --git a/wxmlComponent/index.wxml b/wxmlComponent/index.wxml new file mode 100644 index 0000000..dd015b7 --- /dev/null +++ b/wxmlComponent/index.wxml @@ -0,0 +1,2 @@ + +pages/story/a.wxml diff --git a/wxmlPage/index.json b/wxmlPage/index.json new file mode 100644 index 0000000..a97367d --- /dev/null +++ b/wxmlPage/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} diff --git a/wxmlPage/index.scss b/wxmlPage/index.scss new file mode 100644 index 0000000..e69de29 diff --git a/wxmlPage/index.ts b/wxmlPage/index.ts new file mode 100644 index 0000000..b792ee4 --- /dev/null +++ b/wxmlPage/index.ts @@ -0,0 +1,6 @@ +const _app = getApp(); + +Page({ + data: {}, + onLoad() {}, +}); diff --git a/wxmlPage/index.wxml b/wxmlPage/index.wxml new file mode 100644 index 0000000..a10af0e --- /dev/null +++ b/wxmlPage/index.wxml @@ -0,0 +1,2 @@ + +pages/story/index.wxml