diff --git a/app.json b/app.json
index a7b713e..b2aed28 100644
--- a/app.json
+++ b/app.json
@@ -28,6 +28,30 @@
"root": "pages/forGetPassword",
"name": "forGetPassword",
"pages": ["index"]
+ },
+ {
+ "root": "pages/clockIn",
+ "name": "clockIn",
+ "pages": ["index"]
+ }
+ ,
+ {
+ "root": "pages/medicationRecord",
+ "name": "medicationRecord",
+ "pages": ["index"]
+ },
+ {
+ "root": "pages/followUp",
+ "name": "followUp",
+ "pages": ["index"]
+ },{
+ "root": "pages/register",
+ "name": "register",
+ "pages": ["index"]
+ },{
+ "root": "pages/emergency",
+ "name": "emergency",
+ "pages": ["index"]
}
],
"window": {
diff --git a/pages/clockIn/index.js b/pages/clockIn/index.js
new file mode 100644
index 0000000..dcf9371
--- /dev/null
+++ b/pages/clockIn/index.js
@@ -0,0 +1,84 @@
+// pages/clockIn/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ newTime: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ const now = new Date()
+ const year = now.getFullYear()
+ const month = now.getMonth() + 1
+ const day = now.getDate()
+ const hours = now.getHours()
+ const minutes = now.getMinutes()
+ const seconds = now.getSeconds()
+
+ const formattedTime = `${year}年${month.toString().padStart(2, '0')}月${day.toString().padStart(2, '0')}日`
+
+ this.setData({
+ newTime: formattedTime
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ },
+ toRecord() {
+ wx.navigateTo({
+ url: '/pages/medicationRecord/index',
+ })
+ }
+})
\ No newline at end of file
diff --git a/pages/clockIn/index.json b/pages/clockIn/index.json
new file mode 100644
index 0000000..bca4324
--- /dev/null
+++ b/pages/clockIn/index.json
@@ -0,0 +1,8 @@
+{
+ "usingComponents": {
+ "t-button": "tdesign-miniprogram/button/button",
+ "t-tag": "tdesign-miniprogram/tag/tag"
+ },
+ "navigationStyle": "default",
+ "navigationBarTitleText": "服药打卡"
+}
\ No newline at end of file
diff --git a/pages/clockIn/index.less b/pages/clockIn/index.less
new file mode 100644
index 0000000..6bc07e3
--- /dev/null
+++ b/pages/clockIn/index.less
@@ -0,0 +1,44 @@
+/* pages/clockIn/index.wxss */
+.clockin{
+ padding: 36rpx;
+ padding-bottom: 120rpx;
+ .new-time{
+ font-size: 28rpx;
+ }
+ .clockin-item{
+ margin-top: 36rpx;
+ background-color: #fff;
+ border-radius: 20rpx;
+ padding: 28rpx;
+ .t-button{
+ }
+ .item-top{
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+ .active{
+ color: var(--td-brand-color);
+ }
+ }
+ .medicine-name{
+ font-weight: bold;
+ margin-bottom: 12rpx;
+ }
+ .dose{
+ font-size: 28rpx;
+ margin-bottom: 16rpx;
+ }
+ }
+ .footer-example{
+ position: fixed;
+ bottom: 42rpx;
+ width: 100%;
+ left: 0;
+ text-align: center;
+ color: var(--td-brand-color);
+ font-size: 28rpx;
+ line-height: 60rpx;
+ line-height: 60rpx;
+ }
+}
\ No newline at end of file
diff --git a/pages/clockIn/index.wxml b/pages/clockIn/index.wxml
new file mode 100644
index 0000000..0e24631
--- /dev/null
+++ b/pages/clockIn/index.wxml
@@ -0,0 +1,17 @@
+
+
+ {{newTime}}
+
+
+
+ 早上
+ 已完成
+
+ 优思弗
+ 1片 饭后服用
+ 打卡
+
+
+
\ No newline at end of file
diff --git a/pages/emergency/index.js b/pages/emergency/index.js
new file mode 100644
index 0000000..427f5b8
--- /dev/null
+++ b/pages/emergency/index.js
@@ -0,0 +1,109 @@
+// pages/emergency/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ visible: false,
+ current: ['checkbox1', 'checkbox2'],
+ options: [
+
+ {
+ label: '发热',
+ value: 'checkbox1',
+ content: '体温≥38°',
+ maxContentRow: 2,
+ icon: "rectangle"
+ },
+ {
+ label: '白色或陶土样大便',
+ value: 'checkbox2',
+ content: '排便颜色异常',
+ maxContentRow: 2,
+ // defaultChecked: ' default-checked',
+ icon: "rectangle"
+ },
+ {
+ label: '腹胀/食欲下降',
+ value: 'checkbox3',
+ content: '消化系统不适',
+ maxContentRow: 2,
+ icon: "rectangle"
+ },
+ {
+ label: '消化道出血',
+ value: 'checkbox4',
+ content: '血便或黑便',
+ maxContentRow: 2,
+ icon: "rectangle"
+ },
+ ],
+ },
+
+ openFlow(){
+ this.setData({
+ visible: true
+ })
+ },
+ closeFlow(){
+ this.setData({
+ visible: false
+ })
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/emergency/index.json b/pages/emergency/index.json
new file mode 100644
index 0000000..1c2193e
--- /dev/null
+++ b/pages/emergency/index.json
@@ -0,0 +1,10 @@
+{
+ "usingComponents": {
+ "t-checkbox": "tdesign-miniprogram/checkbox/checkbox",
+ "t-checkbox-group": "tdesign-miniprogram/checkbox-group/checkbox-group",
+ "t-button": "tdesign-miniprogram/button/button",
+ "t-popup": "tdesign-miniprogram/popup/popup",
+ "t-icon": "tdesign-miniprogram/icon/icon"
+ },
+ "navigationBarTitleText": "紧急通道"
+}
\ No newline at end of file
diff --git a/pages/emergency/index.less b/pages/emergency/index.less
new file mode 100644
index 0000000..2399267
--- /dev/null
+++ b/pages/emergency/index.less
@@ -0,0 +1,50 @@
+/* pages/emergency/index.wxss */
+
+.emergency{
+ padding: 28rpx;
+ .checkbox-group{
+ border-radius: 20rpx;
+ overflow: hidden;
+ margin-top: 28rpx;
+ margin-bottom: 28rpx;
+ }
+
+}
+
+.t-overlay{
+ top: 0!important;
+}
+.block {
+ color: var(--td-text-color-secondary);
+ // display: flex;
+ // align-items: center;
+ // justify-content: center;
+}
+.block--center{
+ width: 90vw;
+ height: 580rpx;
+ padding: 50rpx;
+ box-sizing: border-box;
+ text-align: center;
+ .waring-icon{
+ width: 100rpx;
+ height: 100rpx;
+ border-radius: 100rpx;
+ color: #f6685d;
+ background-color: #ffd8d2;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 20rpx auto;
+ margin-bottom: 28rpx;
+ }
+ .block-desp{
+ margin-top: 20rpx;
+ margin-bottom: 50rpx;
+ font-size: 28rpx;
+ color: #5e5e5e;
+ }
+ .block-btn{
+ margin-bottom: 20rpx;
+ }
+}
\ No newline at end of file
diff --git a/pages/emergency/index.wxml b/pages/emergency/index.wxml
new file mode 100644
index 0000000..dbbf886
--- /dev/null
+++ b/pages/emergency/index.wxml
@@ -0,0 +1,26 @@
+
+
+
+症状自检
+
+
+
+提交
+
+
+
+
+
+
+
+ 高危预警
+ 您的症状组合提示可能存在胆管炎风险
+ 立即联系医生
+ 暂不处理
+
+
\ No newline at end of file
diff --git a/pages/followUp/index.js b/pages/followUp/index.js
new file mode 100644
index 0000000..388c7e4
--- /dev/null
+++ b/pages/followUp/index.js
@@ -0,0 +1,189 @@
+// pages/followUp/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ style: 'border: 2rpx solid #efefef;border-radius: 12rpx;',
+ personInfo: {
+ name: '',
+ gender: 0,
+ birth: '',
+ address: [],
+ introduction: '',
+ yearType: 0,
+
+ // photos: [],
+ },
+ mode: '',
+ dateVisible: false,
+ date: new Date('2021-12-23').getTime(), // 支持时间戳传入
+ dateText: '',
+ filter(type, options) {
+ if (type === 'year') {
+ return options.sort((a, b) => b.value - a.value);
+ }
+ return options;
+ },
+ popupProps: {
+ usingCustomNavbar: true,
+ },
+
+ formatter(item, index) {
+ if (index === 1) {
+ const label = item.label.slice(0, -1);
+ return {
+ value: item.value,
+ label: calendarMonth[Number(label) - 1],
+ };
+ }
+ if (index === 2) {
+ const [dateValue, weekValue] = item.label.split(' ');
+ const dateSuffixes = {
+ 1: 'st',
+ 2: 'nd',
+ 3: 'rd',
+ };
+ const weekMap = {
+ 周一: 'Mon.',
+ 周二: 'Tues.',
+ 周三: 'Wed.',
+ 周四: 'Thurs.',
+ 周五: 'Fri.',
+ 周六: 'Sat.',
+ 周日: 'Sun.',
+ };
+ const label = dateValue.slice(0, -1);
+
+ return {
+ value: item.value,
+ label: `${label}${dateSuffixes[label] || 'th'} ${weekMap[weekValue]}`,
+ };
+ }
+
+ return {
+ value: item.value,
+ label: item.label.slice(0, -1),
+ };
+ },
+
+ originFiles: [
+ {
+ url: 'https://tdesign.gtimg.com/mobile/demos/example4.png',
+ name: 'uploaded1.png',
+ type: 'image',
+ removeBtn: true,
+ },
+ {
+ url: 'https://tdesign.gtimg.com/mobile/demos/example6.png',
+ name: 'uploaded2.png',
+ type: 'image',
+ removeBtn: true,
+ },
+ {
+ url: 'https://tdesign.gtimg.com/mobile/demos/example5.png',
+ name: 'uploaded3.png',
+ type: 'image',
+ removeBtn: true,
+ },
+ ],
+ gridConfig: {
+ column: 4,
+ width: 160,
+ height: 160,
+ },
+ config: {
+ count: 1,
+ },
+
+
+ },
+ showPicker(e) {
+ const { mode } = e.currentTarget.dataset;
+ this.setData({
+ [`${mode}Visible`]: true,
+ });
+
+
+
+ },
+
+ handleSuccess(e) {
+ console.log(e.detail)
+ const { files } = e.detail;
+ this.setData({
+ originFiles: files,
+ });
+ },
+ handleRemove(e) {
+ console.log(e.detail.file);
+ const { index } = e.detail;
+ const { originFiles } = this.data;
+ originFiles.splice(index, 1);
+ this.setData({
+ originFiles,
+ });
+ },
+ handleClick(e) {
+ console.log(e.detail.file);
+ },
+
+
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/followUp/index.json b/pages/followUp/index.json
new file mode 100644
index 0000000..bfc2491
--- /dev/null
+++ b/pages/followUp/index.json
@@ -0,0 +1,15 @@
+{
+ "usingComponents": {
+ "t-cell": "tdesign-miniprogram/cell/cell",
+ "t-input": "tdesign-miniprogram/input/input",
+ "t-date-time-picker": "tdesign-miniprogram/date-time-picker/date-time-picker",
+ "t-row": "tdesign-miniprogram/row/row",
+ "t-col": "tdesign-miniprogram/col/col",
+ "t-button": "tdesign-miniprogram/button/button",
+ "t-upload": "tdesign-miniprogram/upload/upload",
+ "t-radio": "tdesign-miniprogram/radio/radio",
+ "t-radio-group": "tdesign-miniprogram/radio-group/radio-group"
+ },
+ "navigationStyle": "default",
+ "navigationBarTitleText": "填写随访问卷"
+}
\ No newline at end of file
diff --git a/pages/followUp/index.less b/pages/followUp/index.less
new file mode 100644
index 0000000..ef35ab7
--- /dev/null
+++ b/pages/followUp/index.less
@@ -0,0 +1,42 @@
+/* pages/followUp/index.wxss */
+.follow-up{
+ padding: 28rpx;
+ padding-bottom: 56rpx;
+ .follow-item{
+ background-color: #fff;
+ padding: 28rpx;
+ margin-bottom: 28rpx;
+ border-radius: 20rpx;
+ padding-bottom: 20rpx;
+ }
+ .custom-label {
+ display: inline-flex;
+ }
+
+ .custom-label::after, .input-example__label::after {
+ content: '*';
+ color: red;
+ font-size: 32rpx;
+ margin-left: 4rpx;
+ }
+ .t-overlay{
+ top: 0!important;
+ }
+ .input-example {
+ // background-color: var(--bg-color-demo);
+ padding: 10rpx 0;
+ }
+
+ .input-example__label {
+ color: var(--td-text-color-primary);
+ font-size: 24rpx;
+ line-height: 40rpx;
+ margin: 0 8rpx 16rpx;
+ }
+ .box{
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ padding-right: 60rpx;
+ }
+}
\ No newline at end of file
diff --git a/pages/followUp/index.wxml b/pages/followUp/index.wxml
new file mode 100644
index 0000000..f8f5eec
--- /dev/null
+++ b/pages/followUp/index.wxml
@@ -0,0 +1,379 @@
+
+
+
+ 随访信息
+
+ 随访名称
+
+
+
+ 随访日期
+
+
+
+
+ 随访医院
+
+
+
+
+
+ 生长指数
+
+
+
+
+
+ 身高(cm)
+
+
+
+
+
+
+
+
+ 体重(kg)
+
+
+
+
+
+
+
+ 头围(cm)
+
+
+
+
+
+
+
+
+ 上臀围(cm)
+
+
+
+
+
+
+
+ 肝功能
+
+
+
+ 上传肝功能检查报告(支持OCR识别)
+
+
+
+
+
+
+
+
+ 总胆红素(µmol/L)
+
+
+
+
+
+
+
+
+ 总胆红素(µmol/L)
+
+
+
+
+
+
+
+ 总胆汁酸(g/L)
+
+
+
+
+
+
+
+
+ 白蛋白(g/L)
+
+
+
+
+
+
+
+ 谷草(U/L)
+
+
+
+
+
+
+
+
+ 谷丙(U/L)
+
+
+
+
+
+
+
+ GGT(U/L)
+
+
+
+
+
+
+
+
+ ALP(U/L)
+
+
+
+
+
+
+
+
+ 凝血功能
+
+
+
+ 上传凝血功能检查报告(支持OCR识别)
+
+
+
+
+
+
+
+
+ 凝血酶原时间(s)
+
+
+
+
+
+
+
+
+ 国际标准化比
+
+
+
+
+
+
+
+ 活化的部分凝血酶时间(s)
+
+
+
+
+
+
+
+
+
+
+ 血常规
+
+
+
+ 上传血常规检查报告(支持OCR识别)
+
+
+
+
+
+
+
+
+ 血小板(10^9/L)
+
+
+
+
+
+
+
+
+ 血红蛋白(g/L)
+
+
+
+
+
+
+
+ 白细胞(10^9/L)
+
+
+
+
+
+
+
+
+
+
+ 营养指标
+
+
+
+ 上传营养指标检查报告(支持OCR识别)
+
+
+
+
+
+
+
+
+ 25(OH)D3 (ng/ml)
+
+
+
+
+
+
+
+
+ 维生素A (ng/ml)
+
+
+
+
+
+
+
+ 维生素K (ng/ml)
+
+
+
+
+
+
+
+
+ 维生素E (ng/ml)
+
+
+
+
+
+
+
+
+
+ B超
+
+
+
+ 上传B超报告(支持OCR识别)
+
+
+
+
+
+
+
+
+ 肝肋下(mm)肝肋下(mm)
+
+
+
+
+
+
+
+
+ 肝剑突下(mm)
+
+
+
+
+
+
+
+ 脾肋下(mm)
+
+
+
+
+
+
+
+
+ 门静脉主干(mm)
+
+
+
+
+
+
+
+
+ 门静脉流速
+
+
+
+
+
+
+
+
+ 肝弹性值
+
+
+
+
+
+
+
+ 有无肝囊肿
+
+
+
+
+
+
+
+
+
+
+
+ 有无腹水
+
+
+
+
+
+
+
+
+
+
+
+
+ MDT电子病历
+
+
+
+ 上传本次随访的电子病历
+
+
+
+
+
+ 提交
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/home/index.js b/pages/home/index.js
index 1ceacbb..408ee1e 100644
--- a/pages/home/index.js
+++ b/pages/home/index.js
@@ -157,5 +157,12 @@ Page({
},
onReady() {
+ },
+
+ toClockIn(){
+ console.log(232)
+ wx.navigateTo({
+ url: '/pages/clockIn/index',
+ })
}
});
\ No newline at end of file
diff --git a/pages/home/index.json b/pages/home/index.json
index a2364e2..0a4f1f0 100644
--- a/pages/home/index.json
+++ b/pages/home/index.json
@@ -9,6 +9,7 @@
"t-pull-down-refresh": "tdesign-miniprogram/pull-down-refresh/pull-down-refresh",
"t-message": "tdesign-miniprogram/message/message",
"t-button": "tdesign-miniprogram/button/button",
+ "t-icon": "tdesign-miniprogram/icon/icon",
"nav": "/components/nav",
"card": "/components/card",
"ec-canvas": "../../ec-canvas/ec-canvas"
diff --git a/pages/home/index.less b/pages/home/index.less
index def6806..429fa6e 100644
--- a/pages/home/index.less
+++ b/pages/home/index.less
@@ -100,3 +100,18 @@
}
+.emergency-access{
+ position: fixed;
+ right: 40rpx;
+ bottom: 220rpx;
+ background-color: red;
+ color: #fff;
+ width: 90rpx;
+ height: 90rpx;
+ z-index: 9999;
+ border-radius: 120rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .04), 0px 8px 20px rgba(0, 0, 0, .08) ;
+}
\ No newline at end of file
diff --git a/pages/home/index.wxml b/pages/home/index.wxml
index 1cedca2..dbbc9fd 100644
--- a/pages/home/index.wxml
+++ b/pages/home/index.wxml
@@ -18,7 +18,7 @@
每日用药提醒
-
+
更多
@@ -86,4 +86,8 @@
发布
-->
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/medicationRecord/index.js b/pages/medicationRecord/index.js
new file mode 100644
index 0000000..d204cb7
--- /dev/null
+++ b/pages/medicationRecord/index.js
@@ -0,0 +1,87 @@
+// pages/clockIn/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ newTime: '',
+ timeType: 1
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ const now = new Date()
+ const year = now.getFullYear()
+ const month = now.getMonth() + 1
+ const day = now.getDate()
+ const hours = now.getHours()
+ const minutes = now.getMinutes()
+ const seconds = now.getSeconds()
+
+ const formattedTime = `${year}年${month.toString().padStart(2, '0')}月${day.toString().padStart(2, '0')}日`
+
+ this.setData({
+ newTime: formattedTime
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ },
+ changeBtn(e) {
+ this.setData({
+ timeType: e.target.dataset.index
+ })
+ }
+
+
+})
\ No newline at end of file
diff --git a/pages/medicationRecord/index.json b/pages/medicationRecord/index.json
new file mode 100644
index 0000000..ecd7743
--- /dev/null
+++ b/pages/medicationRecord/index.json
@@ -0,0 +1,10 @@
+{
+ "usingComponents": {
+ "t-button": "tdesign-miniprogram/button/button",
+ "t-tag": "tdesign-miniprogram/tag/tag",
+ "t-col": "tdesign-miniprogram/col/col",
+ "t-row": "tdesign-miniprogram/row/row"
+ },
+ "navigationStyle": "default",
+ "navigationBarTitleText": "历史服药记录"
+}
\ No newline at end of file
diff --git a/pages/medicationRecord/index.less b/pages/medicationRecord/index.less
new file mode 100644
index 0000000..cc5b636
--- /dev/null
+++ b/pages/medicationRecord/index.less
@@ -0,0 +1,54 @@
+/* pages/clockIn/index.wxss */
+.clockin{
+ padding: 28rpx;
+ padding-bottom: 120rpx;
+ .tip{
+ font-size: 28rpx;
+ color: var(--td-error-color, #e34d59);
+ }
+ .btn-item{
+ margin: 30rpx 0;
+ background-color: #fff;
+ border-radius: 20rpx;
+ padding: 28rpx;
+
+ }
+ .new-time{
+ font-size: 28rpx;
+ }
+ .clockin-item{
+ margin-top: 28rpx;
+ background-color: #fff;
+ border-radius: 20rpx;
+ padding: 28rpx;
+ .t-button{
+ }
+ .item-top{
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+ .active{
+ color: var(--td-brand-color);
+ }
+ }
+ .medicine-name{
+ font-weight: bold;
+ margin-bottom: 12rpx;
+ }
+ .dose{
+ font-size: 28rpx;
+ margin-bottom: 16rpx;
+ }
+ }
+ .footer-example{
+ position: fixed;
+ bottom: 42rpx;
+ width: 100%;
+ left: 0;
+ text-align: center;
+ color: var(--td-brand-color);
+ font-size: 28rpx;
+ line-height: 60rpx;
+ }
+}
\ No newline at end of file
diff --git a/pages/medicationRecord/index.wxml b/pages/medicationRecord/index.wxml
new file mode 100644
index 0000000..ea9a58e
--- /dev/null
+++ b/pages/medicationRecord/index.wxml
@@ -0,0 +1,34 @@
+
+
+
+ 只展示近90天内的服药记录
+
+
+
+
+
+ 近 7 天
+
+
+ 近 30 天
+
+
+
+ 近 90 天
+
+
+
+
+
+ {{newTime}}
+
+
+
+ 早上
+ 已完成
+
+ 优思弗
+ 1片 饭后服用
+
+
+
\ No newline at end of file
diff --git a/pages/message/index.js b/pages/message/index.js
index 2cf9bfd..82a90f1 100644
--- a/pages/message/index.js
+++ b/pages/message/index.js
@@ -1,108 +1,89 @@
-// pages/message/message.js
-import { fetchMessageList, markMessagesRead } from '~/mock/chat';
-
-const app = getApp();
-const { socket } = app.globalData; // 获取已连接的 socketTask
-let currentUser = null; // 当前打开的聊天用户 { userId, eventChannel }
-
+// pages/clockIn/index.js
Page({
- /** 页面的初始数据 */
+
+ /**
+ * 页面的初始数据
+ */
data: {
- messageList: [], // 完整消息列表 { userId, name, avatar, messages }
- loading: true, // 是否正在加载(用于下拉刷新)
+
+ newTime: ''
},
- /** 生命周期函数--监听页面加载 */
+ /**
+ * 生命周期函数--监听页面加载
+ */
onLoad(options) {
- this.getMessageList();
- // 处理接收到的数据
- socket.onMessage((data) => {
- data = JSON.parse(data);
- if (data.type === 'message') {
- const { userId, message } = data.data;
- const { user, index } = this.getUserById(userId);
- this.data.messageList.splice(index, 1);
- this.data.messageList.unshift(user);
- user.messages.push(message);
- if (currentUser && userId === currentUser.userId) {
- this.setMessagesRead(userId);
- currentUser.eventChannel.emit('update', user);
- }
- this.setData({ messageList: this.data.messageList });
- app.setUnreadNum(this.computeUnreadNum());
- }
- });
+ const now = new Date()
+ const year = now.getFullYear()
+ const month = now.getMonth() + 1
+ const day = now.getDate()
+ const hours = now.getHours()
+ const minutes = now.getMinutes()
+ const seconds = now.getSeconds()
+
+ const formattedTime = `${year}年${month.toString().padStart(2, '0')}月${day.toString().padStart(2, '0')}日`
+
+ this.setData({
+ newTime: formattedTime
+ })
},
- /** 生命周期函数--监听页面初次渲染完成 */
- onReady() {},
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
- /** 生命周期函数--监听页面显示 */
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
onShow() {
- currentUser = null;
+
},
- /** 生命周期函数--监听页面隐藏 */
- onHide() {},
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
- /** 生命周期函数--监听页面卸载 */
- onUnload() {},
-
- /** 页面相关事件处理函数--监听用户下拉动作 */
- onPullDownRefresh() {},
-
- /** 页面上拉触底事件的处理函数 */
- onReachBottom() {},
-
- /** 用户点击右上角分享 */
- onShareAppMessage() {},
-
- /** 获取完整消息列表 */
- getMessageList() {
- fetchMessageList().then(({ data }) => {
- this.setData({ messageList: data, loading: false });
- });
},
- /** 通过 userId 获取 user 对象和下标 */
- getUserById(userId) {
- let index = 0;
- while (index < this.data.messageList.length) {
- const user = this.data.messageList[index];
- if (user.userId === userId) return { user, index };
- index += 1;
- }
- // TODO:处理 userId 在列表中不存在的情况()
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
},
- /** 计算未读消息数量 */
- computeUnreadNum() {
- let unreadNum = 0;
- this.data.messageList.forEach(({ messages }) => {
- unreadNum += messages.filter((item) => !item.read).length;
- });
- return unreadNum;
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
},
- /** 打开对话页 */
- toChat(event) {
- const { userId } = event.currentTarget.dataset;
- wx.navigateTo({ url: `/pages/chat/index?userId${userId}` }).then(({ eventChannel }) => {
- currentUser = { userId, eventChannel };
- const { user } = this.getUserById(userId);
- eventChannel.emit('update', user);
- });
- this.setMessagesRead(userId);
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
},
- /** 将用户的所有消息标记为已读 */
- setMessagesRead(userId) {
- const { user } = this.getUserById(userId);
- user.messages.forEach((message) => {
- message.read = true;
- });
- this.setData({ messageList: this.data.messageList });
- app.setUnreadNum(this.computeUnreadNum());
- markMessagesRead(userId);
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
},
-});
+ toQuestionnaire() {
+ wx.navigateTo({
+ url: '/pages/followUp/index',
+ })
+ },
+ toRegister() {
+ wx.navigateTo({
+ url: '/pages/register/index',
+ })
+ }
+})
\ No newline at end of file
diff --git a/pages/message/index.json b/pages/message/index.json
index 9e21ced..2fbe3e1 100644
--- a/pages/message/index.json
+++ b/pages/message/index.json
@@ -1,11 +1,8 @@
{
"usingComponents": {
- "t-navbar": "tdesign-miniprogram/navbar/navbar",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-badge": "tdesign-miniprogram/badge/badge",
- "nav": "/components/nav"
+ "t-button": "tdesign-miniprogram/button/button",
+ "t-tag": "tdesign-miniprogram/tag/tag"
},
- "navigationStyle": "custom",
- "disableScroll": true
-}
+ "navigationStyle": "default",
+ "navigationBarTitleText": "随访计划"
+}
\ No newline at end of file
diff --git a/pages/message/index.less b/pages/message/index.less
index 8128324..e0de6e5 100644
--- a/pages/message/index.less
+++ b/pages/message/index.less
@@ -1,32 +1,49 @@
-/* pages/message/message.wxss */
-page {
- display: flex;
- flex-direction: column;
- box-sizing: border-box;
- height: 100vh;
- padding-bottom: calc(env(safe-area-inset-bottom) + 112rpx);
-}
-
-.nav-bar {
- border-bottom: 1rpx solid #e7e7e7;
-}
-
-.message-list {
- height: 0;
- flex-grow: 1;
-}
-
-.avatar {
- border-radius: 50% !important;
-}
-
-.content > view {
- width: 560rpx;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.content.unread > view {
- width: 510rpx;
-}
+/* pages/clockIn/index.wxss */
+.clockin{
+ padding: 28rpx;
+ padding-bottom: 200rpx;
+ .new-time{
+ font-size: 28rpx;
+ }
+ .clockin-item{
+ margin-bottom: 28rpx;
+ background-color: #fff;
+ border-radius: 20rpx;
+ padding: 28rpx;
+ .t-button{
+ }
+ .item-top{
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 10rpx;
+ font-size: 30rpx;
+ font-weight: bold;
+ .active{
+ color: var(--td-brand-color);
+ }
+ }
+ .medicine-name{
+ font-weight: bold;
+ margin-bottom: 12rpx;
+ }
+ .dose{
+ font-size: 28rpx;
+ // margin-bottom: 30rpx;
+ }
+ .t-button{
+ margin-top: 30rpx;
+ }
+ }
+ .footer-example{
+ // position: fixed;
+ // bottom: 202rpx;
+ // width: 100%;
+ // left: 0;
+ // text-align: center;
+ // color: var(--td-brand-color);
+ // font-size: 28rpx;
+ // line-height: 60rpx;
+ // line-height: 60rpx;
+ margin-top: 28rpx;
+ }
+}
\ No newline at end of file
diff --git a/pages/message/index.wxml b/pages/message/index.wxml
index e094391..04b1d15 100644
--- a/pages/message/index.wxml
+++ b/pages/message/index.wxml
@@ -1,25 +1,43 @@
-
-
-
-
-
-
+
+
+
+
+ 术后1个月随访
+ 已完成
+
+ 随访时间:2025年5月20日
+ 填写随访问卷
+
+
+
+ 术后2个月随访
+ 待开始
+
+ 随访时间:2025年5月20日
+ 预约挂号
+
+
+
+ 术后3个月随访
+ 未开始
+
+ 随访时间:2025年5月20日
+
+
+
+ 术后4个月随访
+ 未开始
+
+ 随访时间:2025年5月20日
+
+
+
+ 术后1年随访
+ 未开始
+
+ 随访时间:2025年5月20日
+
+
+
\ No newline at end of file
diff --git a/pages/message/index.wxs b/pages/message/index.wxs
deleted file mode 100644
index c669d5d..0000000
--- a/pages/message/index.wxs
+++ /dev/null
@@ -1,17 +0,0 @@
-/** 计算某个用户的未读消息数量 */
-function computeUnreadNum(messages) {
- var cnt = 0;
- for (var i = 0; i < messages.length; i++) if (!messages[i].read) cnt++;
- return cnt;
-}
-
-/** 某个用户的消息是否全部已读 */
-function isRead(messages) {
- for (var i = 0; i < messages.length; i++) if (!messages[i].read) return false;
- return true;
-}
-
-module.exports = {
- computeUnreadNum: computeUnreadNum,
- isRead: isRead,
-};
diff --git a/pages/message/index.wxss b/pages/message/index.wxss
deleted file mode 100644
index bd6ddb9..0000000
--- a/pages/message/index.wxss
+++ /dev/null
@@ -1,27 +0,0 @@
-/* pages/message/message.wxss */
-page {
- display: flex;
- flex-direction: column;
- box-sizing: border-box;
- height: 100vh;
- padding-bottom: calc(env(safe-area-inset-bottom) + 112rpx);
-}
-.nav-bar {
- border-bottom: 1rpx solid #e7e7e7;
-}
-.message-list {
- height: 0;
- flex-grow: 1;
-}
-.avatar {
- border-radius: 50% !important;
-}
-.content > view {
- width: 560rpx;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-.content.unread > view {
- width: 510rpx;
-}
diff --git a/pages/my/info-edit/areaData.js b/pages/my/info-edit/areaData.js
deleted file mode 100644
index 78ca4ad..0000000
--- a/pages/my/info-edit/areaData.js
+++ /dev/null
@@ -1,114 +0,0 @@
-export const areaList = {
- provinces: {
- 110000: '北京市',
- 350000: '福建省',
- 330000: '浙江省',
- 440000: '广东省',
- 530000: '云南省',
- 460000: '海南省',
- 210000: '辽宁省',
- 320000: '江苏省',
- 410000: '河南省',
- 510000: '四川省',
- 610000: '陕西省',
- },
- cities: {
- 110100: '北京市',
- 440100: '广州市',
- 440200: '韶关市',
- 440300: '深圳市',
- 440400: '珠海市',
- 440500: '汕头市',
- 440600: '佛山市',
- 350100: '福州市',
- 350200: '厦门市',
- 350300: '莆田市',
- 350400: '三明市',
- 350500: '泉州市',
- 350600: '漳州市',
- 350700: '南平市',
- 350800: '龙岩市',
- 350900: '宁德市',
- 330100: '杭州市',
- 330200: '宁波市',
- 330300: '温州市',
- 330400: '嘉兴市',
- 330500: '湖州市',
- 330600: '绍兴市',
- 330700: '金华市',
- 330800: '衢州市',
- 330900: '舟山市',
- 331000: '台州市',
- 331100: '丽水市',
- 530100: '昆明市',
- 530300: '曲靖市',
- 530400: '玉溪市',
- 530500: '保山市',
- 530600: '昭通市',
- 530700: '丽江市',
- 530800: '普洱市',
- 530900: '临沧市',
- 532300: '楚雄彝族自治州',
- 532500: '红河哈尼族彝族自治州',
- 460100: '海口市',
- 460200: '三亚市',
- 460300: '三沙市',
- 460400: '儋州市',
- 469001: '五指山市',
- 469002: '琼海市',
- 469003: '文昌市',
- 469004: '万宁市',
- 469005: '东方市',
- 469025: '定安县',
- 210100: '沈阳市',
- 210200: '大连市',
- 210300: '鞍山市',
- 210400: '抚顺市',
- 210500: '本溪市',
- 210600: '丹东市',
- 210700: '锦州市',
- 210800: '营口市',
- 210900: '阜新市',
- 211000: '辽阳市',
- 320100: '南京市',
- 320200: '无锡市',
- 320300: '徐州市',
- 320400: '常州市',
- 320500: '苏州市',
- 320600: '南通市',
- 320700: '连云港市',
- 320800: '淮安市',
- 320900: '盐城市',
- 321000: '扬州市',
- 410100: '郑州市',
- 410200: '开封市',
- 410300: '洛阳市',
- 410400: '平顶山市',
- 410500: '安阳市',
- 410600: '鹤壁市',
- 410700: '新乡市',
- 410800: '焦作市',
- 410900: '濮阳市',
- 411000: '许昌市',
- 510100: '成都市',
- 510300: '自贡市',
- 510400: '攀枝花市',
- 510500: '泸州市',
- 510600: '德阳市',
- 510700: '绵阳市',
- 510800: '广元市',
- 510900: '遂宁市',
- 511000: '内江市',
- 511100: '乐山市',
- 610100: '西安市',
- 610200: '铜川市',
- 610300: '宝鸡市',
- 610400: '咸阳市',
- 610500: '渭南市',
- 610600: '延安市',
- 610700: '汉中市',
- 610800: '榆林市',
- 610900: '安康市',
- 611000: '商洛市',
- },
-};
diff --git a/pages/my/info-edit/index.js b/pages/my/info-edit/index.js
index 465dc9c..279a382 100644
--- a/pages/my/info-edit/index.js
+++ b/pages/my/info-edit/index.js
@@ -1,5 +1,4 @@
import request from '~/api/request';
-import { areaList } from './areaData.js';
Page({
data: {
@@ -53,24 +52,10 @@ Page({
onLoad() {
// this.initAreaData();
- // this.getPersonalInfo();
+
},
- getPersonalInfo() {
- request('/api/genPersonalInfo').then((res) => {
- this.setData(
- {
- personInfo: res.data.data,
- },
- () => {
- const { personInfo } = this.data;
- this.setData({
- addressText: `${areaList.provinces[personInfo.address[0]]} ${areaList.cities[personInfo.address[1]]}`,
- });
- },
- );
- });
- },
+
getAreaOptions(data, filter) {
const res = Object.keys(data).map((key) => ({ value: key, label: data[key] }));
@@ -106,10 +91,7 @@ Page({
this.setData({
[`${mode}Visible`]: true,
});
- if (mode === 'address') {
- const cities = this.getCities(this.data.personInfo.address[0]);
- this.setData({ cities });
- }
+
},
hidePicker(e) {
diff --git a/pages/my/info-edit/index.wxml b/pages/my/info-edit/index.wxml
index ac3cf33..851b4f5 100644
--- a/pages/my/info-edit/index.wxml
+++ b/pages/my/info-edit/index.wxml
@@ -58,19 +58,3 @@
visible="{{birthVisible}}"
/>
-
-
-
-
diff --git a/pages/register/index.js b/pages/register/index.js
new file mode 100644
index 0000000..c26f82f
--- /dev/null
+++ b/pages/register/index.js
@@ -0,0 +1,66 @@
+// pages/register/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ imageSrc: 'https://tdesign.gtimg.com/mobile/demos/image1.jpeg',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/register/index.json b/pages/register/index.json
new file mode 100644
index 0000000..df1669e
--- /dev/null
+++ b/pages/register/index.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+ "t-image": "tdesign-miniprogram/image/image"
+ },
+ "navigationBarTitleText": "预约挂号"
+}
\ No newline at end of file
diff --git a/pages/register/index.less b/pages/register/index.less
new file mode 100644
index 0000000..f3387a9
--- /dev/null
+++ b/pages/register/index.less
@@ -0,0 +1,12 @@
+/* pages/register/index.wxss */
+.register{
+ padding: 40rpx;
+ text-align: center;
+ text{
+ font-size: 28rpx;
+ margin-bottom: 40rpx;
+ }
+ .t-image{
+ margin-top: 40rpx;
+ }
+}
\ No newline at end of file
diff --git a/pages/register/index.wxml b/pages/register/index.wxml
new file mode 100644
index 0000000..29813fe
--- /dev/null
+++ b/pages/register/index.wxml
@@ -0,0 +1,6 @@
+
+
+扫描或识别下方二维码进行预约挂号:
+
+
+
diff --git a/project.private.config.json b/project.private.config.json
new file mode 100644
index 0000000..e0fa06b
--- /dev/null
+++ b/project.private.config.json
@@ -0,0 +1,95 @@
+{
+ "condition": {
+ "miniprogram": {
+ "list": [
+ {
+ "name": "pages/emergency/index",
+ "pathName": "pages/emergency/index",
+ "query": "",
+ "scene": null,
+ "launchMode": "default"
+ },
+ {
+ "name": "pages/register/index",
+ "pathName": "pages/register/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/followUp/index",
+ "pathName": "pages/followUp/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/message/index",
+ "pathName": "pages/message/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/medicationRecord/index",
+ "pathName": "pages/medicationRecord/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/clockIn/index",
+ "pathName": "pages/clockIn/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "login",
+ "pathName": "pages/login/login",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "loginCode",
+ "pathName": "pages/loginCode/loginCode",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "my",
+ "pathName": "pages/my/index",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "info-edit",
+ "pathName": "pages/my/info-edit/index",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "dataCenter",
+ "pathName": "pages/dataCenter/index",
+ "query": "",
+ "scene": null
+ },
+ {
+ "name": "release",
+ "pathName": "pages/release/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "setting",
+ "pathName": "pages/setting/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ }
+ ]
+ }
+ },
+ "libVersion": "3.8.5"
+}
\ No newline at end of file