diff --git a/project.private.config.json b/project.private.config.json index a20e8e0..5cf8cec 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -22,11 +22,25 @@ "miniprogram": { "list": [ { + "name": "患者-活动报名成功", + "pathName": "pages/liveResult/index", + "query": "id=1", + "scene": null, + "launchMode": "default" + }, + { + "name": "患者-个人信息", + "pathName": "pages/personalInformation/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { "name": "医生-邀约", "pathName": "doctor/pages/d_invite/index", "query": "", - "scene": null, - "launchMode": "default" + "launchMode": "default", + "scene": null }, { "name": "患者-我的", diff --git a/src/app.json b/src/app.json index c98ca95..f90910b 100644 --- a/src/app.json +++ b/src/app.json @@ -27,7 +27,6 @@ "pages/familyList/index", "pages/familyScan/index", "pages/thePublic/index", - "pages/privacyAgreement/index", "pages/taskAgreement/index", "pages/enterInfo/index", "pages/uploadCert/index", @@ -35,7 +34,6 @@ "pages/certPending/index", "pages/repository/index", "pages/repositoryDetail/index", - "pages/repositoryVideoDetail/index", "pages/live/index", "pages/liveDetail/index", "pages/liveResult/index", @@ -114,7 +112,7 @@ }, { "root": "doc", - "pages": ["pages/doc1/index", "pages/doc2/index"] + "pages": ["pages/doc1/index", "pages/doc2/index", "pages/privacyAgreement/index"] }, { "root": "resource", diff --git a/src/app.ts b/src/app.ts index d3de2ba..857a5ce 100644 --- a/src/app.ts +++ b/src/app.ts @@ -206,7 +206,7 @@ App({ }, registrationVerification(callback: () => void, loginPage = false) { // 1-空白用户,2-注册用户,3-疾病患者,4-用药患者 - const { PatientId, AuditStatus, isFollow, UserType } = this.globalData.userInfo + const { PatientId, UserType } = this.globalData.userInfo const { anyWhere, first } = this.globalData if (loginPage || (anyWhere && first)) { @@ -229,32 +229,17 @@ App({ return } - let urlKey = '' + // UserType == 2: 已注册用户,无需审核直接成为疾病患者 if (!PatientId) { - urlKey = 'enterInfo' - } else if (AuditStatus == 0) { - urlKey = 'noCert' - } else if (AuditStatus == 1) { - urlKey = isFollow ? 'nopending' : 'pending' - } else if (AuditStatus == 2) { - urlKey = 'reject' - } - let navUrl = { - enterInfo: '/pages/enterInfo/index', - noCert: '/pages/enterInfo/index', - reject: '/pages/enterInfo/index', - pending: '/pages/enterInfo/index', - nopending: '/pages/enterInfo/index', - }[urlKey] - - if (navUrl && first) { - this.globalData.registChannel = 0 - this.globalData.first = false - wx.reLaunch({ - url: navUrl, - }) - this.globalData.first = false - return + const navUrl = '/pages/enterInfo/index' + if (first) { + this.globalData.registChannel = 0 + this.globalData.first = false + wx.reLaunch({ + url: navUrl, + }) + return + } } this.globalData.first = false @@ -316,7 +301,7 @@ App({ }, permissionVerification(grade = 1, registChannel = 0, backPage = null, regBusinessId = '') { // 1-空白用户,2-注册用户,3-疾病患者,4-用药患者 - const { PatientId, AuditStatus, isFollow, UserType } = this.globalData.userInfo + const { UserType } = this.globalData.userInfo const that = this this.globalData.registChannel = registChannel this.globalData.regBusinessId = regBusinessId @@ -336,37 +321,11 @@ App({ isReject = true } if (UserType == 2) { - let urlKey = '' - if (!PatientId) { - urlKey = 'enterInfo' - } else if (AuditStatus == 0) { - urlKey = 'noCert' - } else if (AuditStatus == 1) { - if (backPage && (backPage as string).includes('liveResult')) { - urlKey = 'liveResult' - } else { - urlKey = isFollow ? 'nopending' : 'pending' - } - } else if (AuditStatus == 2) { - urlKey = 'reject' - } - let navUrl = { - enterInfo: '/pages/enterInfo/index', - noCert: '/pages/enterInfo/index', - reject: '/pages/enterInfo/index', - pending: '/pages/enterInfo/index', - nopending: '/pages/enterInfo/index', - liveResult: backPage, - }[urlKey] - if (urlKey == 'liveResult') { - wx.navigateTo({ - url: navUrl as string, - }) - } else { - wx.reLaunch({ - url: navUrl as string, - }) - } + // 已注册用户无需审核,直接引导完善信息 + const navUrl = '/pages/enterInfo/index' + wx.reLaunch({ + url: navUrl, + }) isReject = true } } @@ -630,7 +589,7 @@ App({ const checkUserType = () => { const userInfo = this.globalData.userInfo if (userInfo.UserType) { - resolve(userInfo.UserType >= 3 ? 'DRUG' : 'PATIENT') + resolve(userInfo.UserType >= 4 ? 'DRUG' : 'PATIENT') return true } return false diff --git a/src/components/toast/index.scss b/src/components/toast/index.scss index 419a053..f1d599c 100644 --- a/src/components/toast/index.scss +++ b/src/components/toast/index.scss @@ -2326,31 +2326,27 @@ .popup-dedicated-doctor { .popup-container { position: relative; - padding: 392rpx 40rpx 0; + padding: 334rpx 40rpx 0; width: 670rpx; - height: 496rpx; + height: 644rpx; box-sizing: border-box; .content { - position: absolute; - top: 78rpx; - right: 20rpx; - width: 462rpx; - height: 122rpx; - animation: hu__hu__ infinite 2s ease-in-out; - @keyframes hu__hu__ { - 50% { - transform: translateY(20rpx); - } + font-size: 36rpx; + color: rgba(34, 34, 34, 1); + text-align: center; + line-height: 58rpx; + .high { + color: rgba(14, 182, 109, 1); } } .btn { - width: 610rpx; - height: 80rpx; + margin-top: 58rpx; + height: 96rpx; font-size: 32rpx; color: rgba(255, 255, 255, 1); text-align: center; - line-height: 80rpx; - background: #cf5375; + line-height: 96rpx; + background: linear-gradient(to right, rgba(14, 182, 109, 1), rgba(0, 210, 119, 1)); border-radius: 24rpx 24rpx 24rpx 24rpx; } } @@ -2435,27 +2431,36 @@ } .popup-patient-detail-safe-doctor { + .badge{ + position: relative; + z-index: 1; + display: block; + margin: 0 auto; + width: 380rpx; + height: 362rpx; + } .popup-container { + margin-top: -200rpx; position: relative; - padding: 228rpx 50rpx 0; + padding: 180rpx 50rpx 40rpx; width: 670rpx; - height: 566rpx; box-sizing: border-box; + border-radius: 24rpx; + background: linear-gradient(180deg, #E5FFF4 0%, #FFFFFF 22.89%, #FFFFFF 100%); .content { - font-size: 32rpx; - color: #283031; - line-height: 48rpx; + font-size: 36rpx; + color: rgba(34, 34, 34, 1); + line-height: 60rpx; } .btn { - margin: 32rpx auto 0; - width: 364rpx; - height: 84rpx; - font-size: 36rpx; + margin: 46rpx auto 0; + height: 96rpx; + font-size: 40rpx; color: rgba(255, 255, 255, 1); text-align: center; - line-height: 80rpx; - background: linear-gradient(345deg, #d76c6c 0%, #fb7474 100%); - border-radius: 48rpx; + line-height: 96rpx; + background: linear-gradient(to right, rgba(14, 182, 109, 1) 0%, rgba(0, 210, 119, 1) 100%); + border-radius: 16rpx; } } .close { @@ -3141,7 +3146,7 @@ } .sure { padding: 0; - background: linear-gradient( 90deg, #293B9F 0%, #1679CB 100%); + background: linear-gradient(90deg, #293b9f 0%, #1679cb 100%); color: #ffffff; display: flex; align-items: center; diff --git a/src/components/toast/index.wxml b/src/components/toast/index.wxml index 3a5df6e..1c72f34 100644 --- a/src/components/toast/index.wxml +++ b/src/components/toast/index.wxml @@ -659,18 +659,15 @@ - - - + + +
+ + 通过 + 「专属医生互动」 + + 医生可远程关注您的健康状态啦 +
立即体验
- + + 以下内容涉及患者个人信息,仅用于{{params.HospitalName}}{{params.Name}}医生进行患者随访管理,请在安全环境下查看,不截图,不转发 @@ -914,7 +909,9 @@ 《用户协议》 《隐私政策》 - 《个人信息共享知情同意书》 + + 《个人信息共享知情同意书》 + 取消 @@ -1060,9 +1057,7 @@ - - 是否替换已有基准照 - + 是否替换已有基准照 取消 确认替换 diff --git a/src/doc/pages/doc2/index.ts b/src/doc/pages/doc2/index.ts index 2c4fa68..b715682 100644 --- a/src/doc/pages/doc2/index.ts +++ b/src/doc/pages/doc2/index.ts @@ -2,7 +2,7 @@ const _app = getApp() Page({ data: { - doc: `


生效日期:2025年4月

【重症肌无力患者支持“gMG给力加油站”项目】(以下简称“我们”)非常注重保护用户(“您”)的个人信息及隐私。我们希望通过本《个人信息及隐私保护政策》(以下简称本“隐私政策”或本“政策”)向您清晰地介绍在使用我们的产品/服务时,我们如何处理您的个人信息的方式。

我们提供的服务包括给力加油站患者端小程序、微信公众号向您提供的各项服务(以下简称“本服务”),适用本隐私政策。

请您在使用本服务前,务必仔细阅读并充分理解本隐私政策。我们将逐一说明我们收集您的个人信息的类型及其对应的用途,以便您了解我们针对某一特定功能或服务所收集的具体个人信息的类别、使用理由及收集方式。

本隐私政策将帮您了解以下信息:

1. 我们如何收集和使用您的个人信息

2. 我们基于何种目的或场景,收集和使用您的个人信息

3. 我们如何使用Cookie等同类技术

4. 我们如何委托处理、共享、转让、公开披露您的个人信息

5. 我们如何保存、保护您的个人信息

6. 您查阅、更正、删除、注销个人信息的权利

7. 未成年人保护

8. 本隐私政策变更及通知

9. 如何联系我们

10. 名词定义和解释

一、 我们如何收集和使用您的个人信息

(一) 我们会根据本隐私政策的约定,为实现本平台服务而对所收集的个人信息进行使用。

(二) 我们深知个人信息对您的重要性,并会尽全力保护您的个人信息安全可靠。我们致力于维持您对我们的信任,恪守以下原则,保护您的个人信息:合法、正当、必要和诚信原则,目的明确和直接相关原则,公开透明原则、准确性原则、问责性原则、数据安全原则等。同时,我们承诺采取必要的措施保障您的个人信息的安全。

二、 我们基于何种目的或场景,收集和使用您的个人信息

出于本隐私政策所描述的目的或场景,当您使用本平台服务时,我们可能会收集有关您的如下个人信息。若您不同意提供下列信息,有权拒绝提供或撤回同意,但您可能无法继续使用本平台的全部或部分服务:

(一) 注册登录账号

1. 当您关注给力加油站微信公众号时,我们会收集您的微信openID以及您关注、取消关注本公众号的行为数据,以便我们识别用户身份。

2. 当您登录使用给力加油站小程序时,您需要输入您的手机号码,通过手机号码加短信验证码的方式进行登录;或通过您的微信openID获取手机号进行手机号快捷登录。

(二) 向您提供本平台服务

1.注册成为用户:

为完成创建账号,您需提供您的姓名、手机号码,年龄,性别,完成账号注册,您后续可以自主在【我的】-【个人信息】中填写或更正您的信息;

2.ADL测评工具:

您可使用ADL双达标测评服务评估您的症状变化,我们将记录您在使用本服务期间的所有测评结果,并为您生成健康报告。

3.周三大咖说:

我们为您提供大咖说活动报名服务,报名完成后我们将记录您的userID、报名时间,我们基于此信息更新您的活动报名状态;

4.MG全知道:教育服务:

我们为您提供疾病知识服务,我们将记录您在使用本服务期间的内容浏览状态;

5.互动服务:

您在绑定专属医生后,您可使用医患互动服务。您可以从统提供的标准问答库内选择问题发送给医生,并接收医生从标准问答库内选择的问答回复;

6.就诊地图

为了您可以在就诊地图模块快速查看附近处的医院及就诊医生信息,我们会我们将请您授权我们获取您设备的地理位置权限,您可在开启权限后使用该功能。若未开启不影响您的功能的使用。

(三) 如果您对我们收集和使用您的个人信息的法律依据有任何疑问或需要提供进一步的信息,请通过本隐私政策第九章节「如何联系我们」提供的联系方式与我们联系。

(四) 本平台向您提供的服务可能将不断更新和发展,如果您选择使用本隐私政策中尚未列明的其他功能或服务时,我们会在收集您的个人信息前通过推送通知、更为显著的弹窗等方式向您详细说明信息收集的目的、方式、范围并征求您的同意。

三、 我们如何使用小程序原生能力技术

(一) 依托于微信小程序提供的原生能力

为了帮助提升您的产品体验,我们会使用微信提供的账号体系能力来避免您重复登录。所有的信息获取都会经过您的授权同意才会使用。

四、 我们如何委托处理、共享、转让、公开披露您的个人信息

(一) 委托处理

我们会聘请服务提供商来协助我们提供客户支持。对我们委托的公司、组织和个人,我们会要求他们按照本个人信息保护政策来处理您的个人信息。

(二) 共享

我们不会将任何个人信息出售给第三方。我们不会向给力加油站小程序、微信公众号运营公司以外的任何公司、组织和个人提供您的个人信息,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下共享:获得您的单独同意后,我们会与我们所披露的有关个人信息处理者共享您的相关个人信息;

(三) 转让

我们不会将您的个人信息转让给任何公司、组织和个人,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下转让:获得您的单独同意后,我们会向我们所披露的有关个人信息处理者转让您的相关个人信息;

(四) 公开披露

我们仅会在获得您明确同意后,公开披露您的个人信息。

五、 我们如何保存、保护您的个人信息

(一) 保存地点

我们依照法律法规的规定,将在境内运营过程中收集和产生的您的个人信息存储于中华人民共和国境内。目前,我们不会将上述信息传输至其他地区。

(二) 保存时间

我们会采取一切合理可行的措施,确保未收集无关的个人信息。 给力加油站小程序、微信公众号中个人信息储存必要期限是给力加油站小程序、微信公众号为您终止服务后3年。超出必要期限后,我们将对您的个人信息进行删除或匿名化处理,但法律法规另有规定的除外。

(三) 保护措施

我们已使用符合业界标准的安全防护措施保护您提供的个人信息,防止数据遭到未经授权访问、公开披露、使用、修改、损坏或丢失。我们会采取一切合理可行的措施,保护您的个人信息。我们会部署访问控制机制,确保只有授权人员才可访问个人信息。

(四) 安全事件处理

在发生个人信息安全事件后,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们将及时将事件相关情况以邮件、信函、电话、推送通知等方式告知您。

六、 您查阅、更正、删除、注销个人信息的权利

我们非常重视并保护您对于个人信息处理活动中的知情权、决定权、限制权、拒绝权等权利,并为您提供了行使在个人信息处理活动中相关权利的方法。

(一) 查阅权和更正权

除法律法规规定的情形除外,您有权随时查阅和更正您的个人信息,您可以通过在本平台的【我的】-【个人信息】查阅或更正您的个人信息,包括手机号、姓名、头像、医院、门诊时间、个人简介等信息。

(二) 删除权

1. 您可通过微信的缓存清理功能,删除您在本平台的缓存记录提供的相关个人信息。

2. 如果您需要删除您在使用本平台过程中产生的其他个人信息,在您的合理要求并经验证核实您的身份后,我们会处理您的请求。您可以通过本隐私政策「第九章节、如何联系我们方式向我们进行反馈。

3. 在以下情形中,您可以向我们提出删除个人信息的请求:

(1) 我们永久不再为您提供产品或服务;

(2) 您撤回对我们收集、使用您的个人信息的同意;

(3) 我们处理个人信息的行为违反法律、行政法规;

(4) 我们处理个人信息的行为违反了与您的约定;

(5) 您注销了用户帐号;

(6) 法律、行政法规规定的其他情形。

4. 您同意并理解,您删除某些您已提交的个人信息可能导致您无法使用本平台的部分或者全部服务。

(三) 注销权

如您希望注销本平台及服务,您可以通过发送邮件到supportpr@hbraas.com进行账号的注销。

一旦您注销账户,我们将停止为您提供服务。请您谨慎操作,否则,因注销账号产生的数据丢失问题均由您自行承担。当您选择注销账户后,我们将停止为您提供服务,并依据您的要求,删除您的个人信息。

七、 未成年人保护

我们非常重视对未成年人个人信息的保护,本平台的注册用户仅包括供医疗卫生专业人士。不涉及18周岁以下的未成年人注册为本平台账户。若您是未成年人,不得予以注册。

八、 本隐私政策变更及通知

(一) 为了向您提供更好的功能与/或服务,我们的产品/服务将不时更新与变化,因此,我们将适时修订及变更隐私政策。

(二) 未经您明确同意,我们不会削减您按照本隐私政策所应享有的权利。我们会在本页面上发布对本政策所做的任何变更。

(三) 对于重大变更,我们可能还会提供本平台公告、推送通知或更为显著的弹窗等方式,向您发送隐私政策的最新版本。

九、 如何联系我们

若您对本服务有任何疑问、意见或建议,您可以通过以下方式与我们联系:

邮箱:supportpr@hbraas.com

一般情况下,我们将在7天内回复。

十、 名词定义与解释

本平台:通过电子化信息平台运营和提供的数字化产品和服务,电子化信息平台包括但不限于 给力加油站小程序、微信公众号提供数字化产品和服务的系统或平台等,具体以用户实际注册、访问或使用为准(对于该等数字化产品和服务,本协议统称为“电子化信息平台”或“平台”或“本平台”)

个人信息:以电子或者其他方式记录的与已识别或可识别的自然人有关的各种信息,不包括匿名化处理后的信息。如姓名等;

OPENID:OPENID是微信用户在注册公众号后的唯一独立加密用户身份标识,此处OPENID是指本平台用户注册后的唯一加密用户身份标识。


`, + doc: `


生效日期:2025年4月

【重症肌无力患者支持“愈见昕生”项目】(以下简称“我们”)非常注重保护用户(“您”)的个人信息及隐私。我们希望通过本《个人信息及隐私保护政策》(以下简称本“隐私政策”或本“政策”)向您清晰地介绍在使用我们的产品/服务时,我们如何处理您的个人信息的方式。

我们提供的服务包括给力加油站患者端小程序、微信公众号向您提供的各项服务(以下简称“本服务”),适用本隐私政策。

请您在使用本服务前,务必仔细阅读并充分理解本隐私政策。我们将逐一说明我们收集您的个人信息的类型及其对应的用途,以便您了解我们针对某一特定功能或服务所收集的具体个人信息的类别、使用理由及 ... (very long line, trimmed to 1000 chars) }, onLoad() {}, }) diff --git a/src/doc/pages/privacyAgreement/index.json b/src/doc/pages/privacyAgreement/index.json new file mode 100644 index 0000000..20f01e2 --- /dev/null +++ b/src/doc/pages/privacyAgreement/index.json @@ -0,0 +1,9 @@ +{ + "navigationStyle": "default", + "navigationBarTitleText": "协议相关", + "usingComponents": { + "mp-html": "mp-html", + "van-tab": "@vant/weapp/tab/index", + "van-tabs": "@vant/weapp/tabs/index" + } +} diff --git a/src/doc/pages/privacyAgreement/index.scss b/src/doc/pages/privacyAgreement/index.scss new file mode 100644 index 0000000..653987a --- /dev/null +++ b/src/doc/pages/privacyAgreement/index.scss @@ -0,0 +1,3 @@ +.mp-html { + padding: 20rpx 40rpx; +} diff --git a/src/doc/pages/privacyAgreement/index.ts b/src/doc/pages/privacyAgreement/index.ts new file mode 100644 index 0000000..44527a9 --- /dev/null +++ b/src/doc/pages/privacyAgreement/index.ts @@ -0,0 +1,17 @@ +const _app = getApp() + +Page({ + data: { + active: 0, + doc1: `

TED关爱小助手小程序隐私政策

本版本更新日期:2025年9月12日

本版本生效日期:2025年9月12日

“TED关爱小助手”(以下亦称“我们”)非常注重保护用户(“您”)的个人信息及隐私。我们希望通过本《TED关爱小助手小程序隐私政策》(以下简称“本隐私政策”或本“政策”)向您清晰地介绍在使用我们的产品/服务时,我们如何处理您的个人信息。您及您的隐私对于我们至关重要,我们非常重视您的隐私和个人信息的保护。

请您在使用本产品/服务前,务必仔细阅读并充分理解本隐私政策。我们将逐一说明我们收集您的个人信息的类型及其对应的用途,以便您了解我们针对某一特定功能或服务所收集的具体个人信息的类别、使用理由及收集方式。

您在完成勾选并点击“同意”按钮后,本隐私政策即构成对双方有约束力的法律文件,即表示您同意我们按照本隐私政策收集、使用、处理和存储您的相关个人信息。

【本隐私政策的适用范围】

本隐私政策适用于您通过任何方式使用TED关爱小助手小程序平台或我们通过其他方式与您沟通合作时提供的全部功能和/或服务(以下合称为“本平台服务”)而收集或存储的信息。我们希望通过本隐私政策向您说明在您使用本平台服务时或我们通过其他方式与您沟通合作时,我们是如何收集、存储、使用、加工、传输、提供、公开、删除这些信息,以及我们将为您提供查阅、更正、限制、拒绝、删除、注销这些信息的方式。

本隐私政策将帮您了解以下信息:

1. 我们如何收集和使用您的个人信息

2. 我们基于何种目的或场景,收集和使用您的个人信息

3. 我们如何使用Cookie等同类技术

4. 我们如何委托处理、共享、转让、公开披露您的个人信息

5. 我们如何保存、保护您的个人信息

6. 您查阅、更正、限制、拒绝、删除、注销个人信息的权利

7. 未成年人保护

8. 本隐私政策变更及通知

9. 如何联系我们

10. 名词定义和解释

一、 我们如何收集和使用您的个人信息

(一)我们会根据本隐私政策的约定,为实现本平台服务而对所收集的个人信息进行使用。

(二)我们深知个人信息对您的重要性,并会尽全力保护您的个人信息安全可靠。我们致力于维持您对我们的信任,恪守以下原则,保护您的个人信息:合法、正当、必要和诚信原则,目的明确和直接相关原则,公开透明原则、准确性原则、问责性原则、数据安全原则等。同时,我们承诺将按业界成熟的安全标准,采取必要的措施保障您的个人信息的安全。

(三)我们对您个人信息的使用建立在下述一项或多项合法依据之上:您的同意、对公开信息的合理使用、为履行双方所签署的合同所必须及为遵守我们的法律义务。

二、 我们基于何种目的或场景,收集和使用您的个人信息

出于本隐私政策所描述的目的或场景,当您使用本平台服务时,我们可能会收集有关您的如下个人信息。若您不同意提供下列信息,有权拒绝提供,但您可能无法继续使用本平台的全部或部分服务:

(一) 注册、登录

当您需要使用本平台服务时,您首先需要注册本平台账号。为注册本平台账号,您需要提供您的手机号,以及选择性提供头像、昵称,您后续可以自主在【我的】页中填写或修改您的头像、昵称。如果您不提供上述信息,将影响您使用本平台的基本功能。

(二) 向您提供的本平台服务

1. 注册成为用户

为完成账号的创建,您需要提供姓名、手机号码、年龄、性别等信息,以完成账号注册,您后续可以自主在【我的】-【个人信息】中填写或更正您的信息。

2.活动参加

您在本平台上报名活动后,我们将会收集您的本平台账号UID信息、报名时间,我们基于此信息更新您的活动状态更新,以方便您的活动参与。

3.QOL测评工具

您可以使用QOL测评服务评估您的症状变化,我们将记录您在使用本服务期间的所有测评结果,并为您生成健康报告。

4.了解TED教育服务

我们为您提供疾病知识服务,我们将记录您在使用本服务期间的内容浏览状态。

5.互动服务

您在绑定专属医生后,可以使用医患互动服务。

6.为您提供安全保障及更佳的服务体验

当您使用本平台服务时,我们会自动收集您对我们服务的详细使用情况,作为有关网络日志保存。包括浏览、点击查看、分享信息、访问日期和时间、浏览的内容及时长、浏览记录等。为了保障您的账号安全以及系统运行安全,防止欺诈、网络病毒、网络攻击等安全风险,本平台服务将满足法律法规和我们协议规则的相关要求,同时,我们会根据不同操作系统为您提供最佳的浏览体验。

(三) 如果您对我们收集和使用您的个人信息的法律依据有任何疑问或需要提供进一步的信息,请通过本隐私政策第九章节「如何联系我们」提供的联系方式与我们联系。

(四) 当我们要将您的个人信息用于本隐私政策未载明的其他目的时,会事先征求您的同意。请您知悉,本平台向您提供的服务可能将不断更新和发展,如果您选择使用本隐私政策中尚未列明的其他功能或服务时,我们会在收集您的个人信息前通过推送通知、更为显著的弹窗等方式向您详细说明信息收集的目的、方式、范围并征求您的同意。

三、 我们如何使用Cookie等同类技术

(一)依托于微信小程序提供的原生能力

为了帮助提升您的产品体验,我们会使用微信提供的一些原生能力来避免您重复登录,并存储您所在城市信息等数据,进而帮助判断您的登录状态、更好的为您提供服务、判断账户或数据安全。所有的信息获取都会经过您的授权同意才会使用,并且我们不会主动共享或转让您的信息至任何第三方,不会对外公开披露您的任何信息,您可以通过移除小程序的方式删除您已授权的信息。

(二)Cookies 的使用

我们提供的产品服务中,为了能够让您获得更好的浏览体验,我们会在您的微信内置浏览器上记录Cookies信息,指定给您的Cookies是唯一的,它只能被将Cookies发布给您的域中的Web服务器读取。大部分手机的微信内置浏览器会自动接受Cookies,我们不会将Cookies用于本隐私政策所述目的之外的任何用途。您可以在微信“我-设置-通用-存储空间-缓存”中清除保存的所有 Cookies,但如果您这么做,您可能需要在每一次访问小程序内嵌网站时重新授权获取相关信息,而且您之前的相关记录信息也会被删除,并且可能会对您所使用服务的安全性有一定影响。

四、 我们如何委托处理、共享、转让、公开披露您的个人信息

(一) 委托处理

如涉及,我们会聘请服务提供商来协助我们提供客户支持。对我们委托处理个人信息的公司、组织和个人,我们会与其签署严格的个人信息保护条款和保密协定,要求他们按照我们的要求、本个人信息保护政策以及其他任何相关的个人信息保护、保密和信息安全措施来处理您的个人信息,并且对他们的个人信息处理活动进行监督。

(二) 共享

我们不会将任何个人信息出售给第三方。我们不会向本小程序运营公司以外的任何公司、组织和个人提供您的个人信息,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下共享:获得您的单独同意后,我们会与我们所披露的有关个人信息处理者共享您的相关个人信息;

d) 我们可能会根据法律法规规定,或按政府主管部门的强制性要求,向有关主管部门提供您的个人信息。

(三) 转让

我们不会将您的个人信息转让给任何公司、组织和个人,但以下情况除外:

a) 在向您进行明确告知并获取您的单独同意的情况下转让:获得您的单独同意后,我们会向我们所披露的有关个人信息处理者转让您的相关个人信息;

b) 在涉及合并、分立、解散、被宣告破产时,如涉及到个人信息转让,我们会向您告知接收方的名称或者姓名和联系方式。如接收方变更原先的处理目的、处理方式的,我们将要求该接收方重新取得您的同意。

(四) 公开披露

我们仅会在获得您明确同意后,公开披露您的个人信息。

五、 我们如何保存、保护您的个人信息

(一) 保存地点

我们依照法律法规的规定,将在境内运营过程中收集和产生的您的个人信息存储于中华人民共和国境内。目前,我们不会将上述信息传输至其他地区,如果我们向其他地区传输,我们将遵循相关国家规定或者征求您的同意。

(二) 保存时间

我们会采取一切合理可行的措施,确保未收集无关的个人信息。TED关爱中心小程序中个人信息储存必要期限是TED关爱中心小程序为您终止服务后3年。超出必要期限后,我们将对您的个人信息进行删除或匿名化处理,但法律法规另有规定的除外。

(三) 保护措施

我们已使用符合业界标准的安全防护措施保护您提供的个人信息,防止数据遭到未经授权访问、公开披露、使用、修改、损坏或丢失。我们会采取一切合理可行的措施,保护您的个人信息。例如,我们会使用加密技术(例如SSL)确保数据的保密性;我们会使用受信赖的保护机制防止数据遭到恶意攻击;我们会部署访问控制机制,确保只有授权人员才可访问个人信息;以及我们会举办安全和隐私保护培训课程,加强员工对于保护个人信息重要性的认识。互联网环境并非百分之百安全,我们将尽力确保或担保您发送给我们的任何信息的安全性。

(四) 数据安全能力

我们会使用不低于行业同行的加密技术、匿名化处理及相关合理可行的手段保护您的个人信息,并使用安全保护机制防止您的个人信息遭到恶意攻击。

我们会建立专门的安全部门、安全管理制度、数据安全流程保障您的个人信息安全。我们采取严格的数据使用和访问制度,确保只有授权人员才可访问您的个人信息,并适时对数据和技术进行安全审计。

(五) 安全事件处理

在不幸发生个人信息安全事件后,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们将及时将事件相关情况以邮件、信函、电话、推送通知等方式告知您,难以逐一告知个人信息主体时,我们会采取合理、有效的方式发布公告。 同时,我们还将按照监管部门要求,主动上报个人信息安全事件的处置情况。

六、 您查阅、更正、限制、拒绝、删除、注销个人信息的权利

我们非常重视并保护您对于个人信息处理活动中的知情权、决定权、限制权、拒绝权等权利,并为您提供了行使在个人信息处理活动中相关权利的方法。

(一) 查阅权和更正权

除法律法规规定的情形除外,您有权随时查阅和更正您的个人信息,您可以通过在本平台的【我的】查阅或修改您的个人信息,包括头像、昵称。

(二) 限制或拒绝权

对于您个人信息的收集和使用,您可以在本平台上随时通过以下方式撤回授权同意,以限制或拒绝我们收集或使用您的个人信息:

您可以通过第九章节、如何联系我们进行相应的同意撤回。请您谨慎操作,否则,因注销账号产生的数据丢失问题均由您自行承担。在注销账号之后,我们将停止为您提供本平台服务,并依据您的要求,删除您的个人信息,但法律法规另有规定的除外。

(三) 删除权

1.您可通过微信的缓存清理功能,删除您在本平台的缓存记录提供的相关个人信息。

2.如果您需要删除您在使用本平台过程中产生的其他个人信息,在您的合理要求并经验证核实您的身份后,我们会处理您的请求。您可以通过本隐私政策「第九章节、如何联系我们方式向我们进行反馈。

3.在以下情形中,您可以向我们提出删除个人信息的请求:

(1) 我们永久不再为您提供产品或服务;

(2) 您撤回对我们收集、使用您的个人信息的同意;

(3) 我们处理个人信息的行为违反法律、行政法规;

(4) 我们处理个人信息的行为违反了与您的约定;

(5) 您注销了用户帐号;

(6) 法律、行政法规规定的其他情形。

您同意并理解,您删除某些您已提交的个人信息可能导致您无法使用本平台的部分或者全部服务。

(四) 注销权

您可以通过第九章节、如何联系我们」进行账户注销。一旦您注销账户,我们将停止为您提供服务。请您谨慎操作,否则,因注销账号产生的数据丢失问题均由您自行承担。当您选择注销账户后,我们将停止为您提供服务,并依据您的要求,删除您的个人信息,但法律法规另有规定的除外。

七、 未成年人保护

我们非常重视对未成年人个人信息的保护,本平台服务主要面向成年人。如果我们发现收集了未成年人的个人信息,我们将尽快删除相关信息。如果您是未成年人的监护人,并且您认为我们收集了未成年人的个人信息,请您及时与我们联系,我们将采取措施删除相关信息。

八、 本隐私政策变更及通知

(一)为了向您提供更好的功能与服务,本平台服务将不时更新与变化,因此,我们将适时修订及变更隐私政策。

(二)未经您明确同意,我们不会削减您按照本隐私政策所应享有的权利。我们会在本页面上发布对本政策所做的任何变更。

(三)对于重大变更,我们可能还会提供本平台公告、推送通知或更为显著的弹窗等方式,向您发送隐私政策的最新版本。本政策重大变更包括但不限于:

1.我们的服务模式发生重大变化。如处理个人信息的目的、处理的个人信息类型、个人信息的使用方式等;

2.我们在所有权结构、组织架构等方面发生重大变化。如业务调整、破产并购等引起的所有者变更等;

3.个人信息共享、转让或公开披露的主要对象发生变化;

4.您参与个人信息处理方面的权利及其行使方式发生重大变化;

5.我们的联络方式及投诉渠道发生变化;

6.个人信息安全影响评估报告表明存在高风险时。

九、 如何联系我们

如果您对本隐私协议有任何疑问、意见或建议,或者您需要行使您的个人信息权利,请通过以下方式与我们联系:
[电子邮箱地址]
service@hbraas.com

我们将在收到您的联系信息后,尽快回复您并处理您的问题。

十、 名词定义与解释

本平台:通过电子化信息平台运营和提供的数字化产品和服务,电子化信息平台包括但不限于TED关爱小助手小程序、TED关爱中心微信公众号提供数字化产品和服务的系统或平台等,具体以用户实际注册、访问或使用为准(对于该等数字化产品和服务,本协议统称为“电子化信息平台”或“平台”或“本平台”)

个人信息:以电子或者其他方式记录的与已识别或可识别的自然人有关的各种信息,不包括匿名化处理后的信息。如姓名、出生日期、身份证件号码、个人生物识别信息、住址、通信通讯联系方式、通信记录和内容、账号密码、财产信息、征信信息、行踪轨迹、住宿信息、健康生理信息、交易信息等。

敏感个人信息:敏感个人信息是指一旦泄露或者非法使用,容易导致自然人的人格尊严受到侵害或者人身、财产安全受到危害的个人信息,包括生物识别、宗教信仰、特定身份、医疗健康、金融账户、行踪轨迹等信息,以及不满十四周岁未成年人的个人信息。例如,个人敏感信息包括身份证件号码、个人生物识别信息、银行账号、通信内容、健康生理信息等。本平台不涉及敏感信息收集。

OpenID:微信OpenID是用户在微信平台上的唯一标识符,用于身份验证和跨平台登录。此处OpenID是指本平台用户注册后的唯一加密用户身份标识。

TED关爱小助手

`, + doc2: `

用户协议

本版本更新日期:2025年9月12日

本版本生效日期:2025年9月12日

欢迎您使用TED关爱小助手平台(以下简称 “本平台” 或 “平台”)为保障您在使用平台服务过程中的合法权益,规范双方权利与义务,请您在注册、使用本平台服务前,仔细阅读本用户协议(以下简称 “本协议”)全部内容。一旦您注册、登录或使用本平台,即视为您已阅读、理解并同意本协议的所有内容。

一、定义与适用范围

1.本平台:指为甲状腺相关眼病(TED)患者提供健康管理、医疗信息服务等功能的数字化服务平台,包括但不限于对应的小程序、公众号等。

2.用户:指注册、登录并使用本平台服务的自然人,即甲状腺相关眼病(TED)患者或经患者授权使用平台服务的相关人员。

3.平台服务:指我们通过本平台向用户提供的所有功能与服务,包括但不限于健康档案管理、专属医生绑定与信息交互、医疗知识科普等服务。

本协议适用于用户对本平台所有服务的使用行为,用户在使用平台不同服务时,除需遵守本协议外,还应遵守我们针对具体服务制定的相关规则与指引。

二、用户注册与账号管理

1.注册要求:用户在注册平台账号时,应提供真实、准确、完整的个人信息,包括但不限于姓名、出生日期、联系方式、疾病诊断信息等。若用户提供的信息发生变更,应及时更新,确保信息的有效性与准确性。

2.账号安全:您的账户为您自行设置并由您保管,建议您务必保管好您的账户。 账户因您主动泄露或因您遭受他人攻击、诈骗等行为导致的损失及后果,本公司不承担责任,您应通过司法、行政等救济途径向侵权行为人追偿。

3.如发现账号存在异常登录或使用情况,应立即通知我们,并配合采取必要的措施保障账号安全。因用户自身原因导致账号信息泄露或账号被盗用产生的后果,由用户自行承担。

4.账号注销:用户有权根据自身需求申请注销账号。账号注销后,除法律法规另有规定或为履行相关义务外,我们将对用户的个人信息进行删除或匿名化处理,且无法恢复。

三、平台服务内容与使用规则

1.服务内容

Ø 健康档案管理:用户可在平台录入、查看和管理个人健康档案信息,包括但不限于病史、诊断结果、治疗记录、健康数据等。平台将为用户提供便捷的档案管理功能,帮助用户系统地记录和跟踪健康状况。

Ø 专属医生绑定与信息交互:用户可自主选择绑定专属医生,绑定后,平台将按照《个人信息共享知情同意书》的约定,将用户相关信息共享给绑定医生。

Ø 医疗知识科普:平台将定期发布与甲状腺相关眼病(TED)相关的医疗知识、治疗进展、护理方法等科普内容,帮助用户更好地了解疾病,提升自我管理能力。

2. 使用规则

Ø 用户应在法律法规允许的范围内使用平台服务,不得利用平台从事任何违法违规活动,包括但不限于传播虚假信息、进行诈骗、侵犯他人知识产权等。

Ø 用户在使用平台服务过程中,不得干扰、破坏平台的正常运行,不得实施任何可能影响平台服务质量、安全或稳定性的行为,如恶意攻击、数据篡改、滥用接口等。

Ø 用户不得将平台服务用于商业目的或未经我们书面许可的其他用途。若用户违反上述使用规则,我们有权立即停止向其提供服务,并保留追究其法律责任的权利。

四、双方权利与义务

1.用户权利

Ø 用户有权自主选择使用平台提供的各项服务,有权对平台服务提出意见和建议。

Ø 用户有权按照本协议约定,查询、更正个人在平台的相关信息,有权撤回对个人信息共享的同意(具体规则详见《个人信息共享知情同意书》)。

Ø 用户在使用平台服务过程中,若合法权益受到侵害,有权要求我们采取合理措施予以解决。

2. 用户义务

Ø 用户应遵守本协议及平台相关规则,按照平台指引正确使用服务,不得违反法律法规及社会公序良俗。

Ø 用户应妥善保管个人账号及信息,对使用该账号进行的所有活动和行为负责。

Ø 用户应积极配合我们开展的服务优化、安全保障等工作,如实提供相关信息和反馈。

3.我们的权利

Ø 我们有权根据法律法规变化、业务发展需求等情况,对平台服务内容、功能、本协议及相关规则进行调整、修改或更新。

Ø 若用户违反本协议或平台相关规则,我们有权采取包括但不限于限制账号功能、暂停或终止服务、删除违规内容等措施,并保留追究其法律责任的权利。

4. 我们的义务

Ø 我们将按照法律法规要求,采取合理的技术和管理措施,保障平台服务的正常运行,确保用户信息安全。

Ø 我们将持续优化平台服务,为用户提供准确、有用的医疗信息和服务,及时处理用户的咨询、投诉和建议。

五、隐私保护

我们非常重视用户的个人信息保护,将严格按照《中华人民共和国个人信息保护法》及其他相关法律法规的规定,处理用户的个人信息。具体信息收集、使用、共享、存储、保护等规则详见《隐私政策》,请您在使用平台服务前仔细阅读。

六、免责声明

1.由于不可抗力(包括但不限于自然灾害、政府行为、网络攻击、病毒侵袭等)或其他不可预见、不可避免的原因,导致平台服务中断、数据丢失或其他异常情况,我们不承担责任,但将尽力减少损失并及时通知用户。

2.对于用户通过平台获取的任何信息内容,仅供参考,不构成具体的医疗诊断或治疗方案。用户应根据自身实际情况,结合专业医生的诊断进行治疗,因用户依据平台信息进行自我诊断或治疗产生的一切后果,由用户自行承担。

3.我们对平台上第三方提供的链接、内容或服务不承担任何责任。用户通过平台访问第三方内容或服务时,应自行注意相关风险,并遵守第三方的相关规定。

`, + doc3: `

个人信息知情同意书

本版本更新日期:2025年9月12日

本版本生效日期:2025年9月12日

【甲状腺相关眼病患者支持项目“TED关爱小助手”】(以下简称“本平台”)非常注重保护用户(“您”)的个人信息及隐私。为保障您的合法权益,请您在使用本平台过程中,仔细阅读并确认您已充分理解并同意本知情同意书的所有内容。

一、信息共享目的

本平台旨在为甲状腺相关眼病(TED)患者提供便捷、高效的健康管理服务。将您的个人信息共享给您主动绑定的专属医生,是为了使医生能够更全面、及时地了解您的健康状况,包括但不限于病史、诊断进展、检查项目等。

二、共享信息范围

1.基本个人信息:您注册本平台时填写的姓名、年龄、入组日期。

2.健康档案信息:您在平台上录入的疾病诊断信息、检查检验项目、治疗过程进展、就诊记录等。

三、信息共享主体

仅当您在本平台主动完成专属医生绑定操作后,您的上述个人信息将被共享给您绑定的专属医生。本平台承诺不会将您的个人信息共享给未经您主动绑定的任何第三方。

四、信息接收方的责任与义务

您绑定的专属医生需严格遵守国家相关法律法规及医疗行业规范,对获取的您的个人信息予以保密。在使用您的个人信息时,仅可将其用于为您提供医疗服务相关目的,不得用于任何其他商业或非医疗用途,不得泄露、篡改、损毁您的个人信息。如因专属医生违反相关规定导致您的个人信息泄露或遭受其他损害,其将承担相应的法律责任。

五、您的权利

1.自主选择权:您有权自主决定是否在本平台绑定专属医生,从而决定是否将个人信息进行共享。若您选择不绑定专属医生,您仍可正常使用本平台除与医生信息交互相关的其他功能。

2.信息查询与更正权:您可随时登录本平台,查询已共享给专属医生的个人信息,并对其中存在错误或需要更新的信息进行更正。

3.注销账号:您可以通过本平台提供的“注销账号”功能与医生解绑,账号注销后,专属医生将无法再查看到您的信息。访问路径【我的】-【个人信息】。

六、信息安全保障

本平台高度重视您的个人信息安全,采取了一系列合理且必要的技术与管理措施,包括但不限于数据加密、访问控制等,以防止您的个人信息被泄露、篡改或丢失。

七、其他条款

1.本知情同意书的签订、生效、履行、解释及争议解决均适用中华人民共和国法律。

2.如您在使用本平台过程中与我们就本知情同意书或个人信息共享事宜发生任何争议,双方应首先友好协商解决;协商不成的,任何一方均有权向本平台运营方所在地有管辖权的人民法院提起诉讼。

3.本平台有权根据法律法规的变化、业务发展需求等情况对本知情同意书进行修订。修订后的内容将通过在本平台显著位置发布公告等方式通知您。若您继续使用本平台及相关服务,即视为您已充分阅读、理解并接受修订后的内容。

`, + }, + onLoad(options) { + this.setData({ + active: Number(options.active), + }) + }, +}) + +export {} diff --git a/src/doc/pages/privacyAgreement/index.wxml b/src/doc/pages/privacyAgreement/index.wxml new file mode 100644 index 0000000..43ca8c3 --- /dev/null +++ b/src/doc/pages/privacyAgreement/index.wxml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/doctor/pages/d_my/index.ts b/src/doctor/pages/d_my/index.ts index 3c8afbe..b3216ea 100644 --- a/src/doctor/pages/d_my/index.ts +++ b/src/doctor/pages/d_my/index.ts @@ -62,7 +62,7 @@ Page({ }, handlePrivacy() { wx.navigateTo({ - url: '/pages/privacyAgreement/index', + url: '/doc/pages/privacyAgreement/index', }) }, handleFollow() { diff --git a/src/gift/pages/giftDetail/index.ts b/src/gift/pages/giftDetail/index.ts index 4a7e1d1..c4d9685 100644 --- a/src/gift/pages/giftDetail/index.ts +++ b/src/gift/pages/giftDetail/index.ts @@ -20,8 +20,8 @@ Page({ this.setData({ id: options.id, toastParams: { - doc: `

为让用户更好的享受再鼎gMG给力加油站的服务,gMG给力加油站平台向用户提供了能量兑换服务,并提供了丰富的礼品,平台注册用户可使用有效的能量兑换礼品。

gMG给力加油站的礼品库将提供:

1) 查看用户在能量商城选择兑换的商品信息;

2) 确认兑换商品的订单信息;

3) 实施兑换商品的物流配送服务。

基于以上服务内容,我们在此特别声明:

gMG给力加油站非常重视用户个人信息保护,我们制定了详细的《知情同意书》,我们将按照公示的政策及相关法律法规的要求,对您的个人信息予以保护。为了完整的向您提供能量的商品兑换服务,gMG给力加油站将需要您提供用户真实姓名、手机号、地址信息,以便完成您所兑换商品的物流配送。其中,当用户准备对兑换商品进行结算时,平台会生成兑换该商品的订单,同时该订单中会载明订单号、所兑换的商品或服务信息、应支付的能量值。以上所有信息构成用户的“订单信息”,平台将使用订单信息来进行用户的身份核验、确定交易、支付结算、完成配送。

用户点击本协议的"同意"按钮即视为完全接受以上声明条款,在点击之前请用户再次确认已知悉并完全理解声明的全部内容。

`, - // doc:`

为让用户更好的享受再鼎gMG给力加油站的服务,gMG给力加油站平台向用户提供了能量兑换服务,并提供了丰富的礼品,平台注册用户可使用有效的能量兑换礼品。

gMG给力加油站的礼品库将提供:

1) 查看用户在能量商城选择兑换的商品信息;

2) 确认兑换商品的订单信息;

3) 实施兑换商品的物流配送服务。

基于以上服务内容,我们在此特别声明:

gMG给力加油站非常重视用户个人信息保护,我们制定了详细的《知情同意书》,我们将按照公示的政策及相关法律法规的要求,对您的个人信息予以保护。为了完整的向您提供能量的商品兑换服务,gMG给力加油站将需要您提供用户真实姓名、手机号、地址信息,以便完成您所兑换商品的物流配送。其中,当用户准备对兑换商品进行结算时,平台会生成兑换该商品的订单,同时该订单中会载明订单号、所兑换的商品或服务信息、应支付的能量值。以上所有信息构成用户的“订单信息”,平台将使用订单信息来进行用户的身份核验、确定交易、支付结算、完成配送。

用户点击本协议的"同意"按钮即视为完全接受以上声明条款,在点击之前请用户再次确认已知悉并完全理解声明的全部内容。

` + doc: `

为让用户更好的享受再鼎愈见昕生的服务,愈见昕生平台向用户提供了能量兑换服务,并提供了丰富的礼品,平台注册用户可使用有效的能量兑换礼品。

愈见昕生的礼品库将提供:

1) 查看用户在能量商城选择兑换的商品信息;

2) 为让用户更好的享受再鼎愈见昕生的服务,愈见昕生平台向用户提供了能量兑换服务,并提供了丰富的礼品,平台注册用户可使用有效的能量兑换礼品。

愈见昕生的礼品库将提供:

1) 查看用户在能量商城选择兑换的商品信息;

2) 确认兑换商品的订单信息;

< ... (very long line, trimmed to 1000 chars) }, }); app.waitLogin().then(() => { diff --git a/src/gift/pages/vipPending/index.wxml b/src/gift/pages/vipPending/index.wxml index 76c3173..76dca65 100644 --- a/src/gift/pages/vipPending/index.wxml +++ b/src/gift/pages/vipPending/index.wxml @@ -11,7 +11,7 @@
- 关注"gMG给力加油站"公众号 获取审核进度 + 关注"愈见昕生"公众号 获取审核进度 还可以了解更多重症肌无力专业知识
diff --git a/src/images/1/save-active-plan.png b/src/images/1/save-active-plan.png index 2af71c9..6303337 100644 Binary files a/src/images/1/save-active-plan.png and b/src/images/1/save-active-plan.png differ diff --git a/src/images/1/save-active.png b/src/images/1/save-active.png index 8025930..947a878 100644 Binary files a/src/images/1/save-active.png and b/src/images/1/save-active.png differ diff --git a/src/images/1/share-active.png b/src/images/1/share-active.png index 81e062c..6dc02c3 100644 Binary files a/src/images/1/share-active.png and b/src/images/1/share-active.png differ diff --git a/src/images/1/share.png b/src/images/1/share.png index 35ddae7..6dc02c3 100644 Binary files a/src/images/1/share.png and b/src/images/1/share.png differ diff --git a/src/images/1/star-active.png b/src/images/1/star-active.png index 64d0e24..46008cf 100644 Binary files a/src/images/1/star-active.png and b/src/images/1/star-active.png differ diff --git a/src/images/bg15.png b/src/images/bg15.png index cfe88d3..57bf9dd 100644 Binary files a/src/images/bg15.png and b/src/images/bg15.png differ diff --git a/src/images/bg22.png b/src/images/bg22.png index a6cb526..8b84665 100644 Binary files a/src/images/bg22.png and b/src/images/bg22.png differ diff --git a/src/images/bg26.png b/src/images/bg26.png new file mode 100644 index 0000000..831e8c6 Binary files /dev/null and b/src/images/bg26.png differ diff --git a/src/images/icon75.png b/src/images/icon75.png new file mode 100644 index 0000000..41a7c5d Binary files /dev/null and b/src/images/icon75.png differ diff --git a/src/images/icon76.png b/src/images/icon76.png new file mode 100644 index 0000000..8caa341 Binary files /dev/null and b/src/images/icon76.png differ diff --git a/src/images/icon77.png b/src/images/icon77.png new file mode 100644 index 0000000..fb0696c Binary files /dev/null and b/src/images/icon77.png differ diff --git a/src/images/icon78.png b/src/images/icon78.png new file mode 100644 index 0000000..2e3cd2b Binary files /dev/null and b/src/images/icon78.png differ diff --git a/src/images/icon79.png b/src/images/icon79.png new file mode 100644 index 0000000..8caa341 Binary files /dev/null and b/src/images/icon79.png differ diff --git a/src/images/icon80.png b/src/images/icon80.png new file mode 100644 index 0000000..a416ede Binary files /dev/null and b/src/images/icon80.png differ diff --git a/src/images/icon81.png b/src/images/icon81.png new file mode 100644 index 0000000..1097fe3 Binary files /dev/null and b/src/images/icon81.png differ diff --git a/src/pages/changePhone/index.json b/src/pages/changePhone/index.json index 6889e61..c2de07b 100644 --- a/src/pages/changePhone/index.json +++ b/src/pages/changePhone/index.json @@ -1,5 +1,5 @@ { - "navigationStyle": "custom", + "navigationBarTitleText": "修改手机号", "usingComponents": { "van-icon": "@vant/weapp/icon/index", "navBar": "/components/navBar/navBar" diff --git a/src/pages/changePhone/index.scss b/src/pages/changePhone/index.scss index 4fe132c..0f05640 100644 --- a/src/pages/changePhone/index.scss +++ b/src/pages/changePhone/index.scss @@ -1,110 +1,36 @@ -pgae { -} .page { - position: relative; - height: 100vh; - background-color: #fafafa; - .bg { - width: 100%; - } - .container { - position: absolute; - left: 0; - top: 233rpx; - width: 100%; - .frame { - display: block; - margin: 0 auto; - width: 220rpx; - height: 220rpx; - } - .title { - display: block; - margin: 86rpx auto 0; - width: 430rpx; - height: 50rpx; + padding: 88rpx 40rpx; + .row { + margin-bottom: 32rpx; + padding: 24rpx 48rpx; + background: #f2f4f5; + border-radius: 12rpx; + border: 1rpx solid #edeff0; + display: flex; + .place-input { + color: rgba(33, 33, 32, 0.40); } - .sub-title { - margin-top: 95rpx; - font-size: 24rpx; - color: #999999; - display: flex; - align-items: center; - justify-content: center; - .link { - color: #e04775; - } + .input { + flex: 1; + font-size: 32rpx; + line-height: 40rpx; + color: rgba(40, 48, 49, 1); } - .form { - margin-top: 32rpx; - padding: 0 64rpx; - .row { - margin-bottom: 40rpx; - display: flex; - .input { - flex: 1; - padding: 24rpx 32rpx; - height: 40rpx; - font-size: 28rpx; - color: #999999; - background: #f2f2f2; - border: 1rpx solid #cccccc; - border-radius: 24rpx; - } - .code { - margin-left: 24rpx; - flex-shrink: 0; - width: 212rpx; - border: 2rpx solid #e04775; - border-radius: 24rpx; - font-size: 28rpx; - color: #e04775; - display: flex; - align-items: center; - justify-content: center; - } - .submit { - width: 622rpx; - height: 88rpx; - background: #e04775; - border-radius: 24rpx; - font-size: 34rpx; - color: #ffffff; - font-weight: bold; - text-align: center; - line-height: 88rpx; - } - } - } - .divider { - margin: 48rpx auto 0; - width: 300rpx; - } - .ohter { - margin-top: 48rpx; - display: flex; - justify-content: center; - .col { - margin: 0 48rpx; - padding: 0 20rpx; - height: 48rpx; - border-radius: 24rpx; - background: #eeeeee; - font-size: 24rpx; - color: #666666; - display: flex; - align-items: center; - justify-content: center; - &::after { - border: none; - outline: none; - } - .icon { - margin-right: 12rpx; - width: 48rpx; - height: 48rpx; - } - } + .btn { + flex-shrink: 0; + font-size: 32rpx; + color: rgba(14, 182, 109, 1); } } + .submit { + margin-top: 64rpx; + height: 96rpx; + display: flex; + align-items: center; + justify-content: center; + font-size: 36rpx; + color: rgba(255, 255, 255, 1); + background: linear-gradient(to right, rgba(14, 182, 109, 1), rgba(0, 210, 119, 1)); + border-radius: 12rpx; + } } diff --git a/src/pages/changePhone/index.wxml b/src/pages/changePhone/index.wxml index 8c6e7cd..03bfc59 100644 --- a/src/pages/changePhone/index.wxml +++ b/src/pages/changePhone/index.wxml @@ -1,20 +1,24 @@ - - - - - - - - - - - - - {{codeText}} - - - 修改手机号 - + + + + + + + {{codeText}} + + 确定 diff --git a/src/pages/changeUser/index.wxml b/src/pages/changeUser/index.wxml index 07dacbc..028a031 100644 --- a/src/pages/changeUser/index.wxml +++ b/src/pages/changeUser/index.wxml @@ -1,4 +1,4 @@ - + diff --git a/src/pages/doctor/index.json b/src/pages/doctor/index.json index 8faf7c0..5ac9727 100644 --- a/src/pages/doctor/index.json +++ b/src/pages/doctor/index.json @@ -3,11 +3,8 @@ "usingComponents": { "navBar": "/components/navBar/navBar", "van-icon": "@vant/weapp/icon/index", - "van-tab": "@vant/weapp/tab/index", - "van-tabs": "@vant/weapp/tabs/index", "timeOut": "/components/timeOut/index", - "toast": "/components/toast/index", - "siteShare": "./siteShare/index", - "pickerArea":"/components/pickerArea/index" + "pickerArea": "/components/pickerArea/index", + "pagination": "/components/pagination/index" } } diff --git a/src/pages/doctor/index.ts b/src/pages/doctor/index.ts index cdfd178..84fb289 100644 --- a/src/pages/doctor/index.ts +++ b/src/pages/doctor/index.ts @@ -2,14 +2,9 @@ const app = getApp() Page({ data: { - tabShow: false, - tabActive: '0', LNG: '' as number | string, LAT: '' as number | string, - HosList: [], - DoctortList: [], - infusionCenterList: [], - dtpList: [], + HosList: [] as any[], pagination: { page: 1, pages: 1, @@ -22,6 +17,7 @@ Page({ Name: '', bottom: 0, + areaShow: false, asideOut: false, timeToast: false, @@ -29,24 +25,9 @@ Page({ timeToastParams: { rewardScore: 0, }, - areaShow: false, - - toastShow: false, - // toastType: 'dtpDrug',// TODO:已销毁 - toastType: 'siteConform', - toastParams: {} as any, - - es: '', locationName: '重新定位', - pharmacyList: [], - pharmacyPagination: { - page: 1, - pages: 1, - count: 0, - }, - userInfo: {}, }, onLoad(options) { @@ -61,24 +42,9 @@ Page({ if (options.es === '201504') { app.globalData.IsAliQiWei = 1 app.mpBehavior({ PageName: 'PG_PATIENTVISITMAP_PAGE' }) - this.setData({ - es: options.es, - }) } - - if (options.active && ['1', '2', '3', '4'].includes(options.active)) { - this.setData({ - tabActive: options.active, - }) - } else { - app.mpBehavior({ PageName: 'PG_PATIENTVISITMAPLIST' }) - } - - app.getUserInfo(this, true, () => { - this.setData({ - tabShow: true, - }) - }) + app.mpBehavior({ PageName: 'PG_PATIENTVISITMAPLIST' }) + app.getUserInfo(this, true) if (options.pid) { this.setData({ @@ -101,10 +67,8 @@ Page({ res.authSetting['scope.userFuzzyLocation'] != undefined && res.authSetting['scope.userFuzzyLocation'] == true ) { - //获取当前位置 that.getFuzzyLocation() } else if (res.authSetting['scope.userFuzzyLocation'] == undefined) { - //获取当前位置 that.getFuzzyLocation() } else { wx.showModal({ @@ -113,7 +77,6 @@ Page({ confirmColor: '#cf5375', success(res) { if (res.cancel) { - //取消授权 wx.showToast({ title: '拒绝授权', icon: 'none', @@ -121,7 +84,6 @@ Page({ }) that.getList() } else if (res.confirm) { - //确定授权,通过wx.openSetting发起授权请求 wx.openSetting({ success(res) { if (res.authSetting['scope.userFuzzyLocation'] == true) { @@ -130,7 +92,6 @@ Page({ icon: 'success', duration: 1000, }) - //再次授权,调用wx.getLocation的API that.getFuzzyLocation() } else { wx.showToast({ @@ -159,7 +120,8 @@ Page({ }) that.getLocationInfo() }, - fail() { + fail(err) { + console.log(err) that.getList() }, }) @@ -177,28 +139,6 @@ Page({ }) this.getList() }, - onChange(e: WechatMiniprogram.CustomEvent) { - const index = e.detail.name - if (index == 0) { - app.mpBehavior({ PageName: 'PG_PATIENTVISITMAPLIST' }) - } else if (index == 1) { - app.mpBehavior({ PageName: 'PG_PATIENTVISITMAPDUALCHANNELPHARMACY' }) - } else if (index == 2) { - app.mpBehavior({ PageName: 'PG_PATIENTVISITMAPINFUSIONCENTERLIST' }) - } else if (index == 3) { - app.mpBehavior({ PageName: 'PG_PATIENTVISITMAPDOCTORS' }) - } else if (index == 4) { - app.mpBehavior({ PageName: 'PG_PATIENTVISITMAPRECOMMENDEDDRLIST' }) - } - - this.setData({ - tabActive: index, - }) - wx.pageScrollTo({ - scrollTop: 0, - }) - this.getList() - }, handleTapSearch() { app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPSEARCHBOX' }) }, @@ -224,21 +164,7 @@ Page({ }) }, getList() { - const { tabActive, toastShow, toastType } = this.data - if (tabActive != 1 && toastShow && toastType == 'dtpDrug') { - this.hideDtpAlert() - } - if (tabActive == 0) { - this.getHosList() - } else if (tabActive == 1) { - this.getDtpList() - } else if (tabActive == 2) { - this.getInfusionCenter() - } else if (tabActive == 3) { - this.getDoctorList() - } else if (tabActive == 4) { - this.getPharmacyList() - } + this.getHosList() }, getHosList() { const { Name, LNG, LAT, ProvinceId, CityId } = this.data @@ -256,154 +182,17 @@ Page({ if (res.CanGetScore) { this.handleTimeOut() } + const list = Array.isArray(res) ? res : res.list this.setData({ - HosList: Array.isArray(res) ? res : res.list, - locationName: '重新定位', - }) - }) - }, - getInfusionCenter() { - const { Name, LNG, LAT, ProvinceId, CityId } = this.data - wx.ajax({ - method: 'GET', - url: '?r=igg4/infusion-center/list', - data: { - lng: LNG, - lat: LAT, - ProvinceId: Name ? '' : ProvinceId, - CityId: Name ? '' : CityId, - Name, - }, - }).then((res) => { - this.setData({ - infusionCenterList: Array.isArray(res) ? res : res.list, - locationName: '重新定位', - }) - }) - }, - getDoctorList() { - const { Name, LNG, LAT, ProvinceId, CityId } = this.data - wx.ajax({ - method: 'GET', - url: '?r=igg4/doctor/list', - data: { - lng: LNG, - lat: LAT, - ProvinceId: Name ? '' : ProvinceId, - CityId: Name ? '' : CityId, - Name, - }, - }).then((res) => { - this.setData({ + HosList: list, locationName: '重新定位', - DoctortList: res.map((item: { Clinic: string }) => { - let weekName = '' - if (item.ClinicType == 2) { - weekName = item.Clinic - } else { - weekName = (JSON.parse(item.Clinic) ? JSON.parse(item.Clinic) : []).map( - (subItem: { weekday: string | number; timeType: string | number }) => { - const week = ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] - const timeDay = { 1: '上午', 2: '下午' } - return { week: week[Number(subItem.weekday) - 1], timeDay: timeDay[subItem.timeType] } - }, - ) - } - return { - weekName, - ...item, - } - }), + 'pagination.count': list.length, }) }) }, - getDtpList() { - const { Name, LNG, LAT, ProvinceId, CityId } = this.data - wx.ajax({ - method: 'GET', - url: '?r=igg4/dtp-pharmacy/list', - data: { - lng: LNG, - lat: LAT, - ProvinceId: Name ? '' : ProvinceId, - CityId: Name ? '' : CityId, - Name, - }, - }).then((res) => { - this.setData({ - dtpList: res.list, - locationName: '重新定位', - }) - }) - }, - getPharmacyList() { - const { Name } = this.data - wx.ajax({ - method: 'GET', - url: '?r=igg4/doctor-recommend/get-doctor-list', - data: { - count: 0, - search: Name, - }, - }).then((res) => { - res.list = res.list.map((item) => { - let weekName = '' - if (item.doctorClinicType == 2) { - weekName = item.doctorClinic - } else { - weekName = (JSON.parse(item.doctorClinic) ? JSON.parse(item.doctorClinic) : []).map( - (subItem: { weekday: string | number; timeType: string | number }) => { - const week = ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] - const timeDay = { 1: '上午', 2: '下午' } - return { week: week[Number(subItem.weekday) - 1], timeDay: timeDay[subItem.timeType] } - }, - ) - } - return { - weekName, - ...item, - } - }) - this.setData({ - pharmacyList: res.list, - }) - }) - }, - // getDtpAlert() { - // wx.ajax({ - // method: 'GET', - // url: '?r=igg4/popup/info', - // data: { Type: 3 }, - // }).then((res) => { - // if (res.showAlert) { - // this.setData({ - // toastShow: true, - // toastType: 'dtpDrug', - // }) - // } - // }) - // }, - hideDtpAlert() { - wx.ajax({ - method: 'POST', - url: '?r=igg4/popup/close-popup', - data: { Type: 3 }, - }).then((_res) => {}) - }, handleDetail(e: WechatMiniprogram.CustomEvent) { const { url } = e.currentTarget.dataset - const { tabActive } = this.data - if (tabActive == '0') { - app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPLIST' }) - } else if (tabActive == '1') { - app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPDUALCHANNELPHARMACY' }) - } else if (tabActive == '2') { - app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPINFUSIONCENTERLIST' }) - } else if (tabActive == '3') { - app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPDOCTORS' }) - } else if (tabActive == '4') { - app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPRECOMMENDEDDRLIST' }) - } + app.mpBehavior({ PageName: 'BTN_PATIENTVISITMAPLIST' }) wx.navigateTo({ url, }) @@ -421,29 +210,6 @@ Page({ wx.navigateBack() }, onPageScroll() {}, - handleToastOk() { - this.handleToastCancel() - }, - handleToastCancel() { - this.hideDtpAlert() - this.setData({ - toastShow: false, - }) - }, - handleDtpPhone(e: any) { - const { tel } = e.currentTarget.dataset - if (!tel) { - wx.showToast({ - icon: 'none', - title: '电话暂未开通', - }) - return - } - wx.makePhoneCall({ - phoneNumber: tel, - }) - }, - handleTimeOut() { this.setData({ asideOut: false, @@ -471,17 +237,14 @@ Page({ } }) }, - handleSiteShare(e) { - this.setData({ - toastShow: true, - toastType: 'siteConform', - toastParams: e.detail, - }) - }, handleDefultLocation() { if (this.data.locationName === '定位中') return this.setData({ locationName: '定位中', + ProvinceId: '', + ProvinceName: '', + CityId: '', + CityName: '', }) this.handleToggleSite() }, @@ -490,24 +253,11 @@ Page({ areaShow: e.detail, }) }, - onShareAppMessage(e: any) { - let path = `/pages/doctor/index?active=${this.data.tabActive}&es=${this.data.es}` - const { toastType, toastParams } = this.data - if (toastType === 'siteConform' && e.from === 'button') { - path = `${path}&pid=${toastParams.ProvinceId}&cid=${toastParams.CityId}&pn=${toastParams.ProvinceName}&cn=${toastParams.CityName}` - this.setData({ - ProvinceId: toastParams.ProvinceId, - ProvinceName: toastParams.ProvinceName, - CityId: toastParams.CityId, - CityName: toastParams.CityName, - }) - this.getList() - } - + onShareAppMessage() { return { - title: '【就诊地图】帮您快速找到医生医院、药店和输注点', + title: '【就诊地图】帮您快速找到医生医院', imageUrl: `${app.globalData.imageUrl}5/share1.png?t=${app.globalData.Timestamp}`, - path, + path: `/pages/doctor/index`, } }, }) diff --git a/src/pages/doctor/index.wxml b/src/pages/doctor/index.wxml index 5c488bd..7c4b035 100644 --- a/src/pages/doctor/index.wxml +++ b/src/pages/doctor/index.wxml @@ -1,4 +1,4 @@ - + @@ -37,7 +37,7 @@ - + - - + {{item.HospitalClassificationName}}{{item.HospitalLevelName}} {{item.Name}} @@ -79,7 +78,7 @@ - + @@ -90,20 +89,3 @@ timeToastType="{{timeToastType}}" timeToastParams="{{timeToastParams}}" > - - - - diff --git a/src/pages/doctorDetail/index.wxml b/src/pages/doctorDetail/index.wxml index c00b555..6332d30 100644 --- a/src/pages/doctorDetail/index.wxml +++ b/src/pages/doctorDetail/index.wxml @@ -24,9 +24,9 @@ 医生简介 {{detail.Introduce}} - + 出诊时间 - + 出诊时间{{detail.weekName}} diff --git a/src/pages/enterInfo/index.ts b/src/pages/enterInfo/index.ts index d178ee9..a016f95 100644 --- a/src/pages/enterInfo/index.ts +++ b/src/pages/enterInfo/index.ts @@ -8,6 +8,7 @@ Page({ gender: '', birth: '', ageRange: '', + diagnosisTimeRange: '', diagnosisTime: '', diagnoseType: '', @@ -57,6 +58,12 @@ Page({ ageRange: id, }) }, + handleSelectDiagnosisTimeRange(e: WechatMiniprogram.CustomEvent) { + const { id } = e.currentTarget.dataset + this.setData({ + diagnosisTimeRange: id, + }) + }, bindChangeDate(e: WechatMiniprogram.CustomEvent) { const { key } = e.currentTarget.dataset this.setData({ @@ -88,12 +95,11 @@ Page({ handleSubmit() { if (this.data.submiting) return app.mpBehavior({ PageName: 'BTN_PATIENTINFONEXT' }) - const { name, gender, ageRange, relationType } = this.data + const { name, gender, ageRange, diagnosisTimeRange, relationType } = this.data const { registrationSource, registChannel, regBusinessId, WorkerId, IsAliQiWei } = app.globalData const { doctorId, inviteChan, recDoctorId: recommendDoctorId } = app.globalData.scene let toast = '' - // if (!diagnosisTime) toast = "确诊时间不能为空"; - // if (!birth) toast = "出生日期不能为空"; + if (!diagnosisTimeRange) toast = '请选择确诊时间范围' if (!gender) toast = '请选择性别' if (!ageRange) toast = '请选择年龄范围' if (!name) toast = '姓名不能为空' @@ -103,8 +109,7 @@ Page({ } const backPage = app.globalData.backPage - const navUrl = - typeof backPage === 'string' && backPage.includes('liveResult') ? backPage : '/pages/certReslove/index' + const navUrl = typeof backPage === 'string' && backPage.includes('liveResult') ? backPage : '/pages/index/index' this.setData({ submiting: true, @@ -116,6 +121,7 @@ Page({ name, gender, ageRange, + diagnosisTimeRange, // birth, // diagnoseType, // diagnosisTime, diff --git a/src/pages/enterInfo/index.wxml b/src/pages/enterInfo/index.wxml index 3ea5cb4..ecfc320 100644 --- a/src/pages/enterInfo/index.wxml +++ b/src/pages/enterInfo/index.wxml @@ -35,11 +35,11 @@ 从首次确诊IgG4相关性疾病,到现在多久了 - 6个月以内 - 6个月-3年 - 3年以上 + 6个月以内 + 6个月-3年 + 3年以上 - 患者年龄 + 输入真实姓名,便于医生识别随访 = 2) { wx.navigateTo({ - url: `/pages/privacyAgreement/index?page=/pages/familyScan/index`, + url: `/doc/pages/privacyAgreement/index?page=/pages/familyScan/index`, }); } else { wx.navigateTo({ diff --git a/src/pages/hospital/index.scss b/src/pages/hospital/index.scss index addf6d8..39f5823 100644 --- a/src/pages/hospital/index.scss +++ b/src/pages/hospital/index.scss @@ -95,8 +95,6 @@ page { .nc-header { display: flex; gap: 24rpx; - padding-bottom: 40rpx; - border-bottom: 1px solid #ebebeb; .avatar { flex-shrink: 0; width: 124rpx; @@ -125,6 +123,8 @@ page { } } .content { + margin-top: 40rpx; + border-top: 1px solid #ebebeb; padding-top: 30rpx; flex: 1; .name { diff --git a/src/pages/hospital/index.wxml b/src/pages/hospital/index.wxml index d54738b..2f4f257 100644 --- a/src/pages/hospital/index.wxml +++ b/src/pages/hospital/index.wxml @@ -39,9 +39,9 @@ {{item.Introduce}} - + 出诊时间 - + 出诊时间{{item.weekName}} @@ -59,13 +59,13 @@ - + 电话 - + - 地址14.46KM + 地址{{detail.dist}} diff --git a/src/pages/index/index.json b/src/pages/index/index.json index 9ccd05a..3e26c6e 100644 --- a/src/pages/index/index.json +++ b/src/pages/index/index.json @@ -3,7 +3,6 @@ "usingComponents": { "pageNavbar": "/components/pageNavbar/index", "van-icon": "@vant/weapp/icon/index", - "toast": "/components/toast/index", - "referralFrom": "/components/referralFrom/index" + "toast": "/components/toast/index" } } diff --git a/src/pages/index/index.scss b/src/pages/index/index.scss index 73dc765..a782760 100644 --- a/src/pages/index/index.scss +++ b/src/pages/index/index.scss @@ -56,7 +56,7 @@ page { line-height: 1; } .d-content { - margin-top: 24rpx; + margin-top: 64rpx; font-size: 26rpx; color: rgba(34, 34, 34, 0.7); display: flex; @@ -234,19 +234,15 @@ page { width: 100%; height: 40rpx; font-size: 24rpx; - color: #fff; + color: rgba(255, 255, 255, 1); display: flex; align-items: center; justify-content: center; - gap: 10rpx; - background: rgba(0, 0, 0, 0.21); + background: linear-gradient(270deg, #ffd454 0%, #ffa851 100%); border-radius: 0 0 24rpx 24rpx; - .icon { - width: 20rpx; - height: 20rpx; - } - &.active { - background-color: rgba(207, 83, 117, 1); + &.unsigned { + color: rgba(34, 34, 34, 0.5); + background: rgba(246, 246, 246, 1); } } } @@ -339,7 +335,7 @@ page { .actions { margin-top: 16rpx; display: flex; - gap: 32rpx; + gap: 48rpx; .action-btn { display: flex; align-items: center; @@ -348,8 +344,8 @@ page { color: #999999; font-weight: normal; .action-icon { - width: 28rpx; - height: 28rpx; + width: 32rpx; + height: 32rpx; } } } diff --git a/src/pages/index/index.ts b/src/pages/index/index.ts index 8eb9fcd..de13942 100644 --- a/src/pages/index/index.ts +++ b/src/pages/index/index.ts @@ -11,6 +11,9 @@ Page({ anyWhere: false, regGuide: true, + greeting: '晚上好', + greetingIcon: 'icon77', + adlList: [], adlNum: '', adlNewRecord: {} as any, @@ -22,22 +25,9 @@ Page({ detail: {}, - referralFromShow: false, - publicCard: false, - - // toastShow: true, - // toastType: "doubleStandards", - // toastType: "vipScan", - // toastType: "healthCare", - // toastType: "aldAlert", - // toastType: "dedicatedDoctor", - // toastType: 'referral-toast', - // toastType: 'public-toast', - // toastType: 'recommendDoctor', - // toastType: 'recommendBindDoctor', - toastShow: false, toastType: '', + // toastType: 'dedicatedDoctor', // 绑定医生弹窗 toastParams: {} as any, sliderTop: 0, @@ -82,8 +72,8 @@ Page({ app.getUserInfo(this, true, (userInfo) => { this.setData({ userInfo, - publicCard: userInfo.isShowFollowGuide == 1, }) + this.updateGreeting() if (this.data.firstLogin != '1' || userInfo.EntryFourPeriod != 1) { this.getPopup() } else { @@ -125,6 +115,28 @@ Page({ }) }) }, + updateGreeting() { + const hour = new Date().getHours() + let greeting = '晚上好' + let greetingIcon = 'icon77' + if (hour >= 6 && hour < 12) { + greeting = '早上好' + greetingIcon = 'icon75' + } else if (hour >= 12 && hour < 18) { + greeting = '下午好' + greetingIcon = 'icon76' + } + if (this.data.userInfo.UserType == 4) { + if (hour >= 6 && hour < 12) { + greetingIcon = 'icon78' + } else if (hour >= 12 && hour < 18) { + greetingIcon = 'icon79' + } else { + greetingIcon = 'icon65' + } + } + this.setData({ greeting, greetingIcon }) + }, getLastRecord() { wx.ajax({ method: 'GET', @@ -194,71 +206,6 @@ Page({ }) }, async getPopup() { - const data5 = await wx.ajax({ - method: 'GET', - url: '?r=igg4/popup/info', - data: { - Type: 5, - }, - }) - if (data5.showAlert) { - this.setData({ - toastShow: data5.showAlert, - toastType: 'doubleStandards', - toastParams: data5, - }) - - return - } - - const data4 = await wx.ajax({ - method: 'GET', - url: '?r=igg4/popup/info', - data: { - Type: 4, - }, - }) - if (data4.showAlert) { - this.setData({ - toastShow: data4.showAlert, - toastType: 'vipScan', - toastParams: {}, - }) - return - } - - const data1 = await wx.ajax({ - method: 'GET', - url: '?r=igg4/popup/info', - data: { Type: 1 }, - }) - if (!Array.isArray(data1)) { - this.setData({ - toastShow: true, - toastType: 'healthCare', - toastParams: data1, - }) - return - } - - const data2 = await wx.ajax({ - method: 'GET', - url: '?r=igg4/popup/info', - data: { - Type: 2, - }, - }) - if (data2.showAlert && this.data.userInfo.UserType == 4) { - this.setData({ - toastShow: data2.showAlert, - toastType: 'aldAlert', - toastParams: { - id: data2.articleId, - }, - }) - return - } - const data3 = await wx.ajax({ method: 'GET', url: '?r=igg4/popup/info', @@ -274,49 +221,8 @@ Page({ ...data3.doctorInfo, }, }) - return - } - - const data6 = await wx.ajax({ - method: 'GET', - url: '?r=igg4/re-visit/get-popup-show-status', - }) - if (data6.showStatus === 1) { - this.setData({ - toastShow: true, - toastType: 'referral-toast', - toastParams: {}, - }) - return - } - - const data7 = await wx.ajax({ - method: 'GET', - url: '?r=igg4/popup/info', - data: { - Type: 7, - }, - }) - if (data7.showAlert) { - this.setData({ - toastShow: data7.showAlert, - toastType: 'recommendDoctor', - toastParams: { - ...data7.doctorInfo, - }, - }) } }, - setPopupInfo() { - wx.ajax({ - method: 'POST', - url: '?r=igg4/popup/update-click-status', - data: { - Type: 1, - Id: this.data.toastParams.Id, - }, - }).then((_res) => {}) - }, setBannerClick() { wx.ajax({ method: 'POST', @@ -537,29 +443,7 @@ Page({ }, handleToastOk() { const { toastType } = this.data - if (toastType === 'vipScan') { - this.routerVipTo() - this.handleToastCancel() - } else if (toastType === 'aldAlert') { - wx.navigateTo({ - url: '/pages/adl/index', - }) - this.handleToastCancel() - } else if (toastType === 'healthCare') { - this.setPopupInfo() - this.handleNRDL() - this.handleToastCancel() - } else if (toastType === 'ndrlAldAlert') { - wx.navigateTo({ - url: '/pages/adl/index?nrdl=1', - }) - this.handleToastCancel() - } else if (toastType === 'doubleStandards') { - wx.navigateTo({ - url: '/pages/adl/index', - }) - this.handleToastCancel() - } else if (toastType === 'dedicatedDoctor' || toastType === 'recommendBindDoctor') { + if (toastType === 'dedicatedDoctor' || toastType === 'recommendBindDoctor') { wx.ajax({ method: 'POST', url: '?r=igg4/popup/close-popup', @@ -575,42 +459,11 @@ Page({ app.getUserInfo(this, true) }) this.handleToastCancel(null, false) - } else if (toastType === 'referral-toast') { - this.setData({ - referralFromShow: true, - }) - wx.ajax({ - method: 'POST', - url: '?r=igg4/re-visit/update-popup-show-status', - data: {}, - }) - this.handleToastCancel(null, false) - } else if (toastType === 'recommendDoctor') { - wx.ajax({ - method: 'POST', - url: '?r=igg4/popup/close-popup', - data: { - Type: 7, - }, - }).then(() => { - wx.navigateTo({ - url: '/pages/doctor/index?active=4', - }) - }) - this.handleToastCancel(null, false) } }, handleToastCancel(_e = null, sure = true) { const { toastType } = this.data - if (toastType === 'doubleStandards' && sure) { - wx.ajax({ - method: 'POST', - url: '?r=igg4/popup/close-popup', - data: { - Type: 5, - }, - }) - } else if ((toastType === 'dedicatedDoctor' || toastType === 'recommendBindDoctor') && sure) { + if ((toastType === 'dedicatedDoctor' || toastType === 'recommendBindDoctor') && sure) { wx.ajax({ method: 'POST', url: '?r=igg4/popup/close-popup', @@ -619,20 +472,6 @@ Page({ }, }) app.getUserInfo(this, true) - } else if (toastType === 'referral-toast' && sure) { - wx.ajax({ - method: 'POST', - url: '?r=igg4/re-visit/update-popup-show-status', - data: {}, - }) - } else if (toastType === 'recommendDoctor' && sure) { - wx.ajax({ - method: 'POST', - url: '?r=igg4/popup/close-popup', - data: { - Type: 7, - }, - }) } this.setData({ toastShow: false, @@ -640,24 +479,6 @@ Page({ toastParams: '', }) }, - handlePublic() { - this.setData({ - toastShow: true, - toastType: 'public-toast', - toastParams: {}, - }) - this.handlePublicClose() - }, - handlePublicClose() { - this.setData({ - publicCard: false, - }) - wx.ajax({ - method: 'POST', - url: '?r=igg4/account/add-user-subscribe-guide-record', - data: {}, - }) - }, handleMp(e: any) { const { code } = e.currentTarget.dataset const PageName = { @@ -706,22 +527,25 @@ Page({ }, handleArticleSave(e: any) { const { id, saved } = e.currentTarget.dataset - wx.ajax({ - method: 'POST', - url: '?r=igg4/pic-text/save', - data: { - id, - isSave: saved ? 0 : 1, - }, - }).then(() => { - const { infoList } = this.data - const newList = infoList.map((page: any) => - page.map((item: any) => (item.ArticleId === id ? { ...item, IsSave: saved ? 0 : 1 } : item)), - ) - this.setData({ infoList: newList }) - wx.showToast({ - title: saved ? '已取消收藏' : '收藏成功', - icon: 'none', + const url = saved ? '?r=igg4/pic-text/cancel-collection' : '?r=igg4/pic-text/collection' + app.permissionVerification(3, 3, `/pages/index/index`, id).then(() => { + wx.ajax({ + method: 'POST', + url, + data: { + ContentId: id, + }, + loading: true, + }).then(() => { + const { infoList } = this.data + const newList = infoList.map((page: any) => + page.map((item: any) => (item.ArticleId === id ? { ...item, IsSave: saved ? 0 : 1 } : item)), + ) + this.setData({ infoList: newList }) + wx.showToast({ + title: saved ? '已取消收藏' : '收藏成功', + icon: 'none', + }) }) }) }, diff --git a/src/pages/index/index.wxml b/src/pages/index/index.wxml index 079b930..47fb497 100644 --- a/src/pages/index/index.wxml +++ b/src/pages/index/index.wxml @@ -4,9 +4,9 @@ - kola, - 晚上好 - + {{userInfo.PatientName || 'HI'}}, + {{greeting}} + @@ -15,7 +15,6 @@ class="day" style="background: url('{{imageUrl}}{{theme === 'DRUG' ? 'bg22' : 'bg15'}}.png?t={{Timestamp}}') no-repeat top center/100%" > - 今天是陪伴您 {{userInfo.JoinDays}} 天 @@ -33,157 +32,147 @@ - - 我的医生 - - - - - - - - - - - {{userInfo.ExclusiveDoctorName}} - - + + + 我的医生 + + + + + + - 医生给您留言了,记得查看! - - {{userInfo.ExclusiveDoctorHospitalName}} - - {{userInfo.ExclusiveDoctorHospitalClassificationName}}{{userInfo.ExclusiveDoctorHospitalLevelName}} + + + + {{userInfo.ExclusiveDoctorName}} + + + + 医生给您留言了,记得查看! + + {{userInfo.ExclusiveDoctorHospitalName}} + + {{userInfo.ExclusiveDoctorHospitalClassificationName}}{{userInfo.ExclusiveDoctorHospitalLevelName}} + - - - + + + - - - 大咖说 - - 查看更多 - + + + + 大咖说 + + 查看更多 + + - - - - - - - - {{liveStatus[item.Status]}} + + + + + {{item.IsSignUp==1 ? '已报名' : '未报名'}} - - - {{item.Name}} - - {{item.doctorName}}{{item.hospitalName ? ' | ' + item.hospitalName : ''}} + + {{item.Name}} + + {{item.doctorName}}{{item.hospitalName ? ' | ' + item.hospitalName : ''}} + - - - 了解 IgG4-RD - - 查看更多 - + + + + 了解 IgG4-RD + + 查看更多 + + - - - - - - - - - {{item.CateName}} - - - {{item.Title}} - - - - 查看 - - - - 收藏 + + + + + + + + {{item.CateName}} + + + {{item.Title}} + + + + {{~~item.OpenNum + ~~item.BasicNum}} + + + + {{item.CollectionPeopleNum}} + - - - - + + + + - + 注册 后享受全面重症肌无力患者服务 - - 您的认证正在审核中,审核通过后获取全部服务 + + 完善患者信息后获取全部服务 - - - - 关注公众号 - 重要提醒不丢失~ - - 去关注 - - - - - diff --git a/src/pages/live/index.scss b/src/pages/live/index.scss index 2ff9dd9..be034f3 100644 --- a/src/pages/live/index.scss +++ b/src/pages/live/index.scss @@ -94,20 +94,17 @@ background: linear-gradient(270deg, #ffd454 0%, #ffa851 100%); border-radius: 0 24rpx 0 24rpx; font-size: 24rpx; - color: #fff; + color: rgba(255, 255, 255, 1); .dot { margin-right: 8rpx; width: 13rpx; height: 13rpx; border-radius: 50%; - background-color: var(--name); + background-color: #fff; } - &.bad { - color: #484848; - background: #e6e6e6; - .dot { - display: none; - } + &.unsigned { + color: rgba(34, 34, 34, 0.5); + background: rgba(246, 246, 246, 1); } } } @@ -151,9 +148,13 @@ color: #ffffff; background: linear-gradient(94deg, #0eb66d 0%, #00d277 100%); border-radius: 66rpx; - &.active { - color: #484848; - background: #e7e7e7; + &.signed { + color: rgba(14, 182, 109, 1); + background: rgba(205, 248, 229, 1); + } + &.ended { + color: rgba(34, 34, 34, 0.7); + background: rgba(246, 246, 246, 1); } .icon { width: 24rpx; diff --git a/src/pages/live/index.wxml b/src/pages/live/index.wxml index edf9b35..44cea53 100644 --- a/src/pages/live/index.wxml +++ b/src/pages/live/index.wxml @@ -3,9 +3,9 @@ - - - {{liveStatus[item.Status]}} + + + {{item.IsSignUp==1 ? '已报名' : '未报名'}} @@ -15,37 +15,10 @@ {{item.SignUpPeopleNum}}人已报名 - 已取消 - 已删除 - 看回放 - 回放生成中 - - - 审核中 - - 参会 - 已报名 - - - - 已满额 - - - - - - - 已满额 - - 报名已截止 - 报名 - + 已结束 + 立即参与 + 已报名 + 立即报名 diff --git a/src/pages/liveDetail/index.json b/src/pages/liveDetail/index.json index 65f754e..cfb0f77 100644 --- a/src/pages/liveDetail/index.json +++ b/src/pages/liveDetail/index.json @@ -4,8 +4,6 @@ "navigationStyle": "custom", "usingComponents": { "mp-html": "mp-html", - "customPoster": "/components/customPoster/index", - "van-popup": "@vant/weapp/popup/index", - "navBar":"/components/navBar/navBar" + "navBar": "/components/navBar/navBar" } } diff --git a/src/pages/liveDetail/index.scss b/src/pages/liveDetail/index.scss index 224e6eb..885ad23 100644 --- a/src/pages/liveDetail/index.scss +++ b/src/pages/liveDetail/index.scss @@ -14,10 +14,14 @@ page { display: inline-block; padding: 0 10rpx; font-size: 32rpx; - color: #ffffff; + color: rgba(255, 255, 255, 1); line-height: 44rpx; background: linear-gradient(270deg, #ffd454 0%, #ffa851 100%); - border-radius: 8rpx 8rpx 8rpx 8rpx; + border-radius: 8rpx; + &.unsigned { + color: rgba(34, 34, 34, 0.5); + background: rgba(246, 246, 246, 1); + } } } .page-container { @@ -25,6 +29,7 @@ page { padding: 60rpx 32rpx 160rpx; border-radius: 24rpx 24rpx 0 0; background-color: #f7f7f7; + min-height: calc(100vh - 480rpx); .module { margin-bottom: 24rpx; padding: 34rpx 32rpx; @@ -77,9 +82,52 @@ page { left: 0; width: 100%; box-sizing: border-box; - display: flex; background-color: #fff; box-shadow: 0rpx 8rpx 48rpx 0rpx rgba(0, 0, 0, 0.19); + .countdown { + margin: 0 32rpx; + padding: 0 0 24rpx; + text-align: center; + display: flex; + align-items: center; + justify-content: center; + gap: 12rpx; + .countdown-label { + font-size: 28rpx; + color: rgba(34, 34, 34, 0.7); + } + .countdown-boxes { + display: flex; + align-items: center; + justify-content: center; + gap: 12rpx; + .countdown-item { + display: flex; + align-items: center; + gap: 12rpx; + .countdown-num { + min-width: 56rpx; + height: 56rpx; + line-height: 56rpx; + text-align: center; + font-size: 36rpx; + color: #ffffff; + background: rgba(255, 141, 40, 1); + border-radius: 6rpx; + } + .countdown-unit { + font-size: 24rpx; + color: rgba(34, 34, 34, 0.7); + } + } + .countdown-sep { + margin: 0 8rpx; + font-size: 36rpx; + font-weight: bold; + color: #0eb66d; + } + } + } .btn { flex: 1; height: 88rpx; @@ -89,9 +137,13 @@ page { line-height: 88rpx; font-size: 32rpx; color: #ffffff; - &.active { - color: #484848; - background: #e7e7e7; + &.signed { + color: rgba(14, 182, 109, 1); + background: rgba(205, 248, 229, 1); + } + &.ended { + color: rgba(34, 34, 34, 0.7); + background: rgba(246, 246, 246, 1); } } } @@ -110,42 +162,19 @@ page { } } -.fixed-share { - position: fixed; - right: 14rpx; - bottom: 264rpx; - width: 104rpx; - height: 104rpx; -} - -.custom-popup { - background-color: transparent !important; -} -.p-share { - width: 622rpx; - .photo { - display: block; - width: 100%; - height: 964rpx; - border-radius: 24rpx; - } - .tip { - margin: 34rpx auto; - font-size: 28rpx; - color: #ffffff; - text-align: center; - } -} - #drug-page { .c-title::before { background-color: rgba(89, 86, 233, 1); } .btn { background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%); - &.active { - color: #484848; - background: #e7e7e7; + &.signed { + color: rgba(89, 86, 233, 1); + background: rgba(224, 220, 252, 1); + } + &.ended { + color: rgba(34, 34, 34, 0.7); + background: rgba(246, 246, 246, 1); } } } diff --git a/src/pages/liveDetail/index.ts b/src/pages/liveDetail/index.ts index 888f9d8..9f7ea6c 100644 --- a/src/pages/liveDetail/index.ts +++ b/src/pages/liveDetail/index.ts @@ -5,15 +5,21 @@ let live_time: null | number = null Page({ data: { id: '', - shareShow: false, detail: {} as any, userInfo: {} as any, - posterUrl: '', - params: {}, play: false, meeting_notice: '', liveStatus: app.globalData.liveStatus, + + countDown: { + days: '00', + hours: '00', + minutes: '00', + seconds: '00', + }, + showCountDown: false, + dateValue: 0, }, videoContext: {} as WechatMiniprogram.VideoContext, onLoad(options) { @@ -31,6 +37,7 @@ Page({ this.setData({ dateValue: dayjs().valueOf(), }) + this.updateCountDown() }, 1000) }, onShow() { @@ -38,9 +45,7 @@ Page({ this.getDetail() this.setView() this.getTmeplateList() - app.getUserInfo(this, true, () => { - this.getPosterParams() - }) + app.getUserInfo(this, true) }) }, onReady() { @@ -57,21 +62,6 @@ Page({ }) }) }, - getPosterParams() { - wx.ajax({ - method: 'POST', - url: '?r=poster/prepare', - data: { - posterId: 'activity-invite', - activityId: this.data.id, - userId: this.data.userInfo.UserId, - }, - }).then((res) => { - this.setData({ - params: res, - }) - }) - }, setView() { wx.ajax({ method: 'POST', @@ -120,6 +110,29 @@ Page({ BeginTime: dayjs(res.BeginTime).format('YYYY-MM-DD HH:mm'), }, }) + this.updateCountDown() + }) + }, + updateCountDown() { + const { detail, dateValue } = this.data + if (!detail.BeginTimeValue) return + const diff = detail.BeginTimeValue - dateValue + if (diff <= 0 || detail.Status == 3 || detail.Status == 99 || detail.Status == 100) { + this.setData({ showCountDown: false }) + return + } + const days = Math.floor(diff / 86400000) + const hours = Math.floor((diff % 86400000) / 3600000) + const minutes = Math.floor((diff % 3600000) / 60000) + const seconds = Math.floor((diff % 60000) / 1000) + this.setData({ + showCountDown: true, + countDown: { + days: String(days).padStart(2, '0'), + hours: String(hours).padStart(2, '0'), + minutes: String(minutes).padStart(2, '0'), + seconds: String(seconds).padStart(2, '0'), + }, }) }, handleReplay() { @@ -216,22 +229,6 @@ Page({ showMsg: false, }) }, - handleShare() { - this.setData({ - shareShow: true, - }) - this.saveShare() - }, - saveShare() { - const { UserType } = this.data.userInfo - wx.ajax({ - method: 'POST', - url: '?r=igg4/activity/share', - data: { Id: this.data.id, PreUserIdentity: UserType }, - }).then(() => { - this.getDetail() - }) - }, handleMap() { const { LocationLAT, LocationLNG, Location } = this.data.detail wx.openLocation({ @@ -243,104 +240,19 @@ Page({ }, }) }, - handleShareClose() { - this.setData({ - shareShow: false, - }) - }, - handlePosterFinish(e) { - this.setData({ - posterUrl: e.detail, - }) - }, - handleDownload() { - const that = this - wx.getSetting({ - success(res) { - console.log(res) - if ( - res.authSetting['scope.writePhotosAlbum'] != undefined && - res.authSetting['scope.writePhotosAlbum'] == true - ) { - that.saveImage() - } else if (res.authSetting['scope.writePhotosAlbum'] == undefined) { - //获取当前位置 - that.saveImage() - } else { - wx.showModal({ - title: '请求授权相册权限', - content: '需要保存海报到相册,请确认授权', - confirmColor: '#cf5375', - success(res) { - if (res.cancel) { - //取消授权 - wx.showToast({ - title: '拒绝授权', - icon: 'none', - duration: 1000, - }) - } else if (res.confirm) { - //确定授权,通过wx.openSetting发起授权请求 - wx.openSetting({ - success(res) { - if (res.authSetting['scope.writePhotosAlbum'] == true) { - that.saveImage() - } else { - wx.showToast({ - title: '授权失败', - icon: 'none', - duration: 1000, - }) - } - }, - }) - } - }, - }) - } - }, - }) - }, - saveImage() { - wx.showLoading({ - title: '加载中', - }) - wx.saveImageToPhotosAlbum({ - filePath: this.data.posterUrl, - success: () => { - wx.hideLoading() - wx.showToast({ - title: '保存成功,请到相册中查看', - }) - }, - fail: () => { - wx.hideLoading() - wx.showToast({ - icon: 'none', - title: '保存失败,请稍后重试', - }) - }, - }) - }, - handleVideoPlay() { - this.setData({ - play: true, - }) - }, - handleVideoPause() { - this.setData({ - play: false, + saveShare() { + const { UserType } = this.data.userInfo + wx.ajax({ + method: 'POST', + url: '?r=igg4/activity/share', + data: { Id: this.data.id, PreUserIdentity: UserType }, }) }, - handlePlayVideo() { - this.videoContext.play() - }, onShareAppMessage() { this.saveShare() return { title: `【会议报名】${this.data.detail.Name}`, path: `/pages/liveDetail/index?id=${this.data.id}`, - // imageUrl: this.data.detail.IntroductionUrl, } }, onShareTimeline() { diff --git a/src/pages/liveDetail/index.wxml b/src/pages/liveDetail/index.wxml index 6afaca8..8e869a2 100644 --- a/src/pages/liveDetail/index.wxml +++ b/src/pages/liveDetail/index.wxml @@ -5,88 +5,57 @@ > - {{liveStatus[detail.Status]}} + {{detail.IsSignUp==1 ? '已报名' : '未报名'}} {{detail.Name}} 活动时间 {{detail.BeginTime}} - + 主讲人:{{detail.MasterName}} {{detail.MasterTitle}} - + 活动介绍 - - 已取消 - 已删除 - 看回放 - 回放生成中 - - - 审核中 - - 参会 - 已报名 - - - - 已满额 - - - - - - - 已满额 + + 开始倒计时 + + + {{countDown.days}} + - 报名已截止 - 报名 - - - - 已结束 - 已取消 - 已删除 - - - 审核中 - - - 已报名 - - 已报名 - - - - 已满额 - - - - - - - 已满额 + + {{countDown.hours}} + + + + {{countDown.minutes}} + - 报名已截止 - 报名 - + + {{countDown.seconds}} + + + + + + 已结束 + + 立即参与 + + 已报名 + 立即报名 diff --git a/src/pages/liveResult/index.scss b/src/pages/liveResult/index.scss index e872d3e..7805670 100644 --- a/src/pages/liveResult/index.scss +++ b/src/pages/liveResult/index.scss @@ -1,32 +1,23 @@ -page { - background: linear-gradient(180deg, #f9f9f9 0%, #f9f9f9 100%); -} .page { min-height: 100vh; padding: 74rpx 0 120rpx; - .badge { - margin: 0 auto; - display: block; - width: 166rpx; - height: 166rpx; - border-radius: 50%; - } - .status { - margin-top: 32rpx; - font-size: 40rpx; - color: #e04775; - font-weight: bold; - text-align: center; - &.green { - color: #24d8c8; + .banner { + padding: 0 64rpx; + display: flex; + align-items: center; + gap: 32rpx; + .badge { + display: block; + width: 166rpx; + height: 166rpx; + border-radius: 50%; + } + .status { + font-size: 44rpx; + color: rgba(34, 34, 34, 1); + font-weight: bold; + text-align: center; } - } - .nostatus { - margin-top: 32rpx; - font-size: 40rpx; - color: #24d8c8; - font-weight: bold; - text-align: center; } .tip { margin-top: 16rpx; @@ -49,116 +40,64 @@ page { } .container { position: relative; - margin: 86rpx 40rpx 0; - width: calc(100% - 80rpx); - &::before { - content: ""; - position: absolute; - width: 100%; - height: 34rpx; - background-color: #e04775; - border-radius: 18rpx; - } + margin: 64rpx 60rpx 0; + padding-bottom: 46rpx; + border-radius: 24rpx; + border: 1px solid rgba(14, 182, 109, 1); + box-shadow: 0rpx 4rpx 36rpx 0rpx rgba(0, 0, 0, 0.08); - .c-content { - padding: 42rpx; - position: relative; - top: 20rpx; - left: 20rpx; - width: calc(100% - 40rpx); - background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 3%, #ffffff 100%); - box-shadow: 0rpx 4rpx 40rpx 0rpx rgba(0, 0, 0, 0.06); - box-sizing: border-box; - .video { - display: block; - margin: 0 auto; - width: 403rpx; - height: 714rpx; - border-radius: 24rpx; - } - .c-title { - margin-top: 24rpx; - font-size: 36rpx; - color: #333333; - line-height: 1.4; - text-align: center; - white-space: pre-line; - font-weight: bold; - } - .date { - margin-top: 32rpx; - font-size: 28rpx; - color: #636466; - display: flex; - align-items: center; - justify-content: center; - text-align: center; - line-height: 1; - .icon { - margin-right: 10rpx; - width: 32rpx; - height: 32rpx; - } - } - .site { - margin-top: 30rpx; - font-size: 28rpx; - color: #636466; - line-height: 1; - text-align: center; - } - .code { - margin: 48rpx auto 0; - display: block; - width: 258rpx; - height: 258rpx; - } - .c-tip { - margin-top: 16rpx; - font-size: 28rpx; - color: #333333; - text-align: center; - } - &::after { - position: absolute; - left: 0; - bottom: -70rpx; - content: ""; - width: 100%; - height: 75rpx; - border-bottom: none; - // background: radial-gradient(circle at 50% 50%, #f9f9f9 0, #f9f9f9 50%, transparent 0); - background: url("data:image/png;base64,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"); - background-size: 101% 100%; - // background-repeat: repeat-x; - // background-color: white; - // background-size: 30px 30px; - background-position: -1px 0; - } + .c-title { + margin-top: 24rpx; + font-size: 40rpx; + color: rgba(34, 34, 34, 1); + line-height: 1.4; + text-align: center; + white-space: pre-line; + font-weight: bold; } - } - .footer { - padding-top: 106rpx; - .btn { - margin: 0 auto 24rpx; - width: 440rpx; - height: 96rpx; - background: #e04775; - border-radius: 48rpx; - line-height: 96rpx; + .date { + margin-top: 32rpx; + font-size: 28rpx; + color: #636466; + display: flex; + align-items: center; + justify-content: center; text-align: center; - font-size: 32rpx; - color: #ffffff; - box-sizing: border-box; + line-height: 1; + .icon { + margin-right: 10rpx; + width: 32rpx; + height: 32rpx; + } } - .btn1 { - border: 2rpx solid #e04775; - background-color: transparent; - color: #e04775; + .code { + margin: 48rpx auto 0; + display: block; + width: 316rpx; + height: 316rpx; + border: 1px solid rgba(0, 0, 0, 0.03); } - .btn2 { - background-color: transparent; - color: #e04775; + .c-tip { + margin-top: 16rpx; + font-size: 36rpx; + color: rgba(34, 34, 34, 1); + text-align: center; + .high { + color: rgba(14, 182, 109, 1); + } } } + .btn { + margin: 94rpx auto 0; + border: 1px solid rgba(14, 182, 109, 1); + border-radius: 16rpx; + width: 320rpx; + height: 96rpx; + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: center; + font-size: 40rpx; + color: rgba(14, 182, 109, 1); + } } diff --git a/src/pages/liveResult/index.wxml b/src/pages/liveResult/index.wxml index 9b2d007..cf03da6 100644 --- a/src/pages/liveResult/index.wxml +++ b/src/pages/liveResult/index.wxml @@ -1,61 +1,19 @@ - - - - 资料审核中 - 资料审核通过后可参与活动 - - - - + + + - - - - - - - - - {{detail.ActivityName}} - - - {{detail.BeginTime}} - - 地点:{{detail.Location}} - - - 关注"gMG给力加油站"公众号获取活动通知 - + 活动开始时间 + {{detail.BeginTime}} + + + 关注 + "愈见昕生" + 公众号 + + 获取活动通知 - - - - - - - - 进入会议间 - - - - - 立即进入会议间 - - - - - 回到首页 - + 回到首页 diff --git a/src/pages/login/index.ts b/src/pages/login/index.ts index 5cf9b14..f07f66d 100644 --- a/src/pages/login/index.ts +++ b/src/pages/login/index.ts @@ -115,25 +115,20 @@ Page({ app.globalData.isLogin = true app.getUserInfo(this, true, (userInfo) => { // 1-空白用户,2-注册用户,3-疾病患者,4-用药患者 - const { PatientId, AuditStatus, UserType } = userInfo + const { PatientId, UserType } = userInfo const backPage = app.globalData.backPage let urlKey = '' if (UserType >= 3) { urlKey = 'home' } else if (!PatientId) { - urlKey = 'agreement' - } else if (AuditStatus == 1 && typeof backPage === 'string' && backPage.includes('liveResult')) { - urlKey = 'home' - } else if ([0, 2].includes(AuditStatus)) { urlKey = 'enterInfo' } const navUrl = { home: backPage || '/pages/index/index', - agreement: `/pages/enterInfo/index`, enterInfo: '/pages/enterInfo/index', }[urlKey] - if (['agreement', 'enterInfo'].includes(urlKey)) { + if (['enterInfo'].includes(urlKey)) { wx.navigateTo({ url: navUrl, }) diff --git a/src/pages/my/index.wxml b/src/pages/my/index.wxml index 5216637..5eb7929 100644 --- a/src/pages/my/index.wxml +++ b/src/pages/my/index.wxml @@ -62,7 +62,7 @@ - + 协议相关 diff --git a/src/pages/myLive/index.wxml b/src/pages/myLive/index.wxml index 9b14150..6bbfc47 100644 --- a/src/pages/myLive/index.wxml +++ b/src/pages/myLive/index.wxml @@ -57,21 +57,19 @@ 已删除 看回放 回放生成中 - - - 审核中 - - 参会 - 已报名 - - - - 已满额 - - + + 审核中 + + 参会 + 已报名 + + + + 已满额 + @@ -126,21 +124,19 @@ 已结束 已取消 已删除 - - - 审核中 - - 已报名 - 已报名 - - - - 已满额 - - + + 审核中 + + 已报名 + 已报名 + + + + 已满额 + diff --git a/src/pages/mySave/index.json b/src/pages/mySave/index.json index 2c8f8c7..d8ae3a7 100644 --- a/src/pages/mySave/index.json +++ b/src/pages/mySave/index.json @@ -1,8 +1,3 @@ { - "navigationBarTitleText": "我的收藏", - "usingComponents": { - "van-tab": "@vant/weapp/tab/index", - "van-tabs": "@vant/weapp/tabs/index", - "van-icon": "@vant/weapp/icon/index" - } + "navigationBarTitleText": "我的收藏" } diff --git a/src/pages/mySave/index.scss b/src/pages/mySave/index.scss index a82e2f3..5e6f1c6 100644 --- a/src/pages/mySave/index.scss +++ b/src/pages/mySave/index.scss @@ -1,188 +1,54 @@ .page { - padding-bottom: 120rpx; - .sticky { - position: sticky; - top: 0; - left: 0; - z-index: 20; - background-color: #fff; - padding-bottom: 10rpx; - box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); - .tab { - font-size: 32rpx; - color: #9e9e9e; - } - .tab-active { - font-size: 36rpx; - color: #484848; - } - } - + padding-bottom: 160rpx; .info-list { margin: 32rpx 30rpx; padding: 24rpx; - background: #ffffff; - box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); border-radius: 24rpx; - border: 2rpx solid #ebecee; .list-item { display: flex; - margin-bottom: 22rpx; - .photo { - width: 232rpx; - height: 184rpx; - flex-shrink: 0; - border-radius: 16rpx; - border: 1rpx solid #ebecee; - margin-right: 16rpx; + margin-bottom: 32rpx; + padding-bottom: 32rpx; + border-bottom: 1px solid rgba(182, 183, 186, 0.21); + &:last-of-type { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; } - .inner { - flex: 1; - padding-bottom: 20rpx; - border-bottom: 1rpx solid rgba(182, 183, 186, 0.21); - .title { - font-size: 28rpx; - color: #252525; - font-weight: bold; - line-height: 42rpx; - } - .date { - margin-top: 10rpx; - color: #9e9e9e; - font-size: 22rpx; - } - .labels { - margin-top: 16rpx; - display: flex; - flex-wrap: wrap; - align-items: center; - .label { - margin-right: 16rpx; - margin-bottom: 10rpx; - padding: 2rpx 20rpx; - font-size: 22rpx; - color: #e04775; - word-break: break-all; - border-radius: 18rpx; - background-color: rgba(224, 71, 117, 0.13); - } - } - .footer { - margin-top: 10rpx; - display: flex; - justify-content: flex-end; - .f-item { - display: flex; - align-items: center; - font-size: 22rpx; - color: #b6b7ba; - .icon { - margin-right: 8rpx; - width: 32rpx; - height: 32rpx; - } - &.active { - color: #e04775; - } - &::after { - margin: 18rpx; - content: ""; - width: 2rpx; - height: 20rpx; - background-color: #f3f3f4; - } - } - .share { - padding: 0; - background-color: transparent; - margin: 0; - &::after { - border: none; - outline: none; - } - } - } - } - } - } - - .video-list { - margin: 32rpx 30rpx; - .list-item { - margin-bottom: 20rpx; - background: #ffffff; - box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); - border-radius: 24rpx; - border: 2rpx solid #ebecee; .photo { position: relative; - border-radius: 24rpx 24rpx 0 0; - display: block; - width: 100%; - height: 388rpx; - overflow: hidden; - .video { - border-radius: inherit; - width: 100%; - height: 100%; - } - .poster { - position: absolute; - top: 0; - left: 0; + width: 204rpx; + height: 204rpx; + flex-shrink: 0; + border-radius: 24rpx; + margin-right: 24rpx; + .photo-img { width: 100%; height: 100%; border-radius: inherit; } - .play { + .new-icon { position: absolute; - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - width: 104rpx; - height: 104rpx; + left: -16rpx; + top: 122rpx; + width: 96rpx; + height: 47rpx; } } .inner { - padding: 32rpx 34rpx 28rpx; - background-color: #fff; - border-radius: 0 0 24rpx 24rpx; + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; .title { - font-size: 32rpx; - color: #252525; + font-size: 36rpx; + color: #000000; font-weight: bold; - } - .content { - margin-top: 22rpx; - padding-bottom: 24rpx; - display: flex; - justify-content: space-between; - align-items: center; - border-bottom: 1rpx solid #ebecee; - .labels { - display: flex; - flex-wrap: wrap; - align-items: center; - .label { - margin-right: 16rpx; - margin-bottom: 10rpx; - padding: 2rpx 20rpx; - font-size: 22rpx; - color: #e04775; - word-break: break-all; - border-radius: 18rpx; - background-color: rgba(224, 71, 117, 0.13); - } - } - .date { - color: #9e9e9e; - font-size: 22rpx; - } + line-height: 42rpx; } .footer { - margin-top: 28rpx; + margin-top: 10rpx; display: flex; - justify-content: space-around; + gap: 48rpx; .f-item { display: flex; align-items: center; @@ -194,102 +60,18 @@ height: 32rpx; } &.active { - color: #e04775; - } - &::after { - margin: 18rpx; - content: ""; - width: 2rpx; - height: 20rpx; - background-color: #f3f3f4; - } - } - .share { - padding: 0; - background-color: transparent; - margin: 0; - &::after { - border: none; - outline: none; + color: rgba(249, 163, 14, 1); } } } } } } +} - .question-list { - margin: 32rpx 30rpx; - .row { - padding: 38rpx 32rpx; - display: flex; - background: #ffffff; - box-shadow: 0rpx 4rpx 20rpx 0rpx rgba(0, 0, 0, 0.05); - border-radius: 24rpx; - border: 2rpx solid #ebecee; - margin-bottom: 16rpx; - .num { - padding: 0 15rpx; - font-size: 28rpx; - color: #cf5375; - flex-shrink: 0; - height: 40rpx; - background: #ffffff linear-gradient(136deg, #e8ebfd 0%, #fde0ea 100%); - border-radius: 8rpx; - text-align: center; - line-height: 40rpx; - } - .wrap { - flex: 1; - color: #252525; - padding-left: 16rpx; - display: flex; - align-items: center; - justify-content: space-between; - .content { - flex: 1; - .c-title { - font-size: 28rpx; - color: #252525; - font-weight: bold; - } - .footer { - margin-top: 28rpx; - display: flex; - justify-content: flex-end; - .f-item { - display: flex; - align-items: center; - font-size: 22rpx; - color: #b6b7ba; - .icon { - margin-right: 8rpx; - width: 32rpx; - height: 32rpx; - } - &.active { - color: #e04775; - } - &:not(:last-of-type)::after { - margin: 18rpx; - content: ""; - width: 2rpx; - height: 20rpx; - background-color: #f3f3f4; - } - } - .share { - padding: 0; - background-color: transparent; - margin: 0; - &::after { - border: none; - outline: none; - } - } - } - } - } - } +#drug-page { + .tag.active { + color: #fff; + background: linear-gradient(270deg, #5956e9 0%, #b384f4 100%); } } diff --git a/src/pages/mySave/index.ts b/src/pages/mySave/index.ts index f9005af..9fea1a0 100644 --- a/src/pages/mySave/index.ts +++ b/src/pages/mySave/index.ts @@ -1,18 +1,14 @@ const app = getApp() -const licia = require('miniprogram-licia') Page({ data: { active: 0, list: [] as any, - HistoryId: '', pagination: { page: 1, pages: 1, - count: 1, + count: 0, }, - picTextStatus: 0, - videoStatus: 0, config: {} as any, }, onLoad() { @@ -24,43 +20,13 @@ Page({ this.setData({ config: res, }) - this.getConfig() + this.getList() }) }) }, - getConfig() { - wx.ajax({ - method: 'GET', - url: '?r=igg4/common/get-config', - data: {}, - }).then((res) => { - this.setData({ - picTextStatus: res.picTextStatus, - videoStatus: res.videoStatus, - active: res.picTextStatus == 0 ? 1 : 0, - }) - this.getList() - }) - }, getList() { - const { active, pagination } = this.data - if (active == 0) { - this.getInfoList() - } else if (active == 1) { - this.getVideoList() - } else if (active == 2) { - this.getQuestionList() - } - - if (active == 0 && pagination.page == 1) { - app.mpBehavior({ PageName: 'PG_PATIENTMYFAVORITES_KNOWLEDGEBASE' }) - } - if (active == 1 && pagination.page == 1) { - app.mpBehavior({ PageName: 'PG_PATIENTMYFAVORITES_VIDEOCLASS' }) - } - if (active == 2 && pagination.page == 1) { - app.mpBehavior({ PageName: 'PG_PATIENTMYFAVORITES_HEALTHQA' }) - } + this.getInfoList() + app.mpBehavior({ PageName: 'PG_PATIENTMYFAVORITES_KNOWLEDGEBASE' }) }, getInfoList(newPage = 1) { wx.ajax({ @@ -68,12 +34,10 @@ Page({ url: '?r=igg4/pic-text/collection-list', data: { page: newPage, + count: 10, }, loading: true, - }).then((res) => { - res.list = res.list.map((item) => { - return item - }) + }).then((res: any) => { const list = res.page == 1 ? res.list : [...this.data.list, ...res.list] this.setData({ list, @@ -85,131 +49,6 @@ Page({ }) }) }, - getVideoList(newPage = 1) { - wx.ajax({ - method: 'GET', - url: '?r=igg4/video/collection-list', - data: { - page: newPage, - }, - loading: true, - }).then((res) => { - res.list = res.list.map((item) => { - return item - }) - const list = res.page == 1 ? res.list : [...this.data.list, ...res.list] - this.setData({ - list, - pagination: { - page: res.page, - pages: res.pages, - count: res.count, - }, - }) - }) - }, - getQuestionList(newPage = 1) { - wx.ajax({ - method: 'GET', - url: '?r=igg4/health-question/collection-list', - data: { - page: newPage, - }, - loading: true, - }).then((res) => { - res.list = res.list.map((item) => { - return item - }) - const list = res.page == 1 ? res.list : [...this.data.list, ...res.list] - this.setData({ - list, - pagination: { - page: res.page, - pages: res.pages, - count: res.count, - }, - }) - }) - }, - handleStar(e) { - const { id, index } = e.currentTarget.dataset - wx.ajax({ - method: 'POST', - url: '?r=igg4/pic-text/compliment', - data: { - ContentId: id, - }, - loading: true, - }).then(() => { - this.setData({ - [`list[${index}].IsCompliment`]: 1, - [`list[${index}].ComplimentNum`]: Number(this.data.list[index].ComplimentNum) + 1, - }) - }) - }, - handleVideoStar(e: WechatMiniprogram.CustomEvent) { - const { id, index } = e.currentTarget.dataset - wx.ajax({ - method: 'POST', - url: '?r=igg4/video/compliment', - data: { - ContentId: id, - }, - loading: true, - }).then(() => { - this.setData({ - [`list[${index}].ComplimentNum`]: Number(this.data.list[index].ComplimentNum) + 1, - [`list[${index}].IsCompliment`]: 1, - }) - }) - }, - handleVideoPlay(e: WechatMiniprogram.CustomEvent) { - const { id, index } = e.currentTarget.dataset - const { list } = this.data - list.map((item: any, i) => { - if (item.play && i != index) { - const ctx = wx.createVideoContext(`video${i}`) - ctx.pause() - this.setData({ - [`list[${index}].play`]: false, - }) - } - }) - this.setData({ - [`list[${index}].play`]: true, - }) - wx.ajax({ - method: 'POST', - url: '?r=igg4/video/view', - data: { - ContentId: id, - }, - }).then((res) => { - this.setData({ - HistoryId: res.HistoryId, - }) - }) - }, - handleVideo(e: WechatMiniprogram.CustomEvent) { - const { index } = e.currentTarget.dataset - const context = wx.createVideoContext(`video${index}`) - context.play() - }, - handleVideoTime: licia.throttle(function (e: WechatMiniprogram.CustomEvent) { - wx.ajax({ - method: 'GET', - url: '?r=igg4/video/watch-duration', - data: { - HistoryId: this.data.HistoryId, - WatchDuration: e.detail.currentTime, - }, - }).then((res) => { - console.log('res: ', res) - }) - }, 5000), - handleVideoPause(e: WechatMiniprogram.CustomEvent) { - console.log(e) - }, handleDetail(e: WechatMiniprogram.CustomEvent) { const { id } = e.currentTarget.dataset if (this.data.config.picTextEbookStatus == 1) { @@ -225,21 +64,12 @@ Page({ }) } }, - handleQuestionDetail(e) { - const { id } = e.currentTarget.dataset - const webviewUrl = encodeURIComponent( - `${app.globalData.url}/zdcare/#/info-detail?loginState=${app.globalData.loginState}&Id=${id}`, - ) - wx.navigateTo({ - url: `/pages/webview/index?url=${webviewUrl}`, - }) - }, - handleVideoToggleSave(e: WechatMiniprogram.CustomEvent) { + handleToggleSave(e: WechatMiniprogram.CustomEvent) { const { id, collect, index } = e.currentTarget.dataset if (collect == 1) { wx.ajax({ method: 'POST', - url: '?r=igg4/video/cancel-collection', + url: '?r=igg4/pic-text/cancel-collection', data: { ContentId: id, }, @@ -257,7 +87,7 @@ Page({ } else { wx.ajax({ method: 'POST', - url: '?r=igg4/video/collection', + url: '?r=igg4/pic-text/collection', data: { ContentId: id, }, @@ -276,64 +106,28 @@ Page({ }, onReachBottom() { const { page, pages } = this.data.pagination - const { active } = this.data if (pages > page) { - if (active == 0) { - this.getInfoList(page + 1) - } else { - this.getVideoList(page + 1) - } + this.getInfoList(page + 1) } }, - tabChange(e) { - this.setData({ - active: e.detail.index, - CateId: '', - Search: '', - list: [], - pagination: { - page: 1, - pages: 1, - count: 1, - }, - }) - this.getList() - }, onShareAppMessage(e: any) { if (e.from === 'button') { - const { id, index, type } = e.target.dataset + const { id, index } = e.target.dataset const { list } = this.data - const { Title, TitlePicLink, ImageUrl } = list[index] - if (type == 'info') { - wx.ajax({ - method: 'POST', - url: '?r=igg4/pic-text/share', - data: { ContentId: id }, - }).then(() => { - this.setData({ - [`list[${index}].ShareNum`]: Number(this.data.list[index].ShareNum) + 1, - }) - }) - return { - title: Title, - path: `/pages/repositoryDetail/index?id=${id}`, - imageUrl: TitlePicLink, - } - } else { - wx.ajax({ - method: 'POST', - url: '?r=igg4/video/share', - data: { ContentId: id }, - }).then(() => { - this.setData({ - [`list[${index}].ShareNum`]: Number(this.data.list[index].ShareNum) + 1, - }) + const { Title, TitlePicLink } = list[index] + wx.ajax({ + method: 'POST', + url: '?r=igg4/pic-text/share', + data: { ContentId: id }, + }).then(() => { + this.setData({ + [`list[${index}].ShareNum`]: Number(this.data.list[index].ShareNum) + 1, }) - return { - title: Title, - path: `/pages/repository/index?id=${id}&active=1&title=${Title}`, - imageUrl: ImageUrl, - } + }) + return { + title: Title, + path: `/pages/repositoryDetail/index?id=${id}`, + imageUrl: TitlePicLink, } } else { return { diff --git a/src/pages/mySave/index.wxml b/src/pages/mySave/index.wxml index 1ac30c7..d80e1a2 100644 --- a/src/pages/mySave/index.wxml +++ b/src/pages/mySave/index.wxml @@ -1,119 +1,27 @@  - - + - - - - - - - - - - {{item.Title}} - {{item.UpdatedAt}} - - {{label}} - - - - - {{~~item.OpenNum + ~~item.BasicNum}} - - - - - {{item.ComplimentNum}} - - - - - - - - - - - - - + + {{item.Title}} - - - {{label}} - - {{item.UpdatedAt}} - {{~~item.OpenNum + ~~item.BasicNum}} - - - - - {{item.ComplimentNum}} - {{item.CollectionPeopleNum}} - - - - - - - - {{item.CateName}} - - - {{ item.Title }} - - - - {{~~item.OpenNum + ~~item.BasicNum}} - - - - - - {{item.ComplimentNum}} - - - - - - - - - - - - - + - diff --git a/src/pages/personalInformation/index.json b/src/pages/personalInformation/index.json index c428f44..544d96e 100644 --- a/src/pages/personalInformation/index.json +++ b/src/pages/personalInformation/index.json @@ -1,11 +1,7 @@ { - "navigationBarTitleText": "治疗记录", - "navigationStyle": "custom", + "navigationBarTitleText": "个人信息", "usingComponents": { - "navBar": "/components/navBar/navBar", "van-icon": "@vant/weapp/icon/index", - "van-toast": "@vant/weapp/toast/index", - "van-popup": "@vant/weapp/popup/index", - "van-switch": "@vant/weapp/switch/index" + "van-toast": "@vant/weapp/toast/index" } } diff --git a/src/pages/personalInformation/index.scss b/src/pages/personalInformation/index.scss index efbdb7f..a7d48f9 100644 --- a/src/pages/personalInformation/index.scss +++ b/src/pages/personalInformation/index.scss @@ -1,359 +1,176 @@ .page { - padding-bottom: 200rpx; + min-height: 100vh; + position: relative; + box-sizing: border-box; + background-color: #fff; + .cross { + margin-left: 40rpx; + font-size: 40rpx; + color: #000000; + } .page-container { - width: 100%; - padding: 30rpx 38rpx; - box-sizing: border-box; - - .banner-new { - padding: 38rpx 30rpx; - background-color: #fff; + padding-bottom: 180rpx; + display: flex; + flex-direction: column; + .content { + margin: 0 auto; + padding: 40rpx 0 0; + width: 654rpx; + box-sizing: border-box; border-radius: 24rpx; - box-shadow: 0rpx 4rpx 24rpx 0rpx rgba(0, 0, 0, 0.09); + .switch { + margin-bottom: 50rpx; + display: flex; + justify-content: center; + align-items: center; + gap: 26rpx; + .item { + flex: 1; + display: flex; + align-items: center; + background-color: #f6f8f9; + border-radius: 16rpx; + border: 1px solid #f6f8f9; + .icon { + flex-shrink: 0; + width: 148rpx; + height: 140rpx; + } + .name { + font-size: 36rpx; + color: #211d2e; + text-align: center; + } + &.active { + border-color: #0eb66d; + background: #fff; + .name { + color: #0eb66d; + } + } + } + } + .row-title { + margin-bottom: 32rpx; + font-size: 40rpx; + color: #222222; + font-weight: bold; + } .row { - margin-top: 48rpx; - &:first-of-type { - margin-top: 0; + margin-bottom: 56rpx; + &.row2 { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 22rpx; + } + &.row-age { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 24rpx; } - .row-header { + &.row-phone { display: flex; align-items: center; - justify-content: space-between; - .label { - font-size: 32rpx; - color: #283031; - font-weight: bold; + gap: 20rpx; + .phone-input { + flex: 1; } .change-phone { + flex-shrink: 0; font-size: 32rpx; - color: #cf5375; + color: #0eb66d; } } - .row-content { - padding-top: 24rpx; - .input { - padding: 24rpx 28rpx; - background-color: #f2f2f2; - border: 1px solid #ccc; - border-radius: 12rpx; - color: #283031; - line-height: 40rpx; - } - .place-input { - color: #999999; - } - .radio-btns { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 22rpx; - .btn { - padding: 24rpx; + .picker { + flex: 1; + padding: 24rpx 32rpx; + font-size: 28rpx; + color: #999999; + background: #f2f2f2; + border: 2rpx solid #cccccc; + border-radius: 24rpx; + .select { + display: flex; + justify-content: space-between; + align-items: center; + .select-content { font-size: 32rpx; - color: #999999; - text-align: center; - line-height: 40rpx; - border-radius: 12rpx 12rpx 12rpx 12rpx; - border: 1px solid #cccccc; - &.active { - color: #e04775; - border-color: #e04775; - } + color: #222222; } - } - .r-picker { - display: block; - .r-picker-content { - padding: 24rpx 28rpx; - background: #f2f2f2; - border-radius: 12rpx 12rpx 12rpx 12rpx; - border: 1rpx solid #cccccc; - display: flex; - align-items: center; - justify-content: space-between; - .value { - font-size: 32rpx; - color: #283031; - line-height: 40rpx; - &:empty { - &::after { - content: attr(data-place); - color: #999999; - font-size: 32rpx; - } - } - } - .triangle { - width: 48rpx; - height: 48rpx; - } + .triangle { + width: 48rpx; + height: 48rpx; } } } - } - .protocol { - margin-top: 48rpx; - display: flex; - align-items: center; - justify-content: space-between; - .wrap { - line-height: 1; - .name { - font-size: 32rpx; - color: #283031; - font-weight: bold; + .input { + flex: 1; + padding: 24rpx 32rpx; + height: 40rpx; + font-size: 32rpx; + color: #222222; + background: #f6f6f6; + border-radius: 24rpx; + } + .item { + padding: 12rpx 24rpx; + opacity: 1; + border: 2rpx solid #cccccc; + font-size: 28rpx; + color: #999999; + display: flex; + align-items: center; + justify-content: center; + border-radius: 12rpx; + background: linear-gradient(90deg, #fff 0%, #f9f9f9 100%); + .icon { + width: 64rpx; + height: 64rpx; } - .book { - margin-top: 16rpx; - font-size: 28rpx; - color: #cf5375; + &.active { + color: #0eb66d; + background: #ecfff7; + border-color: #0eb66d; + } + } + .age-item { + height: 96rpx; + white-space: nowrap; + font-size: 36rpx; + color: rgba(34, 34, 34, 0.7); + display: flex; + align-items: center; + justify-content: center; + border-radius: 12rpx; + box-sizing: border-box; + border: 1px solid #f6f6f6; + background-color: #f6f6f6; + &.active { + background-color: #ecfff7; + color: #0eb66d; + border-color: #0eb66d; } } } } - - // .footer-new { - // position: fixed; - // left: 0; - // bottom: 80rpx; - // z-index: 10; - // width: 100%; - // padding: 0 30rpx; - // box-sizing: border-box; - // display: grid; - // grid-template-columns: repeat(auto-fit, minmax(200rpx, 1fr)); - // gap: 20rpx; - // .btn1 { - // height: 88rpx; - // text-align: center; - // line-height: 88rpx; - // background: #dddddd; - // font-size: 34rpx; - // font-weight: bold; - // color: #283031; - // border-radius: 24rpx 24rpx 24rpx 24rpx; - // } - // .btn2 { - // height: 88rpx; - // text-align: center; - // line-height: 88rpx; - // background: #dddddd; - // font-size: 34rpx; - // font-weight: bold; - // color: #283031; - // border-radius: 24rpx 24rpx 24rpx 24rpx; - // } - // .btn3 { - // height: 88rpx; - // text-align: center; - // line-height: 88rpx; - // background: #dddddd; - // font-size: 34rpx; - // font-weight: bold; - // color: #283031; - // border-radius: 24rpx 24rpx 24rpx 24rpx; - // } - // } - - .cancellation { - margin-top: 45rpx; - height: 80rpx; - text-align: center; - line-height: 80rpx; - font-size: 32rpx; - color: #fff; - background: #b8bfd1; - border-radius: 100rpx 100rpx 100rpx 100rpx; - } - } - - .picker { - font-size: 28rpx; - color: #023eba; - max-width: 50vw; - } - - .call { - text-align: center; - margin: 0 auto; - width: 560rpx; - height: 80rpx; - line-height: 80rpx; - background: #023eba; - border-radius: 100px 100px 100px 100px; - font-size: 34rpx; - font-family: - Source Han Sans CN-Bold, - Source Han Sans CN; - font-weight: bold; - color: #ffffff; - } - - .order-shop { - position: fixed; - left: 0; - top: 0; - width: 100vw; - height: 100vh; - background-color: rgba(0, 0, 0, 0.25); - z-index: 666; - } - - .order-shop-worker { - position: fixed; - display: flex; - justify-content: center; - align-items: center; - left: 0; - top: 0; - width: 100vw; - height: 100vh; - background-color: rgba(0, 0, 0, 0.25); - z-index: 3; - } - - .order-shop-box { - position: fixed; - left: 0; - bottom: 0; - width: 100vw; - max-height: 80vh; - background: #ffffff; - box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.5); - border-radius: 32rpx 32rpx 0px 0px; - padding: 48rpx 0 60rpx; - } - - .order-shop-worker-box { - width: 646rpx; - padding: 48rpx 40rpx 64rpx; - background: #ffffff; - border-radius: 32rpx; - } - - .order-shop-title { - text-align: center; - font-size: 36rpx; - font-family: - PingFangSC-Medium, - PingFang SC; - font-weight: bold; - color: #222222; - line-height: 50rpx; - } - - .order-search { - box-sizing: border-box; - width: 690rpx; - height: 84rpx; - line-height: 84rpx; - background: #f8f8f8; - border-radius: 42rpx; - margin: 32rpx auto; - padding-left: 74rpx; - background-position: 30rpx center; - background-repeat: no-repeat; - background-size: 36rpx; - background-image: url(data:image/png;base64,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); - } - - .search-input { - font-size: 28rpx; - line-height: 84rpx; - height: 84rpx; - padding-right: 30rpx; - } - - .search-cell-box { - max-height: 550rpx; - } - - .search-cell { - display: flex; - justify-content: space-between; - padding: 0 60rpx; - color: #aeb6cd; - } - - .shop-text { - padding: 20rpx 0; - text-align: center; - line-height: 40rpx; - // border-bottom: 2rpx solid #f8f8f8; - flex: 1; - font-size: 32rpx; - font-family: - Alibaba PuHuiTi-Medium, - Alibaba PuHuiTi; - font-weight: 500; - } - - .search-cell-active { - border-bottom: none; - color: #364e9e; - font-size: 32rpx; - font-family: - Alibaba PuHuiTi-Medium, - Alibaba PuHuiTi; - font-weight: 500; - color: #364e9e; - } - - .fl1 { - display: flex; - justify-content: space-between; - padding: 0 30rpx; - } - - .closeShop { - color: #aeb6cd; - font-size: 28rpx; - margin-left: auto; - } - - .clickShop { - color: #364e9e; - font-size: 28rpx; - } - - .empty-image { - margin: 0 auto; - width: 100%; - padding-top: 450rpx; - text-align: center; - background-position: center 100rpx; - background-size: 300rpx; - background-repeat: no-repeat; - background-image: url(https://m.zd.hbraas.com/zd/none.png?t={{Timestamp}}); - } - - .moretext { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - } -} - -.popup { - .popup-title { - display: flex; - justify-content: space-between; - padding: 20rpx 40rpx; - font-size: 32rpx; - .clsoe { - color: #7f7f7f; - } - .sure { - color: #22c065; - } - } - .popup-picker { - .picker-col { - padding: 10rpx 30rpx; - font-size: 28rpx; - line-height: 40rpx; + .bottom-actions { + width: 100%; + padding: 0 48rpx; box-sizing: border-box; - display: flex; - align-items: center; + .action-btn { + margin-bottom: 32rpx; + text-align: center; + height: 96rpx; + line-height: 96rpx; + border-radius: 16rpx; + font-size: 36rpx; + background: #FFFFFF; + box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(0,0,0,0.05); + color: rgba(34, 34, 34, 1); + &.danger { + color: rgba(14, 182, 109, 1); + } + } } } } diff --git a/src/pages/personalInformation/index.ts b/src/pages/personalInformation/index.ts index 3bf6c50..2796b66 100644 --- a/src/pages/personalInformation/index.ts +++ b/src/pages/personalInformation/index.ts @@ -4,161 +4,26 @@ const licia = require('miniprogram-licia') Page({ data: { - isEdit: false, - area: [] as string[][], - city: [] as string[][], userInfo: {} as any, - areaValue: '', bron: '', age: '', ageStart: '1930-01-01', ageEnd: '', - rtValue: '0', - RTList: [ - { id: 1, value: '本人' }, - { id: 2, value: '亲友' }, - ], - - genderValue: '0', - GenderList: [ - { - id: 1, - value: '男', - }, - { - id: 2, - value: '女', - }, - ], - - ageRangeValue: '0', ageRangeList: [ - { - id: 5, - value: '18岁以下', - }, - { - id: 1, - value: '18岁-44岁', - }, - { - id: 2, - value: '45岁-59岁', - }, - { - id: 3, - value: '60岁-74岁', - }, - { - id: 4, - value: '75岁以上', - }, - ], - - taskValue: 0, - TaskList: [ - { - id: 1, - value: '接受随访', - }, - { - id: 2, - value: '不接受随访', - }, - ], - - antibodyTypeRangeList: [ - { - id: '1', - value: 'AchR', - }, - { - id: '2', - value: 'MuSK', - }, - { - id: '3', - value: 'LRP4', - }, - { - id: '4', - value: 'RyR', - }, - ], - thyroidAbnormalRangeList: [ - { - id: '1', - value: '是', - }, - { - id: '2', - value: '否', - }, + { id: 5, value: '18岁以下' }, + { id: 1, value: '18岁-44岁' }, + { id: 2, value: '45岁-59岁' }, + { id: 3, value: '60岁-74岁' }, + { id: 4, value: '75岁以上' }, ], - previousConvulsionRangeList: [ - { - id: '1', - value: '是', - }, - { - id: '2', - value: '否', - }, + diagnosisTimeRangeList: [ + { id: 1, value: '6个月以内' }, + { id: 2, value: '6个月-3年' }, + { id: 3, value: '3年以上' }, ], - traditionalImmunosuppressantRangeList: [ - { - id: '1', - value: '他克莫司', - }, - { - id: '2', - value: '硫唑嘌呤', - }, - { - id: '3', - value: '吗替麦考酚酯', - }, - { - id: '4', - value: '其它', - }, - ], - medicalInsuranceTypeRangeList: [ - { - id: '1', - value: '城市职工', - }, - { - id: '2', - value: '城市居民', - }, - { - id: '3', - value: '新农合', - }, - ], - - DiagnosisTime: '', - - selectDiagnoseTypeIndex: '0', - diagnoseTypeShow: false, - diagnoseTypeValue: '0', - DTList: app.globalData.DiagnoseType.map((item) => { - return { - id: item.id, - value: item.name, - } - }), }, onShow() { - const SystemInfo = app.globalSystemInfo - if (SystemInfo) { - const { bottom } = SystemInfo.capsulePosition - this.setData({ - bottom, - }) - } const ageEnd = licia.dateFormat(new Date(), 'yyyy-mm-dd') this.setData({ @@ -174,11 +39,6 @@ Page({ formatUserInfo(res) { this.formatBorn(res.Birth) - this.handleChaneDiagnosisTime({ detail: { value: res.DiagnosisTime } }, false) - const diagnoseTypeValue = this.data.DTList.findIndex((item) => item.id == res.DiagnoseType) - this.handleChangeDiagnoseType({ detail: { value: [diagnoseTypeValue] } }) - this.handleDiagnoseTypeSave(false) - // this.handleTapRT(); }, formatBorn(Birth) { let bron = '' @@ -213,14 +73,6 @@ Page({ this.formatBorn(Birth) this.updateUserInfo() }, - handleChaneDiagnosisTime(e, update = true) { - const DiagnosisTime = e.detail.value - this.setData({ - DiagnosisTime: dayjs(DiagnosisTime).format('YYYY年MM月'), - 'userInfo.DiagnosisTime': DiagnosisTime, - }) - this.updateUserInfo(update) - }, handleInput(e) { const { key } = e.currentTarget.dataset @@ -228,55 +80,7 @@ Page({ [`userInfo.${key}`]: e.detail.value, }) }, - handleChangeRT(e, update = true) { - const value = e.detail.value - const id = this.data.RTList.filter((_item, index) => index == value)[0]?.id - this.setData({ - rtValue: value, - 'userInfo.RelationType': id, - }) - this.updateUserInfo(update) - }, - handleChangeGender(e, update = true) { - const value = e.detail.value - const id = this.data.GenderList.filter((_item, index) => index == value)[0]?.id - this.setData({ - genderValue: value, - 'userInfo.Gender': id, - }) - this.updateUserInfo(update) - }, - handleChangeTask(e, update = true) { - const value = e.detail ? 0 : 1 - const id = this.data.TaskList.filter((_item, index) => index == value)[0]?.id - this.setData({ - taskValue: value, - 'userInfo.PatientCanFollowUp': id, - }) - this.updateUserInfo(update) - }, - handleChangeAgeRange(e, update = true) { - const value = e.detail.value - const id = this.data.ageRangeList.filter((_item, index) => index == value)[0]?.id - this.setData({ - ageRangeValue: value, - 'userInfo.AgeRange': id, - }) - this.updateUserInfo(update) - }, - handleDiagnoseTypeSave(update = true) { - const rangeIndex = this.data.selectDiagnoseTypeIndex - const id = this.data.DTList.filter((_item, index) => index == rangeIndex)[0]?.id - this.setData({ - diagnoseTypeValue: rangeIndex, - 'userInfo.DiagnoseType': id, - }) - if (update) { - this.handleDiagnoseTypeShow() - } - this.updateUserInfo(update) - }, handleRadio(e) { const { id, key } = e.currentTarget.dataset this.setData({ @@ -284,27 +88,10 @@ Page({ }) this.updateUserInfo(true) }, - handleDiagnoseTypeShow() { - this.setData({ - diagnoseTypeShow: !this.data.diagnoseTypeShow, - }) - }, - handleChangeDiagnoseType(e) { - const value = e.detail.value[0] - this.setData({ - selectDiagnoseTypeIndex: value, - }) - }, - handleRedioSelect(e) { - const { key, id } = e.currentTarget.dataset - this.setData({ - [`userInfo.${key}`]: id, - }) - this.updateUserInfo() - }, + updateUserInfo(update = true) { if (!update) return - const { PatientName, RelationType, Gender, Birth, DiagnosisTime, DiagnoseType, ...userInfo } = this.data.userInfo + const { PatientName, RelationType, Gender, AgeRange, DiagnosisTimeRange, Birth, DiagnosisTime } = this.data.userInfo wx.ajax({ method: 'POST', url: '?r=igg4/account/update-info', @@ -312,17 +99,10 @@ Page({ name: PatientName, relationType: RelationType, gender: Gender, + ageRange: AgeRange, + diagnosisTimeRange: DiagnosisTimeRange, birth: Birth, diagnosisTime: DiagnosisTime, - diagnoseType: DiagnoseType, - ageRange: userInfo.AgeRange, - patientCanFollowUp: userInfo.PatientCanFollowUp, - antibodyType: userInfo.AntibodyType, - thyroidAbnormal: userInfo.ThyroidAbnormal, - previousConvulsion: userInfo.PreviousConvulsion, - traditionalImmunosuppressant: userInfo.TraditionalImmunosuppressant, - medicalInsuranceType: userInfo.MedicalInsuranceType, - ...userInfo, }, }) .then((_res) => { @@ -370,10 +150,6 @@ Page({ url, }) }, - redirectTo(e) { - const { url } = e.currentTarget.dataset - wx.redirectTo({ - url, - }) - }, }) + +export {} diff --git a/src/pages/personalInformation/index.wxml b/src/pages/personalInformation/index.wxml index dcb258e..6402df1 100644 --- a/src/pages/personalInformation/index.wxml +++ b/src/pages/personalInformation/index.wxml @@ -1,285 +1,135 @@ - - + -