diff --git a/src/app.json b/src/app.json index d619c92..c96a7f5 100644 --- a/src/app.json +++ b/src/app.json @@ -31,6 +31,7 @@ "pages/injectDate/index", "pages/inhibitorsManageList/index", "pages/inhibitorsManage/index", + "pages/inhibitorsManageDetail/index", "pages/file/index", "pages/coltStat/index", "pages/preDiagnosisReport/index", diff --git a/src/components/calendar/theme/theme-geneB.wxss b/src/components/calendar/theme/theme-geneB.wxss index e91ee6b..ab8def7 100644 --- a/src/components/calendar/theme/theme-geneB.wxss +++ b/src/components/calendar/theme/theme-geneB.wxss @@ -17,6 +17,11 @@ background-color: rgba(255, 237, 235, 1); } +.geneb_today.geneb_choosed { + color: #fff; + background-color: rgba(246, 74, 58, 1); +} + .geneb_date-disable { color: #c7c7c7; } diff --git a/src/components/popup/index.scss b/src/components/popup/index.scss index ae238f0..ba5a4fe 100644 --- a/src/components/popup/index.scss +++ b/src/components/popup/index.scss @@ -447,6 +447,7 @@ border: none; } .radio { + flex-shrink: 0; width: 32rpx; height: 32rpx; background-color: rgba(247, 247, 250, 1); @@ -534,6 +535,10 @@ text-align: center; } .list { + margin-top: 20rpx; + max-height: 40vh; + overflow-y: ayto; + overflow-x: hidden; .list-item { padding: 32rpx 0; display: flex; @@ -1066,19 +1071,19 @@ background: linear-gradient(7deg, #ffffff 19%, #ffe8e4 100%); border-radius: 24rpx 24rpx 24rpx 24rpx; box-sizing: border-box; - .title{ + .title { font-size: 32rpx; color: rgba(1, 1, 5, 1); text-align: center; } - .hostipal{ + .hostipal { margin-top: 32rpx; font-size: 36rpx; color: rgba(1, 1, 5, 1); font-weight: bold; text-align: center; } - .address{ + .address { margin-top: 12rpx; text-align: center; font-size: 28rpx; diff --git a/src/components/popup/index.ts b/src/components/popup/index.ts index 19833ce..5407c88 100644 --- a/src/components/popup/index.ts +++ b/src/components/popup/index.ts @@ -14,6 +14,17 @@ Component({ }, }, }, + observers: { + show(val) { + if (val) { + if (this.data.type === 'TCenter') { + this.setData({ + TCenterId: this.data.params.hospitalId, + }) + } + } + }, + }, data: { popup1Check1: false, @@ -40,7 +51,7 @@ Component({ if (type === 'TCenter') { if (!this.data.TCenterId) { wx.showToast({ - title: '请选择诊疗中心', + title: '请选择治疗中心', icon: 'none', }) return diff --git a/src/components/popup/index.wxml b/src/components/popup/index.wxml index 6ce0f08..3ba840f 100644 --- a/src/components/popup/index.wxml +++ b/src/components/popup/index.wxml @@ -159,7 +159,7 @@ - 请选择您的基于治疗中心 + 请选择您的基因治疗中心 @@ -34,7 +34,9 @@ - {{BirthMonth}} + + {{BirthMonth}} + @@ -48,7 +50,7 @@ - {{ProvinceName ? ProvinceName+ '/' : ProvinceName }}{{CityName}} + {{ProvinceName ? ProvinceName+ '/' : ProvinceName }}{{CityName}} diff --git a/src/pages/ask/index.scss b/src/pages/ask/index.scss index 3d439b5..e2ce618 100644 --- a/src/pages/ask/index.scss +++ b/src/pages/ask/index.scss @@ -145,7 +145,7 @@ page { .message { margin-bottom: 32rpx; padding: 26rpx 32rpx; - background: linear-gradient(13deg, #FFFFFF 58.17%, #FFCDCA 156.6%); + background: linear-gradient(13deg, #ffffff 58.17%, #ffcdca 156.6%); border-radius: 32rpx; font-size: 32rpx; color: rgba(1, 1, 5, 1); @@ -529,7 +529,7 @@ page { display: flex; justify-content: space-between; .order { - margin-top: 8rpx; + margin-top: 10rpx; width: 28rpx; height: 28rpx; font-size: 24rpx; diff --git a/src/patient/pages/askPatient/index.scss b/src/patient/pages/askPatient/index.scss index 7343cb4..2cd31b6 100644 --- a/src/patient/pages/askPatient/index.scss +++ b/src/patient/pages/askPatient/index.scss @@ -395,7 +395,7 @@ page { display: flex; justify-content: space-between; .order { - margin-top: 8rpx; + margin-top: 10rpx; width: 28rpx; height: 28rpx; font-size: 24rpx; diff --git a/src/patient/pages/bbmReport/index.scss b/src/patient/pages/bbmReport/index.scss index 35fe267..eea144e 100644 --- a/src/patient/pages/bbmReport/index.scss +++ b/src/patient/pages/bbmReport/index.scss @@ -1,6 +1,13 @@ page { background-color: rgba(247, 247, 250, 1); } +.page-tip{ + padding: 18rpx; + text-align: center; + font-size: 28rpx; + color: rgba(255, 163, 112, 1); + background-color: rgba(255, 240, 218, 1); +} .page { padding: 48rpx 40rpx; .container { diff --git a/src/patient/pages/bbmReport/index.ts b/src/patient/pages/bbmReport/index.ts index 814ffbb..962488f 100644 --- a/src/patient/pages/bbmReport/index.ts +++ b/src/patient/pages/bbmReport/index.ts @@ -45,6 +45,7 @@ Page({ }).then((res) => { this.setData({ ...res, + injectionDate: res.injectionDate || '', }) }) }, diff --git a/src/patient/pages/bbmReport/index.wxml b/src/patient/pages/bbmReport/index.wxml index d2c21dd..bd6bdc7 100644 --- a/src/patient/pages/bbmReport/index.wxml +++ b/src/patient/pages/bbmReport/index.wxml @@ -1,3 +1,4 @@ +此信息仅供参考,请以实际临床医生的专业意见为准 BBM-H901输注信息 @@ -22,7 +23,6 @@ model:value="{{injectionWeight}}" type="number" placeholder-class="input-place" - type="" placeholder="请输入" bindblur="handleWeight" /> diff --git a/src/patient/pages/blood/index.scss b/src/patient/pages/blood/index.scss index ea92c90..8d235ec 100644 --- a/src/patient/pages/blood/index.scss +++ b/src/patient/pages/blood/index.scss @@ -95,7 +95,6 @@ page { .row { padding: 32rpx; display: flex; - align-items: center; gap: 16rpx; border-bottom: 1px solid rgba(247, 247, 250, 1); .label { @@ -103,10 +102,13 @@ page { color: rgba(137, 141, 151, 1); } .content { + flex: 1; width: 5em; font-size: 32rpx; color: rgba(0, 0, 0, 1); - line-height: 48rpx; + display: flex; + gap: 10rpx; + flex-wrap: wrap; } } .row-resver { diff --git a/src/patient/pages/blood/index.ts b/src/patient/pages/blood/index.ts index 3bbd333..3af7527 100644 --- a/src/patient/pages/blood/index.ts +++ b/src/patient/pages/blood/index.ts @@ -1,11 +1,72 @@ -const _app = getApp() +const app = getApp() Page({ - data: {}, - onLoad() {}, - handleEdit() { + data: { + beginDate: '', + endDate: '', + + list: [] as any[], + total: 0, + pagination: { + page: 1, + pages: 1, + count: 1, + }, + }, + onShow() { + app.waitLogin({ type: 1 }).then(() => { + this.getList() + this.addVisitRecord() + }) + }, + addVisitRecord() { + wx.ajax({ + method: 'POST', + url: '?r=wtx/popup/add-visit-record', + data: { + type: 6, + }, + }) + }, + handleChange() { + const { beginDate, endDate } = this.data + if (beginDate && endDate) { + this.getList(1) + } + }, + getList(newPage = 1) { + const { beginDate, endDate } = this.data + wx.ajax({ + method: 'GET', + url: '?r=wtx/bleeding/get-list', + data: { + page: newPage, + beginDate, + endDate, + }, + }).then((res) => { + const list = res.page === 1 ? res.list : [...this.data.list, ...res.list] + this.setData({ + total: res.count, + list, + pagination: { + page: res.page, + pages: res.pages, + count: res.count, + }, + }) + }) + }, + onReachBottom() { + const { page, pages } = this.data.pagination + if (pages > page) { + this.getList(page + 1) + } + }, + handleEdit(e) { + const { id } = e.currentTarget.dataset wx.navigateTo({ - url: '/patient/pages/bloodDetail/index', + url: `/patient/pages/bloodDetail/index?id=${id}`, }) }, handleAdd() { diff --git a/src/patient/pages/blood/index.wxml b/src/patient/pages/blood/index.wxml index 2362957..95731a6 100644 --- a/src/patient/pages/blood/index.wxml +++ b/src/patient/pages/blood/index.wxml @@ -1,44 +1,46 @@ - + - + {{beginDate}} 至 - + - + {{endDate}} - + - 2025.6.15 + {{item.bleedingDate}} 出血关节 - 左膝 右肘 + + + {{subItem.bleedingPartName}} + + 其他情况备注 - - 症状1、关节积血:血友病比较多见于膝关节,在就是踝、髋、肘、腕、肩以及手足小关节。 - 性期关节肿痛,局部发发发... - + {{item.remark}} + diff --git a/src/patient/pages/bloodAdd/index.ts b/src/patient/pages/bloodAdd/index.ts index 067b6bb..126ce4f 100644 --- a/src/patient/pages/bloodAdd/index.ts +++ b/src/patient/pages/bloodAdd/index.ts @@ -1,8 +1,195 @@ -const _app = getApp(); +const app = getApp() Page({ - data: {}, - onLoad() {}, -}); + data: { + recordId: '', + remark: '', + bleedingDate: '', + bleedingParts: [] as { id: string; name: string }[], + + dict: { + parts: {} as any, + }, + parts: [ + { + top: '94', + left: '-14', + active: false, + }, + { + top: '78', + left: '28', + active: false, + }, + { + top: '88', + left: '72', + active: false, + }, + { + top: '78', + left: '126', + active: false, + }, + { + top: '78', + left: '184', + active: false, + }, + { + top: '88', + left: '238', + active: false, + }, + { + top: '78', + left: '284', + active: false, + }, + { + top: '94', + left: '324', + active: false, + }, + { + top: '194', + left: '122', + active: false, + }, + { + top: '194', + left: '190', + active: false, + }, + { + top: '296', + left: '122', + active: false, + }, + { + top: '296', + left: '190', + active: false, + }, + { + top: '364', + left: '122', + active: false, + }, + { + top: '364', + left: '190', + active: false, + }, + { + top: '396', + left: '104', + active: false, + }, + { + top: '396', + left: '206', + active: false, + }, + ], + }, + onLoad(options) { + this.setData({ + recordId: options.id, + }) + app.waitLogin({ type: 1 }).then(() => { + this.getDict() + this.getDetail() + }) + }, + getDetail() { + if (!this.data.recordId) return + wx.ajax({ + method: 'GET', + url: '?r=wtx/bleeding/get-detail', + data: { + recordId: this.data.recordId, + }, + }).then((res) => { + const parts = this.data.parts + const bleedingParts = res.bleedingPartList.map((item) => { + parts[item.bleedingPart - 1].active = true + return { + id: item.bleedingParts, + name: item.bleedingPartName, + } + }) + this.setData({ + ...res, + bleedingParts, + parts, + }) + }) + }, + getDict() { + wx.ajax({ + method: 'GET', + url: '?r=wtx/treatment/get-dict', + data: {}, + }).then((res) => { + this.setData({ + dict: res, + }) + }) + }, + handlePartSelect(e) { + const { index } = e.currentTarget.dataset + const { + dict: { parts: partsDict }, + parts, + } = this.data + parts[index].active = !parts[index].active + const bleedingParts = parts.reduce((pre, cur, index) => { + if (cur.active) { + pre.push({ + name: partsDict[index + 1], + id: index + 1, + }) + } + return pre + }, [] as any) + this.setData({ + parts, + bleedingParts, + }) + }, + handleSubmit() { + const { recordId, remark, bleedingDate, bleedingParts } = this.data + if (!bleedingDate) { + wx.showToast({ + title: '请选择出血日期', + icon: 'none', + }) + return + } + if (!bleedingParts.length) { + wx.showToast({ + title: '请选择出血部位', + icon: 'none', + }) + return + } + wx.ajax({ + method: 'POST', + url: '?r=wtx/bleeding/save-record', + data: { + recordId, + remark, + bleedingDate, + bleedingParts: bleedingParts.map((item) => item.id), + }, + }).then(() => { + wx.navigateBack() + }) + }, + handleBack() { + wx.navigateBack() + }, +}) export {} diff --git a/src/patient/pages/bloodAdd/index.wxml b/src/patient/pages/bloodAdd/index.wxml index 9a0f33f..7e3279a 100644 --- a/src/patient/pages/bloodAdd/index.wxml +++ b/src/patient/pages/bloodAdd/index.wxml @@ -3,9 +3,9 @@ 出血日期 - + - + {{bleedingDate}} @@ -21,29 +21,31 @@ style="background: #fff url({{imageUrl}}body1.png?t={{Timestamp}}) no-repeat top center/345rpx 417rpx" > - 左侧手肘 - 右侧手肘 + {{item.name}} - 已选择关节 + 已选择关节 您近6个月的出血情况 - 200 + {{remark.length}} /200 - 请上传您的检查报告 + + 填提交您的检测报告 - + @@ -152,8 +212,9 @@ - 取消 - 提交 + 删除 + 取消 + 提交 diff --git a/src/patient/pages/preDiagnosisReport/index.ts b/src/patient/pages/preDiagnosisReport/index.ts index 74b5869..35c50dc 100644 --- a/src/patient/pages/preDiagnosisReport/index.ts +++ b/src/patient/pages/preDiagnosisReport/index.ts @@ -136,6 +136,28 @@ Page({ onHide() { this.updateSave() }, + 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 + }, getDict() { wx.ajax({ method: 'GET', @@ -149,6 +171,7 @@ Page({ }, getDetail() { const { examId, formKeys } = this.data + if (!examId) return wx.ajax({ method: 'GET', url: '?r=wtx/treatment/get-examination-info', @@ -233,8 +256,16 @@ Page({ }, }).then(() => { wx.removeStorageSync(storageKey) + this.handlePrevUpdate() }) }, + handlePrevUpdate() { + const pages = getCurrentPages() + const currentPage = pages[pages.length - 1] + if (currentPage && currentPage.handleUpdate) { + currentPage.handleUpdate() + } + }, setFile(e: any) { console.log('DEBUGPRINT[63]: index.ts:189: e=', e) const { type, key } = e.currentTarget.dataset diff --git a/src/patient/pages/preDiagnosisReport/index.wxml b/src/patient/pages/preDiagnosisReport/index.wxml index dfa4b53..18c539a 100644 --- a/src/patient/pages/preDiagnosisReport/index.wxml +++ b/src/patient/pages/preDiagnosisReport/index.wxml @@ -2,7 +2,7 @@ - 诊前检查时间 + 检查时间 @@ -30,7 +30,7 @@ - + 1 @@ -42,10 +42,10 @@ 血常规检查 - + - 已检查 + {{isBloodRoutine==1?'已检查':'未检查'}} 重点检查项目:白细胞计数)WBC)血红蛋白(HGB)血小板计数(PLT) @@ -68,7 +68,7 @@ - + 2 @@ -80,10 +80,10 @@ 生化检查 - + - 已检查 + {{isBiochemical==1?'已检查':'未检查'}} @@ -97,9 +97,11 @@ 总胆红素 - + 3 @@ -162,10 +170,10 @@ 凝血因子 IX 活性 - + - 已检查 + {{isCFIxActivity==1?'已检查':'未检查'}} @@ -175,8 +183,11 @@ 您的凝血因子水平 - + 4 @@ -211,10 +222,10 @@ 凝血因子 IX 抑制物检测 - + - 已检查 + {{isCFIxInhibitor==1?'已检查':'未检查'}} @@ -248,7 +259,7 @@ - + 5 @@ -260,10 +271,10 @@ 乙型肝炎相关检查 - + - 已检查 + {{isHepatitisB==1?'已检查':'未检查'}} @@ -311,7 +322,7 @@ - + 6 @@ -323,10 +334,10 @@ 丙型肝炎相关检查 - + - 已检查 + {{isHepatitisC==1?'已检查':'未检查'}} @@ -374,7 +385,7 @@ - + 7 @@ -386,10 +397,10 @@ HIV抗体 - + - 已检查 + {{isHivAntibody==1?'已检查':'未检查'}} 类免疫缺陷病毒抗体(HIV - Ab) @@ -425,7 +436,7 @@ - + 8 @@ -437,10 +448,10 @@ 甲胎蛋白(AFP)检测 - + - 已检查 + {{isAfp==1?'已检查':'未检查'}} @@ -450,8 +461,11 @@ 您的(AFP)检测 - + 9 @@ -486,10 +500,10 @@ AAV 抗体检查 - + - 已检查 + {{isAav==1?'已检查':'未检查'}} 提交您的AAV抗体检查报告 @@ -525,7 +539,7 @@ - + 10 @@ -537,10 +551,10 @@ 其他检查 - + - 已检查 + {{isOther==1?'已检查':'未检查'}} 您的其他项检查 diff --git a/src/patient/pages/revisitRecord/index.json b/src/patient/pages/revisitRecord/index.json index 2df42aa..2aecd72 100644 --- a/src/patient/pages/revisitRecord/index.json +++ b/src/patient/pages/revisitRecord/index.json @@ -1,4 +1,4 @@ { - "navigationBarTitleText": "免疫抑制剂管理", + "navigationBarTitleText": "我的复诊记录", "usingComponents": {} } diff --git a/src/patient/pages/revisitRecord/index.scss b/src/patient/pages/revisitRecord/index.scss index 604387f..3d06e17 100644 --- a/src/patient/pages/revisitRecord/index.scss +++ b/src/patient/pages/revisitRecord/index.scss @@ -1,6 +1,7 @@ page { background-color: rgba(247, 247, 250, 1); } + .page { .list { padding: 32rpx 40rpx; diff --git a/src/patient/pages/revisitRecord/index.ts b/src/patient/pages/revisitRecord/index.ts index 382e254..b7196e8 100644 --- a/src/patient/pages/revisitRecord/index.ts +++ b/src/patient/pages/revisitRecord/index.ts @@ -1,4 +1,4 @@ -const _app = getApp() +const app = getApp() Page({ data: { @@ -8,14 +8,28 @@ Page({ pages: 1, count: 1, }, + + examId: '', + period: '1', + }, + onLoad(options) { + this.setData({ + examId: options.examid || '', + period: options.period || '1', + }) + }, + onShow() { + app.waitLogin({ type: 1 }).then(() => { + this.getList() + }) }, - onLoad() {}, getList(newPage = 1) { wx.ajax({ method: 'GET', - url: '?r=wtx/knowledge/list', + url: '?r=wtx/exam/get-list', data: { page: newPage, + period: 4, }, }).then((res) => { const list = res.page === 1 ? res.list : [...this.data.list, ...res.list] @@ -39,12 +53,12 @@ Page({ handleEdit(e) { const { id } = e.currentTarget.dataset wx.navigateTo({ - url: `/patient/pages/inhibitorsManage/index?id=${id}`, + url: `/patient/pages/lastDiagnosisReport/index?period=${this.data.period}&examid=${id}&edit=1`, }) }, handleAdd() { wx.navigateTo({ - url: '/patient/pages/inhibitorsManage/index', + url: `/patient/pages/lastDiagnosisReport/index?period=${this.data.period}`, }) }, }) diff --git a/src/patient/pages/revisitRecord/index.wxml b/src/patient/pages/revisitRecord/index.wxml index f0e0029..c2894d7 100644 --- a/src/patient/pages/revisitRecord/index.wxml +++ b/src/patient/pages/revisitRecord/index.wxml @@ -1,22 +1,25 @@ - + 随访次数: - 2 + {{pagination.count}} - + 日期 - 2025-06-13 + + {{item.beginDate}}-{{item.endDate}} + --- + 诊疗医院 - 唐山人民医院 + {{item.hospitalName || '---'}} 检查项目 - 2/3 + {{item.totalNum}}/{{item.allNum}} diff --git a/src/patient/pages/selectHostipal/index.ts b/src/patient/pages/selectHostipal/index.ts index 2aeac21..f9c8a95 100644 --- a/src/patient/pages/selectHostipal/index.ts +++ b/src/patient/pages/selectHostipal/index.ts @@ -7,6 +7,7 @@ Page({ popupType: 'selectHostipalComplete', popupParams: {} as any, + select: false, selectId: '', list: [] as any[], @@ -23,7 +24,11 @@ Page({ cityId: '', cityName: '', }, - onLoad() { + onLoad(options) { + this.setData({ + selectId: options.id || '', + select: options.select === '1', + }) app.waitLogin({ type: 1 }).then(() => { this.getHospitalList() }) @@ -84,6 +89,16 @@ Page({ handleSelect(e) { const { index } = e.currentTarget.dataset const item = this.data.list[index] + const { select } = this.data + if (select) { + const eventChannel = this.getOpenerEventChannel() + eventChannel.emit('acceptDataFromOpenedPage', { + hospitalId: item.hospitalId, + hospitalName: item.hospitalName, + }) + wx.navigateBack() + return + } this.setData({ selectId: item.hospitalId, popupShow: true, diff --git a/src/patient/pages/selectHostipal/index.wxml b/src/patient/pages/selectHostipal/index.wxml index 15eb50e..92d9c55 100644 --- a/src/patient/pages/selectHostipal/index.wxml +++ b/src/patient/pages/selectHostipal/index.wxml @@ -33,7 +33,7 @@ - + diff --git a/src/utils/page.ts b/src/utils/page.ts index 0a2bef9..2340ff6 100644 --- a/src/utils/page.ts +++ b/src/utils/page.ts @@ -6,6 +6,13 @@ const originalPage = Page +const noSharePath = [ + 'patient/pages/login/index', + 'patient/pages/familyScan/index', + 'patient/pages/entryInfo/index', + 'doctor/pages/login/index', +] + function page(config: WechatMiniprogram.Page.Instance) { const originalOnLoad = config.onLoad config.onLoad = function (options) { @@ -42,7 +49,7 @@ function page(config: WechatMiniprogram.Page.Instance url.includes(path)) + + if (isNoShare) { + url = 'pages/start/index' + } + return { title: '血友病B 基因疗法数字化平台', path: url,