Przeglądaj źródła

Merge branch 'master' of http://47.107.245.0:3000/xiongxing/kyj-yanglao-web-new

xiongxing 3 godzin temu
rodzic
commit
fc345e49a6
40 zmienionych plików z 8553 dodań i 82 usunięć
  1. 71 0
      append_contract.py
  2. 114 0
      append_contract2.py
  3. 162 0
      append_contract3.py
  4. 157 0
      append_contract4.py
  5. 121 0
      append_contract5.py
  6. 390 0
      append_contract6.py
  7. 35 0
      check_contract.py
  8. 1193 0
      contract_text.txt
  9. 37 0
      extract_pdf.js
  10. 45 0
      extract_pdf.mjs
  11. 19 0
      extract_pdf.py
  12. 17 0
      extract_pdf_2.py
  13. 20 0
      extract_pdf_cjs.js
  14. 24 0
      extract_pdf_py.py
  15. 40 0
      extract_pdf_script.js
  16. 40 0
      extract_pdf_script.mjs
  17. 12 0
      fix-contract.ps1
  18. 40 0
      fix_contract2.py
  19. 435 0
      gen_contract.py
  20. 458 0
      gen_contract_full.py
  21. 165 0
      gen_vue.py
  22. 707 0
      generate_contract.py
  23. 1172 0
      pdf_full_text.txt
  24. 20 0
      process-contract.ps1
  25. 7 13
      src/components/ESign/src/ESign.vue
  26. 27 1
      src/components/UploadFile/index.ts
  27. 206 0
      src/components/UploadFile/src/TableUpload.vue
  28. 92 0
      src/components/UploadFile/src/useUpload.ts
  29. 28 0
      src/types/vue-esign.d.ts
  30. 18 42
      src/views/elderly/apply/check-in-request/ProcessForm.vue
  31. 1001 0
      src/views/elderly/apply/check-in/ContractForm.vue
  32. 1046 0
      src/views/elderly/apply/check-in/contract_remainder.txt
  33. 25 0
      src/views/elderly/apply/check-in/index.vue
  34. 70 0
      src/views/elderly/apply/check-in/printContract.ts
  35. 296 0
      src/views/elderly/apply/check-in/接口返回值.txt
  36. BIN
      src/views/elderly/apply/check-in/颐年集团养老服务合同-2026年6月终版docx.pdf
  37. 101 1
      src/views/elderly/apply/nine-precautions/anti-entertainment/AddForm.vue
  38. 69 3
      src/views/elderly/apply/nine-precautions/risk-disclosure-statement/index.vue
  39. 16 22
      src/views/elderly/elder/elder-file/Eight.vue
  40. 57 0
      validate_contract.py

+ 71 - 0
append_contract.py

@@ -0,0 +1,71 @@
+# -*- coding: utf-8 -*-
+import io
+
+out = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+
+with io.open(out, 'a', encoding='utf-8') as f:
+    f.write(u'''
+
+      <!-- ========== 第11页:甲方义务继续 + 第五条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">11</span></div>
+        <div class="page-content">
+          <p class="content-text">2.11 甲方暂停、终止服务的,应当在暂停或终止服务60日前,书面通知乙方或丙方,并向社会公告;将入住老年人的安置方案书面告知甲方所在地的区民政部门。在解散清算前,甲方应当依法妥善安置乙方。如乙方或丙方有意与其他养老机构签订服务协议的,甲方应当积极为乙方联系与甲方具有同等资质和服务水平的养老服务机构,努力促进双方建立合同;如乙方或丙方需解除或终止服务协议的,甲方应当退还乙方或丙方剩余未消费或合同约定的有关费用。</p>
+          <p class="content-text">2.12 当乙方出现紧急情况时,应及时联系和通知丙方。</p>
+          <p class="content-text">2.13 在甲方服务期间,经鉴定乙方正常死亡的,甲方应及时与丙方取得联系。无法与丙方取得联系的且机构内不具备遗体保存条件,可严格按照规定要求使用《广州市养老机构死亡报告书》并对接殡仪馆,妥善保存遗体。</p>
+          <p class="content-text">2.14 乙方符合长期护理保险等申报条件的,甲方应积极为其申请。</p>
+          <p class="content-text">2.15 乙方入住养老机构、请假外出、终止合同离院和去世,甲方应及时在广州市为老服务综合平台填报有关信息。</p>
+          <h2 class="section-title">第五条 乙方权利及义务</h2>
+          <p class="content-text">1.乙方的权利</p>
+          <p class="content-text">1.1 享有隐私权,人格尊严和人身、财产安全不受非法侵害的权利。</p>
+          <p class="content-text">1.2 有权按照约定的服务项目获得甲方提供的符合服务标准的养老服务,对甲方的服务有批评建议的权利。</p>
+          <p class="content-text">1.3 对自身的健康状况、费用支出、入院记录等有知情权,有权查阅、复印甲方为其建立的个人档案。</p>
+          <p class="content-text">1.4 有权了解提供服务的人员是否经过专业培训,是否具备相应资质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合格的人员。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第12页:第五条继续 + 第六条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">12</span></div>
+        <div class="page-content">
+          <p class="content-text">1.5 在突发疾病的情况下乙方有权获得及时、必要的医疗帮助。</p>
+          <p class="content-text">2.乙方的义务</p>
+          <p class="content-text">2.1 应当按照约定自行或与丙方共同支付养老服务费及相关费用。</p>
+          <p class="content-text">2.2 应当按照约定提供相关的体检报告,如实告知甲方本人的健康状况、药品使用情况及过往病史等信息,并如实填写《入住登记表》。</p>
+          <p class="content-text">2.3 应当配合甲方做好持续评估及确认照护等级;配合甲方定期参加体检。</p>
+          <p class="content-text">2.4 应当与其他入住老年人和谐相处。</p>
+          <p class="content-text">2.5 在接收甲方提供的养老服务期间,因疾病进行诊疗时,应在治疗期间遵守医嘱,配合治疗。</p>
+          <p class="content-text">2.6 应当服从甲方管理,遵守甲方的规章制度,维护养老机构正常服务秩序,爱护甲方提供的各项服务设施,入住期间损坏甲方设施设备的,乙方或丙方应当予以赔偿。损坏有关服务设施的赔偿价格可与甲方协商约定。</p>
+          <p class="content-text">2.7 对于甲方提供的其他符合合同约定、法律规定的养老服务,乙方应予配合甲方的服务工作。</p>
+          <h2 class="section-title">第六条 丙方权利及义务</h2>
+          <p class="content-text">1.丙方的权利</p>
+          <p class="content-text">1.1 对乙方有探视权,但不得影响甲方对乙方的正常服务管理和执行政府部门规定的疫情防控等管理要求。</p>
+          <p class="content-text">1.2 对乙方的健康状况、享受服务情况、费用支出、入院记录等有知情权,有权查阅、复印甲方为乙方建立的个人档案。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第13页:第六条继续 + 第七条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">13</span></div>
+        <div class="page-content">
+          <p class="content-text">1.3 有权了解提供服务的人员是否经过专业培训,是否具备相应资质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合格的人员;有权对甲方的服务提出批评建议。</p>
+          <p class="content-text">1.4 遇紧急情况,包括但不限于乙方走失、身体健康状况出现紧急情况时,有权及时从甲方得到相关信息。</p>
+          <p class="content-text">2.丙方的义务</p>
+          <p class="content-text">2.1 乙方入住前,丙方要如实向甲方反映乙方的情况,如脾气秉性、家庭成员、既往病史、健康状况和药品使用情况等,协助乙方如实填写《入住登记表》。</p>
+          <p class="content-text">2.2 劝导乙方入住后自觉遵守养老机构的规章制度,接受管理,爱护甲方提供的各项服务设施,乙方违反本合同约定或甲方制定的规章制度,造成甲方损失或第三人人身、财产损害的,乙方需承担赔偿责任,负有付款义务或连带责任的丙方应当承担有关赔偿责任。</p>
+          <p class="content-text">2.3 应劝导乙方与其他入住老年人和谐相处,并经常与乙方沟通,保持联络,满足乙方的精神需求。</p>
+          <p class="content-text">2.4 应劝导乙方在接收甲方提供的养老服务期间,因疾病进行诊疗时,应在治疗期间遵守医嘱,配合治疗。乙方需外出就医的,负有相关义务的丙方应当及时携乙方到医院就诊,并向甲方如实告知乙方的就医情况。</p>
+          <p class="content-text">2.5 按时足额向甲方支付约定的养老服务费、保证金及相关费用。</p>
+          <p class="content-text">2.6 丙方的家庭及单位地址、联系方式变更时,应及时通知甲方。</p>
+          <p class="content-text">2.7 及时协助甲方处理乙方出现的紧急情况。当甲方按照合同约定处理时,负有付款义务或连带责任的丙方应当及时足额支付由此产生的费用。</p>
+          <p class="content-text">2.8 乙方在养老机构去世的,丙方应及时进行善后处理并解决费用问题。</p>
+          <h2 class="section-title">第七条 合同的续签</h2>
+          <p class="content-text">1.合同期满前30日,乙方或丙方可向养老机构申请续签合同。</p>
+          <p class="content-text">2.续签的养老服务合同内容应当由甲方、乙方和丙方协商确定。</p>
+          <p class="content-text">3.如果乙方或丙方未在合同期限届满前30日提出续签合同,或者乙方或丙方虽在合同期限届满前30日提出续签合同申请,但各方未就合同续签达成一致,乙方应于合同到期后3日内搬离甲方,办理离院手续并结清所有费用。</p>
+        </div>
+      </div>
+''')
+    f.close()
+
+print('Part 1 (pages 11-13) appended successfully')

+ 114 - 0
append_contract2.py

@@ -0,0 +1,114 @@
+# -*- coding: utf-8 -*-
+import io
+
+out = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+
+with io.open(out, 'a', encoding='utf-8') as f:
+    f.write(u'''
+
+      <!-- ========== 第14页:第八条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">14</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第八条 合同的变更和解除</h2>
+          <p class="content-text">1.合同的变更</p>
+          <p class="content-text">1.1 根据乙方健康状况的变化以及护理等级的评估结果,乙方、丙方可以要求甲方变更服务方案,甲方亦可以提出变更服务方案,并以书面形式通知乙方及丙方。任何一方要求变更服务方案的,需经甲方、乙方、丙方三方协商一致,签署补充协议。</p>
+          <p class="content-text">若甲方提出变更服务方案,乙方或丙方收到甲方变更服务方案的书面通知后7日内既不确认又不提出异议,但乙方实际接受甲方提供的相应服务的,视为甲、乙、丙三方就合同约定的服务项目的变更达成一致,乙方或丙方有义务按照新的服务项目支付相应的服务费用。</p>
+          <p class="content-text">若乙方或者丙方提出变更方案,甲方应在收到其变更服务方案的要求后30日内会同乙方或者丙方进行研究确定,变更方案符合有关规定和实际情况的,甲方应予以采纳。经沟通未能达成一致意见的,甲方有义务应向乙方或丙解释不采纳其变更方案的理由和依据,乙方或丙方仍不能接受的,可向属地民政部门反映或向司法部门起诉。</p>
+          <p class="content-text">如果根据乙方健康状况的变化以及护理等级的评估结果,不调整服务项目将导致乙方的健康安全无法保障的,甲方提出变更的服务方案后,乙方或丙方既不同意,也不接受实际服务,甲方、乙方或丙方均有权解除本合同。</p>
+          <p class="content-text">当食品材料市场价格发生重大变化,致使甲方服务成本急剧上升(单项价格变动幅度超过6%)时,甲方可适当调整伙食费收费标准,将价格调整的通知在调价前30日以书面形式通知乙方及丙方,并签订补充合同。</p>
+          <p class="content-text">乙方或丙方对价格调整有异议的,可在收到通知后15日内以书面形式提出解除合同;乙方或丙方要求继续按照原收费标准履行合同的,甲方有权提出解除合同。</p>
+          <p class="content-text">乙方或丙方收到通知后15日内不以书面形式提出异议,但拒绝根据调整后的价格支付相关费用的,甲方有权解除合同并按照原收费标准收取已提供服务的费用。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第15页:第八条继续 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">15</span></div>
+        <div class="page-content">
+          <p class="content-text">2.合同的解除</p>
+          <p class="content-text">2.1 除本合同另有约定外,下列情况下,乙方或丙方可以单方解除本合同,并无需承担违约责任:</p>
+          <p class="content-text">(1)甲方提供的服务不符合合同约定,经乙方或丙方提出,30日内不改正的;</p>
+          <p class="content-text">(2)因甲方或甲方工作人员的严重过错造成乙方人身或重大财产损害的;</p>
+          <p class="content-text">(3)乙方因疾病或其他个人原因离院的,但乙方或丙方不提出解除本合同而要求保留床位或房间的除外;乙方因疾病需要长期住院治疗(凭7天内住院证明)或去世解除合同的,免收违约金;</p>
+          <p class="content-text">(4)履行合同过程中,乙方或丙方提前30日书面通知甲方并结清服务费用的;</p>
+          <p class="content-text">(5)乙方首次入住15日内不适应居住环境或管理方式的,乙方可以单方面解除本合同,并无需承担违约责任。</p>
+          <p class="content-text">2.2 除本合同另有约定外,下列情况下,甲方可以单方解除本合同,并无须承担违约责任:</p>
+          <p class="content-text">(1)乙方或丙方无故拖欠各项费用超过15日,经甲方书面催告后7日内仍不交纳的,甲方有权解除合同,并书面通知乙方搬出养老机构。乙方在甲方发出书面解除合同通知后7日内仍不搬出的,甲方有权提起诉讼,请求法院确认合同解除。</p>
+          <p class="content-text">(2)乙方严重违反甲方的规章制度,造成甲方难以履行对乙方的养老服务,或造成其他入住老人伤害或存在可能造成他人伤害危险的。需对有关事实进行甄别的,可提请属地民政部门或委托第三方协助认定。</p>
+          <p class="content-text">(3)乙方或丙方隐瞒乙方健康状况,或者乙方患有须隔离治疗的传染性疾病或者患有精神疾病等其他不适宜在机构内集中生活的。</p>
+          <p class="content-text">(4)发生不可抗力致甲方不能履行合同的。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第16页:第八条继续 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">16</span></div>
+        <div class="page-content">
+          <p class="content-text">(5)甲方因丧失养老机构执业资格等原因暂停、终止服务的。甲方应当于暂停或者终止服务60日前向实施许可或备案的属地民政部门提交老年人安置方案,经批准后方可解除养老机构服务合同。</p>
+          <p class="content-text">(6)乙方连续请假外出超过90天(限期不得少于30天)。请假期间,因病情严重需要医治或疫情防控等管理要求,乙方无法返院或甲方不具备返院条件的情形除外。</p>
+          <p class="content-text">(7)丙方与甲方中断联系达到30天的,甲方有权选择单方解除合同。</p>
+          <p class="content-text">2.3 除本合同另有约定外,下列情况下,乙方提前终止合同的,按照以下约定执行:</p>
+          <p class="content-text">如乙方提前解除合同(除因疾病需长期住院治疗、去世解除合同外),须提前30天书面向甲方提出申请,经甲方批准后方可办理离院手续,乙方应按照本月实际享受服务天数结算本月床位费、护理费、膳食费、管理费、水电费等费用,并按照附件《服务项目收费标准》中乙方所定房型向甲方缴纳一个月床位费的违约金。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第17页:第九条 违约责任 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">17</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第九条 违约责任</h2>
+          <p class="content-text">1.因甲方及其工作人员的过错,损害乙方人身或财产权利的,由甲方承担赔偿责任。</p>
+          <p class="content-text">2.甲方服务人员资质不合格、没有按约定提供服务或者提供的服务不合格,造成乙方人身或财产损失的,甲方应当承担赔偿责任。</p>
+          <p class="content-text">3.甲方或其工作人员侵犯乙方、丙方对甲方提供的养老服务的知情权的,乙方和丙方有权要求甲方改正,造成损失的甲方应承担赔偿责任。</p>
+          <p class="content-text">4.如果乙方或丙方无故拖欠各项费用超过15日,经甲方发出催告通知后7日内仍不交纳的,甲方有权解除合同,书面通知乙方和丙方,要求乙方出院。如果乙方在甲方发出解除合同通知后7日内仍不出院,甲方有权强制要求乙方出院或者送回乙方或丙方住所。此种情况下解除合同,乙方及丙方除应支付拖欠的费用外,还应每天支付应付未付费用金额的1‰违约金,并负担甲方由此产生的一切费用。</p>
+          <p class="content-text">5.乙方或丙方未将乙方健康状况、用药情况及过往病史如实告知甲方,造成甲方在提供服务过程中护理失当的,由乙方或丙方承担相应的后果。</p>
+          <p class="content-text">6.乙方需外出就医的,甲方履行告知义务,乙方拒绝外出就医或丙方拒绝及时携乙方到医院就诊而造成的后果,由乙、丙方自行承担。</p>
+          <p class="content-text">7.甲方没有过错,因乙方原因造成其自身损害的,由乙方、丙方自行承担全部后果和责任。</p>
+          <p class="content-text">8.因乙方原因造成甲方或第三人人身或财产损失的,乙方、丙方应承担赔偿责任。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第18页:第九条继续 + 第十条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">18</span></div>
+        <div class="page-content">
+          <p class="content-text">9.签订养老服务合同后,乙方未按照合同约定时间入住的,按照以下约定办理:因紧急住院治疗无法按期办理且向公办养老机构提出由医疗机构出具的诊断结论的,由公办养老机构适当延长其资格核实、办理入住手续期限。</p>
+          <p class="content-text">10.本合同提前终止或服务期满后,乙方逾期搬离甲方养老机构的,按乙方在服务期满前一个月的养老服务费用标准的1.5倍按日计付养老服务费用,直至办理完毕离院手续并搬离甲方养老机构之日止。</p>
+          <p class="content-text">11.甲方按本合同约定应承担赔偿责任的,赔偿限额以甲方实际收费为限。</p>
+          <h2 class="section-title">第十条 通知与送达</h2>
+          <p class="content-text">1.在本合同首页中所标明的甲方、乙方和丙方的地址和联系方式为各方各自有效的通讯地址和联系方式。一方变更通讯地址和联络方式应及时通知其他各方。</p>
+          <p class="content-text">2.以下情形,视为送达,但受送达人有证据证明其因客观原因未实际接收到通知的除外:以特快专递形式发送,已经签收的,以签收日为送达日;未签收的,同城自发送之日起2日视为文件已经送达,异地5日视为送达,境外15日视为送达;以手机短信发送的,发送成功即视为送达;电子邮件自发出后进入收件方邮箱服务器视为送达;传真发送自对方传真机接收视为送达。</p>
+          <p class="content-text">3.乙方入住甲方期间,有关本合同的履行事宜甲方应以书面或数据电文形式通知乙方或丙方,由乙方或丙方确认签收;乙方或丙方拒签的,书面通知在第三方见证下送至收件人地址的视为已通知或已送达,数据电文进入收件人接收系统的视为已通知或已送达。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第19页:第十一条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">19</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第十一条 陈述与保证</h2>
+          <p class="content-text">1.甲方保证为依照法律、行政法规设立并依法登记的养老机构,具有提供本合同约定的养老服务的资格和能力。</p>
+          <p class="content-text">2.乙方或丙方保证乙方不属于患有精神病、甲类或乙类传染性疾病等不符合入住养老机构疾病的老年人。</p>
+          <p class="content-text">3.乙方或丙方保证向甲方提供乙方在本协议签署前1个月内在甲方所在地二级甲等以上医院进行体检的《体检报告》(体检项目包括:精神健康状况、传染性疾病及养老机构要求的其他体检项目等)(作为本合同附件)。</p>
+          <p class="content-text">4.乙方或丙方保证向甲方提供的乙方或丙方共同签字的《入住登记表》(作为本协议附件)是真实的,没有任何虚假或隐瞒。</p>
+          <p class="content-text">5.丙方保证担任本合同履行过程的联系人,接收甲方的通知,如涉及诉讼、仲裁或其他法律程序的,保证作为相关机构法律文书的接收人,甲方或相关机构向乙方或保证人所列明的地址、联系方式等送达相关文书的,均视为有效送达。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第20页:第十二条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">20</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第十二条 特别约定</h2>
+          <p class="content-text">1.甲方仅提供与合同约定护理等级相符的相关服务,对于超出护理等级的看护、注意义务,甲方将依据现实情况、乙方身体状况尽可能的提供帮扶、协助,但不表示甲方愿意接受超出合同约定的范围的约束;甲方不是专业的医疗机构,对乙方进行的常规体检不代表甲方对乙方真实身体状况的了解,也不能代表甲方对乙方身体状况的确认,一切以专业的医疗机构及医疗人员的判断为准。</p>
+          <p class="content-text">2.突发疾病或出现事故等紧急情况的处理</p>
+          <p class="content-text">(1)乙方在入住期间突发疾病或身体伤害事故,甲方应及时通知丙方,及时联系120等医疗急救机构;如需到医疗机构急救、甲方应派人陪送至医疗机构。甲方不能及时联系上丙方的,应尽早与本合同附件确定的其他联系人取得联系并通报情况。</p>
+          <p class="content-text">(2)甲方具有医疗资质的,在乙方生命垂危等紧急情况下应尽到合理诊疗义务,费用由乙方和丙方承担。</p>
+          <p class="content-text">(3)因乙方发生紧急情况产生的费用急救费用、治疗费用、住院押金等均由乙方和丙方负担。甲方因此垫付费用的,乙方或丙方应按照甲方要求的时间内清偿。</p>
+          <p class="content-text">(4)为保证入住长者的生活环境,甲方暂未设有临终关怀服务,当乙方生命垂危时,丙方应全力配合甲方将乙方送医院进行抢救;若乙方或丙方任何一方不予配合,甲方有权利将乙方送往就近医院抢救并扣除乙方入住时缴纳人民币<span class="fill">{{ contractForm.lifeSavingDeposit || '____' }}</span>元(大写金额:<span class="fill">{{ contractForm.lifeSavingDepositCN || '________' }}</span>)的押金,救护费用不足部分由乙方及丙方承担;</p>
+          <p class="content-text">(5)若乙方在甲方养老院突然去世,丙方须全力配合甲方将乙方以医疗救护的方式将乙方送往就近医院;若丙方不予配合,甲方有权利扣除乙方入住时缴纳人民币<span class="fill">{{ contractForm.deathDeposit || '____' }}</span>元(大写金额:<span class="fill">{{ contractForm.deathDepositCN || '________' }}</span>)的押金,费用不足部分由丙方承担;</p>
+        </div>
+      </div>
+''')
+print('Part 2 (pages 14-20) appended successfully')

+ 162 - 0
append_contract3.py

@@ -0,0 +1,162 @@
+# -*- coding: utf-8 -*-
+import io
+
+out = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+
+with io.open(out, 'a', encoding='utf-8') as f:
+    f.write(u'''
+
+      <!-- ========== 第21页:第十二条继续 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">21</span></div>
+        <div class="page-content">
+          <p class="content-text">3.乙方去世的善后服务及相关费用</p>
+          <p class="content-text">乙方在甲方服务期间去世的,甲方应及时与丙方取得联系,丙方负责善后处理并承担相关费用。无法与丙方取得联系的,应及时联系殡仪馆,妥善保存遗体,发生的费用由丙方承担。</p>
+          <p class="content-text">4.甲方与丙方联系中断</p>
+          <p class="content-text">因丙方提供的联系地址、方式不准确或不详细或变更后未及时通知甲方,或其他客观原因致使甲方无法与丙方及时联系,连续达30天则视为联系中断。甲方与乙方协商后,可以重新确定联系人。联系中断不免除丙方在本合同项下的责任。</p>
+          <p class="content-text">5.非因甲方故意或重大过失的原因造成乙方人身、财产损害的,甲方不承担责任。</p>
+          <p class="content-text">乙方入住后若发生根据体检报告所反映出的一系列疾病、并发症或突发性疾病导致死亡,与甲方无关;</p>
+          <p class="content-text">由于乙方属高龄及有疾病的长者,易发生意外,入住期间非因甲方原因若发生骨折、心脏骤停、脑梗、脑溢血、呛咳、肺部感染等疾病导致死亡与甲方无关;</p>
+          <p class="content-text">乙方入住后,经甲方诊断有疾病且书面通知乙方前往三甲及以上的医院进行治疗的,乙方应及时前往医院就医;若乙方或丙方不予配合,乙方发生任何意外,由乙方和丙方负担全部责任;</p>
+          <p class="content-text">6.乙方具有完全民事行为能力,但拒绝接收甲方提供服务,造成其自身人身、财产损害的,由乙方自行承担后果。</p>
+          <p class="content-text">7.本合同关于乙方和丙方权利义务的约定,并不免除对乙方有法定赡养义务的其他人的法定责任。</p>
+          <p class="content-text">8.因不可抗力导致本合同无法继续履行的、受到不可抗力影响的一方应在不可抗力情形发生后及时通知合同其他相关方,本合同可依法解除,合同各方不承担解除合同的责任。丙方应及时接回并妥善安置乙方。</p>
+          <p class="content-text">9.甲方破产、停业、转让:甲方需提前30天通知乙方和丙方,并协助丙方将乙方转至其他养老机构托养或送回住所;</p>
+        </div>
+      </div>
+
+      <!-- ========== 第22页:第十三条 + 第十四条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">22</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第十三条 争议解决方式</h2>
+          <p class="content-text">本合同在履行过程中发生争议,当事人尽量协商解决。协商不成的,当事人可以选择向有管辖权的人民法院提起诉讼。</p>
+          <h2 class="section-title">第十四条 合同生效及附件</h2>
+          <p class="content-text">本合同一式【叁】份,甲方执【壹】份,乙方执【壹】份,乙方监护人执【壹】份,自各方签字或盖章之日起生效。</p>
+          <p class="content-text">1.下列文件为本合同附件,与本合同具有同等法律效力:</p>
+          <p class="content-text">附件一:《知情同意书》</p>
+          <p class="content-text">附件二:《入住登记表》</p>
+          <p class="content-text">附件三:《入住须知》</p>
+          <p class="content-text">附件四:《长者安全承诺书》</p>
+          <p class="content-text">附件五:《长者外出情况确认书》</p>
+          <p class="content-text">附件六:《签名代理申请》</p>
+          <p class="content-text">附件七:《委托代理人确认表》</p>
+          <p class="content-text">附件八:《机构服务范围及收费标准》</p>
+          <p class="content-text">附件九:《房间设施设备清单》</p>
+          <p class="content-text">附件十:二级甲等以上医院出具的《体检报告项目说明》(体检时间应在签订服务合同前30日以内)</p>
+          <p class="content-text">附件十一:乙方有效证件身份证、户口本复印件</p>
+          <p class="content-text">附件十二:乙方监护人身份证、户口本复印件</p>
+          <p class="content-text" style="font-style: italic; margin-top: 20px;">2.本合同附件系本合同不可分割的组成部分,与本合同具有同等法律效力。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第23页:合同签署页 ========== -->
+      <div class="a4-page sign-page">
+        <div class="page-header"><span class="page-no">23</span></div>
+        <div class="page-content">
+          <h2 class="section-title" style="text-align: center;">合同签署页</h2>
+          <div class="sign-block">
+            <p class="sign-line">甲方(盖章):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.partyASeal" /></div>
+            <img v-if="isPrint && contractForm.partyASeal" :src="contractForm.partyASeal" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">法定代表人(签字):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.partyALegalSign" /></div>
+            <img v-if="isPrint && contractForm.partyALegalSign" :src="contractForm.partyALegalSign" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.partyASignDate || '____年__月__日' }}</p>
+          </div>
+          <div class="sign-block" style="margin-top: 30px;">
+            <p class="sign-line">乙方(签字):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.partyBSign" /></div>
+            <img v-if="isPrint && contractForm.partyBSign" :src="contractForm.partyBSign" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.partyBSignDate || '____年__月__日' }}</p>
+          </div>
+          <div class="sign-block" style="margin-top: 30px;">
+            <p class="sign-line">丙方(签字/盖章):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.partyCSign" /></div>
+            <img v-if="isPrint && contractForm.partyCSign" :src="contractForm.partyCSign" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.partyCSignDate || '____年__月__日' }}</p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 第24页:附件一 知情同意书 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">24</span></div>
+        <div class="page-content">
+          <h1 class="doc-title" style="text-align: center;">附件一 知情同意书</h1>
+          <p class="content-text">为充分保障乙方(姓名<span class="fill">{{ contractForm.elderName || '________' }}</span>)的健康与安全,结合乙方年迈体弱之特点,甲方(公司名称:<span class="fill">{{ contractForm.partyAName || '颐年集团养老服务机构' }}</span>)特向乙、丙两方告知以下事项,乙、丙两方须认真研读:</p>
+          <h3 class="subsection-title">一、保护性约束风险</h3>
+          <p class="content-text">考虑到乙方年事已高,或受疾病、精神等因素影响,在入住甲方期间,有可能采取保护性约束措施,以避免其自伤或伤人情况的发生,保障乙方安全以及各项治疗护理工作的顺利开展。现特将施行保护性约束措施的必要性及医疗风险告知如下:</p>
+          <p class="content-text">(一) 必要性</p>
+          <p class="content-text">1. 为保障治疗工作顺利推进;</p>
+          <p class="content-text">2. 避免乙方因精神方面的因素出现伤害自身或他人的情况;</p>
+          <p class="content-text">3. 防止乙方在意识不清时自行移除引流导尿管、鼻胃管等医疗设备;</p>
+          <p class="content-text">4. 防范乙方发生跌倒或坠床事件;</p>
+          <p class="content-text">5. 基于其他必要的因素。</p>
+          <p class="content-text">(二) 医疗风险</p>
+          <p class="content-text">1. 改变约束部位皮肤的完整性以及血液循环状况;</p>
+          <p class="content-text">2. 在使用约束背心或约束带时,因乙方躁动致使约束过紧,进而导致呼吸改变,存在发生窒息的风险;使用约束带时,若乙方有暴力倾向且不配合,可能引发骨折或其他伤害。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第25页:知情同意书继续 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">25</span></div>
+        <div class="page-content">
+          <p class="content-text">3. 因乙方或丙方意外或有意解除约束带,可能导致各种管道及静脉通路脱出,或者致使乙方发生跌倒、坠床等意外伤害。</p>
+          <p class="content-text">4. 被约束肢体出现损伤。</p>
+          <p class="content-text">5. 存在其他医疗风险。</p>
+          <h3 class="subsection-title">二、请假外出风险</h3>
+          <p class="content-text">协议履行期间甲方不建议乙方经常请假外出,若确需请假外出,乙方、乙方监护人需遵照本条条款执行:</p>
+          <p class="content-text">1. 严禁私自离院,否则因此产生的一切风险后果由乙方、家属自行承担,甲方不承担任何责任。</p>
+          <p class="content-text">2. 有家属/监护人/代理人陪同的,乙方向当班工作人员提出请假申请,工作人员为符合请假条件老人办理请假、审批手续。</p>
+          <p class="content-text">3. 无家属/监护人/代理人陪同的,乙方需近三个月内MMSE评分为正常方可自行提出请假申请,工作人员评估其符合自行请假条件后为其办理请假、审批手续;若乙方近三个月MMSE评分有异常,或经工作人员评估其不符合自行请假条件的,不予办理请假、审批手续;认知症老人一律不予办理自行单独请假、外出审批手续。</p>
+          <p class="content-text">4. 乙方经工作人员评估暂不适宜请假外出,或不符合在无家属、监护人陪同的自行请假条件,经与乙方、家属或监护人沟通,劝阻无果,乙方、监护人或家属仍坚持要求请假外出的,一切风险由乙方、监护人及家属自行承担。</p>
+          <p class="content-text">5. 凡当天不能返院,需在外留宿老人,需在其离院24小时内致电所在护理区报平安。如需延长请假,需来电或来信说明原因。</p>
+          <p class="content-text">6. 外出时将外出请假放行条交于门卫,并配合门卫做好相关登记,以示外出。</p>
+          <p class="content-text">7. 携带乙方外出者,负责保障乙方外出期间的安全。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第26页:知情同意书继续 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">26</span></div>
+        <div class="page-content">
+          <p class="content-text">8. 对于乙方请假期间在院外发生的一切病情加重或恶化、人身伤害、安全责任事故等意外,均由乙方及其监护人、家属、代理人自行承担责任,甲方不承担任何责任。</p>
+          <p class="content-text">9. 乙方请假外出期间在甲方处以外所产生的住宿、伙食、交通、医疗、护理、救治等一切费用,均由乙方自行承担。</p>
+          <p class="content-text">10. 对于乙方请假外出,需自行解决往返交通。</p>
+          <p class="content-text">11. 其他相关请假外出规定。</p>
+          <h3 class="subsection-title">三、难免性压疮风险</h3>
+          <p class="content-text">鉴于乙方体质特殊,身体素质欠佳且营养吸收能力较弱,加之患病、皮肤抵抗力低下、大小便失禁以及长期使用石膏绷带和夹板等因素,在治疗与护理过程中极易引发压疮。因此,乙方在入住期间存在发生压疮的可能性。甲方将严格依照护理级别,采取定期翻身、清洁身体、避免潮湿、摩擦及排泄物刺激、促进局部血液循环、增加营养摄入等防范举措。乙方与丙方应配合甲方积极开展治疗。即便甲方积极采取相应措施,压疮仍有可能发生,乙方、丙方及其他亲属需对压疮风险予以知悉并理解。</p>
+          <h3 class="subsection-title">四、跌倒/坠床风险</h3>
+          <p class="content-text">鉴于老人年老体弱,在自行走动(活动)或卧床时易发生跌倒、坠床等意外情况。对于此类意外的发生,乙方及丙方应充分理解。同时,为减少跌倒/坠床情况的发生,特告知以下事项:</p>
+          <p class="content-text">1. 存在跌倒、坠床风险的老人(包含:1. 肢体乏力、行动不便、步态不稳者;2. 身体较为虚弱、伴有头晕症状、患有贫血病症以及血压不稳定者;3. 存在精神或意识方面较差状况或存在意识障碍的人员;4. 使用麻醉类及精神类药物的人员;5. 高龄、视力不佳者严禁随意下床或跨越床栏。家属或陪护人员在陪伴老人期间,应及时拉起床栏;未经甲方工作人员同意,严禁随意放下护栏,以防发生坠床事故。)</p>
+        </div>
+      </div>
+
+      <!-- ========== 第27页:知情同意书签署 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">27</span></div>
+        <div class="page-content">
+          <p class="content-text">6. 对于存在跌倒、坠床风险的老人,在外出进行检查时,必须由护理人员或陪护人员陪同,严禁自行行动。</p>
+          <p class="content-text">7. 当老人有变更体位进行活动的需求时,需遵循循序渐进的原则,在确认无异常情况之后,方可开始行走,以此避免因突然改变体位而导致跌倒。</p>
+          <p class="content-text">8. 老年人穿脱鞋袜及裤子时,宜坐着进行,切不可赤脚行走,应穿着带有防滑坑纹的鞋子,以防止滑倒。</p>
+          <p class="content-text">9. 浴室已安装防滑地板,并配备扶手与座厕。如厕时,应自觉使用扶手。</p>
+          <p class="content-text">10. 行动不便者,需在他人陪护下进行起床、行走、活动、锻炼、沐浴或如厕等行为,并使用合适的助行用具或轮椅。同时,助行器应放置在老人易于取用之处。</p>
+          <p class="content-text">11. 老人床头及厕所均设置有呼叫器,老人需掌握呼叫器的使用方法。当在行走过程中于突发状况的位置,出现头晕、双眼发黑、下肢无力、行走不稳或无法移动等情况时,应即刻在原地坐下(蹲下)或靠墙站立,并按下呼叫器或大声呼喊以寻求帮助。</p>
+          <p class="content-text">12. 应时刻留意警示牌,避免行走于湿滑、有果皮、存在障碍物或凹凸不平的路面。若发现地面湿滑,需及时通知医护人员以消除安全隐患。</p>
+          <p class="content-text">13. 服用镇静类、催眠类、抗忧郁类、抗过敏类、抗心律失常类、降压类、利尿类、降糖类等药物的老年人,严禁擅自离床或独自外出。</p>
+          <p class="content-text">14. 老年人应全面、客观地评估自身身体状况,及时向工作人员寻求协助,并认真听取工作人员提出的合理建议。</p>
+          <div class="sign-block" style="margin-top: 20px;">
+            <p class="sign-line">乙方(长者签字):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.consentSignB" /></div>
+            <img v-if="isPrint && contractForm.consentSignB" :src="contractForm.consentSignB" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">丙方(家属/监护人签字):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.consentSignC" /></div>
+            <img v-if="isPrint && contractForm.consentSignC" :src="contractForm.consentSignC" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.consentDate || '____年__月__日' }}</p>
+          </div>
+        </div>
+      </div>
+''')
+print('Part 3 (pages 21-27) appended successfully')

+ 157 - 0
append_contract4.py

@@ -0,0 +1,157 @@
+# -*- coding: utf-8 -*-
+import io
+
+out = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+
+with io.open(out, 'a', encoding='utf-8') as f:
+    f.write(u'''
+
+      <!-- ========== 第28页:附件二 入住登记表 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">28</span></div>
+        <div class="page-content">
+          <h1 class="doc-title" style="text-align: center;">附件二 入住登记表</h1>
+          <table class="info-table">
+            <tr><th>姓名</th><td>{{ contractForm.elderName || '' }}</td><th>性别</th><td>{{ contractForm.elderGenderText || '' }}</td><th>出生年月</th><td>{{ contractForm.elderBirth || '' }}</td></tr>
+            <tr><th>身份证号</th><td colspan="3">{{ contractForm.elderIdCard || '' }}</td><th>民族</th><td>{{ contractForm.elderNation || '' }}</td></tr>
+            <tr><th>籍贯</th><td>{{ contractForm.elderNative || '' }}</td><th>文化程度</th><td>{{ contractForm.elderEducation || '' }}</td><th>婚姻状况</th><td>{{ contractForm.elderMarital || '' }}</td></tr>
+            <tr><th>联系电话</th><td colspan="3">{{ contractForm.elderPhone || '' }}</td><th>医保类型</th><td>{{ contractForm.elderInsurance || '' }}</td></tr>
+            <tr><th>户籍地址</th><td colspan="5">{{ contractForm.elderAddress || '' }}</td></tr>
+            <tr><th>紧急联系人1</th><td>{{ contractForm.partyCName || '' }}</td><th>关系</th><td>{{ contractForm.partyCRelation || '' }}</td><th>电话</th><td>{{ contractForm.partyCPhone || '' }}</td></tr>
+            <tr><th>紧急联系人2</th><td>{{ contractForm.emergencyContact2Name || '' }}</td><th>关系</th><td>{{ contractForm.emergencyContact2Relation || '' }}</td><th>电话</th><td>{{ contractForm.emergencyContact2Phone || '' }}</td></tr>
+            <tr><th>护理等级</th><td colspan="5">{{ contractForm.nurseLevelName || '' }}</td></tr>
+            <tr><th>既往病史</th><td colspan="5">{{ contractForm.medicalHistory || '' }}</td></tr>
+            <tr><th>过敏史</th><td colspan="5">{{ contractForm.allergyHistory || '' }}</td></tr>
+            <tr><th>饮食习惯</th><td colspan="5">{{ contractForm.eatingHabit || '' }}</td></tr>
+            <tr><th>睡眠情况</th><td colspan="5">{{ contractForm.sleepHabit || '' }}</td></tr>
+            <tr><th>兴趣爱好</th><td colspan="5">{{ contractForm.hobby || '' }}</td></tr>
+          </table>
+        </div>
+      </div>
+
+      <!-- ========== 第29页:附件三 入住须知 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">29</span></div>
+        <div class="page-content">
+          <h1 class="doc-title" style="text-align: center;">附件三 入住须知</h1>
+          <h3 class="subsection-title">一、入住须知</h3>
+          <p class="content-text">1. 乙方入住前须提供近30天内的二甲及以上医院体检报告,以保证无精神病、传染病或其他不适宜入住养老机构的情况。</p>
+          <p class="content-text">2. 乙方须按照本机构规定,准备个人物品,包括但不限于:换洗衣物、必要的个人卫生用品等。建议不要携带贵重物品和大量现金,以免遗失或被盗。</p>
+          <p class="content-text">3. 乙方和丙方须按时支付各项费用,不得拖欠。如因缴费不及时导致的服务中断,本机构不承担责任。</p>
+          <p class="content-text">4. 乙方须遵守本机构的各项规章制度,尊重工作人员,与其他入住老人和睦相处。</p>
+          <p class="content-text">5. 乙方须配合本机构的日常管理工作,如健康检查、清洁卫生、护理服务等。</p>
+          <h3 class="subsection-title">二、探望须知</h3>
+          <p class="content-text">1. 家属及亲友探望乙方,须遵守本机构的探望时间和相关规定。</p>
+          <p class="content-text">2. 探望人员应服从工作人员引导,保持安静,不得影响其他老人休息。</p>
+          <p class="content-text">3. 探望人员不得携带危险物品、易燃物品等进入养老院。</p>
+          <p class="content-text">4. 探望期间需将乙方带出养老院的,须向工作人员办理请假手续,并按时返回。</p>
+          <h3 class="subsection-title">三、安全须知</h3>
+          <p class="content-text">1. 乙方不得私自使用大功率电器,不得乱拉电线。</p>
+          <p class="content-text">2. 乙方须注意防火、防盗、防摔伤、防烫伤等安全问题,遵守安全规定。</p>
+          <p class="content-text">3. 乙方如感到身体不适或有其他紧急情况,应及时告知工作人员,或按下呼叫器呼叫。</p>
+          <p class="content-text">4. 乙方应按照约定的护理等级接受相应服务,不得擅自要求超出约定范围的服务。</p>
+          <p class="content-text" style="margin-top: 20px;">本入住须知作为养老服务合同附件,与合同具有同等法律效力。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第30页:附件四 长者安全承诺书 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">30</span></div>
+        <div class="page-content">
+          <h1 class="doc-title" style="text-align: center;">附件四 长者安全承诺书</h1>
+          <p class="content-text">本人<span class="fill">{{ contractForm.elderName || '________' }}</span>及委托监护人/家属<span class="fill">{{ contractForm.partyCName || '________' }}</span>郑重承诺:</p>
+          <h3 class="subsection-title">一、关于身体状况</h3>
+          <p class="content-text">1. 本人已如实告知甲方本人的健康状况、过往病史、过敏史及用药情况,未隐瞒任何对本人健康可能造成影响的信息。</p>
+          <p class="content-text">2. 本人目前无传染性疾病、无精神病、没有自杀自残倾向,能够适应集体生活。</p>
+          <h3 class="subsection-title">二、关于安全行为</h3>
+          <p class="content-text">1. 本人承诺自觉遵守甲方的各项规章制度,服从管理,爱护公共设施,不擅自离院。</p>
+          <p class="content-text">2. 本人承诺不使用大功率电器、不乱接电线、不在床上吸烟,不在房间内使用明火。</p>
+          <p class="content-text">3. 本人承诺不攀爬窗户、阳台、楼梯扶手等高处设施,不私自离开安全区域活动。</p>
+          <p class="content-text">4. 本人承诺在走路、起床、洗澡等活动时注意安全,如需帮助应及时呼叫工作人员。</p>
+          <h3 class="subsection-title">三、关于外出请假</h3>
+          <p class="content-text">1. 本人如需外出,将主动向工作人员请假,不私自离院。</p>
+          <p class="content-text">2. 本人将严格按照约定时间返回养老院,如遇特殊情况不能按时返回的,将及时通知工作人员。</p>
+          <h3 class="subsection-title">四、关于用药安全</h3>
+          <p class="content-text">1. 本人承诺严格按照医嘱服用药物,不私自增减药量或停药。</p>
+          <p class="content-text">2. 本人将如实向医护人员反馈用药情况和身体状况。</p>
+          <h3 class="subsection-title">五、关于意外情况</h3>
+          <p class="content-text">1. 本人知晓高龄老人存在跌倒、坠床、噎食、突发疾病等意外风险,甲方已充分告知。</p>
+          <p class="content-text">2. 如因本人未遵守规定或未告知真实情况而导致的意外,本人及家属愿承担相应责任。</p>
+          <div class="sign-block" style="margin-top: 20px;">
+            <p class="sign-line">承诺人(长者):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.promiseSignB" /></div>
+            <img v-if="isPrint && contractForm.promiseSignB" :src="contractForm.promiseSignB" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">委托监护人/家属:</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.promiseSignC" /></div>
+            <img v-if="isPrint && contractForm.promiseSignC" :src="contractForm.promiseSignC" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.promiseDate || '____年__月__日' }}</p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 第31页:附件五 长者外出情况确认书 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">31</span></div>
+        <div class="page-content">
+          <h1 class="doc-title" style="text-align: center;">附件五 长者外出情况确认书</h1>
+          <table class="info-table">
+            <tr><th>长者姓名</th><td>{{ contractForm.elderName || '' }}</td><th>性别</th><td>{{ contractForm.elderGenderText || '' }}</td></tr>
+            <tr><th>外出时间</th><td>{{ contractForm.outingStartDate || '' }}</td><th>预计返回时间</th><td>{{ contractForm.outingEndDate || '' }}</td></tr>
+            <tr><th>外出原因</th><td colspan="3">{{ contractForm.outingReason || '' }}</td></tr>
+            <tr><th>陪同人员姓名</th><td>{{ contractForm.outingCompanionName || '' }}</td><th>联系电话</th><td>{{ contractForm.outingCompanionPhone || '' }}</td></tr>
+            <tr><th>与长者关系</th><td colspan="3">{{ contractForm.outingCompanionRelation || '' }}</td></tr>
+            <tr><th>外出目的地</th><td colspan="3">{{ contractForm.outingDestination || '' }}</td></tr>
+          </table>
+          <h3 class="subsection-title" style="margin-top: 20px;">外出安全须知</h3>
+          <p class="content-text">1. 长者外出期间的人身和财产安全由陪同人员和家属负责,甲方不承担责任。</p>
+          <p class="content-text">2. 外出期间请提醒长者注意交通安全和人身安全,避免前往人员密集、危险区域。</p>
+          <p class="content-text">3. 外出期间如长者出现身体不适,请及时前往医院就诊并告知甲方。</p>
+          <p class="content-text">4. 请按时返回养老院,如无法按时返回请及时告知甲方工作人员。</p>
+          <p class="content-text">5. 外出期间请保持通讯畅通,以便甲方联系。</p>
+          <div class="sign-block" style="margin-top: 20px;">
+            <p class="sign-line">长者签字:</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.outingSignB" /></div>
+            <img v-if="isPrint && contractForm.outingSignB" :src="contractForm.outingSignB" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">陪同人员/家属签字:</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.outingSignC" /></div>
+            <img v-if="isPrint && contractForm.outingSignC" :src="contractForm.outingSignC" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">甲方经办人签字:{{ contractForm.outingOperator || '' }}</p>
+            <p class="sign-line">日期:{{ contractForm.outingDate || '____年__月__日' }}</p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 第32页:附件六 签名代理申请 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">32</span></div>
+        <div class="page-content">
+          <h1 class="doc-title" style="text-align: center;">附件六 签名代理申请</h1>
+          <p class="content-text">申请人:{{ contractForm.elderName || '' }}(长者)</p>
+          <p class="content-text">代理人:{{ contractForm.partyCName || '' }}</p>
+          <p class="content-text">与长者关系:{{ contractForm.partyCRelation || '' }}</p>
+          <p class="content-text">代理人身份证号:{{ contractForm.partyCIdCard || '' }}</p>
+          <p class="content-text">代理人联系电话:{{ contractForm.partyCPhone || '' }}</p>
+          <h3 class="subsection-title">申请事项</h3>
+          <p class="content-text">因长者本人<span class="fill">{{ contractForm.signProxyReason || '年老体弱、行动不便/认知障碍/身体原因' }}</span>,无法亲自签名,现申请由上述代理人代为签名。</p>
+          <h3 class="subsection-title">代理权限</h3>
+          <p class="content-text">1. 代为签署养老服务合同及相关附件;</p>
+          <p class="content-text">2. 代为签署知情同意书、承诺书等文件;</p>
+          <p class="content-text">3. 代为签署外出请假单、费用确认单等日常文件;</p>
+          <p class="content-text">4. 代为签署与养老服务相关的其他必要文件。</p>
+          <h3 class="subsection-title">声明</h3>
+          <p class="content-text">1. 代理人承诺在代理权限内代表长者签署文件,其行为视为长者本人行为;</p>
+          <p class="content-text">2. 代理人承诺按照长者真实意愿行事,维护长者合法权益;</p>
+          <p class="content-text">3. 本申请自签署之日起生效,直至长者书面终止或变更代理人之日止。</p>
+          <div class="sign-block" style="margin-top: 20px;">
+            <p class="sign-line">长者(如有能力):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.signProxySignB" /></div>
+            <img v-if="isPrint && contractForm.signProxySignB" :src="contractForm.signProxySignB" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">代理人:</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.signProxySignC" /></div>
+            <img v-if="isPrint && contractForm.signProxySignC" :src="contractForm.signProxySignC" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.signProxyDate || '____年__月__日' }}</p>
+          </div>
+        </div>
+      </div>
+''')
+print('Part 4 (pages 28-32) appended successfully')

+ 121 - 0
append_contract5.py

@@ -0,0 +1,121 @@
+# -*- coding: utf-8 -*-
+import io
+
+out = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+
+with io.open(out, 'a', encoding='utf-8') as f:
+    f.write(u'''
+
+      <!-- ========== 第33页:附件七 委托代理人确认表 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">33</span></div>
+        <div class="page-content">
+          <h1 class="doc-title" style="text-align: center;">附件七 委托代理人确认表</h1>
+          <table class="info-table">
+            <tr><th>长者姓名</th><td>{{ contractForm.elderName || '' }}</td><th>性别</th><td>{{ contractForm.elderGenderText || '' }}</td><th>出生年月</th><td>{{ contractForm.elderBirth || '' }}</td></tr>
+            <tr><th>长者身份证号</th><td colspan="5">{{ contractForm.elderIdCard || '' }}</td></tr>
+            <tr><th>委托代理人姓名</th><td>{{ contractForm.partyCName || '' }}</td><th>与长者关系</th><td colspan="3">{{ contractForm.partyCRelation || '' }}</td></tr>
+            <tr><th>代理人身份证号</th><td colspan="5">{{ contractForm.partyCIdCard || '' }}</td></tr>
+            <tr><th>代理人联系电话</th><td colspan="5">{{ contractForm.partyCPhone || '' }}</td></tr>
+            <tr><th>代理人户籍地址</th><td colspan="5">{{ contractForm.partyCAddress || '' }}</td></tr>
+            <tr><th>代理人工作单位</th><td colspan="5">{{ contractForm.partyCWorkUnit || '' }}</td></tr>
+            <tr><th>其他联系人1</th><td>{{ contractForm.otherContact1Name || '' }}</td><th>关系</th><td>{{ contractForm.otherContact1Relation || '' }}</td><th>电话</th><td>{{ contractForm.otherContact1Phone || '' }}</td></tr>
+            <tr><th>其他联系人2</th><td>{{ contractForm.otherContact2Name || '' }}</td><th>关系</th><td>{{ contractForm.otherContact2Relation || '' }}</td><th>电话</th><td>{{ contractForm.otherContact2Phone || '' }}</td></tr>
+          </table>
+          <h3 class="subsection-title" style="margin-top: 20px;">委托事项</h3>
+          <p class="content-text">1. 代为办理长者入住养老院的相关手续;</p>
+          <p class="content-text">2. 代为签署养老服务合同及相关文件;</p>
+          <p class="content-text">3. 代为处理养老服务期间的各类事宜;</p>
+          <p class="content-text">4. 代为确认并支付各项养老服务费用;</p>
+          <p class="content-text">5. 代为与医疗机构沟通,确认医疗方案;</p>
+          <p class="content-text">6. 长者出现意外或紧急情况时代为处理;</p>
+          <p class="content-text">7. 其他与长者养老服务相关事项。</p>
+          <div class="sign-block" style="margin-top: 20px;">
+            <p class="sign-line">长者(如有能力):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.agentSignB" /></div>
+            <img v-if="isPrint && contractForm.agentSignB" :src="contractForm.agentSignB" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">委托代理人:</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.agentSignC" /></div>
+            <img v-if="isPrint && contractForm.agentSignC" :src="contractForm.agentSignC" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.agentDate || '____年__月__日' }}</p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 第34页:附件八 机构服务范围及收费标准 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">34</span></div>
+        <div class="page-content">
+          <h1 class="doc-title" style="text-align: center;">附件八 机构服务范围及收费标准</h1>
+          <h3 class="subsection-title">一、服务范围</h3>
+          <p class="content-text">1. 生活照料服务:包括但不限于饮食照料、个人卫生照料、穿衣脱衣照料、如厕照料、行走照料、翻身照料、压疮预防等。</p>
+          <p class="content-text">2. 康复护理服务:包括但不限于健康管理、用药管理、慢病管理、康复训练、心理疏导等。</p>
+          <p class="content-text">3. 精神慰藉服务:包括但不限于陪伴聊天、情感支持、心理关怀、精神慰藉等。</p>
+          <p class="content-text">4. 文化娱乐服务:包括但不限于组织棋牌活动、书画活动、唱歌活动、健身活动、节日庆祝活动等。</p>
+          <h3 class="subsection-title">二、收费标准</h3>
+          <table class="info-table">
+            <tr><th>收费项目</th><th>收费标准</th><th>备注</th></tr>
+            <tr><td>床位费</td><td>{{ contractForm.bedFee || '' }}元/月</td><td>{{ contractForm.roomNumber || '' }}</td></tr>
+            <tr><td>护理费</td><td>{{ contractForm.nurseFee || '' }}元/月</td><td>护理等级:{{ contractForm.nurseLevelName || '' }}</td></tr>
+            <tr><td>伙食费</td><td>{{ contractForm.mealFee || '' }}元/月</td><td>每日三餐</td></tr>
+            <tr><td>水电费</td><td>按实际使用收取</td><td>热水{{ contractForm.hotWaterFee || '' }}元/立方;冷水{{ contractForm.coldWaterFee || '' }}元/立方;电{{ contractForm.electricFee || '' }}元/千瓦时</td></tr>
+            <tr><td>管理费</td><td>{{ contractForm.manageFee || '' }}元/月</td><td>日常管理</td></tr>
+            <tr><td>诊查费</td><td>{{ contractForm.consultFee || '' }}元/月</td><td>定期健康检查</td></tr>
+            <tr><td>合计</td><td colspan="2">{{ contractForm.totalFee || '' }}元/月</td></tr>
+            <tr><td>押金</td><td colspan="2">{{ contractForm.deposit || '' }}元(合同终止后凭收据退还)</td></tr>
+          </table>
+          <h3 class="subsection-title" style="margin-top: 20px;">三、其他费用说明</h3>
+          <p class="content-text">1. 以上费用不包括乙方因疾病所需的医疗费、药品费等。</p>
+          <p class="content-text">2. 如需甲方提供合同约定之外的其他服务,费用由双方另行协商。</p>
+          <p class="content-text">3. 费用调整应提前30日以书面形式通知乙方及丙方。</p>
+          <div class="sign-block" style="margin-top: 20px;">
+            <p class="sign-line">甲方(盖章):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.feeSignA" /></div>
+            <img v-if="isPrint && contractForm.feeSignA" :src="contractForm.feeSignA" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">乙方/丙方(签字):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.feeSignC" /></div>
+            <img v-if="isPrint && contractForm.feeSignC" :src="contractForm.feeSignC" style="max-width: 300px; max-height: 150px;" />
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 第35页:附件九 房间设施设备清单 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">35</span></div>
+        <div class="page-content">
+          <h1 class="doc-title" style="text-align: center;">附件九 房间设施设备清单</h1>
+          <p class="content-text">长者姓名:{{ contractForm.elderName || '' }}</p>
+          <p class="content-text">入住房间号:{{ contractForm.roomNumber || '' }}</p>
+          <p class="content-text">入住日期:{{ contractForm.startDate || '' }}</p>
+          <table class="info-table">
+            <tr><th>序号</th><th>设备名称</th><th>数量</th><th>单位</th><th>状况</th><th>备注</th></tr>
+            <tr><td>1</td><td>床</td><td>1</td><td>张</td><td>良好</td><td>带护栏</td></tr>
+            <tr><td>2</td><td>床垫</td><td>1</td><td>张</td><td>良好</td><td>防褥疮</td></tr>
+            <tr><td>3</td><td>床头柜</td><td>1</td><td>个</td><td>良好</td><td>带抽屉</td></tr>
+            <tr><td>4</td><td>衣柜</td><td>1</td><td>个</td><td>良好</td><td></td></tr>
+            <tr><td>5</td><td>桌椅</td><td>1</td><td>套</td><td>良好</td><td></td></tr>
+            <tr><td>6</td><td>台灯</td><td>1</td><td>盏</td><td>良好</td><td>可调光</td></tr>
+            <tr><td>7</td><td>空调</td><td>1</td><td>台</td><td>良好</td><td>冷暖两用</td></tr>
+            <tr><td>8</td><td>电视机</td><td>1</td><td>台</td><td>良好</td><td>有线电视</td></tr>
+            <tr><td>9</td><td>呼叫器</td><td>1</td><td>个</td><td>良好</td><td>床头及卫生间</td></tr>
+            <tr><td>10</td><td>独立卫生间</td><td>1</td><td>间</td><td>良好</td><td>含坐厕、洗手台</td></tr>
+            <tr><td>11</td><td>防滑扶手</td><td>2</td><td>处</td><td>良好</td><td>卫生间及床边</td></tr>
+            <tr><td>12</td><td>防滑垫</td><td>1</td><td>块</td><td>良好</td><td>浴室使用</td></tr>
+          </table>
+          <div class="sign-block" style="margin-top: 20px;">
+            <p class="content-text">以上设备经清点,数量正确、状况良好,入住期间如有损坏或遗失,乙方/丙方应照价赔偿。</p>
+            <p class="sign-line">甲方经办人:</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.facilitySignA" /></div>
+            <img v-if="isPrint && contractForm.facilitySignA" :src="contractForm.facilitySignA" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">乙方/丙方确认:</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.facilitySignC" /></div>
+            <img v-if="isPrint && contractForm.facilitySignC" :src="contractForm.facilitySignC" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.facilityDate || '____年__月__日' }}</p>
+          </div>
+        </div>
+      </div>
+    </div>
+  </el-drawer>
+</template>
+''')
+print('Part 5 (pages 33-35 + template end) appended successfully')

+ 390 - 0
append_contract6.py

@@ -0,0 +1,390 @@
+# -*- coding: utf-8 -*-
+import io
+
+out = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+
+with io.open(out, 'a', encoding='utf-8') as f:
+    f.write(u'''
+
+<script setup>
+import { ref, reactive, onMounted } from 'vue'
+import { ElMessage } from 'element-plus'
+import { getCheckInRecordId } from '@/api/elderly/apply/check-in'
+
+const drawerVisible = ref(false)
+const loading = ref(false)
+const isPrint = ref(false)
+const currentRow = ref({})
+
+const contractForm = reactive({
+  contractNumber: '',
+  partyAName: '颐年健康产业(集团)有限公司',
+  partyACode: '',
+  partyAAddr: '',
+  partyAZip: '',
+  partyALegal: '',
+  partyAPhone: '',
+  elderName: '',
+  elderGender: '',
+  elderGenderText: '',
+  elderBirth: '',
+  elderIdCard: '',
+  elderPhone: '',
+  elderHomeAddr: '',
+  elderAddress: '',
+  elderZip: '',
+  elderNation: '',
+  elderEducation: '',
+  elderMarital: '',
+  elderInsurance: '',
+  eatingHabit: '',
+  sleepHabit: '',
+  hobby: '',
+  medicalHistory: '',
+  allergyHistory: '',
+  nurseLevelName: '',
+  partyCName: '',
+  partyCIdCard: '',
+  partyCRelation: '',
+  partyCPhone: '',
+  partyCAddress: '',
+  partyCHomeAddr: '',
+  partyCZip: '',
+  partyCWorkUnit: '',
+  partyCCommAddr: '',
+  partyCGenderText: '',
+  partyCBirth: '',
+  contractMonths: '',
+  startDate: '',
+  endDate: '',
+  servicePlace: '颐年集团养老服务机构',
+  roomNumber: '',
+  bedFee: '',
+  nurseFee: '',
+  mealFee: '',
+  manageFee: '',
+  freeElectric: '',
+  freeWater: '',
+  hotWaterFee: '',
+  coldWaterFee: '',
+  electricFee: '',
+  consultFee: '',
+  totalFee: '',
+  deposit: '',
+  payeeName: '',
+  payeeBank: '',
+  payeeAccount: '',
+  payerName: '',
+  payerBank: '',
+  payerAccount: '',
+  lifeSavingDeposit: '',
+  lifeSavingDepositCN: '',
+  deathDeposit: '',
+  deathDepositCN: '',
+  emergencyContact2Name: '',
+  emergencyContact2Relation: '',
+  emergencyContact2Phone: '',
+  otherContact1Name: '',
+  otherContact1Relation: '',
+  otherContact1Phone: '',
+  otherContact2Name: '',
+  otherContact2Relation: '',
+  otherContact2Phone: '',
+  partyASeal: '',
+  partyALegalSign: '',
+  partyASignDate: '',
+  partyBSign: '',
+  partyBSignDate: '',
+  partyCSign: '',
+  partyCSignDate: '',
+  consentSignB: '',
+  consentSignC: '',
+  consentDate: '',
+  promiseSignB: '',
+  promiseSignC: '',
+  promiseDate: '',
+  outingStartDate: '',
+  outingEndDate: '',
+  outingReason: '',
+  outingCompanionName: '',
+  outingCompanionPhone: '',
+  outingCompanionRelation: '',
+  outingDestination: '',
+  outingSignB: '',
+  outingSignC: '',
+  outingOperator: '',
+  outingDate: '',
+  signProxyReason: '',
+  signProxySignB: '',
+  signProxySignC: '',
+  signProxyDate: '',
+  agentSignB: '',
+  agentSignC: '',
+  agentDate: '',
+  feeSignA: '',
+  feeSignC: '',
+  facilitySignA: '',
+  facilitySignC: '',
+  facilityDate: '',
+  facilityFee: '',
+  facilityStartDateText: '',
+  facilityEndDateText: '',
+  facilityRefundRule: ''
+})
+
+const open = async (row = {}) => {
+  currentRow.value = row
+  drawerVisible.value = true
+  loading.value = true
+  try {
+    const res = await getCheckInRecordId(row.id, row.status)
+    if (res) {
+      contractForm.elderName = res.elderlyContractDO?.elderName || res.elderName || ''
+      contractForm.elderIdCard = res.elderlyContractDO?.idCard || res.idCard || ''
+      contractForm.elderGender = res.elderlyContractDO?.gender || res.gender || ''
+      if (contractForm.elderGender === 1 || contractForm.elderGender === '1' || contractForm.elderGender === '男') {
+        contractForm.elderGenderText = '男'
+      } else if (contractForm.elderGender === 2 || contractForm.elderGender === '2' || contractForm.elderGender === '女') {
+        contractForm.elderGenderText = '女'
+      } else {
+        contractForm.elderGenderText = contractForm.elderGender || ''
+      }
+      contractForm.elderBirth = res.elderlyContractDO?.birthDate || res.birthDate || ''
+      contractForm.elderPhone = res.elderlyContractDO?.phone || res.phone || ''
+      contractForm.elderHomeAddr = res.elderlyContractDO?.homeAddress || res.homeAddress || ''
+      contractForm.elderAddress = res.elderlyContractDO?.address || res.address || ''
+      contractForm.nurseLevelName = res.nurseLevelName || res.elderlyContractDO?.nurseLevelName || ''
+      contractForm.contractNumber = res.elderlyContractDO?.contractNumber || ''
+      contractForm.startDate = res.checkInTime || res.elderlyContractDO?.beginTime || ''
+      contractForm.endDate = res.checkInDeadlineTime || res.elderlyContractDO?.expireTime || ''
+      contractForm.roomNumber = res.roomNumber || res.elderlyContractDO?.roomNumber || ''
+      contractForm.medicalHistory = res.medicalHistory || ''
+      contractForm.allergyHistory = res.allergyHistory || ''
+      contractForm.eatingHabit = res.eatingHabit || ''
+      contractForm.sleepHabit = res.sleepHabit || ''
+      contractForm.hobby = res.hobby || ''
+      contractForm.contractMonths = res.elderlyContractDO?.contractMonths || ''
+      contractForm.elderNation = res.elderlyContractDO?.nation || ''
+      contractForm.elderEducation = res.elderlyContractDO?.education || ''
+      contractForm.elderMarital = res.elderlyContractDO?.maritalStatus || ''
+      contractForm.elderInsurance = res.elderlyContractDO?.insurance || ''
+      const monthly = res.monthlyExpenses || []
+      const findAmt = (list, name) => {
+        const item = list.find(i => (i.itemCategoryName || '').includes(name)
+        return item ? item.actualAmount : ''
+      }
+      contractForm.bedFee = findAmt(monthly, '床位') || ''
+      contractForm.nurseFee = findAmt(monthly, '护理') || ''
+      contractForm.mealFee = findAmt(monthly, '膳食') || ''
+      contractForm.manageFee = findAmt(monthly, '管理') || ''
+      const relative = (res.relativesList && res.relativesList[0]) || {}
+      contractForm.partyCName = relative.name || ''
+      contractForm.partyCIdCard = relative.idCard || ''
+      contractForm.partyCRelation = relative.relation || ''
+      contractForm.partyCPhone = relative.phone || ''
+      contractForm.partyCAddress = relative.address || ''
+    }
+  } catch (err) {
+    console.error('加载合同数据失败:', err)
+  } finally {
+    loading.value = false
+  }
+}
+
+const handleClose = () => {
+  drawerVisible.value = false
+}
+
+const handleSubmit = () => {
+  ElMessage.success('合同信息已保存')
+  drawerVisible.value = false
+}
+
+const handlePrint = () => {
+  isPrint.value = true
+  setTimeout(() => {
+    window.print()
+    isPrint.value = false
+  }, 300)
+}
+
+defineExpose({
+  open
+})
+</script>
+
+<style lang="scss" scoped>
+.contract-container {
+  width: 100%;
+  padding: 0;
+  background: #f5f5f5;
+}
+
+.a4-page {
+  width: 210mm;
+  min-height: 297mm;
+  margin: 10mm auto;
+  padding: 15mm 20mm;
+  background: #fff;
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
+  position: relative;
+  box-sizing: border-box;
+  page-break-after: always;
+}
+
+.a4-page:last-child {
+  page-break-after: auto;
+}
+
+.page-header {
+  position: absolute;
+  top: 5mm;
+  right: 10mm;
+  font-size: 12px;
+  color: #999;
+}
+
+.page-no {
+  display: inline-block;
+  padding: 2px 8px;
+  background: #f0f0f0;
+  border-radius: 4px;
+}
+
+.page-content {
+  width: 100%;
+}
+
+.doc-title {
+  font-size: 22px;
+  font-weight: bold;
+  margin-bottom: 20px;
+  color: #333;
+}
+
+.section-title {
+  font-size: 18px;
+  font-weight: bold;
+  margin: 20px 0 10px;
+  color: #333;
+}
+
+.subsection-title {
+  font-size: 15px;
+  font-weight: bold;
+  margin: 15px 0 8px;
+  color: #333;
+}
+
+.content-text {
+  font-size: 14px;
+  line-height: 1.9;
+  text-indent: 2em;
+  color: #333;
+  margin-bottom: 4px;
+}
+
+.fill {
+  display: inline-block;
+  min-width: 80px;
+  border-bottom: 1px solid #333;
+  padding: 0 4px;
+  text-indent: 0;
+  font-weight: 500;
+}
+
+.cover-fields {
+  margin-bottom: 30px;
+}
+
+.cover-fields p {
+  font-size: 15px;
+  line-height: 2;
+}
+
+.label {
+  display: inline-block;
+  min-width: 100px;
+}
+
+.info-table {
+  width: 100%;
+  border-collapse: collapse;
+  margin: 10px 0;
+  font-size: 13px;
+}
+
+.info-table th,
+.info-table td {
+  border: 1px solid #ddd;
+  padding: 8px 10px;
+  text-align: left;
+}
+
+.info-table th {
+  background: #f9f9f9;
+  font-weight: bold;
+  width: 100px;
+  text-align: center;
+}
+
+.sign-block {
+  margin-top: 15px;
+}
+
+.sign-line {
+  font-size: 14px;
+  line-height: 1.8;
+  margin: 8px 0;
+}
+
+.sign-page .sign-block {
+  margin-top: 25px;
+}
+</style>
+
+<style>
+@media print {
+  .el-drawer,
+  .el-drawer__header,
+  .el-drawer__body {
+    overflow: visible !important;
+  }
+  .el-drawer {
+    position: absolute !important;
+    left: 0 !important;
+    top: 0 !important;
+    width: 100% !important;
+    height: auto !important;
+    box-shadow: none !important;
+  }
+  .el-drawer__header {
+    display: none !important;
+  }
+  .contract-container {
+    background: #fff !important;
+  }
+  .a4-page {
+    display: block !important;
+    margin: 0 !important;
+    box-shadow: none !important;
+    width: 210mm !important;
+    min-height: 297mm !important;
+    page-break-after: always;
+  }
+  .a4-page:last-child {
+    page-break-after: auto;
+  }
+  @page {
+    size: A4;
+    margin: 0;
+  }
+  body {
+    background: #fff !important;
+    margin: 0 !important;
+    padding: 0 !important;
+  }
+}
+</style>
+''')
+print('Script and Style sections appended successfully')

+ 35 - 0
check_contract.py

@@ -0,0 +1,35 @@
+import re
+
+path = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+with open(path, 'r', encoding='utf-8') as f:
+    content = f.read()
+
+# 查看第19行附近的实际文本
+lines = content.split('\n')
+print("Line 19:", lines[18][:200])
+print("Line 50:", lines[49][:200])
+print()
+
+# 统计当前状态
+count_fill_span = len(re.findall(r'class="fill"', content))
+count_textmode = len(re.findall(r'v-if="isTextMode"', content))
+print(f'class="fill" count: {count_fill_span}')
+print(f'isTextMode count: {count_textmode}')
+print()
+
+# 查找有问题的嵌套模式
+bad1 = '<template v-if="isTextMode"><span class="fill"><template v-if="isTextMode">'
+count_bad1 = content.count(bad1)
+print(f'Nested problem (fill span): {count_bad1}')
+
+# 检查有没有未被替换的原始模式
+orig = '<span class="fill">{{'
+count_orig = content.count(orig)
+print(f'Original fill span patterns remaining: {count_orig}')
+
+# 检查有没有 || '____' 模式未被正确替换
+count_orig2 = len(re.findall(r"\}\}\s*\|\|\s*'_{2,}", content))
+print(f'Raw || ___ patterns remaining: {count_orig2}')
+
+# 打印文件总行数
+print(f'\nTotal lines: {len(lines)}')

+ 1193 - 0
contract_text.txt

@@ -0,0 +1,1193 @@
+
+
+-1-
+合同编号:
+长者姓名:
+养老机构服务合同
+颐年健康产业(集团)有限公司制定
+
+2
+重要提示
+为了维护您的利益,请您在签署本合同(本协议)前,仔细阅读如
+下注意事项:
+一、您已阅读本合同(协议)、补充协议及相关文件的所有条款,
+并已知悉其含义,同时对涉及贵方权利与义务的内容给予了充分的注意。
+二、您已确保提交的有关证件及资料是真实、合法、有效的。
+三、您已确保向合同(协议)签署相关方所作的陈述、健康状况披
+露及其他信息披露均完整、充分、真实。
+四、本合同(协议)所有条款均为签署方的真实意思表示。
+
+3
+甲方(养老机构):
+甲方运营机构:
+统一社会信用代码:
+地址:邮编:
+法定代表人:联系方式:
+乙方(入住老年人)
+姓名:性别:出生年月日:
+证件类型:□居民身份证□户口本□护照□港澳居民来往内地
+通行证□台湾居民来往大陆通行证□其他
+证件号码:联系方式:
+家庭地址:
+户籍所在地:邮编:
+丙方(老年人家属/监护人,担保人/委托代理的个人或组织)
+姓名:性别:出生年月:
+与乙方关系:□监护人、家属(付款义务人)□负有连带责任的担保人
+□委托代理人(紧急联系人)□其他(请填写)
+证件类型:□居民身份证□户口本□护照□港澳居民来往内地
+通行证□台湾居民来往大陆通行证□其他
+证件号码:联系方式:
+住所(址):
+户籍所在地:邮编:
+工作单位:
+通信地址:
+(若乙方属于限制民事行为能力或者无民事行为能力的入住老年人,须
+由监护人签字确认)
+
+4
+鉴于:
+1、甲方是依法成立的养老机构,能够提供个人生活照料、康复护
+理、精神慰藉、文化娱乐等养老服务;
+2、乙方和丙方经实地考察甲方,自愿决定乙方入住甲方开办的养
+老机构,接受甲方提供的专业养老服务,并向甲方支付相应费用;
+3、乙方授权丙方作为乙方在紧急情况下的代理人、联系人,代为
+处理乙方在本合同项下的相关事务,丙方同意接受乙方授权并作为乙方
+履行本合同义务的保证人。
+4、接收条件:乙方保证无精神病,无传染性疾病,无吸毒嗜好,
+无自杀、自残、攻击他人等危害自身、他人和公共安全的精神性障碍或
+缺陷,并且适应集体生活;
+为了营造温馨、舒适、安全的生活环境,满足老年人“老有所养、
+老有所乐”的需要,切实保障老年人的合法权益,同时明确各自的权利
+义务,甲、乙、丙三方根据《中华人民共和国民法典》《中华人民共和
+国老年人权益保障法》《广东省养老服务条例》《广州市养老服务条例》
+和《养老机构管理办法》等有关法律、法规的规定,甲方、乙方、丙方
+本着平等、自愿、公平、诚实守信的原则,经友好协商,就甲方为乙方
+提供养老服务事宜达成一致,签订本合同。
+第一条服务内容
+1.甲方按照约定向乙方提供生活照料、康复护理、精神慰藉、文化
+娱乐等服务。甲方提供的服务应当符合法律法规规章和国家强制性标准
+《养老机构服务安全基本规范》要求,并积极适用行业和地方标准。
+2.甲方应该依据广州市老年人照护需求综合评估规范,对乙方进行
+照护需求等级评估,根据评估结果和乙方提供的《体检报告》,经与乙
+
+5
+方或丙方商定后,确定乙方照护等级,并由甲方按照约定的《护理等级
+与服务项目》(附件)为乙方提供相应服务。
+2.1根据乙方提供的《体检报告》、《入住登记表》(见本合同附
+件)及甲方对乙方进行护理等级首评,确定乙方护理级别为:______,
+甲方向乙方提供的护理等级服务项目详见本合同附件《护理等级与服务
+项目》。
+2.2因老年人护理等级评估涉及到乙方的日常生活、精神状态、感
+知觉与沟通、社会参与等各方面的评估,甲方为真实反映乙方的实际生
+活能力,入住满1个月时会根据老年人实际生活情况进行护理等级复评,
+如果复评与首评的护理等级一致,则按照首评护理等级服务项目进行收
+费和服务;如果复评与首评的护理等级不一致,则按照复评结果调整护
+理等级,并调整服务项目的收费和服务内容,甲方应通知乙方、丙方签
+订书面补充协议进行护理等级变更。
+2.3因老年人的身体机能处在不断的变化中,每入住半年或根据老
+年人身体变化需要,甲方会对乙方护理等级进行动态评估,如护理等级
+有调整,则按照新的护理等级服务项目进行收费和服务,并签订书面补
+充协议。
+3.在本合同履行过程中,乙方或丙方如果选择《护理等级与服务项
+目》以外的其他服务项目,经当事人协商一致后另行签署书面补充协议
+确定。
+第二条服务地点及设施
+1.经协商,确定本合同期限为个月,自年月
+日起至年月日止。
+2.甲方为乙方提供养老服务的地点为:。
+
+6
+3.乙方或丙方为乙方选择入住的房间类型为(在以下几种情况中选
+择一种):
+□单间□双人间□三人间□多人间(四人以上六人以下,
+含四人、六人)□其他(套房等)。
+4.乙方或丙方为乙方选择的具体房间为:。
+5.乙方或丙方基于正当理由要求调整房间的,甲方在条件许可的范
+围内应尽量满足。若因房间变化,需要相应调整费用的,应由各方协商
+一致书面确认后调整,如各方不能达成一致意见书面确认,则仍依本合
+同约定房间履行。
+6.甲方提供的服务设施除了住宿的房屋,还包括房间内生活起居必
+要的基础设施及其他公共设施。
+第三条收费标准及费用支付方式
+1.甲方的收费标准和调整应遵守养老机构服务收费管理的相关规
+定,不得违规收取大额预付费、向服务对象兜售保健品,不得以许诺还
+本付息或者给予其他投资回报、虚假夸大宣传、承诺明显低于市场价入
+住、折扣返利等与事实不符的条件诱导乙方或丙方交纳费用。
+2.甲方提供的各种服务项目的收费标准和收费依据应在养老机构
+内公共区域显著位置进行公示,并以公共区域或网络方式方式(养老机
+构网站、政府部门有关网站等)进行线上公示,服务项目及其收费标准
+应作为本合同附件。
+3.根据本合同第一条、第二条乙方选择的房间、照护等级及服务项
+目,各方共同确认,乙方入住甲方需支付的养老服务费用具体如下:
+(1)养老服务费用为:元/月。
+其中:
+
+7
+床位费:元/月;
+护理费:元/月;
+伙食费:元/月;
+其他费用:
+1)水电费:超出床位费包含的每人每月千瓦时电和立方
+冷水的免费额度后,超出部分按实际支出进行对应房型具体入住床数进
+行均摊收取。超出部分收费标准为:热水元/立方;冷水元/立
+方;电元/千瓦时;
+2)诊查费:元/月
+出现合同中止或终止情形的,扣除实际入住天数产生的费用后予以
+退款。
+(2)一次性收取的费用(如有请填写)。
+①一次性设施设备费/元,收取的期限自/年/月/日至/
+年/月/日(建议时长不超过3年)。出现合同中止或终止情形的,
+扣除实际入住天数产生的费用后,按照以下标准予以退款:/。
+②押金(如有请填写押金类型:履约及医疗保证金):元。
+出现合同中止情形的,予以全额退还(☑押金不计利息□押金计利息,
+计息标准为:无)。
+合同期限内出现押金不足时,乙方或丙方应在接到甲方通知之日起
+5日内补足。涉及退款的,在出现合同中止或终止情形后,双方进行结
+算,经双方确认无误之日起15个工作日内将资金退给付款方。
+4.定期支付的费用按第1种方式支付:
+(1)按月支付(每月5日前支付下一个月费用);
+(2)按季度支付(每季度第/个月的/日前支付当季费用);
+
+8
+(3)其它:/。
+5.甲方指定的收款账户信息如下:
+户名:
+开户银行:
+账号:
+6.乙方或丙方指定的付款账户信息如下:
+户名:
+开户银行:
+账号:
+7.乙方接受甲方除本合同约定外的其他服务项目的,应根据甲方公
+示的收费标准和补充合同的约定交纳费用。
+8.甲方每月向乙方或丙方提供《个人费用明细表》,乙方或丙方应
+签字确认。乙方或丙方如有异议,可在收到《个人费用明细表》后7日
+内书面提出,甲方应做出书面说明。
+对于双方无争议费用金额应按照本合同约定时间支付,乙方或丙方
+不得以异议费用为由拒绝支付有关费用。
+9.乙方、丙方共同承担向甲方支付本合同约定价款的义务。
+10.甲方在收到款项后应向付款人开具等额的合法收费发票。
+第四条甲方权利及义务
+1.甲方权利
+1.1.有权按照本合同约定收取相关费用。
+1.2.制订、修改养老机构的管理制度并按照公开的管理制度对乙
+方进行管理。
+1.3.为了乙方的健康和安全,乙方出现紧急情况时,有权在通知
+
+9
+乙方或丙方同意的同时,采取必要的处置措施,包括但不限于转送医疗
+机构,由此产生的费用由乙方或丙方承担。
+1.4.如乙方的身体状况、生活自理能力出现变化,由甲方根据对
+乙方护理等级评价另行确定护理等级,相关费用随之进行调整,如一周
+联系不上丙方,甲方有权根据乙方所需服务项目的变化情况在押金中先
+扣除,不足部分甲方仍有权要求乙方和丙方支付所产生变化的费用,由
+乙方和丙方按甲方制定的标准支付。
+1.5.乙方入住后因精神、情绪、心理、性格、生活习惯等原因不
+适宜院内生活的,经甲方努力,仍无改善的,为维护乙方及院内其他老
+人的权利,甲方有权要求丙方在两天内为乙方办理退院或转院手续,丙
+方必须积极配合,做好安抚工作,对此甲方无需承担任何责任。
+1.6.如乙方患病需要去医院治疗时,甲方本着人道主义,有权紧
+急处置,所涉及的各项费用由乙方和丙方承担。如乙方需甲方提供住院
+期间陪护服务,相关费用由乙方和丙方承担,具体陪护事宜由当事人协
+商一致后另行签署书面协议确定。
+1.7.有权依照本合同约定及法律规定解除合同。
+2.甲方义务
+2.1甲方应是依法成立的养老机构,应履行养老机构备案承诺,按
+照建筑、消防、食品安全、医疗卫生、特种设备等法律、法规和强制性
+标准及服务安全相关规范要求开展服务活动,确保按约定向乙方提供符
+合服务质量标准的养老服务;建立各类安全、疫情防控等应急预案,并
+应定期对应急预案进行演练。
+2.2应当提供符合乙方住宿条件的居住用房,并配备适合乙方安全
+保护要求的设施、设备及用具,定期对乙方的活动场所和物品进行消毒
+
+10
+和清洗;甲方提供的饮食应当符合食品安全要求、适宜乙方食用、有利
+于乙方营养平衡和身体健康。
+2.3应当根据登记类型、经营性质、运营方式、设施设备条件、管
+理水平、服务质量、照料护理等级等因素合理确定服务项目收费标准,
+调整收费标准时应遵守国家、省和广州市价格管理的有关规定。
+2.4应保证从事医疗、康复、消防等服务人员符合资质要求,保证
+养老护理人员接受专业技能培训,并定期组织工作人员进行职业道德教
+育和业务培训,能够满足岗位职责要求。
+2.5在提供服务过程中,甲方及其工作人员应尊重乙方,尽力合理
+地保障乙方的人格尊严和人身、财产安全,并接受乙方、丙方的合理建
+议和监督。
+2.6应当根据需要为乙方提供情绪疏导、心理咨询、危机干预等精
+神慰藉服务;应当开展适合老年人的文化、教育、体育、娱乐活动,丰
+富老年人的精神文化生活。甲方开展文化、教育、体育、娱乐活动时,
+应当为乙方提供必要的安全防护措施。
+2.7定期组织所在地的医疗机构为乙方开展体检并建立个人健康档
+案。妥善保存乙方的入住登记表、体检报告等健康资料以及日常经费开
+支情况等个人信息。应当建立各类信息资料档案的保管、归档和保密制
+度,除向乙方、丙方和其他有权部门(公安局、检察院、法院、纪委监
+察、养老服务行业主管部门因办案、监督、检查需要)提供查阅、允许
+复制外,不得对外透露。
+2.8发现乙方为疑似传染病病人或者精神障碍患者时,应依照传染
+病防治、精神卫生等相关法律法规的规定处理,及时向附近的疾病预防
+控制机构或者医疗机构报告,配合实施卫生处理、隔离等预防控制措施,
+
+11
+并及时通知丙方。乙方需要外出就医的,甲方应及时告知丙方并由有相
+关义务的丙方亲自携带乙方就诊,丙方确实未能亲自携带乙方就诊的,
+应通过委托办理等方式作出妥善安排。
+2.9应当为乙方家庭成员看望或者问候老年人提供便利,为乙方联
+系家庭成员提供帮助;但不得影响甲方对于乙方正常服务运营或执行政
+府部门规定的疫情防控等管理要求,否则甲方有权拒绝。
+2.10在发生公共卫生事件等特殊情况下,甲方应贯彻执行政府部门
+的防控政策规定,积极落实防控措施,并向乙方或丙方做好解释工作。
+2.11甲方暂停、终止服务的,应当在暂停或终止服务60日前,书
+面通知乙方或丙方,并向社会公告;将入住老年人的安置方案书面告知
+甲方所在地的区民政部门。在解散清算前,甲方应当依法妥善安置乙方。
+如乙方或丙方有意与其他养老机构签订服务协议的,甲方应当积极为乙
+方联系与甲方具有同等资质和服务水平的养老服务机构,努力促进双方
+建立合同;如乙方或丙方需解除或终止服务协议的,甲方应当退还乙方
+或丙方剩余未消费或合同约定的有关费用。
+2.12当乙方出现紧急情况时,应及时联系和通知丙方。
+2.13在甲方服务期间,经鉴定乙方正常死亡的,甲方应及时与丙方
+取得联系。无法与丙方取得联系的且机构内不具备遗体保存条件,可严
+格按照规定要求使用《广州市养老机构死亡报告书》并对接殡仪馆,妥
+善保存遗体。
+2.14乙方符合长期护理保险等申报条件的,甲方应积极为其申请。
+2.15乙方入住养老机构、请假外出、终止合同离院和去世,甲方应
+及时在广州市为老服务综合平台填报有关信息。
+第五条乙方权利及义务
+
+12
+1.乙方的权利
+1.1享有隐私权,人格尊严和人身、财产安全不受非法侵害的权利。
+1.2有权按照约定的服务项目获得甲方提供的符合服务标准的养老
+服务,对甲方的服务有批评建议的权利。
+1.3对自身的健康状况、费用支出、入院记录等有知情权,有权查
+阅、复印甲方为其建立的个人档案。
+1.4有权了解提供服务的人员是否经过专业培训,是否具备相应资
+质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合
+格的人员。
+1.5在突发疾病的情况下乙方有权获得及时、必要的医疗帮助。
+2.乙方的义务
+2.1应当按照约定自行或与丙方共同支付养老服务费及相关费用。
+2.2应当按照约定提供相关的体检报告,如实告知甲方本人的健康
+状况、药品使用情况及过往病史等信息,并如实填写《入住登记表》。
+2.3应当配合甲方做好持续评估及确认照护等级;配合甲方定期参
+加体检。
+2.4应当与其他入住老年人和谐相处。
+2.5在接收甲方提供的养老服务期间,因疾病进行诊疗时,应在治
+疗期间遵守医嘱,配合治疗。
+2.6应当服从甲方管理,遵守甲方的规章制度,维护养老机构正常
+服务秩序,爱护甲方提供的各项服务设施,入住期间损坏甲方设施设备
+的,乙方或丙方应当予以赔偿。损坏有关服务设施的赔偿价格可与甲方
+协商约定。
+2.7对于甲方提供的其他符合合同约定、法律规定的养老服务,乙
+
+13
+方应予配合甲方的服务工作。
+第六条丙方权利及义务
+1.丙方的权利
+1.1对乙方有探视权,但不得影响甲方对乙方的正常服务管理和执
+行政府规定的疫情防控等管理要求。
+1.2对乙方的健康状况、享受服务情况、费用支出、入院记录等有
+知情权,有权查阅、复印甲方为乙方建立的个人档案。
+1.3有权了解提供服务的人员是否经过专业培训,是否具备相应资
+质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合
+格的人员;有权对甲方的服务提出批评建议。
+1.4遇紧急情况,包括但不限于乙方走失、身体健康状况出现紧急
+情况时,有权及时从甲方得到相关信息。
+2.丙方的义务
+2.1乙方入住前,丙方要如实向甲方反映乙方的情况,如脾气秉性、
+家庭成员、既往病史、健康状况和药品使用情况等,协助乙方如实填写
+《入住登记表》。
+2.2劝导乙方入住后自觉遵守养老机构的规章制度,接受管理,爱
+护甲方提供的各项服务设施,乙方违反本合同约定或甲方制定的规章制
+度,造成甲方损失或第三人人身、财产损害的,乙方需承担赔偿责任,
+负有付款义务或连带责任的丙方应当承担有关赔偿责任。
+2.3应劝导乙方与其他入住老年人和谐相处,并经常与乙方沟通,
+保持联络,满足乙方的精神需求。
+2.4应劝导乙方在接收甲方提供的养老服务期间,因疾病进行诊疗
+时,应在治疗期间遵守医嘱,配合治疗。乙方需外出就医的,负有相关
+
+14
+义务的丙方应当及时携乙方到医院就诊,并向甲方如实告知乙方的就医
+情况。
+2.5按时足额向甲方支付约定的养老服务费、保证金及相关费用。
+2.6丙方的家庭及单位地址、联系方式变更时,应及时通知甲方。
+2.7及时协助甲方处理乙方出现的紧急情况。当甲方按照第合同约
+定处理时,负有付款义务或连带责任的丙方应当及时足额支付由此产生
+的费用。
+2.8乙方在养老机构去世的,丙方应及时进行善后处理并解决费用
+问题。
+第七条合同的续签
+1.合同期满前30日,乙方或丙方可向养老机构申请续签合同。
+2.续签的养老服务合同内容应当由甲方、乙方和丙方协商确定。
+3.如果乙方或丙方未在合同期限届满前30日提出续签合同,或者
+乙方或丙方虽在合同期限届满前30日提出续签合同申请,但各方未就
+合同续签达成一致,乙方应于合同到期后3日内搬离甲方,办理离
+院手续并结清所有费用。
+第八条合同的变更和解除
+1.合同的变更
+1.1根据乙方健康状况的变化以及护理等级的评估结果,乙方、丙
+方可以要求甲方变更服务方案,甲方亦可以提出变更服务方案,并以书
+面形式通知乙方及丙方。任何一方要求变更服务方案的,需经甲方、乙
+方、丙方三方协商一致,签署补充协议。
+若甲方提出变更服务方案,乙方或丙方收到甲方变更服务方案的书
+面通知后7日内既不确认又不提出异议,但乙方实际接受甲方提供的相
+
+15
+应服务的,视为甲、乙、丙三方就合同约定的服务项目的变更达成一致,
+乙方或丙方有义务按照新的服务项目支付相应的服务费用。
+若乙方或者丙方提出变更方案,甲方应在收到其变更服务方案的要
+求后30日内会同乙方或者丙方进行研究确定,变更方案符合有关规定
+和实际情况的,甲方应予以采纳。经沟通未能达成一致意见的,甲方有
+义务应向乙方或丙解释不采纳其变更方案的理由和依据,乙方或丙方仍
+不能接受的,可向属地民政部门反映或向司法部门起诉。
+如果根据乙方健康状况的变化以及护理等级的评估结果,不调整服
+务项目将导致乙方的健康安全无法保障的,甲方提出变更的服务方案后,
+乙方或丙方既不同意,也不接受实际服务,甲方、乙方或丙方均有权解
+除本合同。
+当食品材料市场价格发生重大变化,致使甲方服务成本急剧上升
+(单项价格变动幅度超过6%)时,甲方可适当调整伙食费收费标准,将
+价格调整的通知在调价前30日以书面形式通知乙方及丙方,并签订补
+充合同。
+乙方或丙方对价格调整有异议的,可在收到通知后15日内以书面
+形式提出解除合同;乙方或丙方要求继续按照原收费标准履行合同的,
+甲方有权提出解除合同。
+乙方或丙方收到通知后15日内不以书面形式提出异议,但拒绝根
+据调整后的价格支付相关费用的,甲方有权解除合同并按照原收费标准
+收取已提供服务的费用。
+2.合同的解除
+2.1除本合同另有约定外,下列情况下,乙方或丙方可以单方解除
+本合同,并无需承担违约责任:
+
+16
+(1)甲方提供的服务不符合合同约定,经乙方或丙方提出,30日
+内不改正的;
+(2)因甲方或甲方工作人员的严重过错造成乙方人身或重大财产
+损害的;
+(3)乙方因疾病或其他个人原因离院的,但乙方或丙方不提出解
+除本合同而要求保留床位或房间的除外;乙方因疾病需要长期住院治疗
+(凭7天内住院证明)或去世解除合同的,免收违约金;
+(4)履行合同过程中,乙方或丙方提前30日书面通知甲方并结清
+服务费用的;
+(5)乙方首次入住15日内不适应居住环境或管理方式的,乙方可
+以单方面解除本合同,并无需承担违约责任。
+2.2除本合同另有约定外,下列情况下,甲方可以单方解除本合同,
+并无需承担违约责任:
+(1)乙方或丙方无故拖欠各项费用超过15日,经甲方书面催告后
+7日内仍不交纳的,甲方有权解除合同,并书面通知乙方搬出养老机构。
+乙方在甲方发出书面解除合同通知后7日内仍不搬出的,甲方有权提起
+诉讼,请求法院确认合同解除。乙方和丙方除应支付拖欠的服务费用,
+诉讼期间的养老服务费用以外,还应每天支付应付未付费用金额的1‰
+违约金,并负担甲方由此产生的一切费用(包括但不限于诉讼费、甲方
+聘请律师的实际支出、搬出费用)等。
+(2)乙方严重违反甲方的规章制度,造成甲方难以履行对乙方的
+养老服务,或造成其他入住老人伤害或存在可能造成他人伤害危险的。
+需对有关事实进行甄别的,可提请属地民政部门或委托第三方协助认定。
+(3)乙方或丙方隐瞒乙方健康状况,或者乙方患有须隔离治疗的
+
+17
+传染性疾病或者患有精神疾病等其他不适宜在机构内集中生活的。
+(4)发生不可抗力致甲方不能履行合同的。
+(5)甲方因丧失养老机构执业资格等原因暂停、终止服务的。甲
+方应当于暂停或者终止服务60日前向实施许可或备案的属地民政部门
+提交老年人安置方案,经批准后方可解除养老机构服务合同。
+(6)乙方连续请假外出超过90天(限期不得少于30天)。请假
+期间,因病情严重需要医治或疫情防控等管理要求,乙方无法返院或甲
+方不具备返院条件的情形除外。
+(7)丙方与甲方中断联系达到30天的,甲方有权选择单方解除合
+同。
+2.3除本合同另有约定外,下列情况下,乙方提前终止合同的,按
+照以下约定执行:
+如乙方提前解除合同(除因疾病需长期住院治疗、去世解除合同外),
+须提前30天书面向甲方提出申请,经甲方批准后方可办理离院手续,
+乙方应按照本月实际享受服务天数结算本月床位费、护理费、膳食费、
+管理费、水电费等费用,并按照附件《服务项目收费标准》中乙方所定
+房型向甲方缴纳一个月床位费的违约金。
+第九条违约责任
+1.因甲方及其工作人员的过错,损害乙方人身或财产权利的,由
+甲方承担赔偿责任。
+2.甲方服务人员资质不合格、没有按约定提供服务或者提供的服务
+不合格,造成乙方人身或财产损失的,甲方应当承担赔偿责任。
+3.甲方或其工作人员侵犯乙方、丙方对甲方提供的养老服务的知情
+权的,乙方和丙方有权要求甲方改正,造成损失的甲方应承担赔偿责任。
+
+18
+4.如果乙方或丙方无故拖欠各项费用超过15日,经甲方发出催告
+通知后7日内仍不交纳的,甲方有权解除合同,书面通知乙方和丙方,
+要求乙方出院。如果乙方在甲方发出解除合同通知后7日内仍不出院,
+甲方有权强制要求乙方出院或者送回乙方或丙方住所。此种情况下解除
+合同,乙方及丙方除应支付拖欠的费用外,还应每天支付应付未付费用
+金额的1‰违约金,并负担甲方由此产生的一切费用(包括但不限于诉
+讼费、甲方聘请律师的实际支出、搬出费用)等;
+5.乙方或丙方未将乙方健康状况、用药情况及过往病史如实告知
+甲方,造成甲方在提供服务过程中护理失当的,由乙方或丙方承担相应
+的后果。
+6.乙方需外出就医的,甲方履行告知义务,乙方拒绝外出就医或
+丙方拒绝及时携乙方到医院就诊而造成的后果,由乙、丙方自行承担。
+7.甲方没有过错,因乙方原因造成其自身损害的,由乙方、丙方
+自行承担全部后果和责任。
+8.因乙方原因造成甲方或第三人人身或财产损失的,乙方、丙方应
+承担赔偿责任。
+9.签订养老服务合同后,乙方未按照合同约定时间入住的,按照以
+下约定办理:因紧急住院治疗无法按期办理且向公办养老机构提出由医
+疗机构出具的诊断结论的,由公办养老机构适当延长其资格核实、办理
+入住手续期限。
+10.本合同提前终止或服务期满后,乙方逾期搬离甲方养老机构的,
+按乙方在服务期满前一个月的养老服务费用标准的1.5倍按日计付养老
+服务费用,直至办理完毕离院手续并搬离甲方养老机构之日止。
+
+19
+11.甲方按本合同约定应承担赔偿责任的,赔偿限额以甲方实际收
+费为限。
+第十条通知与送达
+1.在本合同首页中所标明的甲方、乙方和丙方的地址和联系方式为
+各方各自有效的通讯地址和联系方式。一方变更通讯地址和联络方式应
+及时通知其他各方。
+2.以下情形,视为送达,但受送达人有证据证明其因客观原因未
+实际接收到通知的除外:
+以特快专递形式发送,已经签收的,以签收日为送达日;未签收的,
+同城自发送之日起2日视为文件已经送达,异地5日视为送达,境外15
+日视为送达;以手机短信发送的,发送成功即视为送达;电子邮件自发
+出后进入收件方邮箱服务器视为送达;传真发送自对方传真机接收视为
+送达。
+因受送达人通讯地址或其他相关信息错误、不详或发生变更未及时通知其
+他各方造成无法送达的,由受送达人自行承担相关后果。
+3.乙方入住甲方期间,有关本合同的履行事宜甲方应以书面或数据
+电文形式通知乙方或丙方,由乙方或丙方确认签收;乙方或丙方拒签的,
+书面通知在第三方见证下送至收件人地址的视为已通知或已送达,数据
+电文进入收件人接收系统的视为已通知或已送达。
+第十一条陈述与保证
+1.甲方保证为依照法律、行政法规设立并依法登记的养老机构,具
+有提供本合同约定的养老服务的资格和能力。
+2.乙方或丙方保证乙方不属于患有精神病、甲类或乙类传染性疾病
+等不符合入住养老机构疾病的老年人。
+
+20
+3.乙方或丙方保证向甲方提供乙方在本协议签署前1个月内在甲方
+所在地二级甲等以上医院进行体检的《体检报告》(体检项目包括:精
+神健康状况、传染性疾病及养老机构要求的其他体检项目等)(作为本
+合同附件)。
+4.乙方或丙方保证向甲方提供的乙方或丙方共同签字的《入住登记
+表》(作为本协议附件)是真实的,没有任何虚假或隐瞒。
+5.丙方保证担任本合同履行过程的联系人,接收甲方的通知,如涉
+及诉讼、仲裁或其他法律程序的,保证作为相关机构法律文书的接收人,
+甲方或相关机构向乙方或保证人所列明的地址、联系方式等送达相关文
+书的,均视为有效送达。
+第十二条特别约定
+1.甲方仅提供与合同约定护理等级相符的相关服务,对于超出护理
+等级的看护、注意义务,甲方将依据现实情况、乙方身体状况尽可能的
+提供帮扶、协助,但不表示甲方愿意接受超出合同约定的范围的约束;
+甲方不是专业的医疗机构,对乙方进行的常规体检不代表甲方对乙方真
+实身体状况的了解,也不能代表甲方对乙方身体状况的确认,一切以专
+业的医疗机构及医疗人员的判断为准。
+2.突发疾病或出现事故等紧急情况的处理
+(1)乙方在入住期间突发疾病或身体伤害事故,甲方应及时通知丙方,
+及时联系120等医疗急救机构;如需到医疗机构急救、甲方应派人陪送
+至医疗机构。甲方不能及时联系上丙方的,应尽早与本合同附件确定的
+其他联系人取得联系并通报情况。
+(2)甲方具有医疗资质的,在乙方生命垂危等紧急情况下应尽到合理
+诊疗义务,费用由乙方和丙方承担。
+
+21
+(3)因乙方发生紧急情况产生的费用急救费用、治疗费用、住院押金
+等均由乙方和丙方负担。甲方因此垫付费用的,乙方或丙方应按照甲方
+要求的时间内清偿。
+(4)为保证入住长者的生活环境,甲方暂未设有临终关怀服务,当乙
+方生命垂危时,丙方应全力配合甲方将乙方送医院进行抢救;若乙方或
+丙方任何一方不予配合,甲方有权利将乙方送往就近医院抢救并扣除乙
+方入住时缴纳人民币元(大写金额:万仟佰拾元角分)
+的押金,救护费用不足部分由乙方及丙方承担;
+(5)若乙方在甲方养老院突然去世,丙方须全力配合甲方将乙方以医
+疗救护的方式将乙方送往就近医院;若丙方不予配合,甲方有权利扣除
+乙方入住时缴纳人民币元(大写金额:万仟佰拾元角分)
+的押金,费用不足部分由丙方承担;
+3.乙方去世的善后服务及相关费用
+乙方在甲方服务期间去世的,甲方应及时与丙方取得联系,丙方负
+责善后处理并承担相关费用。无法与丙方取得联系的,应及时联系殡仪
+馆,妥善保存遗体,发生的费用由丙方承担。
+4.甲方与丙方联系中断
+因丙方提供的联系地址、方式不准确或不详细或变更后未及时通知
+甲方,或其他客观原因致使甲方无法与丙方及时联系,连续达30天则
+视为联系中断。甲方与乙方协商后,可以重新确定联系人。联系中断不
+免除丙方在本合同项下的责任。
+因乙方、丙方原因导致联系中断的,如乙方仍有其他直系亲属的,
+则甲方有权自行联系其他直系亲属协商重新确定联系人或解除合同关
+系。无其他直系亲属或无其他亲属愿意承担乙方相关费用的,则甲方有
+
+22
+权自行联系相关政府部门或其他机构解决处理有关乙方的托养事宜,因
+此而产生的相关费用,甲方有权向乙方或丙方追偿。
+5.非因甲方故意或重大过失的原因造成乙方人身、财产损害的,甲
+方不承担责任。
+乙方入住后若发生根据体检报告所反映出的一系列疾病、并发症或
+突发性疾病导致死亡,与甲方无关;
+由于乙方属高龄及有疾病的长者,易发生意外,入住期间非因甲方
+原因若发生骨折、心脏骤停、脑梗、脑溢血、呛咳、肺部感染等疾病导
+致死亡与甲方无关;
+乙方入住后,经甲方诊断有疾病且书面通知乙方前往三甲及以上的
+医院进行治疗的,乙方应及时前往医院就医;若乙方或丙方不予配合,
+乙方发生任何意外,由乙方和丙方负担全部责任;
+6.乙方具有完全民事行为能力,但拒绝接收甲方提供服务,造成其
+自身人身、财产损害的,由乙方自行承担后果。
+7.本合同关于乙方和丙方权利义务的约定,并不免除对乙方有法
+定赡养义务的其他人的法定责任。
+8.因不可抗力导致本合同无法继续履行的、受到不可抗力影响的一
+方应在不可抗力情形发生后及时通知合同其他相关方,本合同可依法解
+除,合同各方不承担解除合同的责任。丙方应及时接回并妥善安置乙方。
+9.甲方破产、停业、转让:甲方需提前30天通知乙方和丙方,并
+协助丙方将乙方转至其他养老机构托养或送回住所;
+第十三条争议解决方式
+本合同在履行过程中发生争议,当事人尽量协商解决。协商不成的,
+当事人可以选择下列第2种方式解决:
+
+23
+□1.向仲裁机构申请仲裁。
+☑2.向有管辖权的人民法院提起诉讼。
+第十四条合同生效及附件
+本合同一式【叁】份,甲方执【壹】份,乙方执【壹】份,
+乙方监护人执【壹】份,自各方签字或盖章之日起生效。
+1.下列文件为本合同附件,与本合同具有同等法律效力:
+附件一:《知情同意书》
+附件二:《入住登记表》
+附件三:《入住须知》
+附件四:《长者安全承诺书》
+附件五:《长者外出情况确认书》
+附件六:《签名代理申请》
+附件七:《委托代理人确认表》
+附件八:《机构服务范围及收费标准》
+附件九:《房间设施设备清单》
+附件十:二级甲等以上医院出具的《体检报告项目说明》
+(体检时间应在签订服务合同前30日以内)
+附件十一:乙方有效证件身份证、户口本复印件
+附件十二:乙方监护人身份证、户口本复印件
+
+24
+2.本合同附件系本合同不可分割的组成部分,与本合同具有同等法
+律效力。
+3.本合同附件是本合同的组成部分,与合同正文具有同等法律效力。
+(本文以下无正文,为合同签署页)
+甲方(盖章):
+法定代表人(签字):
+日期:
+乙方(签字):
+日期:
+丙方(签字/盖章):
+日期:
+
+25
+附件
+1
+知情同意书
+为充分保障乙方(姓名)的健康与安全,结合乙方年迈体弱
+之特点,甲方(公司名称:)
+特向乙、丙两方告知以下事项,乙、丙两方须认真研读:
+一、保护性约束风险
+考虑到乙方年事已高,或受疾病、精神等因素影响,在入住甲方期间,有可能
+采取保护性约束措施,以避免其自伤或伤人情况的发生,保障乙方安全以及各项治
+疗护理工作的顺利开展。现特将施行保护性约束措施的必要性及医疗风险告知如下:
+(
+一
+)
+必要性
+1.为保障治疗工作顺利推进;
+2.避免乙方因精神方面的因素出现伤害自身或他人的情况;
+3.防止乙方在意识不清时自行移除引流导尿管、鼻胃管等医疗设备;
+4.
+防范乙方发生跌倒或坠床事件;
+5.
+基于其他必要的因素。
+(二)医疗风险
+1.
+改变约束部位皮肤的完整性以及血液循环状况;
+2.
+在使用约束背心或约束带时,因乙方躁动致使约束过紧,进而导致呼吸改变,
+存在发生窒息的风险;使用约束带时,若乙方有暴力倾向且不配合,可能引发骨折
+或其他伤害。
+3.
+因乙方或丙方意外或有意解除约束带,可能导致各种管道及静脉通路脱出,
+或者致使乙方发生跌倒、坠床等意外伤害。
+4.
+被约束肢体出现损伤。
+5.
+存在其他医疗风险。
+二、请假外出风险
+
+26
+协议履行期间甲方不建议乙方经常请假外出,若确需请假外出,乙方否则
+因此产生的一切风险后果由乙方、乙方监护人需遵照本条条款执行:
+1.严禁私自离院,及家属自行承担,甲方不承担任何责任。
+2.
+有家属
+/
+监护人
+/
+代理人陪同的,乙方向当班工作人员提出请假申请,工作人
+员为符合请假条件老人办理请假、审批手续。
+3.无家属/监护人/代理人陪同的,乙方需近三个月内MMSE评分为正常方可自
+行提出请假申请,工作人员评估其符合自行请假条件后为其办理请假、审批手续;
+若乙方近三个月内MMSE评分有异常,或经工作人员评估其不符合自行请假条件
+的,不予办理请假、审批手续;认知症老人一律不予办理自行单独请假、外出审批
+手续。
+4.乙方经工作人员评估暂不适宜请假外出,或不符合在无家属、监护人陪同的
+自行请假条件,经与乙方、家属或监护人沟通,劝阻无果,乙方、监护人或家属仍
+坚持要求请假外出的,一切风险由乙方、监护人及家属自行承担。
+5.
+凡当天不能返院,需在外留宿老人,需在其离院
+24
+小时内致电所在护理区
+报平安。如需延长请假,需来电或来信说明原因。
+6.外出时将外出请假放行条交于门卫,并配合门卫做好相关登记,以示外出。
+7.携带乙方外出者,负责保障乙方外出期间的安全。
+8.
+对于乙方请假期间在院外发生的一切病情加重或恶化、人身伤害、安全责任
+事故等意外,均由乙方及其监护人、家属、代理人自行承担责任,甲方不承担任何
+责任。
+9.
+乙方请假外出期间在甲方处以外所产生的住宿、伙食、交通、医疗、护理、
+救治等一切费用,均由乙方自行承担。
+10.对于乙方请假外出,需自行解决往返交通。
+11.
+其他相关请假外出规定。
+二、难免性压疮风险
+鉴于乙方体质特殊,身体素质欠佳且营养吸收能力较弱,加之患病、皮肤抵抗
+力低下、大小便失禁以及长期使用石膏绷带和夹板等因素,在治疗与护理过程中极
+易引发压疮。因此,乙方在入住期间存在发生压疮的可能性。甲方将严格依照护理
+级别,采取定期翻身、清洁身体、避免潮湿、摩擦及排泄物刺激、促进局部血液循
+环、增加营养摄入等防范举措。乙方与丙方应配合甲方积极开展治疗。即便甲方积
+极采取相应措施,压疮仍有可能发生,乙方、丙方及其他亲属需对压疮风险予以知
+
+27
+悉并理解。
+三、跌倒/坠床风险
+鉴于老人年老体弱,在自行走动(活动)或卧床时易发生跌倒、坠床等意外情
+况。对于此类意外的发生,乙方及丙方应充分理解。同时,为减少跌倒
+/
+坠床情况的
+发生,特告知以下事项:
+1.存在跌倒、坠床风险的老人(包含:1.肢体乏力、行动不便、步态不稳者;
+2.
+身体较为虚弱、伴有头晕症状、患有贫血病症以及血压不稳定者;
+3.
+存在精神或意识方面较差状况或存在意识障碍的人员;
+4.
+使用麻醉类及精神类药物的人员;
+5.高龄、视力不佳者严禁随意下床或跨越床栏。家属或陪护人员在陪伴老人期
+间,应及时拉起床栏;未经甲方工作人员同意,严禁随意放下护栏,以防发生坠床
+事故。
+6.对于存在跌倒、坠床风险的老人,在外出进行检查时,必须由护理人员或陪
+护人员陪同,严禁自行行动。
+7.
+当老人有变更体位进行活动的需求时,需遵循循序渐进的原则,在确认无异
+常情况之后,方可开始行走,以此避免因突然改变体位而导致跌倒。
+8.
+老年人穿脱鞋袜及裤子时,宜坐着进行,切不可赤脚行走,应穿着带有防滑
+坑纹的鞋子,以防止滑倒。
+9.浴室已安装防滑地板,并配备扶手与座厕。如厕时,应自觉使用扶手。
+10.行动不便者,需在他人陪护下进行起床、行走、活动、锻炼、沐浴或如厕
+等行为,并使用合适的助行用具或轮椅。同时,助行器应放置在老人易于取用之处。
+11.老人床头及厕所均设置有呼叫器,老人需掌握呼叫器的使用方法。当在行
+走过程中于突发状况的位置,出现头晕、双眼发黑、下肢无力、行走不稳或无法移
+动等情况时,应即刻在原地坐下(蹲下)或靠墙站立,并按下呼叫器或大声呼喊以
+寻求帮助。
+12.
+应时刻留意警示牌,避免行走于湿滑、有果皮、存在障碍物或凹凸不平的
+路面。若发现地面湿滑,需及时通知医护人员以消除安全隐患。
+13.服用镇静类、催眠类、抗忧郁类、抗过敏类、抗心律失常类、降压类、利
+尿类、降糖类等药物的老年人,严禁擅自离床或独自外出。
+14.老年人应全面、客观地评估自身身体状况,及时向工作人员寻求协助,并
+
+28
+认真听取工作人员提出的合理建议。严禁从事超出自身能力范围的活动或事务,以
+避免发生跌倒情况。若不慎发生跌倒或坠床,切勿急于起身;若身体受伤,应留在
+原地并大声呼救。
+15.
+为防止此风险发生,乙方与丙方应遵循甲方工作人员的建议,将该情况告
+知其他家属、监护人及陪护人员。
+四、误吸/噎食风险
+鉴于老年人因年老体弱或罹患疾病等缘故,常出现吞咽反射迟缓或吞咽功能障
+碍的情况,易引发误吸、噎食现象。为降低此类情况的发生几率,现将相关危险因
+素及防范措施告知如下:
+(
+一
+)
+危险因素
+1.
+年龄因素:随着年龄的增加,老年人的口腔黏膜会逐渐萎缩变薄,神经末梢
+感受器的反射功能也会逐渐变得迟钝,同时咽及食管的蠕动能力减弱。这些衰老性、
+退行性变化易致使老年人吞咽功能出现障碍,进而引发误吸、噎食。
+2.
+相关疾病:老年人可能因罹患以下疾病而出现误吸情况:
+1)
+颅脑病变,例
+如颅内肿瘤、颅脑外伤、脑血管病变、脑干受损、颅内压升高、帕金森综合征、癫
+痫等;
+2)
+神经肌肉病变,如急性感染性神经炎、喉神经受损、多发性肌炎、多发性
+皮肌炎、重症肌无力等;3)咽喉及其邻近部位病损,像声带麻痹、喉外伤、咽喉及
+头颈部手术、环咽肌失弛缓症、咽食管憩室、颈椎骨性赘生物等;
+4)
+呼吸功能不全,
+例如慢性阻塞性肺疾病、支气管哮喘等。3.体位:老年患者的体位与误吸存在一定
+关联,长期卧床的老年人在鼻饲或喂食时,若床头高度低于
+30°
+,会增加反流物及
+分泌物逆流的可能性,进而导致误吸。
+3.
+进食方式:进食过程中速度过快、过于急切、食量过多等情况,均会增加误
+吸、噎食的几率。
+4.留置胃管:鼻饲并发症包括误吸、黏膜损伤、便秘、胃潴留、水电解质血糖
+紊乱等。
+(二)防范措施
+1.
+若丙方为乙方喂食,应选取质地柔软、密度与性状均匀、具备适当粘度、不
+易松散、湿润但无水分或汁液溢出的食物,例如米糊、菜泥、蛋羹等食物。同时,
+需留意食物温度适宜、色香味俱佳,以促进乙方食欲,引发吞咽反射。
+
+29
+2.
+乙方进食时应采取坐位或半坐卧位,对于卧床老人,至少应将床头抬高
+30°
+。
+进食后不宜立即躺下,需保持进食体位30分钟以上。
+3.乙方在进食过程中,不宜进行交谈,需集中精力进食,以防发生呛咳。应细
+嚼慢咽,避免进食速度过快,每次进食量以一小口为宜,约为一茶匙或
+5
+毫升的分
+量。需待口腔内食物完全咽下后,方可进食第二口。饭后需用温水漱口,以清除口
+腔内的食物残渣。若进食时出现呛咳现象,应立即停止进食,鼓励乙方咳嗽,并轻
+叩其背部,促使食物颗粒咯出,以减少误吸情况的发生。
+4.
+在日常生活中,乙方应增加咳嗽、咳痰方面的锻炼。平时需注重口鼻腔卫生,
+进餐后应及时漱口;对于无法自行漱口、刷牙的乙方,应进行口腔护理。
+5.经评估存在误吸风险且需留置胃管的老人,丙方严禁擅自喂食。为规避此类
+风险,乙方及丙方应遵循甲方工作人员的建议,并将此情况告知其他家属、监护人
+及陪护人员。
+五、烫伤风险
+鉴于老人存在年老体弱、行动不便、视力减退或存在障碍、感觉迟钝或存在障
+碍等情况,其发生烫伤的可能性较高。为降低烫伤发生的概率,特将以下事项告知
+如下:
+1.乙方或丙方不得独自接触热源,例如打开水等行为。
+2.未经甲方工作人员许可,严禁使用热水袋、理疗仪等易引发烫伤的发热设备。
+3.
+乙方自行冲凉或丙方协助冲凉时,应先放冷水再放热水,且水温不得超过
+50°C。
+4.乙方或丙方为老人准备食用的食物时,应确保温度适宜,以避免老人被烫伤。
+为防范此风险,乙方及丙方应遵循甲方工作人员的建议,并将相关情况告知其
+他家属、监护人及陪护人员。
+六、食品药品误食风险
+鉴于乙方存在罹患疾病、知识储备不足、安全意识淡薄等情况,易出现误食食
+品药品的现象。为降低此类风险,特作如下告知:乙方应配合甲方定期对食品、药
+品进行检查,一旦发现异常需及时处理,避免使用过期、变质的食品、药品。
+2.
+丙方不得携带不适宜乙方食用或服用的食品和药品。
+3.
+若乙方存在记忆力差、认知功能减退、视力异常等情形,则不适合自行准备
+和服用药物。关于乙方带药服药事宜,应与甲方工作人员进行沟通。丙方不得擅自
+
+30
+让乙方自行保管药物及服药,乙方和丙方应当遵守甲方的自备药管理规定。为避免
+此类风险的发生,乙方及丙方应听从甲方工作人员的建议,并将此情况告知其他家
+属、监护人及陪护人员。
+针对此情况,丙方以及乙方的亲属、朋友应当定期与乙方进行交流沟通,前往
+探望乙方,或者接乙方外出实现团聚。同时,丙方需将此建议传达给乙方的家属或
+监护人。
+七、他伤和自伤风险
+乙方由于精神、心理、情绪、性格、生活习惯等方面的因素,无法完全适应养
+老院的生活。倘若亲属未能时常向老人表达关爱之情,乙方的精神慰藉需求将无法
+得到满足。当乙方处于精神和情绪不稳定的状态时,可能会产生悲观轻生的念头,
+或者容易被激怒,进而出现自伤或伤人的行为。
+八、走失风险
+鉴于乙方存在意识或定向障碍、记忆力减退等情况,其面临走失风险。为降低
+乙方走失事件的发生几率,丙方及乙方家属不得擅自带领乙方离开居住区或院区。
+九、文娱活动意外风险
+乙方因年事已高、身体孱弱、行动不便或患有疾病等缘由,在参与文娱或康乐
+活动期间,较易出现意外状况,诸如摔倒、突发疾病等。针对此情况,甲方工作人
+员会采取相应的防护举措,然而文娱活动中的意外状况仍有可能发生。
+本附件内容甲方已详尽告知,我方已审慎阅读并予以认同,同时将全力配合甲
+方做好乙方的安全保障工作。对于本附件所提及风险的发生,我方表示理解并承诺
+不会追究甲方的责任。
+乙方签阅(签字按手印):
+丙方签阅(签字按手印):
+日期:
+
+31
+附件2
+入住登记表
+入住编号:日期:年月日
+老年人性别□男□女年龄照片
+国籍出生日期
+籍贯户籍地
+民族□汉族□其他:_______政治面貌
+婚姻状况□未婚□已婚□丧偶□离异□未说明婚姻情况
+证件类型证件号码
+文化程度□文盲半文盲□小学□初中□高中/技校/中专□大学专科及以上□不详
+居住地址
+担保人/监
+护人/紧急
+联系人
+姓名/名称关系手机号码
+证件类型证件号码
+通信地址电子邮箱
+第二联系人手机号码
+医疗费用支付方式
+□城镇职工基本医疗保险□城镇居民基本医疗保险□全公费□其它:
+□新型农村合作医疗□商业医疗保险□全自费□其他
+经济来源□退休金/养老金□子女补贴□亲友资助□其他补贴:________
+入住前住处
+□家(□独居□配偶□子女□保姆□其他:________________)□医院
+□其他养老机构(名称:____________,入住时间:________离开原因:__________)
+入住机构原因
+健康状况既往史
+□无□有:疾病名称:,确诊时间:
+疾病名称:,确诊时间:
+
+32
+□无□有:手术名称:,手术时间:
+手术名称:,手术时间:
+□无□有:外伤部位:,发生时间:
+外伤部位:,发生时间:
+现患疾病
+疾病名称:,确诊时间:,目前状况:
+疾病名称:,确诊时间:,目前状况:
+就医情况
+固定时间就诊:□无□有(原因:,频率___次/___月)
+近一年内住院情况:□未住院□住过院(住院次数:____次)
+入/出院时间:______至______,原因:___________,医院名称:___________
+入/出院时间:______至______,原因:___________,医院名称:___________
+近一年内急诊情况:□未去过□去过急诊(去急诊次数:___次)
+就诊时间:________,原因:___________,医院名称:__________
+不适症状(近一
+个月内情况)
+□无症状□头痛□头晕□心悸□胸闷□胸痛□慢性咳嗽□咳痰□呼吸困
+难□多饮□多尿□体重下降□乏力□关节肿痛□手脚麻木□视力模糊
+□眼花□耳鸣□尿急□尿痛□便秘□腹泻
+□恶心呕吐□食欲减退□乳房胀痛□体位性低血压
+□其他:_____________________________________________________
+过敏史
+药物过敏:□无□有:
+食物过敏:□无□有:
+环境过敏:□无□有:
+老年综合征(近
+三月内情况)
+跌倒:□无□有:次数、地点
+记忆下降:□无□有具体表现
+体重下降:□无□有:下降重量(kg)
+小便失禁:□无□有:次数
+
+33
+睡眠障碍:□无□有:□睡眠增多□睡眠减少□异常行为
+疼痛:□无□有:疼痛部位
+视力异常:□无□有:□老视□近视□远视,度数(左、右眼)
+听力下降:□无□有:具体表现
+精神状况(近三
+月内情况)
+□无□有:□游走□日夜颠倒□语言攻击行为□肢体攻击行为□对物
+品的攻击行为□妄想□幻觉□焦虑/恐惧□自伤/自杀□重复行为
+□其他状况:
+语言表达□流利□含糊□体语□失语□其他:
+其他特别说明事项:
+本人声明上述各项内容均属实。如有变化,及时通知贵院。
+入住老人(签名):监护人/担保人/委托代理人/紧急联系人(签名或盖章):
+注:1.本表应当如实填写。
+2.在选中的“□”打“√”表示确认,不选的在“□”打“×”
+
+34
+附件3
+《入住须知》
+尊敬的长者:
+您好!
+欢迎您入住颐年集团旗下养老机构,在这里您可享受细致、以人为本的贴心服
+务,感受家的温馨,尽享长者尊贵!
+一、入住准备
+请根据需要选择携带以下物品:
+1、需换洗的衣物包含衣服、鞋、袜以及毛巾;需注意,鞋子应具备防滑功能,尺
+码合适,尽量选择无需系带的款式。
+2、洗漱用品:请依据个人需求自行准备牙刷、牙膏、口杯、须刨、香皂、洗发水、
+淋浴露等物品。
+3、日用品包含:水杯、润肤露、爽身粉、洗洁精、梳子、纸巾以及浴巾。
+4、衣物标签:入住之前,请家属完成“长者名字”的衣物标签缝制工作。
+5、药品:对于生活无法自理的长者,若自带药品,在附有医生医嘱的情况下,可
+交由我院工作人员。我院会依据长者的护理级别及医嘱,按时提醒长者服用药品。
+6、其他辅助器具:助听器、轮椅、拐杖、助行器、气垫床、坐便椅等。
+7、请勿将贵重物品及钱财带入养老院,院方不承担相关保管责任,长者可预留少
+量备用现金(金额在500元以下)。
+二、温馨提示
+1、本养老服务中心已为入住长者配备房间内必备的家电及家具用品,若长者需自行
+携带相关物品,须经本院同意后方可带入。。
+2、应遵守各项规章制度,服从管理人员的管理。进出院区以及亲属进行探访时,需
+在前台进行登记。接待来访的时间为:9:00-11:00时,14:30-17:00时。。
+3、原则上,禁止携带各类宠物入住。严禁携带对长者安全存在影响的物品(如具有
+刺激性、怪气味的物品,锐器,易燃、易爆及挥发性物品)进入院区。
+
+35
+4、请妥善爱护房间及院区内的公共财物,若有损坏,需按照物品价值进行赔偿。
+5、若长者需要持有房间钥匙,请妥善保管。若钥匙遗失,需缴纳重新配制钥匙的费
+用。离开房间时,请关闭好门窗及水电。
+三、办理入住手续时请提供以下资料
+1.入住长者的户口本(户主页与本人页)以及身份证(正面与反面)复印件,《托
+养服务合同》丙方(监护人)的户口本(户主页与本人页)以及身份证(正面与反
+面)复印件。
+2.入住长者近期免冠一寸彩色照片三张。
+3.入住时需提交长者在三个月内由二级或以上医院出具的体检报告,检查项目包括
+但不限于详见以下《体验项目单》:
+《体检项目单》
+四、本《入住须知》最终解释和修订权归本公司所有。
+本单位将竭诚为您提供服务,若有需求,请与前台联系。
+一般检查(附:常规体检表)
+心电图
+X光胸片
+腹部B超(男性肝胆胰脾双肾膀胱/女性肝胆胰脾双肾加子宫附件)
+骨密度检测
+化验
+血常规
+肝功能
+肾功能
+血脂四项
+小便常规
+传染病五项(甲肝、丙肝、乙肝两对半、梅毒、艾滋)
+
+36
+附件3
+长者安全承诺书
+为了确保养老机构的安全生产,保障全院人员的生命财产安全,我谨以诚挚的
+态度郑重承诺,严格遵守以下规定:
+电器设备管理:本人将严格按照养老机构的安全管理规定,不私自搭拉电线,不擅
+自购买或使用任何电器设备(如电热毯、小太阳暖风机、电动泡脚桶等)。
+消防安全管理:本人将严格按照养老机构的消防管理规定行事,绝不在室内吸烟,
+并承诺不私自购买烟草或向家属索要火源(如打火机、火柴、电子点烟器等)。如
+需吸烟,配合到指定吸烟区域吸烟,确保吸完烟后将烟头妥善处理后扔入指定垃圾
+桶并进行灭火。主动将烟草和火机交由工作人员保管。
+房间卫生安全管理:本人承诺保持房间整洁,不堆放杂物,不购买或使用易被误食
+的洗涤剂,也不购买或使用任何利器。
+电动轮椅管理:如购买电动轮椅,本人同意在不使用时将其交由楼层管理人员指定
+位置统一看管,保证不放置在房间内,并在充电时到指定室外充电点进行操作。
+禁止使用明火或烟雾物品:本人承诺不使用蚊香、艾条等具有明火或烟雾的物品,
+确保室内空气清新。
+本人郑重承诺严格遵守以上规定。如违规将配合通知家属收回,同时被养老机
+构发函警告满三次,将自动作退住处理。对于任何违规行为所造成的后果,本人及
+家属将承担全部责任。
+本人郑重承诺,如有违反以上规定,愿意接受相应的处罚和责任。
+入住长者(签字按手印):
+监护人/委托代理人(签字按手印):
+年月日
+
+37
+附件4
+长者外出情况确认书
+尊敬的___________:
+欢迎您入住颐年集团旗下养老机构,现特将我院关于长者外出事项告知如下:
+一、在您入住期间,我院不会对您是否具备独自外出能力作出判断,也不对此
+承担责任。请您或监护人从以下选项中“二选一”进行确认(选中的打√,不选的
+打×):
+□不具备独自外出能力,需接受限制外出服务管理。
+□具备独自外出能力,无需接受限制外出服务管理。
+二、若您不具备独自外出的能力,您或您的监护人/委托代理人应向本院确认
+“需限制外出”的服务管理。本院将对您的外出进行统一管理。您外出时必须指定
+陪同人员(如家属等),且每次外出均需由您或您的监护人/委托代理人提前通知本
+院,陪同人员应在您外出及返回时进行登记。
+三、若您具备独自外出的能力,您或您的监护人/委托代理人应向本院确认“不
+需限制外出”的服务管理。您每次外出时,应在外出及返回时进行登记。
+四、若您患有认知症等疾病,本院将统一实行“限制外出”的服务管理。但若
+您或您的监护人/委托代理人拒绝本院为您提供限制外出管理服务,由此造成的后果
+由您或您的监护人/委托代理人承担,本院不承担责任。
+五、无论您是否具备独自外出的能力、外出是否进行登记,若您在外出期间发
+生事故(包括但不限于摔伤、走失、财物丢失)、突发疾病、遭受人身损害、死亡
+或者造成他人损害,由此造成的后果由您或您的监护人/委托代理人承担,本院不承
+担责任。
+
+38
+六、外出存在如下风险:
+1、走失,或突发严重疾病而无法获得及时救治。
+2、遭遇交通事故及其他人身伤害。
+3、遭遇偷、盗、抢、骗、拐等暴力侵犯。
+4、遭遇其他无法预知的意外风险。
+基于上述缘由,我们期望您能安心调养身体,减少外出活动。
+倘若您执意选择外出,由此产生的后果将由您本人或您的监护人/委托代理人承
+担,我院概不负责。
+以上内容由入住长者及监护人/委托代理人确认:
+“我们在此郑重确认:已仔细阅读上述外出情况告知书,若出现告知书中明确
+提及的养老机构免责情形,所有责任与后果均由我们自行承担,养老机构无需担
+责。”
+入住长者签名:监护人/委托代理人签名:
+日期:
+
+39
+附件5
+签名代理申请
+现入住长者(身份证号:)
+与我司办理托养服务、入住相关事宜,由于长者因自体原因不能亲自签
+字,长者特此申请委托代理人身份证号:
+代为长者签名,由此而导致的一切行为均代表入住长者的意愿且长者已
+知悉(正常入住视为已知悉)。
+申请人:
+委托代理人:
+年月日
+经办人:
+
+40
+附件6
+授权委托书
+本人(口女口男),身份证号:
+自愿入住,兹授权(口女口男),
+身份证号:手机号,
+办理本人的入住手续相关事宜。
+授权人与被授权人关系:
+授权人(签名盖手印):
+被授权人(签名盖手印):
+年月日
+
+41
+附件7
+委托代理人确认表
+入住老人性别
+□男□女
+年龄
+身份证号
+码
+户籍地址
+委托代理
+人
+姓名性别□男□女
+身份证
+号
+户籍地
+址
+本人是的委托代理人,关系,保证所
+承诺的监护关系真实,对因提供虚假承诺而引发的相关问题和造成的后果,愿
+意承担相应的法律责任。
+特此承诺!
+入住老人(签名盖手印):
+委托代理人(签名盖手印):
+年月日
+
+42
+附件8
+机构服务范围及收费标准
+一、依据护理级别提供个人生活照料服务
+涵盖协助长者开展个人清洁卫生以及起居、穿衣、修饰、饮食、口腔清洁、入
+厕、皮肤清洁护理、压疮预防、便溺护理等事项。
+1.个人日常清洁卫生包含洗脸、洗手、洗头(包含床上洗头)、洗脚、整理个
+人物品、清洁并平整床铺、更换床单等。
+2.穿衣涵盖协助穿衣、更换衣物以及整理衣物等方面。
+3.修饰行为涵盖梳头、修剪指(趾)甲等内容。
+4.饮食照料涵盖协助用膳、饮水或喂饭以及肠内营养(鼻饲法、滴注法)等方
+面。
+5.口腔清洁涵盖刷牙、漱口、口腔清洁以及假牙清洁等方面。
+6.入厕服务涵盖定时提醒入厕、提供便盆与尿壶使用,以及协助进行排便、排
+尿等入厕相关事宜。
+7.皮肤清洁护理涵盖清洗会阴、擦洗胸背部与腿部以及沐浴等操作。
+8.压疮预防应确保床单处于干燥、整洁状态,定时进行卧位更换与翻身操作,
+以减轻皮肤受压状况,并对皮肤及会阴部进行清洁。
+9.便溺护理涵盖协助存在大小便失禁或便秘状况的老人进行排便、排尿操作,
+实施人工排便,以及对尿布进行清洗与更换等工作。
+二、膳食服务:
+由专业营养师提供每周的食谱,并根据老年人生理需求提供多种膳食服务和
+送餐服务。
+三、环境卫生服务:
+包括长者居室及室外环境的清洁卫生。
+四、休闲娱乐服务
+提供长者活动室、文化阅览室,并定期或不定期组织相关活动。
+五、洗衣服务:
+每日收集脏污衣物;对衣物进行分类清洗;针对被污染的衣物,采取单独洗涤
+的方式,并先进行消毒处理后再清洗;将清洗后的衣物整理折叠后送还给长者。
+
+43
+六、安全保护服务
+1.涵盖提供床档、安全标识、安全扶手、紧急呼救系统等物品。
+2.在长者或其家属知悉并同意的情况下使用约束物品。
+3.实施安全预防措施:包括评估长者存在的不安全因素,制定针对常见意外的
+预防措施以及应急预案,并定期检查安全程序的执行情况。
+七、通讯服务
+1、通讯服务包括公用电话、公用计算机网络、代办电报、书信代写与投寄等相
+关的服务
+八、心理(精神)支持服务涵盖访视、访谈、个案服务、小组活动、危机处理、
+咨询活动等内容。
+九、老年护理服务
+依据需求提供基础护理、老年专科疾病护理、老年心理护理、老年康复指导、
+老年期健康教育、健康咨询、护理技术操作、院内感染控制、临终护理等服务。
+1.基础护理包含老年人的清洁护理、饮食护理、排泄护理以及基础护理技术。
+2.老年专科护理包括老年专科疾病护理及相关技术操作。
+3.老年心理护理涵盖老年人心理卫生教育、老年人心理问题评估以及实施老年
+心理护理干预举措。
+4.老年康复指导包括传授老年期自我护理技术、老年病并发症康复预防以及指
+导康复治疗技术的运用。
+5.老年期健康教育包括传播老年期健康知识、纠正不良健康行为。
+6.健康咨询包括老年病的预防、康复、老年期的营养、精神卫生和社会活动等
+方面的咨询服务。
+7.院内感染控制包括采取预防性措施、监测并控制传染病的爆发流行。
+8.护理技术操作包括基础护理技术操作、老年专科护理技术操作、急救技术操
+作。
+9.临终护理包括缓解临终期老年人的疼痛与困难,提升临终期老年人的生活质
+量,做好临终期老年人的心理护理、死亡教育以及家属的心理(精神)支持,消除
+老年人的临终恐惧。
+十、医疗保健服务:
+为入住老人提供“绿色通道”定点医疗机构。当长者遭遇急症或意外情况时,
+
+44
+工作人员将代为联系120急救中心并送往医院。同时,为入住老人开展健康管理、
+健康咨询、康复指导以及预防保健等工作,为老年人建立健康档案,旨在维持或改
+善老年人的身心状态,减轻病痛,做好老年人常见疾病、多发疾病以及慢性非传染
+性疾病的预防工作。
+十一、咨询服务
+咨询服务包括开展心理、医疗、护理、康复、教育、服务信息等方面的咨询。
+十二、委托代办服务
+包括为老年人代购物品、陪同购物、帮助老年人书信、文书书写或领取物品、
+交纳费用等。陪同就医服务。
+十三、教育服务
+提供教育服务的范围包括开展各类知识讲座、健康知识、时事教育、绘画技巧、
+音乐常识、照相技术、运动知识、电脑知识等。
+附:《养老机构机构收费标准》
+长者/监护人/委托代理人签阅(签字按手印):
+日期:
+
+45
+附件9:《房间设施设备清单》
+标准房间物品配备
+入住长者姓名房间号
+序
+号
+物品名称数量备注
+序
+号
+物品名称数量备注
+1窗帘116门牌1
+2床隔帘117客厅灯具1
+3浴帘118卫生间灯具1
+4垃圾桶119水龙头1
+5木床120马桶1
+6床垫121呼叫器1
+7不锈钢排勾1
+8床头柜1
+9
+书桌(含一张椅
+子)
+1
+10衣柜1
+11壁扇1
+特别告知:
+房间物品配备属于福利院公共物品,请
+入
+住长者与房友共同维护和文明使用,如有
+人
+为损坏则照价赔偿。
+12电视机1
+13机顶盒遥控器1
+14机顶盒1
+15空调1
+入住老人签名
+监护人/委托代理
+人签名
+日期:年月日
+
+46
+附件十:
+(乙方提供二级甲等以上医院出具的《体检报告项目说明》(体检时间应在签
+订服务合同前30日以内)
+(体检报告项目粘贴或附注)
+
+47
+附件十一:乙方有效证件(身份证复印件、户口本复印件)
+(粘贴或附注)
+
+48
+附件十二:乙方监护人身份证、户口本复印件
+(粘贴或附注)
+
+49

+ 37 - 0
extract_pdf.js

@@ -0,0 +1,37 @@
+const pdfjsLib = require('pdfjs-dist/legacy/build/pdf.js');
+const fs = require('fs');
+
+const pdfPath = 'd:/Users/chenjun/kyj-yanglao-web-new/src/views/elderly/apply/check-in/颐年集团养老服务合同-2026年6月终版docx.pdf';
+const outPath = 'd:/Users/chenjun/kyj-yanglao-web-new/contract_pages.json';
+
+async function main() {
+  const data = new Uint8Array(fs.readFileSync(pdfPath));
+  const loadingTask = pdfjsLib.getDocument({ data });
+  const pdf = await loadingTask.promise;
+  console.log('Pages:', pdf.numPages);
+  const pages = [];
+  for (let i = 1; i <= pdf.numPages; i++) {
+    const page = await pdf.getPage(i);
+    const content = await page.getTextContent();
+    const lines = [];
+    let lastY = null;
+    let currentLine = '';
+    for (const item of content.items) {
+      if (lastY !== null && Math.abs(item.transform[5] - lastY) > 3) {
+        lines.push(currentLine);
+        currentLine = '';
+      }
+      currentLine += item.str;
+      lastY = item.transform[5];
+    }
+    if (currentLine) lines.push(currentLine);
+    const text = lines.join('\n');
+    pages.push({ page: i, text });
+    console.log('--- PAGE', i, '---');
+    console.log(text);
+    console.log();
+  }
+  fs.writeFileSync(outPath, JSON.stringify(pages, null, 2), 'utf8');
+  console.log('Saved to', outPath);
+}
+main().catch(err => { console.error(err); process.exit(1); });

+ 45 - 0
extract_pdf.mjs

@@ -0,0 +1,45 @@
+import * as pdfjsLib from 'pdfjs-dist/build/pdf.mjs';
+import fs from 'fs';
+
+const pdfPath = 'd:/Users/chenjun/kyj-yanglao-web-new/src/views/elderly/apply/check-in/颐年集团养老服务合同-2026年6月终版docx.pdf';
+const outPath = 'd:/Users/chenjun/kyj-yanglao-web-new/contract_pages.json';
+
+async function main() {
+  const data = new Uint8Array(fs.readFileSync(pdfPath));
+  const loadingTask = pdfjsLib.getDocument({ data });
+  const pdf = await loadingTask.promise;
+  console.log('Pages:', pdf.numPages);
+  const pages = [];
+  for (let i = 1; i <= pdf.numPages; i++) {
+    const page = await pdf.getPage(i);
+    const content = await page.getTextContent();
+    const items = content.items;
+    items.sort((a, b) => {
+      const da = Math.floor(a.transform[5] / 10);
+      const db = Math.floor(b.transform[5] / 10);
+      if (da !== db) return db - da;
+      return a.transform[4] - b.transform[4];
+    });
+    const lines = [];
+    let lastY = null;
+    let currentLine = '';
+    for (const item of items) {
+      const y = item.transform[5];
+      if (lastY !== null && Math.abs(y - lastY) > 5) {
+        lines.push(currentLine);
+        currentLine = '';
+      }
+      currentLine += item.str;
+      lastY = y;
+    }
+    if (currentLine) lines.push(currentLine);
+    const text = lines.join('\n');
+    pages.push({ page: i, text });
+    console.log('--- PAGE ' + i + ' (chars: ' + text.length + ') ---');
+    console.log(text);
+    console.log();
+  }
+  fs.writeFileSync(outPath, JSON.stringify(pages, null, 2), 'utf8');
+  console.log('Saved to ' + outPath);
+}
+main().catch(err => { console.error(err); process.exit(1); });

+ 19 - 0
extract_pdf.py

@@ -0,0 +1,19 @@
+import pdfplumber
+import json, sys, os
+
+pdf_path = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\颐年集团养老服务合同-2026年6月终版docx.pdf'
+
+with pdfplumber.open(pdf_path) as pdf:
+    pages = []
+    for i, page in enumerate(pdf.pages):
+        text = page.extract_text() or ''
+        pages.append({'page': i+1, 'text': text})
+        print(f'=== PAGE {i+1} (chars: {len(text)}) ===')
+        print(text[:2000])
+        if len(text) > 2000:
+            print('...(truncated)')
+        print()
+    out_path = r'd:\Users\chenjun\kyj-yanglao-web-new\contract_pages.json'
+    with open(out_path, 'w', encoding='utf-8') as f:
+        json.dump(pages, f, ensure_ascii=False, indent=2)
+    print(f'\nTotal: {len(pages)} pages. Saved to {out_path}')

+ 17 - 0
extract_pdf_2.py

@@ -0,0 +1,17 @@
+import pdfplumber
+import json, os, sys
+
+pdf_path = r"d:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\颐年集团养老服务合同-2026年6月终版docx.pdf"
+
+with pdfplumber.open(pdf_path) as pdf:
+    pages = []
+    for i, page in enumerate(pdf.pages):
+        text = page.extract_text() or ""
+        pages.append({"page": i+1, "text": text})
+        print("=== PAGE %d (chars: %d) ===" % (i+1, len(text)))
+        print(text)
+        print()
+    out_path = r"d:\Users\chenjun\kyj-yanglao-web-new\contract_pages.json"
+    with open(out_path, "w", encoding="utf-8") as f:
+        json.dump(pages, f, ensure_ascii=False, indent=2)
+    print("Saved to", out_path)

+ 20 - 0
extract_pdf_cjs.js

@@ -0,0 +1,20 @@
+const fs = require('fs');
+const pdf = require('pdf-parse');
+
+const pdfPath = 'd:/Users/chenjun/kyj-yanglao-web-new/src/views/elderly/apply/check-in/颐年集团养老服务合同-2026年6月终版docx.pdf';
+const outPath = 'd:/Users/chenjun/kyj-yanglao-web-new/contract_text.txt';
+
+const dataBuffer = fs.readFileSync(pdfPath);
+
+pdf(dataBuffer, { max: 0 }).then(function(data) {
+  fs.writeFileSync(outPath, data.text, 'utf8');
+  console.log('Total chars:', data.text.length);
+  console.log('Total pages:', data.numpages);
+  console.log('--- START TEXT ---');
+  console.log(data.text);
+  console.log('--- END TEXT ---');
+  console.log('Saved to', outPath);
+}).catch(err => {
+  console.error('ERROR:', err);
+  process.exit(1);
+});

+ 24 - 0
extract_pdf_py.py

@@ -0,0 +1,24 @@
+import sys
+import os
+
+pdf_path = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\颐年集团养老服务合同-2026年6月终版docx.pdf'
+out_path = r'd:\Users\chenjun\kyj-yanglao-web-new\pdf_full_text.txt'
+
+try:
+    import pdfplumber
+except ImportError:
+    import subprocess
+    subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'pdfplumber', '--user'])
+    import pdfplumber
+
+with pdfplumber.open(pdf_path) as pdf:
+    print(f'Total pages: {len(pdf.pages)}')
+    all_text = ''
+    for i, page in enumerate(pdf.pages):
+        text = page.extract_text() or ''
+        all_text += f'\n===== PAGE {i+1} =====\n{text}\n'
+        print(f'Page {i+1}: {len(text)} chars')
+    
+    with open(out_path, 'w', encoding='utf-8') as f:
+        f.write(all_text)
+    print(f'Saved to {out_path}')

+ 40 - 0
extract_pdf_script.js

@@ -0,0 +1,40 @@
+const pdfjsLib = require('pdfjs-dist/legacy/build/pdf.js');
+const fs = require('fs');
+
+const pdfPath = 'd:/Users/chenjun/kyj-yanglao-web-new/src/views/elderly/apply/check-in/颐年集团养老服务合同-2026年6月终版docx.pdf';
+const outPath = 'd:/Users/chenjun/kyj-yanglao-web-new/pdf_full_text.txt';
+
+async function main() {
+  const data = new Uint8Array(fs.readFileSync(pdfPath));
+  const loadingTask = pdfjsLib.getDocument({ data });
+  const pdf = await loadingTask.promise;
+  console.log('Total pages:', pdf.numPages);
+  
+  let allText = '';
+  for (let i = 1; i <= pdf.numPages; i++) {
+    const page = await pdf.getPage(i);
+    const content = await page.getTextContent();
+    const lines = [];
+    let lastY = null;
+    let currentLine = '';
+    for (const item of content.items) {
+      const y = Math.round(item.transform[5] * 10) / 10;
+      if (lastY !== null && Math.abs(y - lastY) > 5) {
+        if (currentLine.trim()) lines.push(currentLine);
+        currentLine = '';
+      }
+      currentLine += item.str;
+      lastY = y;
+    }
+    if (currentLine.trim()) lines.push(currentLine);
+    
+    const pageText = lines.join('\n');
+    allText += `\n===== PAGE ${i} =====\n${pageText}\n`;
+    console.log(`Page ${i}: ${pageText.length} chars`);
+  }
+  
+  fs.writeFileSync(outPath, allText, 'utf8');
+  console.log('Saved to', outPath);
+}
+
+main().catch(err => { console.error('ERROR:', err); process.exit(1); });

+ 40 - 0
extract_pdf_script.mjs

@@ -0,0 +1,40 @@
+import * as pdfjsLib from 'pdfjs-dist/build/pdf.mjs';
+import fs from 'fs';
+
+const pdfPath = 'd:/Users/chenjun/kyj-yanglao-web-new/src/views/elderly/apply/check-in/颐年集团养老服务合同-2026年6月终版docx.pdf';
+const outPath = 'd:/Users/chenjun/kyj-yanglao-web-new/pdf_full_text.txt';
+
+async function main() {
+  const data = new Uint8Array(fs.readFileSync(pdfPath));
+  const loadingTask = pdfjsLib.getDocument({ data });
+  const pdf = await loadingTask.promise;
+  console.log('Total pages:', pdf.numPages);
+  
+  let allText = '';
+  for (let i = 1; i <= pdf.numPages; i++) {
+    const page = await pdf.getPage(i);
+    const content = await page.getTextContent();
+    const lines = [];
+    let lastY = null;
+    let currentLine = '';
+    for (const item of content.items) {
+      const y = Math.round(item.transform[5] * 10) / 10;
+      if (lastY !== null && Math.abs(y - lastY) > 5) {
+        if (currentLine.trim()) lines.push(currentLine);
+        currentLine = '';
+      }
+      currentLine += item.str;
+      lastY = y;
+    }
+    if (currentLine.trim()) lines.push(currentLine);
+    
+    const pageText = lines.join('\n');
+    allText += `\n===== PAGE ${i} =====\n${pageText}\n`;
+    console.log(`Page ${i}: ${pageText.length} chars`);
+  }
+  
+  fs.writeFileSync(outPath, allText, 'utf8');
+  console.log('Saved to', outPath);
+}
+
+main().catch(err => { console.error('ERROR:', err); process.exit(1); });

+ 12 - 0
fix-contract.ps1

@@ -0,0 +1,12 @@
+$path = 'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+$content = Get-Content $path -Raw -Encoding UTF8
+
+$badPattern1 = '<template v-if="isTextMode"><span class="fill"><template v-if="isTextMode">(\{\{\s*contractForm\.\w+\s*\|\|\s*''[^'']*''\s*\}\})</template><input v-else v-model="(contractForm\.\w+)" class="text-input" placeholder="请输入" style="max-width: 180px;" /></span></template><input v-else v-model="contractForm\.\w+" class="text-input" placeholder="请输入" style="max-width: 180px;" />'
+$goodReplace1 = '<template v-if="isTextMode"><span class="fill">$1</span></template><input v-else v-model="$2" class="text-input" placeholder="请输入" style="max-width: 180px;" />'
+
+$matches1 = [regex]::Matches($content, $badPattern1)
+Write-Host "Fixing nested pattern 1: $($matches1.Count) places"
+$content = [regex]::Replace($content, $badPattern1, $goodReplace1)
+
+Set-Content $path $content -Encoding UTF8 -NoNewline
+Write-Host "Done"

+ 40 - 0
fix_contract2.py

@@ -0,0 +1,40 @@
+import re
+
+path = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+with open(path, 'r', encoding='utf-8') as f:
+    content = f.read()
+
+# 修复有 class="fill" 的双重嵌套:
+# <template v-if="isTextMode"><span class="fill"><template v-if="isTextMode">{{ contractForm.field || '___' }}</template><input v-else v-model="contractForm.field" class="text-input" placeholder="请输入" style="max-width: 180px;" /></span></template><input v-else v-model="contractForm.field" class="text-input" placeholder="请输入" style="max-width: 180px;" />
+# ->
+# <template v-if="isTextMode"><span class="fill">{{ contractForm.field || '___' }}</span></template><input v-else v-model="contractForm.field" class="text-input" placeholder="请输入" style="max-width: 180px;" />
+
+pattern_nested = r'<template v-if="isTextMode"><span class="fill"><template v-if="isTextMode">(\{\{\s*contractForm\.(\w+)\s*\|\|\s*\'[^\']*\'\s*\}\})</template><input v-else v-model="contractForm\.\w+" class="text-input" placeholder="请输入" style="max-width: 180px;" /></span></template><input v-else v-model="contractForm\.\w+" class="text-input" placeholder="请输入" style="max-width: 180px;" />'
+
+matches = re.findall(pattern_nested, content)
+print(f"Found nested fill patterns: {len(matches)}")
+
+def repl_nested(m):
+    inner_expr = m.group(1)  # {{ contractForm.field || '___' }}
+    field = m.group(2)  # field
+    return f'<template v-if="isTextMode"><span class="fill">{inner_expr}</span></template><input v-else v-model="contractForm.{field}" class="text-input" placeholder="请输入" style="max-width: 180px;" />'
+
+content_new = re.sub(pattern_nested, repl_nested, content)
+
+# 检查是否还有残余的双重嵌套问题
+remaining = re.findall(r'<template v-if="isTextMode"><span class="fill"><template', content_new)
+print(f"Remaining nested after fix: {len(remaining)}")
+
+# 检查是否还有未被正确替换的原始模式
+remaining_orig = re.findall(r"<span class=\"fill\">{{\s*contractForm", content_new)
+print(f"Remaining original fill patterns: {len(remaining_orig)}")
+
+# 检查未被正确替换的直接变量
+remaining_var = re.findall(r"[^>]\{\{\s*contractForm\.\w+\s*\|\|\s*'", content_new)
+print(f"Remaining raw variable patterns: {len(remaining_var)}")
+
+# 保存
+with open(path, 'w', encoding='utf-8') as f:
+    f.write(content_new)
+
+print("Done!")

+ 435 - 0
gen_contract.py

@@ -0,0 +1,435 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""生成完整的 ContractForm.vue 文件"""
+
+import sys
+import os
+
+output_path = r"d:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue"
+
+# ============================================================
+# 页面生成函数
+# ============================================================
+
+def page_wrapper(page_no, content):
+    return f'''      <!-- ========== 第{page_no}页 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">{page_no}</span></div>
+        <div class="page-content">
+{content}
+        </div>
+      </div>
+'''
+
+# ============================================================
+# 第1页:封面
+# ============================================================
+page1 = page_wrapper(1, '''          <div class="cover-page">
+            <p style="text-align: center; font-size: 14px;">合同编号:<span class="fill">{{ contractForm.contractNumber || '________________' }}</span></p>
+            <p style="text-align: center; font-size: 14px;">长者姓名:<span class="fill">{{ contractForm.elderName || '________________' }}</span></p>
+            <h1 class="doc-title" style="margin-top: 120px; text-align: center;">养老机构服务合同</h1>
+            <p style="text-align: center; margin-top: 80px; font-size: 18px;">颐年健康产业(集团)有限公司制定</p>
+          </div>''')
+
+# ============================================================
+# 第2页:重要提示
+# ============================================================
+page2 = page_wrapper(2, '''          <h2 class="section-title" style="text-align: center;">重要提示</h2>
+          <p class="content-text">为了维护您的利益,请您在签署本合同(本协议)前,仔细阅读如下注意事项:</p>
+          <p class="content-text">一、您已阅读本合同(协议)、补充协议及相关文件的所有条款,并已知悉其含义,同时对涉及贵方权利与义务的内容给予了充分的注意。</p>
+          <p class="content-text">二、您已确保提交的有关证件及资料是真实、合法、有效的。</p>
+          <p class="content-text">三、您已确保向合同(协议)签署相关方所作的陈述、健康状况披露及其他信息披露均完整、充分、真实。</p>
+          <p class="content-text">四、本合同(协议)所有条款均为签署方的真实意思表示。</p>''')
+
+# ============================================================
+# 第3页:甲乙丙方信息
+# ============================================================
+page3 = page_wrapper(3, '''          <h3 class="subsection-title">甲方(养老机构):</h3>
+          <p class="content-text">甲方运营机构:<span class="fill">{{ contractForm.partyAName || '颐年健康产业(集团)有限公司' }}</span></p>
+          <p class="content-text">统一社会信用代码:<span class="fill">{{ contractForm.partyACode || '________________' }}</span></p>
+          <p class="content-text">地址:<span class="fill">{{ contractForm.partyAAddr || '________________' }}</span> 邮编:<span class="fill">{{ contractForm.partyAPostcode || '______' }}</span></p>
+          <p class="content-text">法定代表人:<span class="fill">{{ contractForm.partyALegal || '________________' }}</span> 联系方式:<span class="fill">{{ contractForm.partyAPhone || '________________' }}</span></p>
+          <h3 class="subsection-title" style="margin-top: 20px;">乙方(入住老年人)</h3>
+          <p class="content-text">姓名:<span class="fill">{{ contractForm.elderName || '________' }}</span> 性别:<span class="fill">{{ contractForm.elderGender || '□男 □女' }}</span> 出生年月日:<span class="fill">{{ contractForm.elderBirth || '____年__月__日' }}</span></p>
+          <p class="content-text">证件类型:□居民身份证 □户口本 □护照 □港澳居民来往内地通行证 □台湾居民来往大陆通行证 □其他</p>
+          <p class="content-text">证件号码:<span class="fill">{{ contractForm.elderIdCard || '________________' }}</span> 联系方式:<span class="fill">{{ contractForm.elderPhone || '________________' }}</span></p>
+          <p class="content-text">家庭地址:<span class="fill">{{ contractForm.elderHomeAddr || '________________' }}</span></p>
+          <p class="content-text">户籍所在地:<span class="fill">{{ contractForm.elderNativeAddr || '________________' }}</span> 邮编:<span class="fill">{{ contractForm.elderPostcode || '______' }}</span></p>
+          <h3 class="subsection-title" style="margin-top: 20px;">丙方(老年人家属/监护人,担保人/委托代理的个人或组织)</h3>
+          <p class="content-text">姓名:<span class="fill">{{ contractForm.partyCName || '________' }}</span> 性别:<span class="fill">{{ contractForm.partyCGender || '□男 □女' }}</span> 出生年月:<span class="fill">{{ contractForm.partyCBirth || '________年__月' }}</span></p>
+          <p class="content-text">与乙方关系:□监护人、家属(付款义务人)□负有连带责任的担保人 □委托代理人(紧急联系人)□其他(请填写:<span class="fill">{{ contractForm.partyCRelationOther || '________' }}</span>)</p>
+          <p class="content-text">证件类型:□居民身份证 □户口本 □护照 □港澳居民来往内地通行证 □台湾居民来往大陆通行证 □其他</p>
+          <p class="content-text">证件号码:<span class="fill">{{ contractForm.partyCIdCard || '________________' }}</span> 联系方式:<span class="fill">{{ contractForm.partyCPhone || '________________' }}</span></p>
+          <p class="content-text">住所(址):<span class="fill">{{ contractForm.partyCAddr || '________________' }}</span></p>
+          <p class="content-text">户籍所在地:<span class="fill">{{ contractForm.partyCNativeAddr || '________________' }}</span> 邮编:<span class="fill">{{ contractForm.partyCPostcode || '______' }}</span></p>
+          <p class="content-text">工作单位:<span class="fill">{{ contractForm.partyCWorkUnit || '________________' }}</span></p>
+          <p class="content-text">通信地址:<span class="fill">{{ contractForm.partyCCommAddr || '________________' }}</span></p>
+          <p class="content-text" style="margin-top: 20px;">(若乙方属于限制民事行为能力或者无民事行为能力的入住老年人,须由监护人签字确认)</p>''')
+
+# ============================================================
+# 第4页:鉴于条款 + 第一条 服务内容
+# ============================================================
+page4 = page_wrapper(4, '''          <h3 class="subsection-title">鉴于:</h3>
+          <p class="content-text">1、甲方是依法成立的养老机构,能够提供个人生活照料、康复护理、精神慰藉、文化娱乐等养老服务;</p>
+          <p class="content-text">2、乙方和丙方经实地考察甲方,自愿决定乙方入住甲方开办的养老机构,接受甲方提供的专业养老服务,并向甲方支付相应费用;</p>
+          <p class="content-text">3、乙方授权丙方作为乙方在紧急情况下的代理人、联系人,代为处理乙方在本合同项下的相关事务,丙方同意接受乙方授权并作为乙方履行本合同义务的保证人。</p>
+          <p class="content-text">4、接收条件:乙方保证无精神病,无传染性疾病,无吸毒嗜好,无自杀、自残、攻击他人等危害自身、他人和公共安全的精神性障碍或缺陷,并且适应集体生活;</p>
+          <p class="content-text">为了营造温馨、舒适、安全的生活环境,满足老年人"老有所养、老有所乐"的需要,切实保障老年人的合法权益,同时明确各自的权利义务,甲、乙、丙三方根据《中华人民共和国民法典》《中华人民共和国老年人权益保障法》《广东省养老服务条例》《广州市养老服务条例》和《养老机构管理办法》等有关法律、法规的规定,甲方、乙方、丙方本着平等、自愿、公平、诚实守信的原则,经友好协商,就甲方为乙方提供养老服务事宜达成一致,签订本合同。</p>
+          <h2 class="section-title">第一条 服务内容</h2>
+          <p class="content-text">1.甲方按照约定向乙方提供生活照料、康复护理、精神慰藉、文化娱乐等服务。甲方提供的服务应当符合法律法规规章和国家强制性标准《养老机构服务安全基本规范》要求,并积极适用行业和地方标准。</p>
+          <p class="content-text">2.甲方应该依据广州市老年人照护需求综合评估规范,对乙方进行照护需求等级评估,根据评估结果和乙方提供的《体检报告》,经与乙方或丙方商定后,确定乙方照护等级,并由甲方按照约定的《护理等级与服务项目》(附件)为乙方提供相应服务。</p>''')
+
+# ============================================================
+# 第5页:服务内容详情 + 第二条 服务地点及设施
+# ============================================================
+page5 = page_wrapper(5, '''          <p class="content-text">2.1 根据乙方提供的《体检报告》、《入住登记表》(见本合同附件)及甲方对乙方进行护理等级首评,确定乙方护理级别为:<span class="fill">{{ contractForm.nurseLevelName || '________' }}</span>,甲方向乙方提供的护理等级服务项目详见本合同附件《护理等级与服务项目》。</p>
+          <p class="content-text">2.2 因老年人护理等级评估涉及到乙方的日常生活、精神状态、感知觉与沟通、社会参与等各方面的评估,甲方为真实反映乙方的实际生活能力,入住满1个月时会根据老年人实际生活情况进行护理等级复评,如果复评与首评的护理等级一致,则按照首评护理等级服务项目进行收费和服务;如果复评与首评的护理等级不一致,则按照复评结果调整护理等级,并调整服务项目的收费和服务内容,甲方应通知乙方、丙方签订书面补充协议进行护理等级变更。</p>
+          <p class="content-text">2.3 因老年人的身体机能处在不断的变化中,每入住半年或根据老年人身体变化需要,甲方会对乙方护理等级进行动态评估,如护理等级有调整,则按照新的护理等级服务项目进行收费和服务,并签订书面补充协议。</p>
+          <p class="content-text">3.在本合同履行过程中,乙方或丙方如果选择《护理等级与服务项目》以外的其他服务项目,经当事人协商一致后另行签署书面补充协议确定。</p>
+          <h2 class="section-title">第二条 服务地点及设施</h2>
+          <p class="content-text">1.经协商,确定本合同期限为<span class="fill">{{ contractForm.contractTerm || '____' }}</span>个月,自<span class="fill">{{ contractForm.startDate || '____年__月__日' }}</span>起至<span class="fill">{{ contractForm.endDate || '____年__月__日' }}</span>止。</p>
+          <p class="content-text">2.甲方为乙方提供养老服务的地点为:<span class="fill">{{ contractForm.servicePlace || '颐年集团养老服务机构' }}</span>。</p>''')
+
+# ============================================================
+# 第6页:服务地点设施继续 + 第三条 收费标准
+# ============================================================
+page6 = page_wrapper(6, '''          <p class="content-text">3.乙方或丙方为乙方选择入住的房间类型为(在以下几种情况中选择一种):</p>
+          <p class="content-text">□单间 □双人间 □三人间 □多人间(四人以上六人以下,含四人、六人) □其他(套房等)。</p>
+          <p class="content-text">4.乙方或丙方为乙方选择的具体房间为:<span class="fill">{{ contractForm.roomNumber || '________________' }}</span>。</p>
+          <p class="content-text">5.乙方或丙方基于正当理由要求调整房间的,甲方在条件许可的范围内应尽量满足。若因房间变化,需要相应调整费用的,应由各方协商一致书面确认后调整,如各方不能达成一致意见书面确认,则仍依本合同约定房间履行。</p>
+          <p class="content-text">6.甲方提供的服务设施除了住宿的房屋,还包括房间内生活起居必要的基础设施及其他公共设施。</p>
+          <h2 class="section-title">第三条 收费标准及费用支付方式</h2>
+          <p class="content-text">1.甲方的收费标准和调整应遵守养老机构服务收费管理的相关规定,不得违规收取大额预付费、向服务对象兜售保健品,不得以许诺还本付息或者给予其他投资回报、虚假夸大宣传、承诺明显低于市场价入住、折扣返利等与事实不符的条件诱导乙方或丙方交纳费用。</p>
+          <p class="content-text">2.甲方提供的各种服务项目的收费标准和收费依据应在养老机构内公共区域显著位置进行公示,并以公共区域或网络方式方式(养老机构网站、政府部门有关网站等)进行线上公示,服务项目及其收费标准应作为本合同附件。</p>
+          <p class="content-text">3.根据本合同第一条、第二条乙方选择的房间、照护等级及服务项目,各方共同确认,乙方入住甲方需支付的养老服务费用具体如下:</p>
+          <p class="content-text">(1)养老服务费用为:<span class="fill">{{ contractForm.totalFee || '____' }}</span>元/月。</p>
+          <p class="content-text">其中:</p>''')
+
+# ============================================================
+# 第7页:费用明细
+# ============================================================
+page7 = page_wrapper(7, '''          <p class="content-text">床位费:<span class="fill">{{ contractForm.bedFee || '____' }}</span>元/月;</p>
+          <p class="content-text">护理费:<span class="fill">{{ contractForm.nurseFee || '____' }}</span>元/月;</p>
+          <p class="content-text">伙食费:<span class="fill">{{ contractForm.mealFee || '____' }}</span>元/月;</p>
+          <p class="content-text">其他费用:</p>
+          <p class="content-text">1)水电费:超出床位费包含的每人每月<span class="fill">{{ contractForm.waterFreeKwh || '____' }}</span>千瓦时电和<span class="fill">{{ contractForm.waterFreeCube || '____' }}</span>立方冷水的免费额度后,超出部分按实际支出进行对应房型具体入住床数进行均摊收取。超出部分收费标准为:热水<span class="fill">{{ contractForm.hotWaterPrice || '____' }}</span>元/立方;冷水<span class="fill">{{ contractForm.coldWaterPrice || '____' }}</span>元/立方;电<span class="fill">{{ contractForm.electricPrice || '____' }}</span>元/千瓦时;</p>
+          <p class="content-text">2)诊查费:<span class="fill">{{ contractForm.checkFee || '____' }}</span>元/月</p>
+          <p class="content-text">出现合同中止或终止情形的,扣除实际入住天数产生的费用后予以退款。</p>
+          <p class="content-text">(2)一次性收取的费用(如有请填写)。</p>
+          <p class="content-text">①一次性设施设备费 <span class="fill">{{ contractForm.oneTimeFacilityFee || '/' }}</span>元,收取的期限自 <span class="fill">{{ contractForm.oneTimeFacilityStartY || '/' }}</span>年<span class="fill">{{ contractForm.oneTimeFacilityStartM || '/' }}</span>月<span class="fill">{{ contractForm.oneTimeFacilityStartD || '/' }}</span>日至<span class="fill">{{ contractForm.oneTimeFacilityEndY || '/' }}</span>年<span class="fill">{{ contractForm.oneTimeFacilityEndM || '/' }}</span>月<span class="fill">{{ contractForm.oneTimeFacilityEndD || '/' }}</span>日(建议时长不超过3年)。出现合同中止或终止情形的,扣除实际入住天数产生的费用后,按照以下标准予以退款:<span class="fill">{{ contractForm.oneTimeRefundRule || '/' }}</span>。</p>
+          <p class="content-text">②押金(如有请填写押金类型:履约及医疗保证金):<span class="fill">{{ contractForm.deposit || '____' }}</span>元。出现合同中止情形的,予以全额退还(<span style="font-family: serif;">☑</span>押金不计利息 □押金计利息,计息标准为:<span class="fill">{{ contractForm.depositInterest || '无' }}</span>)。</p>
+          <p class="content-text">合同期限内出现押金不足时,乙方或丙方应在接到甲方通知之日起5日内补足。涉及退款的,在出现合同中止或终止情形后,双方进行结算,经双方确认无误之日起15个工作日内将资金退给付款方。</p>
+          <p class="content-text">4.定期支付的费用按第 <span class="fill">{{ contractForm.payMethod || '1' }}</span> 种方式支付:</p>
+          <p class="content-text">(1)按月支付(每月5日前支付下一个月费用);</p>
+          <p class="content-text">(2)按季度支付(每季度第/__个月的/__日前支付当季费用);</p>''')
+
+# ============================================================
+# 第8页:支付方式继续 + 第四条 甲方权利义务
+# ============================================================
+page8 = page_wrapper(8, '''          <p class="content-text">(3)其它:<span class="fill">{{ contractForm.payOther || '/' }}</span>。</p>
+          <p class="content-text">5.甲方指定的收款账户信息如下:</p>
+          <p class="content-text">户名:<span class="fill">{{ contractForm.payeeName || '________________' }}</span></p>
+          <p class="content-text">开户银行:<span class="fill">{{ contractForm.payeeBank || '________________' }}</span></p>
+          <p class="content-text">账号:<span class="fill">{{ contractForm.payeeAccount || '________________' }}</span></p>
+          <p class="content-text">6.乙方或丙方指定的付款账户信息如下:</p>
+          <p class="content-text">户名:<span class="fill">{{ contractForm.payerName || '________________' }}</span></p>
+          <p class="content-text">开户银行:<span class="fill">{{ contractForm.payerBank || '________________' }}</span></p>
+          <p class="content-text">账号:<span class="fill">{{ contractForm.payerAccount || '________________' }}</span></p>
+          <p class="content-text">7.乙方接受甲方除本合同约定外的其他服务项目的,应根据甲方公示的收费标准和补充合同的约定交纳费用。</p>
+          <p class="content-text">8.甲方每月向乙方或丙方提供《个人费用明细表》,乙方或丙方应签字确认。乙方或丙方如有异议,可在收到《个人费用明细表》后7日内书面提出,甲方应做出书面说明。</p>
+          <p class="content-text">对于双方无争议费用金额应按照本合同约定时间支付,乙方或丙方不得以异议费用为由拒绝支付有关费用。</p>
+          <p class="content-text">9.乙方、丙方共同承担向甲方支付本合同约定价款的义务。</p>
+          <p class="content-text">10.甲方在收到款项后应向付款人开具等额的合法收费发票。</p>
+          <h2 class="section-title">第四条 甲方权利及义务</h2>
+          <p class="content-text">1.甲方权利</p>
+          <p class="content-text">1.1 有权按照本合同约定收取相关费用。</p>
+          <p class="content-text">1.2 制订、修改养老机构的管理制度并按照公开的管理制度对乙方进行管理。</p>
+          <p class="content-text">1.3 为了乙方的健康和安全,乙方出现紧急情况时,有权在通知乙方或丙方同意的同时,采取必要的处置措施,包括但不限于转送医疗机构,由此产生的费用由乙方或丙方承担。</p>''')
+
+# ============================================================
+# 第9页:甲方权利义务继续
+# ============================================================
+page9 = page_wrapper(9, '''          <p class="content-text">1.4 如乙方的身体状况、生活自理能力出现变化,由甲方根据对乙方护理等级评价另行确定护理等级,相关费用随之进行调整,如一周联系不上丙方,甲方有权根据乙方所需服务项目的变化情况在押金中先扣除,不足部分甲方仍有权要求乙方和丙方支付所产生变化的费用,由乙方和丙方按甲方制定的标准支付。</p>
+          <p class="content-text">1.5 乙方入住后因精神、情绪、心理、性格、生活习惯等原因不适宜院内生活的,经甲方努力,仍无改善的,为维护乙方及院内其他老人的权利,甲方有权要求丙方在两天内为乙方办理退院或转院手续,丙方必须积极配合,做好安抚工作,对此甲方无需承担任何责任。</p>
+          <p class="content-text">1.6 如乙方患病需要去医院治疗时,甲方本着人道主义,有权紧急处置,所涉及的各项费用由乙方和丙方承担。如乙方需甲方提供住院期间陪护服务,相关费用由乙方和丙方承担,具体陪护事宜由当事人协商一致后另行签署书面协议确定。</p>
+          <p class="content-text">1.7 有权依照本合同约定及法律规定解除合同。</p>
+          <p class="content-text">2.甲方义务</p>
+          <p class="content-text">2.1 甲方应是依法成立的养老机构,应履行养老机构备案承诺,按照建筑、消防、食品安全、医疗卫生、特种设备等法律、法规和强制性标准及服务安全相关规范要求开展服务活动,确保按约定向乙方提供符合服务质量标准的养老服务;建立各类安全、疫情防控等应急预案,并应定期对应急预案进行演练。</p>
+          <p class="content-text">2.2 应当提供符合乙方住宿条件的居住用房,并配备适合乙方安全保护要求的设施、设备及用具,定期对乙方的活动场所和物品进行消毒和清洗;甲方提供的饮食应当符合食品安全要求、适宜乙方食用、有利于乙方营养平衡和身体健康。</p>''')
+
+# ============================================================
+# 第10页:甲方义务继续
+# ============================================================
+page10 = page_wrapper(10, '''          <p class="content-text">2.3 应当根据登记类型、经营性质、运营方式、设施设备条件、管理水平、服务质量、照料护理等级等因素合理确定服务项目收费标准,调整收费标准时应遵守国家、省和广州市价格管理的有关规定。</p>
+          <p class="content-text">2.4 应保证从事医疗、康复、消防等服务人员符合资质要求,保证养老护理人员接受专业技能培训,并定期组织工作人员进行职业道德教育和业务培训,能够满足岗位职责要求。</p>
+          <p class="content-text">2.5 在提供服务过程中,甲方及其工作人员应尊重乙方,尽力合理地保障乙方的人格尊严和人身、财产安全,并接受乙方、丙方的合理建议和监督。</p>
+          <p class="content-text">2.6 应当根据需要为乙方提供情绪疏导、心理咨询、危机干预等精神慰藉服务;应当开展适合老年人的文化、教育、体育、娱乐活动,丰富老年人的精神文化生活。甲方开展文化、教育、体育、娱乐活动时,应当为乙方提供必要的安全防护措施。</p>
+          <p class="content-text">2.7 定期组织所在地的医疗机构为乙方开展体检并建立个人健康档案。妥善保存乙方的入住登记表、体检报告等健康资料以及日常经费开支情况等个人信息。应当建立各类信息资料档案的保管、归档和保密制度,除向乙方、丙方和其他有权部门(公安局、检察院、法院、纪委监察、养老服务行业主管部门因办案、监督、检查需要)提供查阅、允许复制外,不得对外透露。</p>
+          <p class="content-text">2.8 发现乙方为疑似传染病病人或者精神障碍患者时,应依照传染病防治、精神卫生等相关法律法规的规定处理,及时向附近的疾病预防控制机构或者医疗机构报告,配合实施卫生处理、隔离等预防控制措施,并及时通知丙方。乙方需要外出就医的,甲方应及时告知丙方并由有相关义务的丙方亲自携带乙方就诊,丙方确实未能亲自携带乙方就诊的,应通过委托办理等方式作出妥善安排。</p>''')
+
+# ============================================================
+# 第11页:甲方义务继续 + 第五条 乙方权利义务
+# ============================================================
+page11 = page_wrapper(11, '''          <p class="content-text">2.9 应当为乙方家庭成员看望或者问候老年人提供便利,为乙方联系家庭成员提供帮助;但不得影响甲方对于乙方正常服务运营或执行政府部门规定的疫情防控等管理要求,否则甲方有权拒绝。</p>
+          <p class="content-text">2.10 在发生公共卫生事件等特殊情况下,甲方应贯彻执行政府部门的防控政策规定,积极落实防控措施,并向乙方或丙方做好解释工作。</p>
+          <p class="content-text">2.11 甲方暂停、终止服务的,应当在暂停或终止服务60日前,书面通知乙方或丙方,并向社会公告;将入住老年人的安置方案书面告知甲方所在地的区民政部门。在解散清算前,甲方应当依法妥善安置乙方。如乙方或丙方有意与其他养老机构签订服务协议的,甲方应当积极为乙方联系与甲方具有同等资质和服务水平的养老服务机构,努力促进双方建立合同;如乙方或丙方需解除或终止服务协议的,甲方应当退还乙方或丙方剩余未消费或合同约定的有关费用。</p>
+          <p class="content-text">2.12 当乙方出现紧急情况时,应及时联系和通知丙方。</p>
+          <p class="content-text">2.13 在甲方服务期间,经鉴定乙方正常死亡的,甲方应及时与丙方取得联系。无法与丙方取得联系的且机构内不具备遗体保存条件,可严格按照规定要求使用《广州市养老机构死亡报告书》并对接殡仪馆,妥善保存遗体。</p>
+          <p class="content-text">2.14 乙方符合长期护理保险等申报条件的,甲方应积极为其申请。</p>
+          <p class="content-text">2.15 乙方入住养老机构、请假外出、终止合同离院和去世,甲方应及时在广州市为老服务综合平台填报有关信息。</p>
+          <h2 class="section-title">第五条 乙方权利及义务</h2>
+          <p class="content-text">1.乙方的权利</p>
+          <p class="content-text">1.1 享有隐私权,人格尊严和人身、财产安全不受非法侵害的权利。</p>''')
+
+# ============================================================
+# 第12-13页:乙方+丙方权利义务
+# ============================================================
+page12 = page_wrapper(12, '''          <p class="content-text">1.2 有权按照约定的服务项目获得甲方提供的符合服务标准的养老服务,对甲方的服务有批评建议的权利。</p>
+          <p class="content-text">1.3 对自身的健康状况、费用支出、入院记录等有知情权,有权查阅、复印甲方为其建立的个人档案。</p>
+          <p class="content-text">1.4 有权了解提供服务的人员是否经过专业培训,是否具备相应资质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合格的人员。</p>
+          <p class="content-text">1.5 在突发疾病的情况下乙方有权获得及时、必要的医疗帮助。</p>
+          <p class="content-text">2.乙方的义务</p>
+          <p class="content-text">2.1 应当按照约定自行或与丙方共同支付养老服务费及相关费用。</p>
+          <p class="content-text">2.2 应当按照约定提供相关的体检报告,如实告知甲方本人的健康状况、药品使用情况及过往病史等信息,并如实填写《入住登记表》。</p>
+          <p class="content-text">2.3 应当配合甲方做好持续评估及确认照护等级;配合甲方定期参加体检。</p>
+          <p class="content-text">2.4 应当与其他入住老年人和谐相处。</p>
+          <p class="content-text">2.5 在接收甲方提供的养老服务期间,因疾病进行诊疗时,应在治疗期间遵守医嘱,配合治疗。</p>
+          <p class="content-text">2.6 应当服从甲方管理,遵守甲方的规章制度,维护养老机构正常服务秩序,爱护甲方提供的各项服务设施,入住期间损坏甲方设施设备的,乙方或丙方应当予以赔偿。损坏有关服务设施的赔偿价格可与甲方协商约定。</p>
+          <p class="content-text">2.7 对于甲方提供的其他符合合同约定、法律规定的养老服务,乙方应予配合甲方的服务工作。</p>
+          <h2 class="section-title">第六条 丙方权利及义务</h2>
+          <p class="content-text">1.丙方的权利</p>
+          <p class="content-text">1.1 对乙方有探视权,但不得影响甲方对乙方的正常服务管理和执行政府部门规定的疫情防控等管理要求。</p>
+          <p class="content-text">1.2 对乙方的健康状况、享受服务情况、费用支出、入院记录等有知情权,有权查阅、复印甲方为乙方建立的个人档案。</p>''')
+
+page13 = page_wrapper(13, '''          <p class="content-text">1.3 有权了解提供服务的人员是否经过专业培训,是否具备相应资质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合格的人员;有权对甲方的服务提出批评建议。</p>
+          <p class="content-text">1.4 遇紧急情况,包括但不限于乙方走失、身体健康状况出现紧急情况时,有权及时从甲方得到相关信息。</p>
+          <p class="content-text">2.丙方的义务</p>
+          <p class="content-text">2.1 乙方入住前,丙方要如实向甲方反映乙方的情况,如脾气秉性、家庭成员、既往病史、健康状况和药品使用情况等,协助乙方如实填写《入住登记表》。</p>
+          <p class="content-text">2.2 劝导乙方入住后自觉遵守养老机构的规章制度,接受管理,爱护甲方提供的各项服务设施,乙方违反本合同约定或甲方制定的规章制度,造成甲方损失或第三人人身、财产损害的,乙方需承担赔偿责任,负有付款义务或连带责任的丙方应当承担有关赔偿责任。</p>
+          <p class="content-text">2.3 应劝导乙方与其他入住老年人和谐相处,并经常与乙方沟通,保持联络,满足乙方的精神需求。</p>
+          <p class="content-text">2.4 应劝导乙方在接收甲方提供的养老服务期间,因疾病进行诊疗时,应在治疗期间遵守医嘱,配合治疗。乙方需外出就医的,负有相关义务的丙方应当及时携乙方到医院就诊,并向甲方如实告知乙方的就医情况。</p>
+          <p class="content-text">2.5 按时足额向甲方支付约定的养老服务费、保证金及相关费用。</p>
+          <p class="content-text">2.6 丙方的家庭及单位地址、联系方式变更时,应及时通知甲方。</p>
+          <p class="content-text">2.7 及时协助甲方处理乙方出现的紧急情况。当甲方按照第合同约定处理时,负有付款义务或连带责任的丙方应当及时足额支付由此产生的费用。</p>
+          <p class="content-text">2.8 乙方在养老机构去世的,丙方应及时进行善后处理并解决费用问题。</p>
+          <h2 class="section-title">第七条 合同的续签</h2>
+          <p class="content-text">1.合同期满前30日,乙方或丙方可向养老机构申请续签合同。</p>
+          <p class="content-text">2.续签的养老服务合同内容应当由甲方、乙方和丙方协商确定。</p>
+          <p class="content-text">3.如果乙方或丙方未在合同期限届满前30日提出续签合同,或者乙方或丙方虽在合同期限届满前30日提出续签合同申请,但各方未就合同续签达成一致,乙方应于合同到期后3日内搬离甲方,办理离院手续并结清所有费用。</p>''')
+
+# ============================================================
+# 第14-15页:第八条 变更和解除
+# ============================================================
+page14 = page_wrapper(14, '''          <h2 class="section-title">第八条 合同的变更和解除</h2>
+          <p class="content-text">1.合同的变更</p>
+          <p class="content-text">1.1 根据乙方健康状况的变化以及护理等级的评估结果,乙方、丙方可以要求甲方变更服务方案,甲方亦可以提出变更服务方案,并以书面形式通知乙方及丙方。任何一方要求变更服务方案的,需经甲方、乙方、丙方三方协商一致,签署补充协议。</p>
+          <p class="content-text">若甲方提出变更服务方案,乙方或丙方收到甲方变更服务方案的书面通知后7日内既不确认又不提出异议,但乙方实际接受甲方提供的相应服务的,视为甲、乙、丙三方就合同约定的服务项目的变更达成一致,乙方或丙方有义务按照新的服务项目支付相应的服务费用。</p>
+          <p class="content-text">若乙方或者丙方提出变更方案,甲方应在收到其变更服务方案的要求后30日内会同乙方或者丙方进行研究确定,变更方案符合有关规定和实际情况的,甲方应予以采纳。经沟通未能达成一致意见的,甲方有义务应向乙方或丙解释不采纳其变更方案的理由和依据,乙方或丙方仍不能接受的,可向属地民政部门反映或向司法部门起诉。</p>
+          <p class="content-text">如果根据乙方健康状况的变化以及护理等级的评估结果,不调整服务项目将导致乙方的健康安全无法保障的,甲方提出变更的服务方案后,乙方或丙方既不同意,也不接受实际服务,甲方、乙方或丙方均有权解除本合同。</p>
+          <p class="content-text">当食品材料市场价格发生重大变化,致使甲方服务成本急剧上升(单项价格变动幅度超过6%)时,甲方可适当调整伙食费收费标准,将价格调整的通知在调价前30日以书面形式通知乙方及丙方,并签订补充合同。</p>
+          <p class="content-text">乙方或丙方对价格调整有异议的,可在收到通知后15日内以书面形式提出解除合同;乙方或丙方要求继续按照原收费标准履行合同的,甲方有权提出解除合同。</p>
+          <p class="content-text">乙方或丙方收到通知后15日内不以书面形式提出异议,但拒绝根据调整后的价格支付相关费用的,甲方有权解除合同并按照原收费标准收取已提供服务的费用。</p>
+          <p class="content-text">2.合同的解除</p>
+          <p class="content-text">2.1 除本合同另有约定外,下列情况下,乙方或丙方可以单方解除本合同,并无需承担违约责任:</p>''')
+
+page15 = page_wrapper(15, '''          <p class="content-text">(1)甲方提供的服务不符合合同约定,经乙方或丙方提出,30日内不改正的;</p>
+          <p class="content-text">(2)因甲方或甲方工作人员的严重过错造成乙方人身或重大财产损害的;</p>
+          <p class="content-text">(3)乙方因疾病或其他个人原因离院的,但乙方或丙方不提出解除本合同而要求保留床位或房间的除外;乙方因疾病需要长期住院治疗(凭7天内住院证明)或去世解除合同的,免收违约金;</p>
+          <p class="content-text">(4)履行合同过程中,乙方或丙方提前30日书面通知甲方并结清服务费用的;</p>
+          <p class="content-text">(5)乙方首次入住15日内不适应居住环境或管理方式的,乙方可以单方面解除本合同,并无需承担违约责任。</p>
+          <p class="content-text">2.2 除本合同另有约定外,下列情况下,甲方可以单方解除本合同,并无须承担违约责任:</p>
+          <p class="content-text">(1)乙方或丙方无故拖欠各项费用超过15日,经甲方书面催告后7日内仍不交纳的,甲方有权解除合同,并书面通知乙方搬出养老机构。乙方在甲方发出书面解除合同通知后7日内仍不搬出的,甲方有权提起诉讼,请求法院确认合同解除。乙方和丙方除应支付拖欠的服务费用,诉讼期间的养老服务费用以外,还应每天支付应付未付费用金额的1‰违约金,并负担甲方由此产生的一切费用(包括但不限于诉讼费、甲方聘请律师的实际支出、搬出费用)等。</p>
+          <p class="content-text">(2)乙方严重违反甲方的规章制度,造成甲方难以履行对乙方的养老服务,或造成其他入住老人伤害或存在可能造成他人伤害危险的。需对有关事实进行甄别的,可提请属地民政部门或委托第三方协助认定。</p>
+          <p class="content-text">(3)乙方或丙方隐瞒乙方健康状况,或者乙方患有须隔离治疗的传染性疾病或者患有精神疾病等其他不适宜在机构内集中生活的。</p>
+          <p class="content-text">(4)发生不可抗力致甲方不能履行合同的。</p>
+          <p class="content-text">(5)甲方因丧失养老机构执业资格等原因暂停、终止服务的。甲方应当于暂停或者终止服务60日前向实施许可或备案的属地民政部门提交老年人安置方案,经批准后方可解除养老机构服务合同。</p>
+          <p class="content-text">(6)乙方连续请假外出超过90天(限期不得少于30天)。请假期间,因病情严重需要医治或疫情防控等管理要求,乙方无法返院或甲方不具备返院条件的情形除外。</p>
+          <p class="content-text">(7)丙方与甲方中断联系达到30天的,甲方有权选择单方解除合同。</p>
+          <p class="content-text">2.3 除本合同另有约定外,下列情况下,乙方提前终止合同的,按照以下约定执行:</p>
+          <p class="content-text">如乙方提前解除合同(除因疾病需长期住院治疗、去世解除合同外),须提前30天书面向甲方提出申请,经甲方批准后方可办理离院手续,乙方应按照本月实际享受服务天数结算本月床位费、护理费、膳食费、管理费、水电费等费用,并按照附件《服务项目收费标准》中乙方所定房型向甲方缴纳一个月床位费的违约金。</p>''')
+
+# ============================================================
+# 第17-19页:第九条 违约责任 + 第十条 第十一条
+# ============================================================
+page17 = page_wrapper(17, '''          <h2 class="section-title">第九条 违约责任</h2>
+          <p class="content-text">1.因甲方及其工作人员的过错,损害乙方人身或财产权利的,由甲方承担赔偿责任。</p>
+          <p class="content-text">2.甲方服务人员资质不合格、没有按约定提供服务或者提供的服务不合格,造成乙方人身或财产损失的,甲方应当承担赔偿责任。</p>
+          <p class="content-text">3.甲方或其工作人员侵犯乙方、丙方对甲方提供的养老服务的知情权的,乙方和丙方有权要求甲方改正,造成损失的甲方应承担赔偿责任。</p>
+          <p class="content-text">4.如果乙方或丙方无故拖欠各项费用超过15日,经甲方发出催告通知后7日内仍不交纳的,甲方有权解除合同,书面通知乙方和丙方,要求乙方出院。如果乙方在甲方发出解除合同通知后7日内仍不出院,甲方有权强制要求乙方出院或者送回乙方或丙方住所。此种情况下解除合同,乙方及丙方除应支付拖欠的费用外,还应每天支付应付未付费用金额的1‰违约金,并负担甲方由此产生的一切费用(包括但不限于诉讼费、甲方聘请律师的实际支出、搬出费用)等;</p>
+          <p class="content-text">5.乙方或丙方未将乙方健康状况、用药情况及过往病史如实告知甲方,造成甲方在提供服务过程中护理失当的,由乙方或丙方承担相应的后果。</p>
+          <p class="content-text">6.乙方需外出就医的,甲方履行告知义务,乙方拒绝外出就医或丙方拒绝及时携乙方到医院就诊而造成的后果,由乙、丙方自行承担。</p>
+          <p class="content-text">7.甲方没有过错,因乙方原因造成其自身损害的,由乙方、丙方自行承担全部后果和责任。</p>
+          <p class="content-text">8.因乙方原因造成甲方或第三人人身或财产损失的,乙方、丙方应承担赔偿责任。</p>
+          <p class="content-text">9.签订养老服务合同后,乙方未按照合同约定时间入住的,按照以下约定办理:因紧急住院治疗无法按期办理且向公办养老机构提出由医疗机构出具的诊断结论的,由公办养老机构适当延长其资格核实、办理入住手续期限。</p>
+          <p class="content-text">10.本合同提前终止或服务期满后,乙方逾期搬离甲方养老机构的,按乙方在服务期满前一个月的养老服务费用标准的1.5倍按日计付养老服务费用,直至办理完毕离院手续并搬离甲方养老机构之日止。</p>''')
+
+page19 = page_wrapper(19, '''          <p class="content-text">11.甲方按本合同约定应承担赔偿责任的,赔偿限额以甲方实际收费为限。</p>
+          <h2 class="section-title">第十条 通知与送达</h2>
+          <p class="content-text">1.在本合同首页中所标明的甲方、乙方和丙方的地址和联系方式为各方各自有效的通讯地址和联系方式。一方变更通讯地址和联络方式应及时通知其他各方。</p>
+          <p class="content-text">2. 以下情形,视为送达,但受送达人有证据证明其因客观原因未实际接收到通知的除外:</p>
+          <p class="content-text">以特快专递形式发送,已经签收的,以签收日为送达日;未签收的,同城自发送之日起2日视为文件已经送达,异地5日视为送达,境外15日视为送达;以手机短信发送的,发送成功即视为送达;电子邮件自发出后进入收件方邮箱服务器视为送达;传真发送自对方传真机接收视为送达。</p>
+          <p class="content-text">因受送达人通讯地址或其他相关信息错误、不详或发生变更未及时通知其他各方造成无法送达的,由受送达人自行承担相关后果。</p>
+          <p class="content-text">3.乙方入住甲方期间,有关本合同的履行事宜甲方应以书面或数据电文形式通知乙方或丙方,由乙方或丙方确认签收;乙方或丙方拒签的,书面通知在第三方见证下送至收件人地址的视为已通知或已送达,数据电文进入收件人接收系统的视为已通知或已送达。</p>
+          <h2 class="section-title">第十一条 陈述与保证</h2>
+          <p class="content-text">1.甲方保证为依照法律、行政法规设立并依法登记的养老机构,具有提供本合同约定的养老服务的资格和能力。</p>
+          <p class="content-text">2.乙方或丙方保证乙方不属于患有精神病、甲类或乙类传染性疾病等不符合入住养老机构疾病的老年人。</p>''')
+
+# ============================================================
+# 第20页:第十二条 特别约定
+# ============================================================
+page20 = page_wrapper(20, '''          <p class="content-text">3.乙方或丙方保证向甲方提供乙方在本协议签署前1个月内在甲方所在地二级甲等以上医院进行体检的《体检报告》(体检项目包括:精神健康状况、传染性疾病及养老机构要求的其他体检项目等)(作为本合同附件)。</p>
+          <p class="content-text">4.乙方或丙方保证向甲方提供的乙方或丙方共同签字的《入住登记表》(作为本协议附件)是真实的,没有任何虚假或隐瞒。</p>
+          <p class="content-text">5.丙方保证担任本合同履行过程的联系人,接收甲方的通知,如涉及诉讼、仲裁或其他法律程序的,保证作为相关机构法律文书的接收人,甲方或相关机构向乙方或保证人所列明的地址、联系方式等送达相关文书的,均视为有效送达。</p>
+          <h2 class="section-title">第十二条 特别约定</h2>
+          <p class="content-text">1.甲方仅提供与合同约定护理等级相符的相关服务,对于超出护理等级的看护、注意义务,甲方将依据现实情况、乙方身体状况尽可能的提供帮扶、协助,但不表示甲方愿意接受超出合同约定的范围的约束;甲方不是专业的医疗机构,对乙方进行的常规体检不代表甲方对乙方真实身体状况的了解,也不能代表甲方对乙方身体状况的确认,一切以专业的医疗机构及医疗人员的判断为准。</p>
+          <p class="content-text">2.突发疾病或出现事故等紧急情况的处理</p>
+          <p class="content-text">(1)乙方在入住期间突发疾病或身体伤害事故,甲方应及时通知丙方,及时联系120等医疗急救机构;如需到医疗机构急救、甲方应派人陪送至医疗机构。甲方不能及时联系上丙方的,应尽早与本合同附件确定的其他联系人取得联系并通报情况。</p>
+          <p class="content-text">(2)甲方具有医疗资质的,在乙方生命垂危等紧急情况下应尽到合理诊疗义务,费用由乙方和丙方承担。</p>''')
+
+# ============================================================
+# 第21页:特别约定继续
+# ============================================================
+page21 = page_wrapper(21, '''          <p class="content-text">(3)因乙方发生紧急情况产生的费用急救费用、治疗费用、住院押金等均由乙方和丙方负担。甲方因此垫付费用的,乙方或丙方应按照甲方要求的时间内清偿。</p>
+          <p class="content-text">(4)为保证入住长者的生活环境,甲方暂未设有临终关怀服务,当乙方生命垂危时,丙方应全力配合甲方将乙方送医院进行抢救;若乙方或丙方任何一方不予配合,甲方有权利将乙方送往就近医院抢救并扣除乙方入住时缴纳人民币<span class="fill">{{ contractForm.lifeSavingDeposit || '____' }}</span>元(大写金额:<span class="fill">{{ contractForm.lifeSavingDepositCN || '万 仟 佰 拾 元 角 分' }}</span>)的押金,救护费用不足部分由乙方及丙方承担;</p>
+          <p class="content-text">(5)若乙方在甲方养老院突然去世,丙方须全力配合甲方将乙方以医疗救护的方式将乙方送往就近医院;若丙方不予配合,甲方有权利扣除乙方入住时缴纳人民币<span class="fill">{{ contractForm.deathDeposit || '____' }}</span>元(大写金额:<span class="fill">{{ contractForm.deathDepositCN || '万 仟 佰 拾 元 角 分' }}</span>)的押金,费用不足部分由丙方承担;</p>
+          <p class="content-text">3.乙方去世的善后服务及相关费用</p>
+          <p class="content-text">乙方在甲方服务期间去世的,甲方应及时与丙方取得联系,丙方负责善后处理并承担相关费用。无法与丙方取得联系的,应及时联系殡仪馆,妥善保存遗体,发生的费用由丙方承担。</p>
+          <p class="content-text">4.甲方与丙方联系中断</p>
+          <p class="content-text">因丙方提供的联系地址、方式不准确或不详细或变更后未及时通知甲方,或其他客观原因致使甲方无法与丙方及时联系,连续达30天则视为联系中断。甲方与乙方协商后,可以重新确定联系人。联系中断不免除丙方在本合同项下的责任。</p>
+          <p class="content-text">因乙方、丙方原因导致联系中断的,如乙方仍有其他直系亲属的,则甲方有权自行联系其他直系亲属协商重新确定联系人或解除合同关系。无其他直系亲属或无其他亲属愿意承担乙方相关费用的,则甲方有权自行联系相关政府部门或其他机构解决处理有关乙方的托养事宜,因此而产生的相关费用,甲方有权向乙方或丙方追偿。</p>
+          <p class="content-text">5.非因甲方故意或重大过失的原因造成乙方人身、财产损害的,甲方不承担责任。</p>
+          <p class="content-text">乙方入住后若发生根据体检报告所反映出的一系列疾病、并发症或突发性疾病导致死亡,与甲方无关;</p>
+          <p class="content-text">由于乙方属高龄及有疾病的长者,易发生意外,入住期间非因甲方原因若发生骨折、心脏骤停、脑梗、脑溢血、呛咳、肺部感染等疾病导致死亡与甲方无关;</p>
+          <p class="content-text">乙方入住后,经甲方诊断有疾病且书面通知乙方前往三甲及以上的医院进行治疗的,乙方应及时前往医院就医;若乙方或丙方不予配合,乙方发生任何意外,由乙方和丙方负担全部责任;</p>''')
+
+# ============================================================
+# 第22页:特别约定继续 + 第十三条 争议解决
+# ============================================================
+page22 = page_wrapper(22, '''          <p class="content-text">6.乙方具有完全民事行为能力,但拒绝接收甲方提供服务,造成其自身人身、财产损害的,由乙方自行承担后果。</p>
+          <p class="content-text">7. 本合同关于乙方和丙方权利义务的约定,并不免除对乙方有法定赡养义务的其他人的法定责任。</p>
+          <p class="content-text">8.因不可抗力导致本合同无法继续履行的、受到不可抗力影响的一方应在不可抗力情形发生后及时通知合同其他相关方,本合同可依法解除,合同各方不承担解除合同的责任。丙方应及时接回并妥善安置乙方。</p>
+          <p class="content-text">9.甲方破产、停业、转让:甲方需提前30天通知乙方和丙方,并协助丙方将乙方转至其他养老机构托养或送回住所;</p>
+          <h2 class="section-title">第十三条 争议解决方式</h2>
+          <p class="content-text">本合同在履行过程中发生争议,当事人尽量协商解决。协商不成的,当事人可以选择下列第<span class="fill">{{ contractForm.disputeMethod || '2' }}</span>种方式解决:</p>''')
+
+# ============================================================
+# 第23页:争议解决 + 第十四条 合同生效及附件
+# ============================================================
+page23 = page_wrapper(23, '''          <p class="content-text">□ 1.向仲裁机构申请仲裁。</p>
+          <p class="content-text"><span style="font-family: serif;">☑</span> 2.向有管辖权的人民法院提起诉讼。</p>
+          <h2 class="section-title">第十四条 合同生效及附件</h2>
+          <p class="content-text">本合同一式【叁】份,甲方执【壹】份,乙方执【壹】份,乙方监护人执【壹】份,自各方签字或盖章之日起生效。</p>
+          <p class="content-text">1.下列文件为本合同附件,与本合同具有同等法律效力:</p>
+          <p class="content-text">附件一:《知情同意书》</p>
+          <p class="content-text">附件二:《入住登记表》</p>
+          <p class="content-text">附件三:《入住须知》</p>
+          <p class="content-text">附件四:《长者安全承诺书》</p>
+          <p class="content-text">附件五:《长者外出情况确认书》</p>
+          <p class="content-text">附件六:《签名代理申请》</p>
+          <p class="content-text">附件七:《委托代理人确认表》</p>
+          <p class="content-text">附件八:《机构服务范围及收费标准》</p>
+          <p class="content-text">附件九:《房间设施设备清单》</p>
+          <p class="content-text">附件十:二级甲等以上医院出具的《体检报告项目说明》(体检时间应在签订服务合同前30日以内)</p>
+          <p class="content-text">附件十一:乙方有效证件身份证、户口本复印件</p>
+          <p class="content-text">附件十二:乙方监护人身份证、户口本复印件</p>''')
+
+# ============================================================
+# 第24页:合同签署页
+# ============================================================
+page24 = page_wrapper(24, '''          <p class="content-text">2.本合同附件系本合同不可分割的组成部分,与本合同具有同等法律效力。</p>
+          <p class="content-text">3.本合同附件是本合同的组成部分,与合同正文具有同等法律效力。</p>
+          <p class="content-text" style="font-style: italic; margin-top: 30px;">(本文以下无正文,为合同签署页)</p>
+          <div class="sign-block" style="margin-top: 40px;">
+            <p class="sign-line">甲方(盖章):<span class="inline-edit-block">
+              <ESign v-show="!isPrint" v-model="contractForm.partyASeal" />
+              <span v-if="isPrint">{{ contractForm.partyASeal || '' }}</span>
+            </span></p>
+            <p class="sign-line">法定代表人(签字):<span class="inline-edit-block">
+              <ESign v-show="!isPrint" v-model="contractForm.partyALegalSign" />
+              <span v-if="isPrint">{{ contractForm.partyALegalSign || '' }}</span>
+            </span></p>
+            <p class="sign-line">日期:<span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.partyASignDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.partyASignDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+            </span></p>
+          </div>
+          <div class="sign-block" style="margin-top: 30px;">
+            <p class="sign-line">乙方(签字):<span class="inline-edit-block">
+              <ESign v-show="!isPrint" v-model="contractForm.partyBSign" />
+              <span v-if="isPrint">{{ contractForm.partyBSign || '' }}</span>
+            </span></p>
+            <p class="sign-line">日期:<span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.partyBSignDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.partyBSignDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+            </span></p>
+          </div>
+          <div class="sign-block" style="margin-top: 30px;">
+            <p class="sign-line">丙方(签字/盖章):<span class="inline-edit-block">
+              <ESign v-show="!isPrint" v-model="contractForm.partyCSign" />
+              <span v-if="isPrint">{{ contractForm.partyCSign || '' }}</span>
+            </span></p>
+            <p class="sign-line">日期:<span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.partyCSignDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.partyCSignDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+            </span></p>
+          </div>''')
+
+# ============================================================
+# 第25-30页:附件1 知情同意书
+# ============================================================
+page25 = page_wrapper(25, '''          <h1 class="doc-title" style="text-align: center;">附件1 知情同意书</h1>
+          <p class="content-text">为充分保障乙方(姓名<span class="fill">{{ contractForm.elderName || '________' }}</span>)的健康与安全,结合乙方年迈体弱之特点,甲方(公司名称:<span class="fill">{{ contractForm.partyAName || '颐年集团养老服务机构' }}</span>)特向乙、丙两方告知以下事项,乙、丙两方须认真研读:</p>
+          <h3 class="subsection-title">一、保护性约束风险</h3>
+          <p class="content-text">考虑到乙方年事已高,或受疾病、精神等因素影响,在入住甲方期间,有可能采取保护性约束措施,以避免其自伤或伤人情况的发生,保障乙方安全以及各项治疗护理工作的顺利开展。现特将施行保护性约束措施的必要性及医疗风险告知如下:</p>
+          <p class="content-text">(一) 必要性</p>
+          <p class="content-text">1. 为保障治疗工作顺利推进;</p>
+          <p class="content-text">2. 避免乙方因精神方面的因素出现伤害自身或他人的情况;</p>
+          <p class="content-text">3. 防止乙方在意识不清时自行移除引流导尿管、鼻胃管等医疗设备;</p>
+          <p class="content-text">4. 防范乙方发生跌倒或坠床事件;</p>
+          <p class="content-text">5. 基于其他必要的因素。</p>
+          <p class="content-text">(二) 医疗风险</p>
+          <p class="content-text">1. 改变约束部位皮肤的完整性以及血液循环状况;</p>
+          <p class="content-text">2. 在使用约束背心或约束带时,因乙方躁动致使约束过紧,进而导致呼吸改变,存在发生窒息的风险;使用约束带时,若乙方有暴力倾向且不配合,可能引发骨折或其他伤害。</p>''')
+
+page26 = page_wrapper(26, '''          <p class="content-text">3. 因乙方或丙方意外或有意解除约束带,可能导致各种管道及静脉通路脱出,或者致使乙方发生跌倒、坠床等意外伤害。</p>
+          <p class="content-text">4. 被约束肢体出现损伤。</p>
+          <p class="content-text">5. 存在其他医疗风险。</p>
+          <h3 class="subsection-title">二、请假外出风险</h3>
+          <p class="content-text">协议履行期间甲方不建议乙方经常请假外出,若确需请假外出,乙方否则因此产生的一切风险后果由乙方、乙方监护人需遵照本条条款执行:</p>
+          <p class="content-text">1. 严禁私自离院,及家属自行承担,甲方不承担任何责任。</p>
+          <p class="content-text">2. 有家属/监护人/代理人陪同的,乙方向当班工作人员提出请假申请,工作人员为符合请假条件老人办理请假、审批手续。</p>
+          <p class="content-text">3. 无家属/监护人/代理人陪同的,乙方需近三个月内MMSE评分为正常方可自行提出请假申请,工作人员评估其符合自行请假条件后为其办理请假、审批手续;若乙方近三个月MMSE评分有异常,或经工作人员评估其不符合自行请假条件的,不予办理请假、审批手续;认知症老人一律不予办理自行单独请假、外出审批手续。</p>
+          <p class="content-text">4. 乙方经工作人员评估暂不适宜请假外出,或不符合在无家属、监护人陪同的自行请假条件,经与乙方、家属或监护人沟通,劝阻无果,乙方、监护人或家属仍坚持要求请假外出的,一切风险由乙方、监护人及家属自行承担。</p>
+          <p class="content-text">5. 凡当天不能返院,需在外留宿老人,需在其离院24小时内致电所在护理区报平安。如需延长请假,需来电或来信说明原因。</p>
+          <p class="content-text">6. 外出时将外出请假放行条交于门卫,并配合门卫做好相关登记,以示外出。</p>
+          <p class="content-text">7. 携带乙方外出者,负责保障乙方外出期间的安全。</p>
+          <p class="content-text">8. 对于乙方请假期间在院外发生的一切病情加重或恶化、人身伤害、安全责任事故等意外,均由乙方及其监护人、家属、代理人自行承担责任,甲方不承担任何责任。</p>
+          <p class="content-text">9. 乙方请假外出期间在甲方处以外所产生的住宿、伙食、交通、医疗、护理、救治等一切费用,均由乙方自行承担。</p>
+          <p class="content-text">10. 对于乙方请假外出,需自行解决往返交通。</p>
+          <p class="content-text">11. 其他相关请假外出规定。</p>
+          <h3 class="subsection-title">二、难免性压疮风险</h3>
+          <p class="content-text">鉴于乙方体质特殊,身体素质欠佳且营养吸收能力较弱,加之患病、皮肤抵抗力低下、大小便失禁以及长期使用石膏绷带和夹板等因素,在治疗与护理过程中极易引发压疮。因此,乙方在入住期间存在发生压疮的可能性。甲方将严格依照护理级别,采取定期翻身、清洁身体、避免潮湿、摩擦及排泄物刺激、促进局部血液循环、增加营养摄入等防范举措。乙方与丙方应配合甲方积极开展治疗。即便甲方积极采取相应措施,压疮仍有可能发生,乙方、丙方及其他亲属需对压疮风险予以知悉并理解。</p>''')
+
+page27 = page_wrapper(27, '''          <h3 class="subsection-title">三、跌倒/坠床风险</h3>
+          <p class="content-text">鉴于老人年老体弱,在自行走动(活动)或卧床时易发生跌倒、坠床等意外情况。对于此类意外的发生,乙方及丙方应充分理解。同时,为减少跌倒/坠床情况的发生,特告知以下事项:</p>
+          <p class="content-text">1. 存在跌倒、坠床风险的老人(包含:1. 肢体乏力、行动不便、步态不稳者;2. 身体较为虚弱、伴有头晕症状、患有贫血病症以及血压不稳定者;3. 存在精神或意识方面较差状况或存在意识障碍的人员;4. 使用麻醉类及精神类药物的人员;5. 高龄、视力不佳者严禁随意下床或跨越床栏。家属或陪护人员在陪伴老人期间,应及时拉起床栏;未经甲方工作人员同意,严禁随意放下护栏,以防发生坠床事故。)</p>
+          <p class="content-text">6. 对于存在跌倒、坠床风险的老人,在外出进行检查时,必须由护理人员或陪护人员陪同,严禁自行行动。</p>
+          <p class="content-text">7. 当老人有变更体位进行活动的需求时,需遵循循序渐进的原则,在确认无异常情况之后,方可开始行走,以此避免因突然改变体位而导致跌倒。</p>
+          <p class="content-text">8. 老年人穿脱鞋袜及裤子时,宜坐着进行,切不可赤脚行走,应穿着带有防滑坑纹的鞋子,以防止滑倒。</p>
+          <p class="content-text">9. 浴室已安装防滑地板,并配备扶手与座厕。如厕时,应自觉使用扶手。</p>
+          <p class="content-text">10. 行动不便者,需在他人陪护下进行起床、行走、活动、锻炼、沐浴或如厕等行为,并使用合适的助行用具或轮椅。同时,助行器应放置在老人易于取用之处。</p>
+          <p class="content-text">11. 老人床头及厕所均设置有呼叫器,老人需掌握呼叫器的使用方法。当在行走过程中于突发状况的位置,出现头晕、双眼发黑、下肢无力、行走不稳或无法移动等情况时,应即刻在原地坐下(蹲下)或靠墙站立,并按下呼叫器或大声呼喊以寻求帮助。</p>
+          <p class="content-text">12. 应时刻留意警示牌,避免行走于湿滑、有果皮、存在障碍物或凹凸不平的路面。若发现地面湿滑,需及时通知医护人员以消除安全隐患。</p>
+          <p class="content-text">13. 服用镇静类、催眠类、抗忧郁类、抗过敏类、抗心律失常类、降压类、利尿类、降糖类等药物的老年人,严禁擅自离床或独自外出。</p>
+          <p class="content-text">14. 老年人应全面、客观地评估自身身体状况,及时向工作人员寻求协助,并认真听取工作人员提出的合理建议。</p>
+          <p class="content-text">15. 为防止此风险发生,乙方与丙方应遵循甲方工作人员的建议,将该情况告知其他家属、监护人及陪护人员。</p>''')
+
+page28 = page_wrapper(28, '''          <h3 class="subsection-title">四、误吸/噎食风险</h3>
+          <p class="content-text">鉴于老年人因年老体弱或罹患疾病等缘故,常出现吞咽反射迟缓或吞咽功能障碍的情况,易引发误吸、噎食现象。为降低此类情况的发生几率,现将相关危险因素及防范措施告知如下:</p>
+          <p class="content-text">(一) 危险因素</p>
+          <p class="content-text">1. 年龄因素:随着年龄的增加,老年人的口腔黏膜会逐渐萎缩变薄,神经末梢感受器的反射功能也会逐渐变得迟钝,同时咽及食管的蠕动能力减弱。这些衰老性、退行性变化易致使老年人吞咽功能出现障碍,进而引发误吸、噎食。</p>
+          <p class="content-text">2. 相关疾病:老年人可能因罹患以下疾病而出现误吸情况:1) 颅脑病变,例如颅内肿瘤、颅脑外伤、脑血管病变、脑干受损、颅内压升高、帕金森综合征、癫痫等;2) 神经肌肉病变,如急性感染性神经炎、喉神经受损、多发性肌炎、多发性皮肌炎、重症肌无力等;3)咽喉及其邻近部位病损,像声带麻痹、喉外伤、咽喉及头颈部手术、环咽肌失弛缓症、咽食管憩室、颈椎骨性赘生物等;4) 呼吸功能不全,例如慢性阻塞性肺疾病、支气管哮喘等。3.体位:老年患者的体位与误吸存在一定关联,长期卧床的老年人在鼻饲或喂食时,若床头高度低于30°,会增加反流物及分泌物逆流的可能性,进而导致误吸。</p>
+          <p class="content-text">3. 进食方式:进食过程中速度过快、过于急切、食量过多等情况,均会增加误吸、噎食的几率。</p>
+          <p class="content-text">4.留置胃管:鼻饲并发症包括误吸、黏膜损伤、便秘、胃潴留、水电解质血糖紊乱等。</p>
+          <p class="content-text">(二) 防范措施</p>
+          <p class="content-text">1. 若丙方为乙方喂食,应选取质地柔软、密度与性状均匀、具备适当粘度、不易松散、湿润但无水分或汁液溢出的食物,例如米糊、菜泥、蛋羹等食物。

+ 458 - 0
gen_contract_full.py

@@ -0,0 +1,458 @@
+# -*- coding: utf-8 -*-
+"""生成完整的 ContractForm.vue 合同组件"""
+
+output_path = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+
+def gen_sign_block(b_name, b_model, c_name, c_model, date_model):
+    return f'''          <div class="sign-block" style="margin-top: 30px;">
+            <p class="sign-line">{b_name}:</p>
+            <div v-if="!isPrint" style="margin: 10px 0;">
+              <ESign v-model="contractForm.{b_model}" />
+            </div>
+            <img v-if="isPrint && contractForm.{b_model}" :src="contractForm.{b_model}" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">{c_name}:</p>
+            <div v-if="!isPrint" style="margin: 10px 0;">
+              <ESign v-model="contractForm.{c_model}" />
+            </div>
+            <img v-if="isPrint && contractForm.{c_model}" :src="contractForm.{c_model}" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.{date_model} || '____年__月__日' }}</p>
+          </div>
+'''
+
+def page_wrapper(page_no, content):
+    return f'''      <!-- ========== 第{page_no}页 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">{page_no}</span></div>
+        <div class="page-content">
+{content}
+        </div>
+      </div>
+'''
+
+# ============ 第1页:封面 ============
+page1 = '''      <!-- ========== 第1页:封面 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">1</span></div>
+        <div class="page-content cover-page">
+          <div class="cover-fields">
+            <p><span class="label">合同编号:</span><span class="fill">{{ contractForm.contractNumber || '________________' }}</span></p>
+            <p><span class="label">长者姓名:</span><span class="fill">{{ contractForm.elderName || '________________' }}</span></p>
+          </div>
+          <h1 class="doc-title" style="margin-top: 120px;">养老机构服务合同</h1>
+          <p style="text-align: center; margin-top: 80px; font-size: 18px;">颐年健康产业(集团)有限公司制定</p>
+        </div>
+      </div>
+'''
+
+# ============ 第2页:重要提示 ============
+page2 = page_wrapper(2, '''          <h2 class="section-title" style="text-align: center;">重要提示</h2>
+          <p class="content-text">为了维护您的利益,请您在签署本合同(本协议)前,仔细阅读如下注意事项:</p>
+          <p class="content-text">一、您已阅读本合同(协议)、补充协议及相关文件的所有条款,并已知悉其含义,同时对涉及贵方权利与义务的内容给予了充分的注意。</p>
+          <p class="content-text">二、您已确保提交的有关证件及资料是真实、合法、有效的。</p>
+          <p class="content-text">三、您已确保向合同(协议)签署相关方所作的陈述、健康状况披露及其他信息披露均完整、充分、真实。</p>
+          <p class="content-text">四、本合同(协议)所有条款均为签署方的真实意思表示。</p>
+''')
+
+# ============ 第3页:甲乙丙方信息 ============
+page3 = page_wrapper(3, '''          <h3 class="subsection-title">甲方(养老机构):</h3>
+          <p class="content-text">甲方运营机构:<span class="fill">{{ contractForm.partyAName || '颐年健康产业(集团)有限公司' }}</span></p>
+          <p class="content-text">统一社会信用代码:<span class="fill">{{ contractForm.partyACode || '________________' }}</span></p>
+          <p class="content-text">地址:<span class="fill">{{ contractForm.partyAAddr || '________________' }}</span> 邮编:<span class="fill">{{ contractForm.partyAZip || '________' }}</span></p>
+          <p class="content-text">法定代表人:<span class="fill">{{ contractForm.partyALegal || '________________' }}</span> 联系方式:<span class="fill">{{ contractForm.partyAPhone || '________________' }}</span></p>
+          <h3 class="subsection-title" style="margin-top: 20px;">乙方(入住老年人)</h3>
+          <p class="content-text">姓名:{{ contractForm.elderName || '________' }} 性别:{{ contractForm.elderGenderText || '□男 □女' }} 出生年月日:{{ contractForm.elderBirth || '____年__月__日' }}</p>
+          <p class="content-text">证件类型:□居民身份证 □户口本 □护照 □港澳居民来往内地通行证 □台湾居民来往大陆通行证 □其他</p>
+          <p class="content-text">证件号码:{{ contractForm.elderIdCard || '________________' }} 联系方式:{{ contractForm.elderPhone || '________________' }}</p>
+          <p class="content-text">家庭地址:{{ contractForm.elderHomeAddr || '________________' }}</p>
+          <p class="content-text">户籍所在地:{{ contractForm.elderAddress || '________________' }} 邮编:{{ contractForm.elderZip || '________' }}</p>
+          <h3 class="subsection-title" style="margin-top: 20px;">丙方(老年人家属/监护人,担保人/委托代理的个人或组织)</h3>
+          <p class="content-text">姓名:{{ contractForm.partyCName || '________' }} 性别:{{ contractForm.partyCGenderText || '' }} 出生年月:{{ contractForm.partyCBirth || '________' }}</p>
+          <p class="content-text">与乙方关系:{{ contractForm.partyCRelation || '________' }}</p>
+          <p class="content-text">证件类型:□居民身份证 □户口本 □护照 □港澳居民来往内地通行证 □台湾居民来往大陆通行证 □其他</p>
+          <p class="content-text">证件号码:{{ contractForm.partyCIdCard || '________________' }} 联系方式:{{ contractForm.partyCPhone || '________________' }}</p>
+          <p class="content-text">住所(址):{{ contractForm.partyCAddress || '________________' }}</p>
+          <p class="content-text">户籍所在地:{{ contractForm.partyCHomeAddr || '________________' }} 邮编:{{ contractForm.partyCZip || '________' }}</p>
+          <p class="content-text">工作单位:{{ contractForm.partyCWorkUnit || '________________' }}</p>
+          <p class="content-text">通信地址:{{ contractForm.partyCCommAddr || '________________' }}</p>
+          <p class="content-text" style="margin-top: 20px;">(若乙方属于限制民事行为能力或者无民事行为能力的入住老年人,须由监护人签字确认)</p>
+''')
+
+# ============ 第4页:鉴于条款 + 第一条 ============
+page4 = page_wrapper(4, '''          <h3 class="subsection-title">鉴于:</h3>
+          <p class="content-text">1、甲方是依法成立的养老机构,能够提供个人生活照料、康复护理、精神慰藉、文化娱乐等养老服务;</p>
+          <p class="content-text">2、乙方和丙方经实地考察甲方,自愿决定乙方入住甲方开办的养老机构,接受甲方提供的专业养老服务,并向甲方支付相应费用;</p>
+          <p class="content-text">3、乙方授权丙方作为乙方在紧急情况下的代理人、联系人,代为处理乙方在本合同项下的相关事务,丙方同意接受乙方授权并作为乙方履行本合同义务的保证人。</p>
+          <p class="content-text">4、接收条件:乙方保证无精神病,无传染性疾病,无吸毒嗜好,无自杀、自残、攻击他人等危害自身、他人和公共安全的精神性障碍或缺陷,并且适应集体生活;</p>
+          <p class="content-text">为了营造温馨、舒适、安全的生活环境,满足老年人"老有所养、老有所乐"的需要,切实保障老年人的合法权益,同时明确各自的权利义务,甲、乙、丙三方根据《中华人民共和国民法典》《中华人民共和国老年人权益保障法》《广东省养老服务条例》《广州市养老服务条例》和《养老机构管理办法》等有关法律、法规的规定,甲方、乙方、丙方本着平等、自愿、公平、诚实守信的原则,经友好协商,就甲方为乙方提供养老服务事宜达成一致,签订本合同。</p>
+          <h2 class="section-title">第一条 服务内容</h2>
+          <p class="content-text">1.甲方按照约定向乙方提供生活照料、康复护理、精神慰藉、文化娱乐等服务。甲方提供的服务应当符合法律法规规章和国家强制性标准《养老机构服务安全基本规范》要求,并积极适用行业和地方标准。</p>
+          <p class="content-text">2.甲方应该依据广州市老年人照护需求综合评估规范,对乙方进行照护需求等级评估,根据评估结果和乙方提供的《体检报告》,经与乙方或丙方商定后,确定乙方照护等级,并由甲方按照约定的《护理等级与服务项目》(附件)为乙方提供相应服务。</p>
+''')
+
+# ============ 第5页:第一条继续 + 第二条 ============
+page5 = page_wrapper(5, '''          <p class="content-text">2.1根据乙方提供的《体检报告》、《入住登记表》(见本合同附件)及甲方对乙方进行护理等级首评,确定乙方护理级别为:<span class="fill">{{ contractForm.nurseLevelName || '________' }}</span>,甲方向乙方提供的护理等级服务项目详见本合同附件《护理等级与服务项目》。</p>
+          <p class="content-text">2.2因老年人护理等级评估涉及到乙方的日常生活、精神状态、感知觉与沟通、社会参与等各方面的评估,甲方为真实反映乙方的实际生活能力,入住满1个月时会根据老年人实际生活情况进行护理等级复评,如果复评与首评的护理等级一致,则按照首评护理等级服务项目进行收费和服务;如果复评与首评的护理等级不一致,则按照复评结果调整护理等级,并调整服务项目的收费和服务内容,甲方应通知乙方、丙方签订书面补充协议进行护理等级变更。</p>
+          <p class="content-text">2.3因老年人的身体机能处在不断的变化中,每入住半年或根据老年人身体变化需要,甲方会对乙方护理等级进行动态评估,如护理等级有调整,则按照新的护理等级服务项目进行收费和服务,并签订书面补充协议。</p>
+          <p class="content-text">3.在本合同履行过程中,乙方或丙方如果选择《护理等级与服务项目》以外的其他服务项目,经当事人协商一致后另行签署书面补充协议确定。</p>
+          <h2 class="section-title">第二条 服务地点及设施</h2>
+          <p class="content-text">1.经协商,确定本合同期限<span class="fill">{{ contractForm.contractMonths || '__' }}</span>个月,自<span class="fill">{{ contractForm.startDate || '____年__月__日' }}</span>起至<span class="fill">{{ contractForm.endDate || '____年__月__日' }}</span>止。</p>
+          <p class="content-text">2.甲方为乙方提供养老服务的地点为:<span class="fill">{{ contractForm.servicePlace || '颐年集团养老服务机构' }}</span>。</p>
+          <p class="content-text">3.乙方或丙方为乙方选择入住的房间类型为(在以下几种情况中选择一种):</p>
+          <p class="content-text">□单间 □双人间 □三人间 □多人间(四人以上六人以下,含四人、六人) □其他(套房等)。</p>
+          <p class="content-text">4.乙方或丙方为乙方选择的具体房间为:<span class="fill">{{ contractForm.roomNumber || '________________' }}</span>。</p>
+          <p class="content-text">5.乙方或丙方基于正当理由要求调整房间的,甲方在条件许可的范围内应尽量满足。若因房间变化,需要相应调整费用的,应由各方协商一致书面确认后调整,如各方不能达成一致意见书面确认,则仍依本合同约定房间履行。</p>
+          <p class="content-text">6.甲方提供的服务设施除了住宿的房屋,还包括房间内生活起居必要的基础设施及其他公共设施。</p>
+''')
+
+# ============ 第6页:第三条 ============
+page6 = page_wrapper(6, '''          <h2 class="section-title">第三条 收费标准及费用支付方式</h2>
+          <p class="content-text">1.甲方的收费标准和调整应遵守养老机构服务收费管理的相关规定,不得违规收取大额预付费、向服务对象兜售保健品,不得以许诺还本付息或者给予其他投资回报、虚假夸大宣传、承诺明显低于市场价入住、折扣返利等与事实不符的条件诱导乙方或丙方交纳费用。</p>
+          <p class="content-text">2.甲方提供的各种服务项目的收费标准和收费依据应在养老机构内公共区域显著位置进行公示,并以公共区域或网络方式进行线上公示,服务项目及其收费标准应作为本合同附件。</p>
+          <p class="content-text">3.根据本合同第一条、第二条乙方选择的房间、照护等级及服务项目,各方共同确认,乙方入住甲方需支付的养老服务费用具体如下:</p>
+          <p class="content-text">(1)养老服务费用为:<span class="fill">{{ contractForm.totalFee || '____' }}</span>元/月。</p>
+          <p class="content-text">其中:</p>
+          <p class="content-text">床位费:<span class="fill">{{ contractForm.bedFee || '____' }}</span>元/月;</p>
+          <p class="content-text">护理费:<span class="fill">{{ contractForm.nurseFee || '____' }}</span>元/月;</p>
+          <p class="content-text">伙食费:<span class="fill">{{ contractForm.mealFee || '____' }}</span>元/月;</p>
+          <p class="content-text">其他费用:</p>
+          <p class="content-text">1)水电费:超出床位费包含的每人每月<span class="fill">{{ contractForm.freeElectric || '__' }}</span>千瓦时电和<span class="fill">{{ contractForm.freeWater || '__' }}</span>立方冷水的免费额度后,超出部分按实际支出进行对应房型具体入住床数进行均摊收取。超出部分收费标准为:热水<span class="fill">{{ contractForm.hotWaterFee || '__' }}</span>元/立方;冷水<span class="fill">{{ contractForm.coldWaterFee || '__' }}</span>元/立方;电<span class="fill">{{ contractForm.electricFee || '__' }}</span>元/千瓦时;</p>
+          <p class="content-text">2)诊查费:<span class="fill">{{ contractForm.consultFee || '__' }}</span>元/月</p>
+          <p class="content-text">出现合同中止或终止情形的,扣除实际入住天数产生的费用后予以退款。</p>
+''')
+
+# ============ 第7页:第三条继续 ============
+page7 = page_wrapper(7, '''          <p class="content-text">(2)一次性收取的费用(如有请填写)。</p>
+          <p class="content-text">①一次性设施设备费<span class="fill">{{ contractForm.facilityFee || '/' }}</span>元,收取的期限自<span class="fill">{{ contractForm.facilityStartDateText || '/' }}</span>至<span class="fill">{{ contractForm.facilityEndDateText || '/' }}</span>(建议时长不超过3年)。出现合同中止或终止情形的,扣除实际入住天数产生的费用后,按照以下标准予以退款:<span class="fill">{{ contractForm.facilityRefundRule || '/' }}</span>。</p>
+          <p class="content-text">②押金(如有请填写押金类型:履约及医疗保证金):<span class="fill">{{ contractForm.deposit || '____' }}</span>元。</p>
+          <p class="content-text">出现合同中止情形的,予以全额退还(☑押金不计利息 □押金计利息,计息标准为:无)。</p>
+          <p class="content-text">合同期限内出现押金不足时,乙方或丙方应在接到甲方通知之日起5日内补足。涉及退款的,在出现合同中止或终止情形后,双方进行结算,经双方确认无误之日起15个工作日内将资金退给付款方。</p>
+          <p class="content-text">4.定期支付的费用按第1种方式支付:</p>
+          <p class="content-text">(1)按月支付(每月5日前支付下一个月费用);</p>
+          <p class="content-text">(2)按季度支付(每季度第/__个月的/__日前支付当季费用);</p>
+          <p class="content-text">(3)其它:/。</p>
+          <p class="content-text">5.甲方指定的收款账户信息如下:</p>
+          <p class="content-text">户名:<span class="fill">{{ contractForm.payeeName || '________________' }}</span></p>
+          <p class="content-text">开户银行:<span class="fill">{{ contractForm.payeeBank || '________________' }}</span></p>
+          <p class="content-text">账号:<span class="fill">{{ contractForm.payeeAccount || '________________' }}</span></p>
+          <p class="content-text">6.乙方或丙方指定的付款账户信息如下:</p>
+          <p class="content-text">户名:<span class="fill">{{ contractForm.payerName || '________________' }}</span></p>
+          <p class="content-text">开户银行:<span class="fill">{{ contractForm.payerBank || '________________' }}</span></p>
+          <p class="content-text">账号:<span class="fill">{{ contractForm.payerAccount || '________________' }}</span></p>
+          <p class="content-text">7.乙方接受甲方除本合同约定外的其他服务项目的,应根据甲方公示的收费标准和补充合同的约定交纳费用。</p>
+          <p class="content-text">8.甲方每月向乙方或丙方提供《个人费用明细表》,乙方或丙方应签字确认。乙方或丙方如有异议,可在收到《个人费用明细表》后7日内书面提出,甲方应做出书面说明。</p>
+          <p class="content-text">对于双方无争议费用金额应按照本合同约定时间支付,乙方或丙方不得以异议费用为由拒绝支付有关费用。</p>
+          <p class="content-text">9.乙方、丙方共同承担向甲方支付本合同约定价款的义务。</p>
+          <p class="content-text">10.甲方在收到款项后应向付款人开具等额的合法收费发票。</p>
+''')
+
+# ============ 第8页:第四条 甲方权利义务 ============
+page8 = page_wrapper(8, '''          <h2 class="section-title">第四条 甲方权利及义务</h2>
+          <p class="content-text">1.甲方权利</p>
+          <p class="content-text">1.1 有权按照本合同约定收取相关费用。</p>
+          <p class="content-text">1.2 制订、修改养老机构的管理制度并按照公开的管理制度对乙方进行管理。</p>
+          <p class="content-text">1.3 为了乙方的健康和安全,乙方出现紧急情况时,有权在通知乙方或丙方同意的同时,采取必要的处置措施,包括但不限于转送医疗机构,由此产生的费用由乙方或丙方承担。</p>
+          <p class="content-text">1.4 如乙方的身体状况、生活自理能力出现变化,由甲方根据对乙方护理等级评价另行确定护理等级,相关费用随之进行调整,如一周联系不上丙方,甲方有权根据乙方所需服务项目的变化情况在押金中先扣除,不足部分甲方仍有权要求乙方和丙方支付所产生变化的费用,由乙方和丙方按甲方制定的标准支付。</p>
+          <p class="content-text">1.5 乙方入住后因精神、情绪、心理、性格、生活习惯等原因不适宜院内生活的,经甲方努力,仍无改善的,为维护乙方及院内其他老人的权利,甲方有权要求丙方在两天内为乙方办理退院或转院手续,丙方必须积极配合,做好安抚工作,对此甲方无需承担任何责任。</p>
+''')
+
+# ============ 第9页:第四条继续 ============
+page9 = page_wrapper(9, '''          <p class="content-text">1.6 如乙方患病需要去医院治疗时,甲方本着人道主义,有权紧急处置,所涉及的各项费用由乙方和丙方承担。如乙方需甲方提供住院期间陪护服务,相关费用由乙方和丙方承担,具体陪护事宜由当事人协商一致后另行签署书面协议确定。</p>
+          <p class="content-text">1.7 有权依照本合同约定及法律规定解除合同。</p>
+          <p class="content-text">2.甲方义务</p>
+          <p class="content-text">2.1 甲方应是依法成立的养老机构,应履行养老机构备案承诺,按照建筑、消防、食品安全、医疗卫生、特种设备等法律、法规和强制性标准及服务安全相关规范要求开展服务活动,确保按约定向乙方提供符合服务质量标准的养老服务;建立各类安全、疫情防控等应急预案,并应定期对应急预案进行演练。</p>
+          <p class="content-text">2.2 应当提供符合乙方住宿条件的居住用房,并配备适合乙方安全保护要求的设施、设备及用具,定期对乙方的活动场所和物品进行消毒和清洗;甲方提供的饮食应当符合食品安全要求、适宜乙方食用、有利于乙方营养平衡和身体健康。</p>
+          <p class="content-text">2.3 应当根据登记类型、经营性质、运营方式、设施设备条件、管理水平、服务质量、照料护理等级等因素合理确定服务项目收费标准,调整收费标准时应遵守国家、省和广州市价格管理的有关规定。</p>
+          <p class="content-text">2.4 应保证从事医疗、康复、消防等服务人员符合资质要求,保证养老护理人员接受专业技能培训,并定期组织工作人员进行职业道德教育和业务培训,能够满足岗位职责要求。</p>
+''')
+
+# ============ 第10页:第四条继续 ============
+page10 = page_wrapper(10, '''          <p class="content-text">2.5 在提供服务过程中,甲方及其工作人员应尊重乙方,尽力合理地保障乙方的人格尊严和人身、财产安全,并接受乙方、丙方的合理建议和监督。</p>
+          <p class="content-text">2.6 应当根据需要为乙方提供情绪疏导、心理咨询、危机干预等精神慰藉服务;应当开展适合老年人的文化、教育、体育、娱乐活动,丰富老年人的精神文化生活。甲方开展文化、教育、体育、娱乐活动时,应当为乙方提供必要的安全防护措施。</p>
+          <p class="content-text">2.7 定期组织所在地的医疗机构为乙方开展体检并建立个人健康档案。妥善保存乙方的入住登记表、体检报告等健康资料以及日常经费开支情况等个人信息。应当建立各类信息资料档案的保管、归档和保密制度,除向乙方、丙方和其他有权部门(公安局、检察院、法院、纪委监察、养老服务行业主管部门因办案、监督、检查需要)提供查阅、允许复制外,不得对外透露。</p>
+          <p class="content-text">2.8 发现乙方为疑似传染病病人或者精神障碍患者时,应依照传染病防治、精神卫生等相关法律法规的规定处理,及时向附近的疾病预防控制机构或者医疗机构报告,配合实施卫生处理、隔离等预防控制措施,并及时通知丙方。乙方需要外出就医的,甲方应及时告知丙方并由有相关义务的丙方亲自携带乙方就诊,丙方确实未能亲自携带乙方就诊的,应通过委托办理等方式作出妥善安排。</p>
+          <p class="content-text">2.9 应当为乙方家庭成员看望或者问候老年人提供便利,为乙方联系家庭成员提供帮助;但不得影响甲方对于乙方正常服务运营或执行政府部门规定的疫情防控等管理要求,否则甲方有权拒绝。</p>
+          <p class="content-text">2.10 在发生公共卫生事件等特殊情况下,甲方应贯彻执行政府部门的防控政策规定,积极落实防控措施,并向乙方或丙方做好解释工作。</p>
+''')
+
+# ============ 第11页:甲方义务继续 + 第五条 ============
+page11 = page_wrapper(11, '''          <p class="content-text">2.11 甲方暂停、终止服务的,应当在暂停或终止服务60日前,书面通知乙方或丙方,并向社会公告;将入住老年人的安置方案书面告知甲方所在地的区民政部门。在解散清算前,甲方应当依法妥善安置乙方。如乙方或丙方有意与其他养老机构签订服务协议的,甲方应当积极为乙方联系与甲方具有同等资质和服务水平的养老服务机构,努力促进双方建立合同;如乙方或丙方需解除或终止服务协议的,甲方应当退还乙方或丙方剩余未消费或合同约定的有关费用。</p>
+          <p class="content-text">2.12 当乙方出现紧急情况时,应及时联系和通知丙方。</p>
+          <p class="content-text">2.13 在甲方服务期间,经鉴定乙方正常死亡的,甲方应及时与丙方取得联系。无法与丙方取得联系的且机构内不具备遗体保存条件,可严格按照规定要求使用《广州市养老机构死亡报告书》并对接殡仪馆,妥善保存遗体。</p>
+          <p class="content-text">2.14 乙方符合长期护理保险等申报条件的,甲方应积极为其申请。</p>
+          <p class="content-text">2.15 乙方入住养老机构、请假外出、终止合同离院和去世,甲方应及时在广州市为老服务综合平台填报有关信息。</p>
+          <h2 class="section-title">第五条 乙方权利及义务</h2>
+          <p class="content-text">1.乙方的权利</p>
+          <p class="content-text">1.1 享有隐私权,人格尊严和人身、财产安全不受非法侵害的权利。</p>
+          <p class="content-text">1.2 有权按照约定的服务项目获得甲方提供的符合服务标准的养老服务,对甲方的服务有批评建议的权利。</p>
+          <p class="content-text">1.3 对自身的健康状况、费用支出、入院记录等有知情权,有权查阅、复印甲方为其建立的个人档案。</p>
+          <p class="content-text">1.4 有权了解提供服务的人员是否经过专业培训,是否具备相应资质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合格的人员。</p>
+''')
+
+# ============ 第12页:第五条继续 + 第六条 ============
+page12 = page_wrapper(12, '''          <p class="content-text">1.5 在突发疾病的情况下乙方有权获得及时、必要的医疗帮助。</p>
+          <p class="content-text">2.乙方的义务</p>
+          <p class="content-text">2.1 应当按照约定自行或与丙方共同支付养老服务费及相关费用。</p>
+          <p class="content-text">2.2 应当按照约定提供相关的体检报告,如实告知甲方本人的健康状况、药品使用情况及过往病史等信息,并如实填写《入住登记表》。</p>
+          <p class="content-text">2.3 应当配合甲方做好持续评估及确认照护等级;配合甲方定期参加体检。</p>
+          <p class="content-text">2.4 应当与其他入住老年人和谐相处。</p>
+          <p class="content-text">2.5 在接收甲方提供的养老服务期间,因疾病进行诊疗时,应在治疗期间遵守医嘱,配合治疗。</p>
+          <p class="content-text">2.6 应当服从甲方管理,遵守甲方的规章制度,维护养老机构正常服务秩序,爱护甲方提供的各项服务设施,入住期间损坏甲方设施设备的,乙方或丙方应当予以赔偿。损坏有关服务设施的赔偿价格可与甲方协商约定。</p>
+          <p class="content-text">2.7 对于甲方提供的其他符合合同约定、法律规定的养老服务,乙方应予配合甲方的服务工作。</p>
+          <h2 class="section-title">第六条 丙方权利及义务</h2>
+          <p class="content-text">1.丙方的权利</p>
+          <p class="content-text">1.1 对乙方有探视权,但不得影响甲方对乙方的正常服务管理和执行政府部门规定的疫情防控等管理要求。</p>
+          <p class="content-text">1.2 对乙方的健康状况、享受服务情况、费用支出、入院记录等有知情权,有权查阅、复印甲方为乙方建立的个人档案。</p>
+''')
+
+# ============ 第13页:第六条继续 + 第七条 ============
+page13 = page_wrapper(13, '''          <p class="content-text">1.3 有权了解提供服务的人员是否经过专业培训,是否具备相应资质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合格的人员;有权对甲方的服务提出批评建议。</p>
+          <p class="content-text">1.4 遇紧急情况,包括但不限于乙方走失、身体健康状况出现紧急情况时,有权及时从甲方得到相关信息。</p>
+          <p class="content-text">2.丙方的义务</p>
+          <p class="content-text">2.1 乙方入住前,丙方要如实向甲方反映乙方的情况,如脾气秉性、家庭成员、既往病史、健康状况和药品使用情况等,协助乙方如实填写《入住登记表》。</p>
+          <p class="content-text">2.2 劝导乙方入住后自觉遵守养老机构的规章制度,接受管理,爱护甲方提供的各项服务设施,乙方违反本合同约定或甲方制定的规章制度,造成甲方损失或第三人人身、财产损害的,乙方需承担赔偿责任,负有付款义务或连带责任的丙方应当承担有关赔偿责任。</p>
+          <p class="content-text">2.3 应劝导乙方与其他入住老年人和谐相处,并经常与乙方沟通,保持联络,满足乙方的精神需求。</p>
+          <p class="content-text">2.4 应劝导乙方在接收甲方提供的养老服务期间,因疾病进行诊疗时,应在治疗期间遵守医嘱,配合治疗。乙方需外出就医的,负有相关义务的丙方应当及时携乙方到医院就诊,并向甲方如实告知乙方的就医情况。</p>
+          <p class="content-text">2.5 按时足额向甲方支付约定的养老服务费、保证金及相关费用。</p>
+          <p class="content-text">2.6 丙方的家庭及单位地址、联系方式变更时,应及时通知甲方。</p>
+          <p class="content-text">2.7 及时协助甲方处理乙方出现的紧急情况。当甲方按照第合同约定处理时,负有付款义务或连带责任的丙方应当及时足额支付由此产生的费用。</p>
+          <p class="content-text">2.8 乙方在养老机构去世的,丙方应及时进行善后处理并解决费用问题。</p>
+          <h2 class="section-title">第七条 合同的续签</h2>
+          <p class="content-text">1.合同期满前30日,乙方或丙方可向养老机构申请续签合同。</p>
+          <p class="content-text">2.续签的养老服务合同内容应当由甲方、乙方和丙方协商确定。</p>
+          <p class="content-text">3.如果乙方或丙方未在合同期限届满前30日提出续签合同,或者乙方或丙方虽在合同期限届满前30日提出续签合同申请,但各方未就合同续签达成一致,乙方应于合同到期后3日内搬离甲方,办理离院手续并结清所有费用。</p>
+''')
+
+# ============ 第14页:第八条 ============
+page14 = page_wrapper(14, '''          <h2 class="section-title">第八条 合同的变更和解除</h2>
+          <p class="content-text">1.合同的变更</p>
+          <p class="content-text">1.1 根据乙方健康状况的变化以及护理等级的评估结果,乙方、丙方可以要求甲方变更服务方案,甲方亦可以提出变更服务方案,并以书面形式通知乙方及丙方。任何一方要求变更服务方案的,需经甲方、乙方、丙方三方协商一致,签署补充协议。</p>
+          <p class="content-text">若甲方提出变更服务方案,乙方或丙方收到甲方变更服务方案的书面通知后7日内既不确认又不提出异议,但乙方实际接受甲方提供的相应服务的,视为甲、乙、丙三方就合同约定的服务项目的变更达成一致,乙方或丙方有义务按照新的服务项目支付相应的服务费用。</p>
+          <p class="content-text">若乙方或者丙方提出变更方案,甲方应在收到其变更服务方案的要求后30日内会同乙方或者丙方进行研究确定,变更方案符合有关规定和实际情况的,甲方应予以采纳。经沟通未能达成一致意见的,甲方有义务应向乙方或丙解释不采纳其变更方案的理由和依据,乙方或丙方仍不能接受的,可向属地民政部门反映或向司法部门起诉。</p>
+          <p class="content-text">如果根据乙方健康状况的变化以及护理等级的评估结果,不调整服务项目将导致乙方的健康安全无法保障的,甲方提出变更的服务方案后,乙方或丙方既不同意,也不接受实际服务,甲方、乙方或丙方均有权解除本合同。</p>
+          <p class="content-text">当食品材料市场价格发生重大变化,致使甲方服务成本急剧上升(单项价格变动幅度超过6%)时,甲方可适当调整伙食费收费标准,将价格调整的通知在调价前30日以书面形式通知乙方及丙方,并签订补充合同。</p>
+          <p class="content-text">乙方或丙方对价格调整有异议的,可在收到通知后15日内以书面形式提出解除合同;乙方或丙方要求继续按照原收费标准履行合同的,甲方有权提出解除合同。</p>
+          <p class="content-text">乙方或丙方收到通知后15日内不以书面形式提出异议,但拒绝根据调整后的价格支付相关费用的,甲方有权解除合同并按照原收费标准收取已提供服务的费用。</p>
+''')
+
+# ============ 第15页:第八条继续 ============
+page15 = page_wrapper(15, '''          <p class="content-text">2.合同的解除</p>
+          <p class="content-text">2.1 除本合同另有约定外,下列情况下,乙方或丙方可以单方解除本合同,并无需承担违约责任:</p>
+          <p class="content-text">(1)甲方提供的服务不符合合同约定,经乙方或丙方提出,30日内不改正的;</p>
+          <p class="content-text">(2)因甲方或甲方工作人员的严重过错造成乙方人身或重大财产损害的;</p>
+          <p class="content-text">(3)乙方因疾病或其他个人原因离院的,但乙方或丙方不提出解除本合同而要求保留床位或房间的除外;乙方因疾病需要长期住院治疗(凭7天内住院证明)或去世解除合同的,免收违约金;</p>
+          <p class="content-text">(4)履行合同过程中,乙方或丙方提前30日书面通知甲方并结清服务费用的;</p>
+          <p class="content-text">(5)乙方首次入住15日内不适应居住环境或管理方式的,乙方可以单方面解除本合同,并无需承担违约责任。</p>
+          <p class="content-text">2.2 除本合同另有约定外,下列情况下,甲方可以单方解除本合同,并无须承担违约责任:</p>
+          <p class="content-text">(1)乙方或丙方无故拖欠各项费用超过15日,经甲方书面催告后7日内仍不交纳的,甲方有权解除合同,并书面通知乙方搬出养老机构。乙方在甲方发出书面解除合同通知后7日内仍不搬出的,甲方有权提起诉讼,请求法院确认合同解除。乙方和丙方除应支付拖欠的服务费用,诉讼期间的养老服务费用以外,还应每天支付应付未付费用金额的1‰违约金,并负担甲方由此产生的一切费用(包括但不限于诉讼费、甲方聘请律师的实际支出、搬出费用)等。</p>
+          <p class="content-text">(2)乙方严重违反甲方的规章制度,造成甲方难以履行对乙方的养老服务,或造成其他入住老人伤害或存在可能造成他人伤害危险的。需对有关事实进行甄别的,可提请属地民政部门或委托第三方协助认定。</p>
+          <p class="content-text">(3)乙方或丙方隐瞒乙方健康状况,或者乙方患有须隔离治疗的传染性疾病或者患有精神疾病等其他不适宜在机构内集中生活的。</p>
+          <p class="content-text">(4)发生不可抗力致甲方不能履行合同的。</p>
+''')
+
+# ============ 第16页:第八条继续 ============
+page16 = page_wrapper(16, '''          <p class="content-text">(5)甲方因丧失养老机构执业资格等原因暂停、终止服务的。甲方应当于暂停或者终止服务60日前向实施许可或备案的属地民政部门提交老年人安置方案,经批准后方可解除养老机构服务合同。</p>
+          <p class="content-text">(6)乙方连续请假外出超过90天(限期不得少于30天)。请假期间,因病情严重需要医治或疫情防控等管理要求,乙方无法返院或甲方不具备返院条件的情形除外。</p>
+          <p class="content-text">(7)丙方与甲方中断联系达到30天的,甲方有权选择单方解除合同。</p>
+          <p class="content-text">2.3 除本合同另有约定外,下列情况下,乙方提前终止合同的,按照以下约定执行:</p>
+          <p class="content-text">如乙方提前解除合同(除因疾病需长期住院治疗、去世解除合同外),须提前30天书面向甲方提出申请,经甲方批准后方可办理离院手续,乙方应按照本月实际享受服务天数结算本月床位费、护理费、膳食费、管理费、水电费等费用,并按照附件《服务项目收费标准》中乙方所定房型向甲方缴纳一个月床位费的违约金。</p>
+''')
+
+# ============ 第17页:第九条 违约责任 ============
+page17 = page_wrapper(17, '''          <h2 class="section-title">第九条 违约责任</h2>
+          <p class="content-text">1.因甲方及其工作人员的过错,损害乙方人身或财产权利的,由甲方承担赔偿责任。</p>
+          <p class="content-text">2.甲方服务人员资质不合格、没有按约定提供服务或者提供的服务不合格,造成乙方人身或财产损失的,甲方应当承担赔偿责任。</p>
+          <p class="content-text">3.甲方或其工作人员侵犯乙方、丙方对甲方提供的养老服务的知情权的,乙方和丙方有权要求甲方改正,造成损失的甲方应承担赔偿责任。</p>
+          <p class="content-text">4.如果乙方或丙方无故拖欠各项费用超过15日,经甲方发出催告通知后7日内仍不交纳的,甲方有权解除合同,书面通知乙方和丙方,要求乙方出院。如果乙方在甲方发出解除合同通知后7日内仍不出院,甲方有权强制要求乙方出院或者送回乙方或丙方住所。此种情况下解除合同,乙方及丙方除应支付拖欠的费用外,还应每天支付应付未付费用金额的1‰违约金,并负担甲方由此产生的一切费用(包括但不限于诉讼费、甲方聘请律师的实际支出、搬出费用)等;</p>
+          <p class="content-text">5.乙方或丙方未将乙方健康状况、用药情况及过往病史如实告知甲方,造成甲方在提供服务过程中护理失当的,由乙方或丙方承担相应的后果。</p>
+          <p class="content-text">6.乙方需外出就医的,甲方履行告知义务,乙方拒绝外出就医或丙方拒绝及时携乙方到医院就诊而造成的后果,由乙、丙方自行承担。</p>
+          <p class="content-text">7.甲方没有过错,因乙方原因造成其自身损害的,由乙方、丙方自行承担全部后果和责任。</p>
+          <p class="content-text">8.因乙方原因造成甲方或第三人人身或财产损失的,乙方、丙方应承担赔偿责任。</p>
+''')
+
+# ============ 第18页:第九条继续 + 第十条 ============
+page18 = page_wrapper(18, '''          <p class="content-text">9.签订养老服务合同后,乙方未按照合同约定时间入住的,按照以下约定办理:因紧急住院治疗无法按期办理且向公办养老机构提出由医疗机构出具的诊断结论的,由公办养老机构适当延长其资格核实、办理入住手续期限。</p>
+          <p class="content-text">10.本合同提前终止或服务期满后,乙方逾期搬离甲方养老机构的,按乙方在服务期满前一个月的养老服务费用标准的1.5倍按日计付养老服务费用,直至办理完毕离院手续并搬离甲方养老机构之日止。</p>
+          <p class="content-text">11.甲方按本合同约定应承担赔偿责任的,赔偿限额以甲方实际收费为限。</p>
+          <h2 class="section-title">第十条 通知与送达</h2>
+          <p class="content-text">1.在本合同首页中所标明的甲方、乙方和丙方的地址和联系方式为各方各自有效的通讯地址和联系方式。一方变更通讯地址和联络方式应及时通知其他各方。</p>
+          <p class="content-text">2.以下情形,视为送达,但受送达人有证据证明其因客观原因未实际接收到通知的除外:</p>
+          <p class="content-text">以特快专递形式发送,已经签收的,以签收日为送达日;未签收的,同城自发送之日起2日视为文件已经送达,异地5日视为送达,境外15日视为送达;以手机短信发送的,发送成功即视为送达;电子邮件自发出后进入收件方邮箱服务器视为送达;传真发送自对方传真机接收视为送达。</p>
+          <p class="content-text">因受送达人通讯地址或其他相关信息错误、不详或发生变更未及时通知其他各方造成无法送达的,由受送达人自行承担相关后果。</p>
+          <p class="content-text">3.乙方入住甲方期间,有关本合同的履行事宜甲方应以书面或数据电文形式通知乙方或丙方,由乙方或丙方确认签收;乙方或丙方拒签的,书面通知在第三方见证下送至收件人地址的视为已通知或已送达,数据电文进入收件人接收系统的视为已通知或已送达。</p>
+''')
+
+# ============ 第19页:第十一条 ============
+page19 = page_wrapper(19, '''          <h2 class="section-title">第十一条 陈述与保证</h2>
+          <p class="content-text">1.甲方保证为依照法律、行政法规设立并依法登记的养老机构,具有提供本合同约定的养老服务的资格和能力。</p>
+          <p class="content-text">2.乙方或丙方保证乙方不属于患有精神病、甲类或乙类传染性疾病等不符合入住养老机构疾病的老年人。</p>
+          <p class="content-text">3.乙方或丙方保证向甲方提供乙方在本协议签署前1个月内在甲方所在地二级甲等以上医院进行体检的《体检报告》(体检项目包括:精神健康状况、传染性疾病及养老机构要求的其他体检项目等)(作为本合同附件)。</p>
+          <p class="content-text">4.乙方或丙方保证向甲方提供的乙方或丙方共同签字的《入住登记表》(作为本协议附件)是真实的,没有任何虚假或隐瞒。</p>
+          <p class="content-text">5.丙方保证担任本合同履行过程的联系人,接收甲方的通知,如涉及诉讼、仲裁或其他法律程序的,保证作为相关机构法律文书的接收人,甲方或相关机构向乙方或保证人所列明的地址、联系方式等送达相关文书的,均视为有效送达。</p>
+''')
+
+# ============ 第20页:第十二条 ============
+page20 = page_wrapper(20, '''          <h2 class="section-title">第十二条 特别约定</h2>
+          <p class="content-text">1.甲方仅提供与合同约定护理等级相符的相关服务,对于超出护理等级的看护、注意义务,甲方将依据现实情况、乙方身体状况尽可能的提供帮扶、协助,但不表示甲方愿意接受超出合同约定的范围的约束;甲方不是专业的医疗机构,对乙方进行的常规体检不代表甲方对乙方真实身体状况的了解,也不能代表甲方对乙方身体状况的确认,一切以专业的医疗机构及医疗人员的判断为准。</p>
+          <p class="content-text">2.突发疾病或出现事故等紧急情况的处理</p>
+          <p class="content-text">(1)乙方在入住期间突发疾病或身体伤害事故,甲方应及时通知丙方,及时联系120等医疗急救机构;如需到医疗机构急救、甲方应派人陪送至医疗机构。甲方不能及时联系上丙方的,应尽早与本合同附件确定的其他联系人取得联系并通报情况。</p>
+          <p class="content-text">(2)甲方具有医疗资质的,在乙方生命垂危等紧急情况下应尽到合理诊疗义务,费用由乙方和丙方承担。</p>
+          <p class="content-text">(3)因乙方发生紧急情况产生的费用急救费用、治疗费用、住院押金等均由乙方和丙方负担。甲方因此垫付费用的,乙方或丙方应按照甲方要求的时间内清偿。</p>
+          <p class="content-text">(4)为保证入住长者的生活环境,甲方暂未设有临终关怀服务,当乙方生命垂危时,丙方应全力配合甲方将乙方送医院进行抢救;若乙方或丙方任何一方不予配合,甲方有权利将乙方送往就近医院抢救并扣除乙方入住时缴纳人民币<span class="fill">{{ contractForm.lifeSavingDeposit || '____' }}</span>元(大写金额:<span class="fill">{{ contractForm.lifeSavingDepositCN || '________' }}</span>)的押金,救护费用不足部分由乙方及丙方承担;</p>
+          <p class="content-text">(5)若乙方在甲方养老院突然去世,丙方须全力配合甲方将乙方以医疗救护的方式将乙方送往就近医院;若丙方不予配合,甲方有权利扣除乙方入住时缴纳人民币<span class="fill">{{ contractForm.deathDeposit || '____' }}</span>元(大写金额:<span class="fill">{{ contractForm.deathDepositCN || '________' }}</span>)的押金,费用不足部分由丙方承担;</p>
+''')
+
+# ============ 第21页:第十二条继续 ============
+page21 = page_wrapper(21, '''          <p class="content-text">3.乙方去世的善后服务及相关费用</p>
+          <p class="content-text">乙方在甲方服务期间去世的,甲方应及时与丙方取得联系,丙方负责善后处理并承担相关费用。无法与丙方取得联系的,应及时联系殡仪馆,妥善保存遗体,发生的费用由丙方承担。</p>
+          <p class="content-text">4.甲方与丙方联系中断</p>
+          <p class="content-text">因丙方提供的联系地址、方式不准确或不详细或变更后未及时通知甲方,或其他客观原因致使甲方无法与丙方及时联系,连续达30天则视为联系中断。甲方与乙方协商后,可以重新确定联系人。联系中断不免除丙方在本合同项下的责任。</p>
+          <p class="content-text">因乙方、丙方原因导致联系中断的,如乙方仍有其他直系亲属的,则甲方有权自行联系其他直系亲属协商重新确定联系人或解除合同关系。无其他直系亲属或无其他亲属愿意承担乙方相关费用的,则甲方有权自行联系相关政府部门或其他机构解决处理有关乙方的托养事宜,因此而产生的相关费用,甲方有权向乙方或丙方追偿。</p>
+          <p class="content-text">5.非因甲方故意或重大过失的原因造成乙方人身、财产损害的,甲方不承担责任。</p>
+          <p class="content-text">乙方入住后若发生根据体检报告所反映出的一系列疾病、并发症或突发性疾病导致死亡,与甲方无关;</p>
+          <p class="content-text">由于乙方属高龄及有疾病的长者,易发生意外,入住期间非因甲方原因若发生骨折、心脏骤停、脑梗、脑溢血、呛咳、肺部感染等疾病导致死亡与甲方无关;</p>
+          <p class="content-text">乙方入住后,经甲方诊断有疾病且书面通知乙方前往三甲及以上的医院进行治疗的,乙方应及时前往医院就医;若乙方或丙方不予配合,乙方发生任何意外,由乙方和丙方负担全部责任;</p>
+          <p class="content-text">6.乙方具有完全民事行为能力,但拒绝接收甲方提供服务,造成其自身人身、财产损害的,由乙方自行承担后果。</p>
+          <p class="content-text">7.本合同关于乙方和丙方权利义务的约定,并不免除对乙方有法定赡养义务的其他人的法定责任。</p>
+          <p class="content-text">8.因不可抗力导致本合同无法继续履行的、受到不可抗力影响的一方应在不可抗力情形发生后及时通知合同其他相关方,本合同可依法解除,合同各方不承担解除合同的责任。丙方应及时接回并妥善安置乙方。</p>
+          <p class="content-text">9.甲方破产、停业、转让:甲方需提前30天通知乙方和丙方,并协助丙方将乙方转至其他养老机构托养或送回住所;</p>
+''')
+
+# ============ 第22页:第十三条 + 第十四条 ============
+page22 = page_wrapper(22, '''          <h2 class="section-title">第十三条 争议解决方式</h2>
+          <p class="content-text">本合同在履行过程中发生争议,当事人尽量协商解决。协商不成的,当事人可以选择向有管辖权的人民法院提起诉讼。</p>
+          <h2 class="section-title">第十四条 合同生效及附件</h2>
+          <p class="content-text">本合同一式【叁】份,甲方执【壹】份,乙方执【壹】份,乙方监护人执【壹】份,自各方签字或盖章之日起生效。</p>
+          <p class="content-text">1.下列文件为本合同附件,与本合同具有同等法律效力:</p>
+          <p class="content-text">附件一:《知情同意书》</p>
+          <p class="content-text">附件二:《入住登记表》</p>
+          <p class="content-text">附件三:《入住须知》</p>
+          <p class="content-text">附件四:《长者安全承诺书》</p>
+          <p class="content-text">附件五:《长者外出情况确认书》</p>
+          <p class="content-text">附件六:《签名代理申请》</p>
+          <p class="content-text">附件七:《委托代理人确认表》</p>
+          <p class="content-text">附件八:《机构服务范围及收费标准》</p>
+          <p class="content-text">附件九:《房间设施设备清单》</p>
+          <p class="content-text">附件十:二级甲等以上医院出具的《体检报告项目说明》(体检时间应在签订服务合同前30日以内)</p>
+          <p class="content-text">附件十一:乙方有效证件身份证、户口本复印件</p>
+          <p class="content-text">附件十二:乙方监护人身份证、户口本复印件</p>
+          <p class="content-text" style="font-style: italic; margin-top: 20px;">2.本合同附件系本合同不可分割的组成部分,与本合同具有同等法律效力。</p>
+''')
+
+# ============ 第23页:合同签署页 ============
+page23_content = '''          <h2 class="section-title" style="text-align: center;">合同签署页</h2>
+          <div class="sign-block">
+            <p class="sign-line">甲方(盖章):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;">
+              <ESign v-model="contractForm.partyASeal" />
+            </div>
+            <img v-if="isPrint && contractForm.partyASeal" :src="contractForm.partyASeal" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">法定代表人(签字):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;">
+              <ESign v-model="contractForm.partyALegalSign" />
+            </div>
+            <img v-if="isPrint && contractForm.partyALegalSign" :src="contractForm.partyALegalSign" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.partyASignDate || '____年__月__日' }}</p>
+          </div>
+          <div class="sign-block" style="margin-top: 30px;">
+            <p class="sign-line">乙方(签字):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;">
+              <ESign v-model="contractForm.partyBSign" />
+            </div>
+            <img v-if="isPrint && contractForm.partyBSign" :src="contractForm.partyBSign" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.partyBSignDate || '____年__月__日' }}</p>
+          </div>
+          <div class="sign-block" style="margin-top: 30px;">
+            <p class="sign-line">丙方(签字/盖章):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;">
+              <ESign v-model="contractForm.partyCSign" />
+            </div>
+            <img v-if="isPrint && contractForm.partyCSign" :src="contractForm.partyCSign" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.partyCSignDate || '____年__月__日' }}</p>
+          </div>
+'''
+page23 = page_wrapper(23, page23_content)
+
+# ============ 第24-27页:附件一 知情同意书 ============
+page24 = page_wrapper(24, '''          <h1 class="doc-title" style="text-align: center;">附件一 知情同意书</h1>
+          <p class="content-text">为充分保障乙方(姓名<span class="fill">{{ contractForm.elderName || '________' }}</span>)的健康与安全,结合乙方年迈体弱之特点,甲方(公司名称:<span class="fill">{{ contractForm.partyAName || '颐年集团养老服务机构' }}</span>)特向乙、丙两方告知以下事项,乙、丙两方须认真研读:</p>
+          <h3 class="subsection-title">一、保护性约束风险</h3>
+          <p class="content-text">考虑到乙方年事已高,或受疾病、精神等因素影响,在入住甲方期间,有可能采取保护性约束措施,以避免其自伤或伤人情况的发生,保障乙方安全以及各项治疗护理工作的顺利开展。现特将施行保护性约束措施的必要性及医疗风险告知如下:</p>
+          <p class="content-text">(一) 必要性</p>
+          <p class="content-text">1. 为保障治疗工作顺利推进;</p>
+          <p class="content-text">2. 避免乙方因精神方面的因素出现伤害自身或他人的情况;</p>
+          <p class="content-text">3. 防止乙方在意识不清时自行移除引流导尿管、鼻胃管等医疗设备;</p>
+          <p class="content-text">4. 防范乙方发生跌倒或坠床事件;</p>
+          <p class="content-text">5. 基于其他必要的因素。</p>
+          <p class="content-text">(二) 医疗风险</p>
+          <p class="content-text">1. 改变约束部位皮肤的完整性以及血液循环状况;</p>
+          <p class="content-text">2. 在使用约束背心或约束带时,因乙方躁动致使约束过紧,进而导致呼吸改变,存在发生窒息的风险;使用约束带时,若乙方有暴力倾向且不配合,可能引发骨折或其他伤害。</p>
+''')
+
+page25 = page_wrapper(25, '''          <p class="content-text">3. 因乙方或丙方意外或有意解除约束带,可能导致各种管道及静脉通路脱出,或者致使乙方发生跌倒、坠床等意外伤害。</p>
+          <p class="content-text">4. 被约束肢体出现损伤。</p>
+          <p class="content-text">5. 存在其他医疗风险。</p>
+          <h3 class="subsection-title">二、请假外出风险</h3>
+          <p class="content-text">协议履行期间甲方不建议乙方经常请假外出,若确需请假外出,乙方、乙方监护人需遵照本条条款执行:</p>
+          <p class="content-text">1. 严禁私自离院,否则因此产生的一切风险后果由乙方、家属自行承担,甲方不承担任何责任。</p>
+          <p class="content-text">2. 有家属/监护人/代理人陪同的,乙方向当班工作人员提出请假申请,工作人员为符合请假条件老人办理请假、审批手续。</p>
+          <p class="content-text">3. 无家属/监护人/代理人陪同的,乙方需近三个月内MMSE评分为正常方可自行提出请假申请,工作人员评估其符合自行请假条件后为其办理请假、审批手续;若乙方近三个月MMSE评分有异常,或经工作人员评估其不符合自行请假条件的,不予办理请假、审批手续;认知症老人一律不予办理自行单独请假、外出审批手续。</p>
+          <p class="content-text">4. 乙方经工作人员评估暂不适宜请假外出,或不符合在无家属、监护人陪同的自行请假条件,经与乙方、家属或监护人沟通,劝阻无果,乙方、监护人或家属仍坚持要求请假外出的,一切风险由乙方、监护人及家属自行承担。</p>
+          <p class="content-text">5. 凡当天不能返院,需在外留宿老人,需在其离院24小时内致电所在护理区报平安。如需延长请假,需来电或来信说明原因。</p>
+          <p class="content-text">6. 外出时将外出请假放行条交于门卫,并配合门卫做好相关登记,以示外出。</p>
+          <p class="content-text">7. 携带乙方外出者,负责保障乙方外出期间的安全。</p>
+''')
+
+page26 = page_wrapper(26, '''          <p class="content-text">8. 对于乙方请假期间在院外发生的一切病情加重或恶化、人身伤害、安全责任事故等意外,均由乙方及其监护人、家属、代理人自行承担责任,甲方不承担任何责任。</p>
+          <p class="content-text">9. 乙方请假外出期间在甲方处以外所产生的住宿、伙食、交通、医疗、护理、救治等一切费用,均由乙方自行承担。</p>
+          <p class="content-text">10. 对于乙方请假外出,需自行解决往返交通。</p>
+          <p class="content-text">11. 其他相关请假外出规定。</p>
+          <h3 class="subsection-title">三、难免性压疮风险</h3>
+          <p class="content-text">鉴于乙方体质特殊,身体素质欠佳且营养吸收能力较弱,加之患病、皮肤抵抗力低下、大小便失禁以及长期使用石膏绷带和夹板等因素,在治疗与护理过程中极易引发压疮。因此,乙方在入住期间存在发生压疮的可能性。甲方将严格依照护理级别,采取定期翻身、清洁身体、避免潮湿、摩擦及排泄物刺激、促进局部血液循环、增加营养摄入等防范举措。乙方与丙方应配合甲方积极开展治疗。即便甲方积极采取相应措施,压疮仍有可能发生,乙方、丙方及其他亲属需对压疮风险予以知悉并理解。</p>
+          <h3 class="subsection-title">四、跌倒/坠床风险</h3>
+          <p class="content-text">鉴于老人年老体弱,在自行走动(活动)或卧床时易发生跌倒、坠床等意外情况。对于此类意外的发生,乙方及丙方应充分理解。同时,为减少跌倒/坠床情况的发生,特告知以下事项:</p>
+          <p class="content-text">1. 存在跌倒、坠床风险的老人(包含:1. 肢体乏力、行动不便、步态不稳者;2. 身体较为虚弱、伴有头晕症状、患有贫血病症以及血压不稳定者;3. 存在精神或意识方面较差状况或存在意识障碍的人员;4. 使用麻醉类及精神类药物的人员;5. 高龄、视力不佳者严禁随意下床或跨越床栏。家属或陪护人员在陪伴老人期间,应及时拉起床栏;未经甲方工作人员同意,严禁随意放下护栏,以防发生坠床事故。)</p>
+''')
+
+page27 = page_wrapper(27, '''          <p class="content-text">6. 对于存在跌倒、坠床风险的老人,在外出进行检查时,必须由护理人员或陪护人员陪同,严禁自行行动。</p>
+          <p class="content-text">7. 当老人有变更体位进行活动的需求时,需遵循循序渐进的原则,在确认无异常情况之后,方可开始行走,以此避免因突然改变体位而导致跌倒。</p>
+          <p class="content-text">8. 老年人穿脱鞋袜及裤子时,宜坐着进行,切不可赤脚行走,应穿着带有防滑坑纹的鞋子,以防止滑倒。</p>
+          <p class="content-text">9. 浴室已安装防滑地板,并配备扶手与座厕。如厕时,应自觉使用扶手。</p>
+          <p class="content-text">10. 行动不便者,需在他人陪护下进行起床、行走、活动、锻炼、沐浴或如厕等行为,并使用合适的助行用具或轮椅。同时,助行器应放置在老人易于取用之处。</p>
+          <p class="content-text">11. 老人床头及厕所均设置有呼叫器,老人需掌握呼叫器的使用方法。当在行走过程中于突发状况的位置,出现头晕、双眼发黑、下肢无力、行走不稳或无法移动等情况时,应即刻在原地坐下(蹲下)或靠墙站立,并按下呼叫器或大声呼喊以寻求帮助。</p>
+          <p class="content-text">12. 应时刻留意警示牌,避免行走于湿滑、有果皮、存在障碍物或凹凸不平的路面。若发现地面湿滑,需及时通知医护人员以消除安全隐患。</p>
+          <p class="content-text">13. 服用镇静类、催眠类、抗忧郁类、抗过敏类、抗心律失常类、降压类、利尿类、降糖类等药物的老年人,严禁擅自离床或独自外出。</p>
+          <p class="content-text">14. 老年人应全面、客观地评估自身身体状况,及时向工作人员寻求协助,并认真听取工作人员提出的合理建议。</p>
+          <div class="sign-block" style="margin-top: 30px;">
+            <p class="sign-line">乙方(长者签字):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;">
+              <ESign v-model="contractForm.consentSignB" />
+            </div>
+            <img v-if="isPrint && contractForm.consentSignB" :src="contractForm.consentSignB" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">丙方(家属/监护人签字):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;">
+              <ESign v-model="contractForm.consentSignC" />
+            </div>
+            <img v-if="isPrint && contractForm.consentSignC" :src="contractForm.consentSignC" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:{{ contractForm.consentDate || '____年__月__日' }}</p>
+          </div>
+''')
+
+# ============ 第28页:附件二 入住登记表 ============
+page28 = page_wrapper(28, '''          <h1 class="doc-title" style="text-align: center;">附件二 入住登记表</h1>
+          <table class="info-table">
+            <tr><th>姓名</th><td>{{ contractForm.elderName || '' }}</td><th>性别</th><td>{{ contractForm.elderGenderText || '' }}</td><th>出生年月</th><td>{{ contractForm.elderBirth || '' }}</td></tr>
+            <tr><th>身份证号</th><td colspan="3">{{ contractForm.elderIdCard || '' }}</td><th>民族</th><td>{{ contractForm.elderNation || '' }}</td></tr>
+            <tr><th>籍贯</th><td>{{ contractForm.elderNative || '' }}</td><th>文化程度</th><td>{{ contractForm.elderEducation || '' }}</td><th>婚姻状况</th><td>{{ contractForm.elderMarital || '' }}</td></tr>
+            <tr><th>联系电话</th><td colspan="3">{{ contractForm.elderPhone || '' }}</td><th>医保类型</th><td>{{ contractForm.elderInsurance || '' }}</td></tr>
+            <tr><th>户籍地址</th><td colspan="5">{{ contractForm.elderAddress || '' }}</td></tr>
+            <tr><th>紧急联系人1</th><td>{{ contractForm.partyCName || '' }}</td><th>关系</th><td>{{ contractForm.partyCRelation || '' }}</td><th>电话</th><td>{{ contractForm.partyCPhone || '' }}</td></tr>
+            <tr><th>紧急联系人2</th><td>{{ contractForm.emergencyContact2Name || '' }}</td><th>关系</th><td>{{ contractForm.emergencyContact2Relation || '' }}</td><th>电话</th><td>{{ contractForm.emergencyContact2Phone || '' }}</td></tr>
+            <tr><th>护理等级</th><td colspan="5">{{ contractForm.nurseLevelName || '' }}</td></tr>
+            <tr><th>既往病史</th><td colspan="5">{{ contractForm.medicalHistory || '' }}</td></tr>
+            <tr><th>过敏史</th><td colspan="5">{{ contractForm.allergyHistory || '' }}</td></tr>
+            <tr><th>生活习惯</th><td colspan="5">{{ contractForm.livingHabit || '' }}</td></tr>
+            <tr><th>兴趣爱好</th><td colspan="5">{{ contractForm.hobby || '' }}</td></tr>
+          </table>
+          <div class="sign-block" style="margin-top: 20px;">
+            <p class="sign-line">长者(签字):</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.regSign1" /></div>

+ 165 - 0
gen_vue.py

@@ -0,0 +1,165 @@
+# -*- coding: utf-8 -*-
+import sys
+reload(sys) if hasattr(sys, 'reload') else None
+sys.stdout.reconfigure(encoding='utf-8') if hasattr(sys.stdout, 'reconfigure') else None
+
+out = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+
+def pw(n, c):
+    return f'''      <div class="a4-page">
+        <div class="page-header"><span class="page-no">{n}</span></div>
+        <div class="page-content">
+{c}
+        </div>
+      </div>
+'''
+
+def p(t):
+    return f'          <p class="content-text">{t}</p>'
+
+def st(t):
+    return f'          <h2 class="section-title">{t}</h2>'
+
+def sst(t):
+    return f'          <h3 class="subsection-title">{t}</h2>'
+
+def fl(t, k):
+    return f'''          <div class="sign-block" style="margin-top: 20px;">
+            <p class="sign-line">{t}:</p>
+            <div v-if="!isPrint" style="margin: 10px 0;"><ESign v-model="contractForm.{k}" /></div>
+            <img v-if="isPrint && contractForm.{k}" :src="contractForm.{k}" style="max-width: 300px; max-height: 150px;" />
+          </div>
+'''
+
+pages = []
+
+# Page 1
+pages.append(pw(1, f'''          <div class="cover-fields">
+            <p><span class="label">合同编号:</span><span class="fill">{{{{ contractForm.contractNumber || \'________________\' }}}}</span></p>
+            <p><span class="label">长者姓名:</span><span class="fill">{{{{ contractForm.elderName || \'________________\' }}}}</span></p>
+          </div>
+          <h1 class="doc-title" style="margin-top: 120px;">养老机构服务合同</h1>
+          <p style="text-align: center; margin-top: 80px; font-size: 18px;">颐年健康产业(集团)有限公司制定</p>
+'''))
+
+# Page 2
+pages.append(pw(2, st('重要提示(合同签署前请仔细阅读)') +
+    p('为了维护您的利益,请您在签署本合同(本协议)前,仔细阅读如下注意事项:') +
+    p('一、您已阅读本合同(协议)、补充协议及相关文件的所有条款,并已知悉其含义,同时对涉及贵方权利与义务的内容给予了充分的注意。') +
+    p('二、您已确保提交的有关证件及资料是真实、合法、有效的。') +
+    p('三、您已确保向合同(协议)签署相关方所作的陈述、健康状况披露及其他信息披露均完整、充分、真实。') +
+    p('四、本合同(协议)所有条款均为签署方的真实意思表示。')
+))
+
+# Page 3
+pages.append(pw(3, sst('甲方(养老机构):') +
+    p('甲方运营机构:<span class="fill">{{ contractForm.partyAName || \'颐年健康产业(集团)有限公司\' }}</span>') +
+    p('统一社会信用代码:<span class="fill">{{ contractForm.partyACode || \'________________\' }}</span>') +
+    p('地址:<span class="fill">{{ contractForm.partyAAddr || \'________________\' }}</span> 邮编:<span class="fill">{{ contractForm.partyAZip || \'________\' }}</span>') +
+    p('法定代表人:<span class="fill">{{ contractForm.partyALegal || \'________________\' }}</span> 联系方式:<span class="fill">{{ contractForm.partyAPhone || \'________________\' }}</span>') +
+    sst('乙方(入住老年人)') +
+    p('姓名:{{ contractForm.elderName || \'________\' }} 性别:{{ contractForm.elderGenderText || \'□男 □女\' }} 出生年月日:{{ contractForm.elderBirth || \'____年__月__日\' }}') +
+    p('证件类型:□居民身份证 □户口本 □护照 □港澳居民来往内地通行证 □台湾居民来往大陆通行证 □其他') +
+    p('证件号码:{{ contractForm.elderIdCard || \'________________\' }} 联系方式:{{ contractForm.elderPhone || \'________________\' }}') +
+    p('家庭地址:{{ contractForm.elderHomeAddr || \'________________\' }}') +
+    p('户籍所在地:{{ contractForm.elderAddress || \'________________\' }} 邮编:{{ contractForm.elderZip || \'________\' }}') +
+    sst('丙方(老年人家属/监护人/担保人/委托代理人)') +
+    p('姓名:{{ contractForm.partyCName || \'________\' }} 性别:{{ contractForm.partyCGenderText || \'\' }} 出生年月:{{ contractForm.partyCBirth || \'________\' }}') +
+    p('与乙方关系:{{ contractForm.partyCRelation || \'________\' }}') +
+    p('证件类型:□居民身份证 □户口本 □护照 □港澳居民来往内地通行证 □台湾居民来往大陆通行证 □其他') +
+    p('证件号码:{{ contractForm.partyCIdCard || \'________________\' }} 联系方式:{{ contractForm.partyCPhone || \'________________\' }}') +
+    p('住所(址):{{ contractForm.partyCAddress || \'________________\' }}') +
+    p('户籍所在地:{{ contractForm.partyCHomeAddr || \'________________\' }} 邮编:{{ contractForm.partyCZip || \'________\' }}') +
+    p('工作单位:{{ contractForm.partyCWorkUnit || \'________________\' }}') +
+    p('通信地址:{{ contractForm.partyCCommAddr || \'________________\' }}') +
+    p('(若乙方属于限制民事行为能力或者无民事行为能力的入住老年人,须由监护人签字确认)')
+))
+
+# Page 4
+pages.append(pw(4, sst('鉴于:') +
+    p('1、甲方是依法成立的养老机构,能够提供个人生活照料、康复护理、精神慰藉、文化娱乐等养老服务;') +
+    p('2、乙方和丙方经实地考察甲方,自愿决定乙方入住甲方开办的养老机构,接受甲方提供的专业养老服务,并向甲方支付相应费用;') +
+    p('3、乙方授权丙方作为乙方在紧急情况下的代理人、联系人,代为处理乙方在本合同项下的相关事务,丙方同意接受乙方授权并作为乙方履行本合同义务的保证人。') +
+    p('4、接收条件:乙方保证无精神病,无传染性疾病,无吸毒嗜好,无自杀、自残、攻击他人等危害自身、他人和公共安全的精神性障碍或缺陷,并且适应集体生活;') +
+    p('为了营造温馨、舒适、安全的生活环境,满足老年人"老有所养、老有所乐"的需要,切实保障老年人的合法权益,同时明确各自的权利义务,甲、乙、丙三方根据《中华人民共和国民法典》《中华人民共和国老年人权益保障法》《广东省养老服务条例》《广州市养老服务条例》和《养老机构管理办法》等有关法律、法规的规定,本着平等、自愿、公平、诚实守信的原则,经友好协商,就甲方为乙方提供养老服务事宜达成一致,签订本合同。') +
+    st('第一条 服务内容') +
+    p('1.甲方按照约定向乙方提供生活照料、康复护理、精神慰藉、文化娱乐等服务。甲方提供的服务应当符合法律法规规章和国家强制性标准《养老机构服务安全基本规范》要求,并积极适用行业和地方标准。') +
+    p('2.甲方应依据广州市老年人照护需求综合评估规范,对乙方进行照护需求等级评估,根据评估结果和乙方提供的《体检报告》,经与乙方或丙方商定后,确定乙方照护等级,并由甲方按照约定的《护理等级与服务项目》(附件)为乙方提供相应服务。')
+))
+
+# Page 5
+pages.append(pw(5,
+    p('2.1根据乙方提供的《体检报告》、《入住登记表》(见本合同附件)及甲方对乙方进行护理等级首评,确定乙方护理级别为:<span class="fill">{{ contractForm.nurseLevelName || \'________\' }}</span>,甲方向乙方提供的护理等级服务项目详见本合同附件《护理等级与服务项目》。') +
+    p('2.2因老年人护理等级评估涉及到乙方的日常生活、精神状态、感知觉与沟通、社会参与等各方面的评估,甲方为真实反映乙方的实际生活能力,入住满1个月时会根据老年人实际生活情况进行护理等级复评,如果复评与首评的护理等级一致,则按照首评护理等级服务项目进行收费和服务;如果复评与首评的护理等级不一致,则按照复评结果调整护理等级,并调整服务项目的收费和服务内容,甲方应通知乙方、丙方签订书面补充协议进行护理等级变更。') +
+    p('2.3因老年人的身体机能处在不断的变化中,每入住半年或根据老年人身体变化需要,甲方会对乙方护理等级进行动态评估,如护理等级有调整,则按照新的护理等级服务项目进行收费和服务,并签订书面补充协议。') +
+    p('3.在本合同履行过程中,乙方或丙方如果选择《护理等级与服务项目》以外的其他服务项目,经各方协商一致后另行签署书面补充协议确定。') +
+    st('第二条 服务地点及设施') +
+    p('1.经协商,确定本合同期限<span class="fill">{{ contractForm.contractMonths || \'__\' }}</span>个月,自<span class="fill">{{ contractForm.startDate || \'____年__月__日\' }}</span>起至<span class="fill">{{ contractForm.endDate || \'____年__月__日\' }}</span>止。') +
+    p('2.甲方为乙方提供养老服务的地点为:<span class="fill">{{ contractForm.servicePlace || \'颐年集团养老服务机构\' }}</span>。') +
+    p('3.乙方或丙方为乙方选择入住的房间类型为(在以下几种情况中选择一种):□单间 □双人间 □三人间 □多人间(四人以上六人以下,含四人、六人) □其他(套房等)。') +
+    p('4.乙方或丙方为乙方选择的具体房间为:<span class="fill">{{ contractForm.roomNumber || \'________________\' }}</span>。') +
+    p('5.乙方或丙方基于正当理由要求调整房间的,甲方在条件许可的范围内应尽量满足。若因房间变化,需要相应调整费用的,应由各方协商一致书面确认后调整,如各方不能达成一致意见书面确认,则仍依本合同约定房间履行。') +
+    p('6.甲方提供的服务设施除了住宿的房屋,还包括房间内生活起居必要的基础设施及其他公共设施。')
+))
+
+# Page 6
+pages.append(pw(6, st('第三条 收费标准及费用支付方式') +
+    p('1.甲方的收费标准和调整应遵守养老机构服务收费管理的相关规定,不得违规收取大额预付费、向服务对象兜售保健品,不得以许诺还本付息或者给予其他投资回报、虚假夸大宣传、承诺明显低于市场价入住、折扣返利等与事实不符的条件诱导乙方或丙方交纳费用。') +
+    p('2.甲方提供的各种服务项目的收费标准和收费依据应在养老机构内公共区域显著位置进行公示,并以公共区域或网络方式进行线上公示,服务项目及其收费标准应作为本合同附件。') +
+    p('3.根据本合同第一条、第二条乙方选择的房间、照护等级及服务项目,各方共同确认,乙方入住甲方需支付的养老服务费用具体如下:') +
+    p('(1)养老服务费用为:<span class="fill">{{ contractForm.totalFee || \'____\' }}</span>元/月。') +
+    p('其中:床位费:<span class="fill">{{ contractForm.bedFee || \'____\' }}</span>元/月;护理费:<span class="fill">{{ contractForm.nurseFee || \'____\' }}</span>元/月;伙食费:<span class="fill">{{ contractForm.mealFee || \'____\' }}</span>元/月;') +
+    p('其他费用:1)水电费:超出床位费包含的每人每月<span class="fill">{{ contractForm.freeElectric || \'__\' }}</span>千瓦时电和<span class="fill">{{ contractForm.freeWater || \'__\' }}</span>立方冷水的免费额度后,超出部分按实际支出进行对应房型具体入住床数进行均摊收取。超出部分收费标准为:热水<span class="fill">{{ contractForm.hotWaterFee || \'__\' }}</span>元/立方;冷水<span class="fill">{{ contractForm.coldWaterFee || \'__\' }}</span>元/立方;电<span class="fill">{{ contractForm.electricFee || \'__\' }}</span>元/千瓦时;2)诊查费:<span class="fill">{{ contractForm.consultFee || \'__\' }}</span>元/月') +
+    p('出现合同中止或终止情形的,扣除实际入住天数产生的费用后予以退款。')
+))
+
+# Page 7
+pages.append(pw(7,
+    p('(2)一次性收取的费用(如有请填写)。') +
+    p('①一次性设施设备费<span class="fill">{{ contractForm.facilityFee || \'/\' }}</span>元,收取的期限自<span class="fill">{{ contractForm.facilityStartDateText || \'/\' }}</span>至<span class="fill">{{ contractForm.facilityEndDateText || \'/\' }}</span>(建议时长不超过3年)。出现合同中止或终止情形的,扣除实际入住天数产生的费用后,按照以下标准予以退款:<span class="fill">{{ contractForm.facilityRefundRule || \'/\' }}</span>。') +
+    p('②押金(如有请填写押金类型:履约及医疗保证金):<span class="fill">{{ contractForm.deposit || \'____\' }}</span>元。') +
+    p('出现合同中止情形的,予以全额退还(☑押金不计利息 □押金计利息,计息标准为:无)。') +
+    p('合同期限内出现押金不足时,乙方或丙方应在接到甲方通知之日起5日内补足。涉及退款的,在出现合同中止或终止情形后,双方进行结算,经双方确认无误之日起15个工作日内将资金退给付款方。') +
+    p('4.定期支付的费用按第1种方式支付:(1)按月支付(每月5日前支付下一个月费用);(2)按季度支付(每季度第/__个月的/__日前支付当季费用);(3)其它:/。') +
+    p('5.甲方指定的收款账户信息如下:户名:<span class="fill">{{ contractForm.payeeName || \'________________\' }}</span>;开户银行:<span class="fill">{{ contractForm.payeeBank || \'________________\' }}</span>;账号:<span class="fill">{{ contractForm.payeeAccount || \'________________\' }}</span>') +
+    p('6.乙方或丙方指定的付款账户信息如下:户名:<span class="fill">{{ contractForm.payerName || \'________________\' }}</span>;开户银行:<span class="fill">{{ contractForm.payerBank || \'________________\' }}</span>;账号:<span class="fill">{{ contractForm.payerAccount || \'________________\' }}</span>') +
+    p('7.乙方接受甲方除本合同约定外的其他服务项目的,应根据甲方公示的收费标准和补充合同的约定交纳费用。') +
+    p('8.甲方每月向乙方或丙方提供《个人费用明细表》,乙方或丙方应签字确认。乙方或丙方如有异议,可在收到《个人费用明细表》后7日内书面提出,甲方应做出书面说明。') +
+    p('9.乙方、丙方共同承担向甲方支付本合同约定价款的义务。') +
+    p('10.甲方在收到款项后应向付款人开具等额的合法收费发票。')
+))
+
+# Page 8
+pages.append(pw(8, st('第四条 甲方权利及义务') +
+    p('1.甲方权利') +
+    p('1.1 有权按照本合同约定收取相关费用。') +
+    p('1.2 制订、修改养老机构的管理制度并按照公开的管理制度对乙方进行管理。') +
+    p('1.3 为了乙方的健康和安全,乙方出现紧急情况时,有权在通知乙方或丙方同意的同时,采取必要的处置措施,包括但不限于转送医疗机构,由此产生的费用由乙方或丙方承担。') +
+    p('1.4 如乙方的身体状况、生活自理能力出现变化,由甲方根据对乙方护理等级评价另行确定护理等级,相关费用随之进行调整,如一周联系不上丙方,甲方有权根据乙方所需服务项目的变化情况在押金中先扣除,不足部分甲方仍有权要求乙方和丙方支付所产生变化的费用,由乙方和丙方按甲方制定的标准支付。') +
+    p('1.5 乙方入住后因精神、情绪、心理、性格、生活习惯等原因不适宜院内生活的,经甲方努力,仍无改善的,为维护乙方及院内其他老人的权利,甲方有权要求丙方在两天内为乙方办理退院或转院手续,丙方必须积极配合,做好安抚工作,对此甲方无需承担任何责任。')
+))
+
+# Page 9
+pages.append(pw(9,
+    p('1.6 如乙方患病需要去医院治疗时,甲方本着人道主义,有权紧急处置,所涉及的各项费用由乙方和丙方承担。如乙方需甲方提供住院期间陪护服务,相关费用由乙方和丙方承担,具体陪护事宜由各方协商一致后另行签署书面协议确定。') +
+    p('1.7 有权依照本合同约定及法律规定解除合同。') +
+    p('2.甲方义务') +
+    p('2.1 甲方应是依法成立的养老机构,应履行养老机构备案承诺,按照建筑、消防、食品安全、医疗卫生、特种设备等法律、法规和强制性标准及服务安全相关规范要求开展服务活动,确保按约定向乙方提供符合服务质量标准的养老服务;建立各类安全、疫情防控等应急预案,并应定期对应急预案进行演练。') +
+    p('2.2 应当提供符合乙方住宿条件的居住用房,并配备适合乙方安全保护要求的设施、设备及用具,定期对乙方的活动场所和物品进行消毒和清洗;甲方提供的饮食应当符合食品安全要求、适宜乙方食用、有利于乙方营养平衡和身体健康。') +
+    p('2.3 应当根据登记类型、经营性质、运营方式、设施设备条件、管理水平、服务质量、照料护理等级等因素合理确定服务项目收费标准,调整收费标准时应遵守国家、省和广州市价格管理的有关规定。') +
+    p('2.4 应保证从事医疗、康复、消防等服务人员符合资质要求,保证养老护理人员接受专业技能培训,并定期组织工作人员进行职业道德教育和业务培训,能够满足岗位职责要求。')
+))
+
+# Page 10
+pages.append(pw(10,
+    p('2.5 在提供服务过程中,甲方及其工作人员应尊重乙方,尽力合理地保障乙方的人格尊严和人身、财产安全,并接受乙方、丙方的合理建议和监督。') +
+    p('2.6 应当根据需要为乙方提供情绪疏导、心理咨询、危机干预等精神慰藉服务;应当开展适合老年人的文化、教育、体育、娱乐活动,丰富老年人的精神文化生活。甲方开展文化、教育、体育、娱乐活动时,应当为乙方提供必要的安全防护措施。') +
+    p('2.7 定期组织所在地的医疗机构为乙方开展体检并建立个人健康档案。妥善保存乙方的入住登记表、体检报告等健康资料以及日常经费开支情况等个人信息。应当建立各类信息资料档案的保管、归档和保密制度,除向乙方、丙方和其他有权部门(公安局、检察院、法院、纪委监察、养老服务行业主管部门因办案、监督、检查需要)提供查阅、允许复制外,不得对外透露。') +
+    p('2.8 发现乙方为疑似传染病病人或者精神障碍患者时,应依照传染病防治、精神卫生等相关法律法规的规定处理,及时向附近的疾病预防控制机构或者医疗机构报告,配合实施卫生处理、隔离等预防控制措施,并及时通知丙方。乙方需要外出就医的,甲方应及时告知丙方并由有相关义务的丙方亲自携带乙方就诊,丙方确实未能亲自携带乙方就诊的,应通过委托办理等方式作出妥善安排。') +
+    p('2.9 应当为乙方家庭成员看望或者问候老年人提供便利,为乙方联系家庭成员提供帮助;但不得影响甲方对于乙方正常服务运营或执行政府部门规定的疫情防控等管理要求,否则甲方有权拒绝。') +
+    p('2.10 在发生公共卫生事件等特殊情况下,甲方应贯彻执行政府部门的防控政策规定,积极落实防控措施,并向乙方或丙方做好解释工作。')
+))
+
+with open(out, 'w', encoding='utf-8') as f:
+    f.write('\n'.join(pages))
+print(f'Part 1 written: {len(pages)} pages')

+ 707 - 0
generate_contract.py

@@ -0,0 +1,707 @@
+# -*- coding: utf-8 -*-
+import sys, io
+
+sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
+
+output_path = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+
+# 生成一个紧凑但完整的合同
+# 策略:合同内容部分使用多个 a4-page, 每页用独立的子模板生成
+
+def page(pageno, body):
+    return (
+        '      <div class="a4-page">\n'
+        '        <div class="page-header"><span class="page-no">' + str(pageno) + '</span></div>\n'
+        '        <div class="page-content">\n'
+        + body +
+        '        </div>\n'
+        '      </div>\n'
+    )
+
+# ============ 第1页:封面 ============
+page1 = '''
+          <h1 class="doc-title" style="font-size:22pt; margin-top:80px;">颐年集团养老服务合同</h1>
+          <p class="content-text" style="text-align:center; font-size:13pt; margin-top:20px; text-indent:0;">
+            合同编号:{{ contractForm.contractNumber || '________________' }}
+          </p>
+          <p class="content-text" style="text-align:center; font-size:12pt; margin-top:60px; text-indent:0;">
+            服务长者:{{ contractForm.elderName || '________________' }}
+          </p>
+          <p class="content-text" style="text-align:center; font-size:12pt; text-indent:0;">
+            签订日期:{{ contractForm.startDate || '____年__月__日' }}
+          </p>
+          <p class="content-text" style="text-align:center; font-size:12pt; text-indent:0; margin-top:150px;">
+            颐年集团养老服务机构
+          </p>
+'''
+
+# ============ 第2页:甲乙丙方信息 ============
+page2 = '''
+          <h2 class="section-title">第一条 合同双方基本信息</h2>
+          <table class="info-table">
+            <tr>
+              <th style="width:110px;">甲方(机构)</th>
+              <td colspan="3">
+                <span v-if="isPrint">{{ contractForm.partyAName || '颐年集团养老服务机构' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.partyAName" placeholder="机构名称" size="small" />
+              </td>
+            </tr>
+            <tr>
+              <th>地址</th>
+              <td colspan="3">
+                <span v-if="isPrint">{{ contractForm.partyAAddr || '________________' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.partyAAddr" placeholder="机构地址" size="small" />
+              </td>
+            </tr>
+            <tr>
+              <th>联系电话</th>
+              <td>
+                <span v-if="isPrint">{{ contractForm.partyAPhone || '________________' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.partyAPhone" placeholder="联系电话" size="small" />
+              </td>
+              <th style="width:80px;">邮编</th>
+              <td>
+                <span v-if="isPrint">{{ contractForm.partyAZip || '________________' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.partyAZip" placeholder="邮编" size="small" />
+              </td>
+            </tr>
+          </table>
+
+          <table class="info-table">
+            <tr>
+              <th style="width:110px;">乙方(长者)</th>
+              <td>{{ contractForm.elderName || '' }}</td>
+              <th style="width:60px;">性别</th>
+              <td>{{ contractForm.elderGender || '' }}</td>
+            </tr>
+            <tr>
+              <th>身份证号</th>
+              <td colspan="3">{{ contractForm.elderIdCard || '' }}</td>
+            </tr>
+            <tr>
+              <th>联系电话</th>
+              <td>{{ contractForm.elderPhone || '' }}</td>
+              <th>出生年月</th>
+              <td>{{ contractForm.elderBirth || '' }}</td>
+            </tr>
+            <tr>
+              <th>户籍地址</th>
+              <td colspan="3">{{ contractForm.elderAddress || '' }}</td>
+            </tr>
+          </table>
+
+          <table class="info-table">
+            <tr>
+              <th style="width:110px;">丙方(家属)</th>
+              <td>{{ contractForm.partyCName || '' }}</td>
+              <th style="width:80px;">与乙方关系</th>
+              <td>{{ contractForm.partyCRelation || '' }}</td>
+            </tr>
+            <tr>
+              <th>身份证号</th>
+              <td colspan="3">{{ contractForm.partyCIdCard || '' }}</td>
+            </tr>
+            <tr>
+              <th>联系电话</th>
+              <td>{{ contractForm.partyCPhone || '' }}</td>
+              <th>地址</th>
+              <td>{{ contractForm.partyCAddress || '' }}</td>
+            </tr>
+            <tr>
+              <th>紧急联系人2</th>
+              <td>
+                <span v-if="isPrint">{{ contractForm.emergencyContact2Name || '________________' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.emergencyContact2Name" placeholder="紧急联系人2姓名" size="small" />
+              </td>
+              <th>电话</th>
+              <td>
+                <span v-if="isPrint">{{ contractForm.emergencyContact2Phone || '________________' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.emergencyContact2Phone" placeholder="紧急联系人2电话" size="small" />
+              </td>
+            </tr>
+          </table>
+          <p class="content-text"><strong>特别说明:</strong>丙方作为乙方的家属/监护人,承诺对乙方在甲方机构入住期间的费用支付、重大决策等承担连带责任。</p>
+'''
+
+# ============ 第3页:服务内容 + 服务期限 ============
+page3 = '''
+          <h2 class="section-title">第二条 服务内容</h2>
+          <p class="content-text">1.甲方根据乙方的身体状况和护理等级,为乙方提供以下基本服务:</p>
+          <p class="content-text">(1)日常生活照料:饮食、穿衣、如厕、沐浴、清洁卫生等;</p>
+          <p class="content-text">(2)基本医疗保健:健康监测、慢病管理、用药指导等(非诊疗性服务);</p>
+          <p class="content-text">(3)文化娱乐服务:文娱活动、健身锻炼、兴趣小组等;</p>
+          <p class="content-text">(4)心理支持服务:情感慰藉、心理疏导、精神关怀等;</p>
+          <p class="content-text">(5)安全保障服务:24小时值班、安全巡视、紧急救援等。</p>
+          <p class="content-text">2.乙方护理等级:{{ contractForm.nurseLevelName || '________________' }},甲方根据乙方实际护理等级提供相应服务。</p>
+          <p class="content-text">3.乙方入住房间:{{ contractForm.roomNumber || '________________' }}</p>
+
+          <h2 class="section-title">第三条 服务期限</h2>
+          <p class="content-text">1.本合同服务期限:自
+            <span v-if="isPrint">{{ contractForm.startDate || '____年__月__日' }}</span>
+            <el-date-picker v-show="!isPrint" v-model="contractForm.startDate" type="date" placeholder="入住日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+            起,至
+            <span v-if="isPrint">{{ contractForm.endDate || '____年__月__日' }}</span>
+            <el-date-picker v-show="!isPrint" v-model="contractForm.endDate" type="date" placeholder="结束日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+            止。
+          </p>
+          <p class="content-text">2.服务期满前,如乙方及丙方需要继续接受服务,应提前30日书面通知甲方,经甲方同意后重新签订服务合同。</p>
+          <p class="content-text">3.本合同期限届满,双方未签订新合同但乙方仍继续在甲方处入住的,视为按本合同条款续期,期限为一年。</p>
+'''
+
+# ============ 第4页:费用 ============
+page4 = '''
+          <h2 class="section-title">第四条 服务费用及支付方式</h2>
+          <p class="content-text">1.乙方在甲方入住期间的服务费用标准如下(按人民币计算):</p>
+          <table class="info-table border-table">
+            <tr><th>项目</th><th style="width:200px;">金额(元/月)</th><th>备注</th></tr>
+            <tr>
+              <td>床位费</td>
+              <td>
+                <span v-if="isPrint">{{ contractForm.bedFee || '¥____' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.bedFee" placeholder="床位费" size="small" />
+              </td>
+              <td>基本费用</td>
+            </tr>
+            <tr>
+              <td>护理费</td>
+              <td>
+                <span v-if="isPrint">{{ contractForm.nurseFee || '¥____' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.nurseFee" placeholder="护理费" size="small" />
+              </td>
+              <td>按护理等级</td>
+            </tr>
+            <tr>
+              <td>膳食费</td>
+              <td>
+                <span v-if="isPrint">{{ contractForm.mealFee || '¥____' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.mealFee" placeholder="膳食费" size="small" />
+              </td>
+              <td>一日三餐</td>
+            </tr>
+            <tr>
+              <td>管理费</td>
+              <td>
+                <span v-if="isPrint">{{ contractForm.manageFee || '¥____' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.manageFee" placeholder="管理费" size="small" />
+              </td>
+              <td>日常管理</td>
+            </tr>
+            <tr>
+              <td>水电费</td>
+              <td>
+                <span v-if="isPrint">{{ contractForm.waterFee || '¥____' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.waterFee" placeholder="水电费" size="small" />
+              </td>
+              <td>据实结算</td>
+            </tr>
+            <tr>
+              <td>月合计</td>
+              <td>
+                <span v-if="isPrint">{{ contractForm.monthlyTotal || '¥____' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.monthlyTotal" placeholder="月合计" size="small" />
+              </td>
+              <td></td>
+            </tr>
+          </table>
+          <p class="content-text">2.一次性费用押金:人民币
+            <span v-if="isPrint">{{ contractForm.deposit || '¥____' }}</span>
+            <el-input v-show="!isPrint" v-model="contractForm.deposit" placeholder="押金金额" size="small" style="width:120px;" />
+            元(大写:
+            <span v-if="isPrint">{{ contractForm.depositChinese || '________________' }}</span>
+            <el-input v-show="!isPrint" v-model="contractForm.depositChinese" placeholder="大写金额" size="small" style="width:200px;" />
+            ),乙方退住时无损坏无欠费的情况下全额退还(不计利息)。
+          </p>
+          <p class="content-text">3.支付方式:丙方应在每月1日前支付当月费用,首次费用在本合同签订之日起3日内支付。</p>
+          <p class="content-text">4.如因物价上涨等原因需要调整收费标准,甲方应提前30日书面通知乙方和丙方,调整后的标准从通知之日起30日后执行。</p>
+          <p class="content-text">5.乙方在甲方入住期间产生的医疗费用、药品费用由乙方和丙方自行承担。</p>
+          <p class="content-text">6.如乙方或丙方无故拖欠各项费用超过15日,经甲方书面催告后7日内仍不交纳的,甲方有权解除本合同,并按本合同约定追究乙方和丙方的违约责任。</p>
+'''
+
+# ============ 第5-8页:各方权利义务 ============
+page5 = '''
+          <h2 class="section-title">第五条 甲方权利义务</h2>
+          <p class="content-text"><strong>一、甲方权利</strong></p>
+          <p class="content-text">1.按照本合同约定收取各项服务费用。</p>
+          <p class="content-text">2.要求乙方和丙方如实提供乙方的身体健康状况、病史等信息。</p>
+          <p class="content-text">3.要求乙方遵守甲方制定的各项规章制度,服从甲方的服务管理。</p>
+          <p class="content-text">4.在乙方或丙方违反本合同约定或甲方规章制度的情况下,有权采取相应措施(包括但不限于警告、暂停服务、解除合同等)。</p>
+          <p class="content-text">5.为保证乙方及其他入住长者的安全和合法权益,有权在紧急情况下采取必要处置措施。</p>
+          <p class="content-text"><strong>二、甲方义务</strong></p>
+          <p class="content-text">1.按照本合同约定的服务内容和标准,为乙方提供养老服务。</p>
+          <p class="content-text">2.配备符合资质要求的服务人员,保障服务质量。</p>
+          <p class="content-text">3.建立健全各项规章制度,为乙方提供安全、舒适的生活环境。</p>
+          <p class="content-text">4.定期向丙方通报乙方的身体状况和生活情况。</p>
+          <p class="content-text">5.如乙方发生突发疾病或意外事故,应及时通知丙方,并采取必要的救助措施。</p>
+          <p class="content-text">6.保护乙方的个人隐私和个人信息,不得非法泄露。</p>
+          <p class="content-text">7.接受乙方和丙方的合理建议,不断改进服务质量。</p>
+'''
+
+page6 = '''
+          <h2 class="section-title">第六条 乙方权利义务</h2>
+          <p class="content-text"><strong>一、乙方权利</strong></p>
+          <p class="content-text">1.按照本合同约定接受甲方提供的养老服务。</p>
+          <p class="content-text">2.对甲方的服务质量提出意见和建议。</p>
+          <p class="content-text">3.个人隐私和个人信息受法律保护。</p>
+          <p class="content-text">4.在符合甲方规章制度的前提下,有权会见亲友和外出。</p>
+          <p class="content-text"><strong>二、乙方义务</strong></p>
+          <p class="content-text">1.如实向甲方告知自己的身体健康状况、过往病史、过敏史等信息,并配合甲方的服务工作。</p>
+          <p class="content-text">2.遵守甲方制定的各项规章制度,服从甲方的服务管理,爱护甲方设施设备。</p>
+          <p class="content-text">3.与其他入住长者和睦相处,互相关心、互相帮助。</p>
+          <p class="content-text">4.按时交纳各项费用(如乙方本人有支付能力)。</p>
+          <p class="content-text">5.如身体状况发生变化,应及时告知甲方工作人员。</p>
+'''
+
+page7 = '''
+          <h2 class="section-title">第七条 丙方权利义务</h2>
+          <p class="content-text"><strong>一、丙方权利</strong></p>
+          <p class="content-text">1.了解乙方在甲方的生活状况、健康状况、费用支付情况等信息。</p>
+          <p class="content-text">2.对甲方的服务质量提出意见和建议。</p>
+          <p class="content-text">3.在乙方出现重大疾病或意外事故时,有权参与决策。</p>
+          <p class="content-text"><strong>二、丙方义务</strong></p>
+          <p class="content-text">1.如实向甲方提供乙方的身体健康状况、病史、过敏史等信息。</p>
+          <p class="content-text">2.按照本合同约定按时足额支付乙方的各项服务费用。</p>
+          <p class="content-text">3.保持与甲方的联系,联系方式如有变更应及时通知甲方。</p>
+          <p class="content-text">4.定期探望乙方,关注乙方的身心健康。</p>
+          <p class="content-text">5.如乙方发生突发疾病或意外事故,接到甲方通知后应及时赶到。</p>
+          <p class="content-text">6.如乙方不具备完全民事行为能力,丙方作为乙方的监护人或委托代理人,应对乙方的行为承担相应责任。</p>
+          <p class="content-text">7.丙方与甲方中断联系达到30天的,甲方有权选择单方解除合同。</p>
+'''
+
+# ============ 第9-12页:合同解除 + 违约责任 ============
+page8 = '''
+          <h2 class="section-title">第八条 合同的变更与解除</h2>
+          <h3 class="subsection-title">1.合同的变更</h3>
+          <p class="content-text">1.1本合同履行期间,如乙方身体状况发生变化需要调整护理等级的,经甲方评估后可以变更服务内容和收费标准,并签订补充协议。</p>
+          <p class="content-text">1.2本合同其他条款的变更,须经三方协商一致,并签订书面补充协议。</p>
+
+          <h3 class="subsection-title">2.合同的解除</h3>
+          <p class="content-text">2.1除本合同另有约定外,下列情况下,乙方或丙方可以单方解除本合同,并无需承担违约责任:</p>
+          <p class="content-text">(1)甲方提供的服务不符合合同约定,经乙方或丙方提出,30日内不改正的;</p>
+          <p class="content-text">(2)因甲方或甲方工作人员的严重过错造成乙方人身或重大财产损害的;</p>
+          <p class="content-text">(3)乙方因疾病或其他个人原因离院的,但乙方或丙方不提出解除本合同而要求保留床位或房间的除外;乙方因疾病需要长期住院治疗(凭7天内住院证明)或去世解除合同的,免收违约金;</p>
+          <p class="content-text">(4)履行合同过程中,乙方或丙方提前30日书面通知甲方并结清服务费用的;</p>
+          <p class="content-text">(5)乙方首次入住15日内不适应居住环境或管理方式的,乙方可以单方面解除本合同,并无需承担违约责任。</p>
+'''
+
+page9 = '''
+          <p class="content-text">2.2除本合同另有约定外,下列情况下,甲方可以单方解除本合同,并无需承担违约责任:</p>
+          <p class="content-text">(1)乙方或丙方无故拖欠各项费用超过15日,经甲方书面催告后7日内仍不交纳的,甲方有权解除合同,并书面通知乙方搬出养老机构。乙方在甲方发出书面解除合同通知后7日内仍不搬出的,甲方有权提起诉讼,请求法院确认合同解除。乙方和丙方除应支付拖欠的服务费用、诉讼期间的养老服务费用以外,还应每天支付应付未付费用金额的1‰违约金,并负担甲方由此产生的一切费用(包括但不限于诉讼费、甲方聘请律师的实际支出、搬出费用)等。</p>
+          <p class="content-text">(2)乙方严重违反甲方的规章制度,造成甲方难以履行对乙方的养老服务,或造成其他入住老人伤害或存在可能造成他人伤害危险的。需对有关事实进行甄别的,可提请属地民政部门或委托第三方协助认定。</p>
+          <p class="content-text">(3)乙方或丙方隐瞒乙方健康状况,或者乙方患有须隔离治疗的传染性疾病或者患有精神疾病等其他不适宜在机构内集中生活的。</p>
+          <p class="content-text">(4)发生不可抗力致甲方不能履行合同的。</p>
+          <p class="content-text">(5)甲方因丧失养老机构执业资格等原因暂停、终止服务的。甲方应当于暂停或者终止服务60日前向实施许可或备案的属地民政部门提交老年人安置方案,经批准后方可解除养老机构服务合同。</p>
+          <p class="content-text">(6)乙方连续请假外出超过90天(限期不得少于30天)。请假期间,因病情严重需要医治或疫情防控等管理要求,乙方无法返院或甲方不具备返院条件的情形除外。</p>
+          <p class="content-text">(7)丙方与甲方中断联系达到30天的,甲方有权选择单方解除合同。</p>
+          <p class="content-text">2.3除本合同另有约定外,下列情况下,乙方提前终止合同的,按照以下约定执行:</p>
+          <p class="content-text">如乙方提前解除合同(除因疾病需长期住院治疗、去世解除合同外),须提前30天书面向甲方提出申请,经甲方批准后方可办理离院手续,乙方应按照本月实际享受服务天数结算本月床位费、护理费、膳食费、管理费、水电费等费用,并按照附件《服务项目收费标准》中乙方所定房型向甲方缴纳一个月床位费的违约金。</p>
+'''
+
+# ============ 第13页:违约责任 ============
+page10 = '''
+          <h2 class="section-title">第九条 违约责任</h2>
+          <p class="content-text">1.因甲方及其工作人员的过错,损害乙方人身或财产权利的,由甲方承担赔偿责任。</p>
+          <p class="content-text">2.甲方服务人员资质不合格、没有按约定提供服务或者提供的服务不合格,造成乙方人身或财产损失的,甲方应当承担赔偿责任。</p>
+          <p class="content-text">3.甲方或其工作人员侵犯乙方、丙方对甲方提供的养老服务的知情权的,乙方和丙方有权要求甲方改正,造成损失的甲方应承担赔偿责任。</p>
+          <p class="content-text">4.如果乙方或丙方无故拖欠各项费用超过15日,经甲方发出催告通知后7日内仍不交纳的,甲方有权解除合同,书面通知乙方和丙方,要求乙方出院。如果乙方在甲方发出解除合同通知后7日内仍不出院,甲方有权强制要求乙方出院或者送回乙方或丙方住所。此种情况下解除合同,乙方及丙方除应支付拖欠的费用外,还应每天支付应付未付费用金额的1‰违约金,并负担甲方由此产生的一切费用(包括但不限于诉讼费、甲方聘请律师的实际支出、搬出费用)等。</p>
+          <p class="content-text">5.乙方或丙方未将乙方健康状况、用药情况及过往病史如实告知甲方,造成甲方在提供服务过程中护理失当的,由乙方或丙方承担相应的后果。</p>
+          <p class="content-text">6.乙方需外出就医的,甲方履行告知义务,乙方拒绝外出就医或丙方拒绝及时携乙方到医院就诊而造成的后果,由乙、丙方自行承担。</p>
+          <p class="content-text">7.甲方没有过错,因乙方原因造成其自身损害的,由乙方、丙方自行承担全部后果和责任。</p>
+          <p class="content-text">8.因乙方原因造成甲方或第三人人身或财产损失的,乙方、丙方应承担赔偿责任。</p>
+          <p class="content-text">9.签订养老服务合同后,乙方未按照合同约定时间入住的,按照以下约定办理:因紧急住院治疗无法按期办理且向公办养老机构提出由医疗机构出具的诊断结论的,由公办养老机构适当延长其资格核实、办理入住手续期限。</p>
+          <p class="content-text">10.本合同提前终止或服务期满后,乙方逾期搬离甲方养老机构的,按乙方在服务期满前一个月的养老服务费用标准的1.5倍按日计付养老服务费用,直至办理完毕离院手续并搬离甲方养老机构之日止。</p>
+          <p class="content-text">11.甲方按本合同约定应承担赔偿责任的,赔偿限额以甲方实际收费为限。</p>
+'''
+
+# ============ 第14页:通知送达 + 陈述保证 ============
+page11 = '''
+          <h2 class="section-title">第十条 通知与送达</h2>
+          <p class="content-text">1.在本合同首页中所标明的甲方、乙方和丙方的地址和联系方式为各方各自有效的通讯地址和联系方式。一方变更通讯地址和联络方式应及时通知其他各方。</p>
+          <p class="content-text">2.以下情形,视为送达,但受送达人有证据证明其因客观原因未实际接收到通知的除外:</p>
+          <p class="content-text">以特快专递形式发送,已经签收的,以签收日为送达日;未签收的,同城自发送之日起2日视为文件已经送达,异地5日视为送达,境外15日视为送达;以手机短信发送的,发送成功即视为送达;电子邮件自发出后进入收件方邮箱服务器视为送达;传真发送自对方传真机接收视为送达。</p>
+          <p class="content-text">因受送达人通讯地址或其他相关信息错误、不详或发生变更未及时通知其他各方造成无法送达的,由受送达人自行承担相关后果。</p>
+          <p class="content-text">3.乙方入住甲方期间,有关本合同的履行事宜甲方应以书面或数据电文形式通知乙方或丙方,由乙方或丙方确认签收;乙方或丙方拒签的,书面通知在第三方见证下送至收件人地址的视为已通知或已送达,数据电文进入收件人接收系统的视为已通知或已送达。</p>
+
+          <h2 class="section-title">第十一条 陈述与保证</h2>
+          <p class="content-text">1.甲方保证为依照法律、行政法规设立并依法登记的养老机构,具有提供本合同约定的养老服务的资格和能力。</p>
+          <p class="content-text">2.乙方或丙方保证乙方不属于患有精神病、甲类或乙类传染性疾病等不符合入住养老机构疾病的老年人。</p>
+          <p class="content-text">3.乙方或丙方保证向甲方提供乙方在本协议签署前1个月内在甲方所在地二级甲等以上医院进行体检的《体检报告》(体检项目包括:精神健康状况、传染性疾病及养老机构要求的其他体检项目等)(作为本合同附件)。</p>
+          <p class="content-text">4.乙方或丙方保证向甲方提供的乙方或丙方共同签字的《入住登记表》(作为本协议附件)是真实的,没有任何虚假或隐瞒。</p>
+          <p class="content-text">5.丙方保证担任本合同履行过程的联系人,接收甲方的通知,如涉及诉讼、仲裁或其他法律程序的,保证作为相关机构法律文书的接收人,甲方或相关机构向乙方或保证人所标明的地址、联系方式等送达相关文书的,均视为有效送达。</p>
+'''
+
+# ============ 第15页:特别约定 ============
+page12 = '''
+          <h2 class="section-title">第十二条 特别约定</h2>
+          <p class="content-text">1.甲方仅提供与合同约定护理等级相符的相关服务,对于超出护理等级的看护、注意义务,甲方将依据现实情况、乙方身体状况尽可能的提供帮扶、协助,但不表示甲方愿意接受超出合同约定的范围的约束;甲方不是专业的医疗机构,对乙方进行的常规体检不代表甲方对乙方真实身体状况的了解,也不能代表甲方对乙方身体状况的确认,一切以专业的医疗机构及医疗人员的判断为准。</p>
+          <p class="content-text">2.突发疾病或出现事故等紧急情况的处理</p>
+          <p class="content-text">(1)乙方在入住期间突发疾病或身体伤害事故,甲方应及时通知丙方,及时联系120等医疗急救机构;如需到医疗机构急救,甲方应派人陪送至医疗机构。甲方不能及时联系上丙方的,应尽早与本合同附件确定的其他联系人取得联系并通报情况。</p>
+          <p class="content-text">(2)甲方具有医疗资质的,在乙方生命垂危等紧急情况下应尽到合理诊疗义务,费用由乙方和丙方承担。</p>
+          <p class="content-text">(3)因乙方发生紧急情况产生的急救费用、治疗费用、住院押金等均由乙方和丙方负担。甲方因此垫付费用的,乙方或丙方应按照甲方要求的时间内清偿。</p>
+          <p class="content-text">(4)为保证入住长者的生活环境,甲方暂未设有临终关怀服务,当乙方生命垂危时,丙方应全力配合甲方将乙方送医院进行抢救;若乙方或丙方任何一方不予配合,甲方有权利将乙方送往就近医院抢救并扣除乙方入住时缴纳人民币
+            <span v-if="isPrint">{{ contractForm.lifeSavingDeposit || '____元' }}</span>
+            <el-input v-show="!isPrint" v-model="contractForm.lifeSavingDeposit" placeholder="金额" size="small" style="width:120px;" />
+            (大写:
+            <span v-if="isPrint">{{ contractForm.lifeSavingDepositChinese || '________________' }}</span>
+            <el-input v-show="!isPrint" v-model="contractForm.lifeSavingDepositChinese" placeholder="大写金额" size="small" style="width:200px;" />
+            )的押金,救护费用不足部分由乙方及丙方承担。
+          </p>
+'''
+
+page13 = '''
+          <p class="content-text">(5)若乙方在甲方养老院突然去世,丙方须全力配合甲方将乙方以医疗救护的方式将乙方送往就近医院;若丙方不予配合,甲方有权利扣除乙方入住时缴纳人民币
+            <span v-if="isPrint">{{ contractForm.deathDeposit || '____元' }}</span>
+            <el-input v-show="!isPrint" v-model="contractForm.deathDeposit" placeholder="金额" size="small" style="width:120px;" />
+            (大写:
+            <span v-if="isPrint">{{ contractForm.deathDepositChinese || '________________' }}</span>
+            <el-input v-show="!isPrint" v-model="contractForm.deathDepositChinese" placeholder="大写金额" size="small" style="width:200px;" />
+            )的押金,费用不足部分由丙方承担。
+          </p>
+          <p class="content-text">3.乙方去世的善后服务及相关费用</p>
+          <p class="content-text">乙方在甲方服务期间去世的,甲方应及时与丙方取得联系,丙方负责善后处理并承担相关费用。无法与丙方取得联系的,应及时联系殡仪馆,妥善保存遗体,发生的费用由丙方承担。</p>
+          <p class="content-text">4.甲方与丙方联系中断</p>
+          <p class="content-text">因丙方提供的联系地址、方式不准确或不详细或变更后未及时通知甲方,或其他客观原因致使甲方无法与丙方及时联系,连续达30天则视为联系中断。甲方与乙方协商后,可以重新确定联系人。联系中断不免除丙方在本合同项下的责任。</p>
+          <p class="content-text">因乙方、丙方原因导致联系中断的,如乙方仍有其他直系亲属的,则甲方有权自行联系其他直系亲属协商重新确定联系人或解除合同关系。无其他直系亲属或无其他亲属愿意承担乙方相关费用的,则甲方有权自行联系相关政府部门或其他机构解决处理有关乙方的托养事宜,因此而产生的相关费用,甲方有权向乙方或丙方追偿。</p>
+          <p class="content-text">5.非因甲方故意或重大过失的原因造成乙方人身、财产损害的,甲方不承担责任。</p>
+          <p class="content-text">乙方入住后若发生根据体检报告所反映出的一系列疾病、并发症或突发性疾病导致死亡,与甲方无关;</p>
+          <p class="content-text">由于乙方属高龄及有疾病的长者,易发生意外,入住期间非因甲方原因若发生骨折、心脏骤停、脑梗、脑溢血、呛咳、肺部感染等疾病导致死亡与甲方无关;</p>
+          <p class="content-text">乙方入住后,经甲方诊断有疾病且书面通知乙方前往三甲及以上的医院进行治疗的,乙方应及时前往医院就医;若乙方或丙方不予配合,乙方发生任何意外,由乙方和丙方负担全部责任。</p>
+'''
+
+page14 = '''
+          <p class="content-text">6.乙方具有完全民事行为能力,但拒绝接收甲方提供服务,造成其自身人身、财产损害的,由乙方自行承担后果。</p>
+          <p class="content-text">7.本合同关于乙方和丙方权利义务的约定,并不免除对乙方有法定赡养义务的其他人的法定责任。</p>
+          <p class="content-text">8.因不可抗力导致本合同无法继续履行的,受到不可抗力影响的一方应在不可抗力情形发生后及时通知合同其他相关方,本合同可依法解除,合同各方不承担解除合同的责任。丙方应及时接回并妥善安置乙方。</p>
+          <p class="content-text">9.甲方破产、停业、转让:甲方需提前30天通知乙方和丙方,并协助丙方将乙方转至其他养老机构托养或送回住所。</p>
+
+          <h2 class="section-title">第十三条 争议解决方式</h2>
+          <p class="content-text">本合同在履行过程中发生争议,当事人尽量协商解决。协商不成的,当事人可以选择下列第2种方式解决:</p>
+          <p class="content-text">□ 1.向仲裁机构申请仲裁。</p>
+          <p class="content-text">☑ 2.向有管辖权的人民法院提起诉讼。</p>
+
+          <h2 class="section-title">第十四条 合同生效及附件</h2>
+          <p class="content-text">本合同一式【叁】份,甲方执【壹】份,乙方执【壹】份,乙方监护人执【壹】份,自各方签字或盖章之日起生效。</p>
+          <p class="content-text">1.下列文件为本合同附件,与本合同具有同等法律效力:</p>
+          <p class="content-text">附件一:《知情同意书》</p>
+          <p class="content-text">附件二:《入住登记表》</p>
+          <p class="content-text">附件三:《入住须知》</p>
+          <p class="content-text">附件四:《长者安全承诺书》</p>
+          <p class="content-text">附件五:《长者外出情况确认书》</p>
+          <p class="content-text">附件六:《签名代理申请》</p>
+          <p class="content-text">附件七:《委托代理人确认表》</p>
+          <p class="content-text">附件八:《机构服务范围及收费标准》</p>
+          <p class="content-text">附件九:《房间设施设备清单》</p>
+          <p class="content-text">附件十:二级甲等以上医院出具的《体检报告项目说明》(体检时间应在签订服务合同前30日以内)</p>
+          <p class="content-text">附件十一:乙方有效证件身份证、户口本复印件</p>
+          <p class="content-text">附件十二:乙方监护人身份证、户口本复印件</p>
+          <p class="content-text">2.本合同附件系本合同不可分割的组成部分,与本合同具有同等法律效力。</p>
+          <p class="content-text">3.本合同附件是本合同的组成部分,与合同正文具有同等法律效力。</p>
+'''
+
+# ============ 第16页:签署页 ============
+def sign_tpl(field, label):
+    return (
+        '            <p class="sign-line">' + label + ':'
+        '              <span class="inline-edit-block">'
+        '                <span v-if="isPrint">{{ contractForm.' + field + ' || \'________________\' }}</span>'
+        '                <ESign v-show="!isPrint" v-model="contractForm.' + field + '" />'
+        '              </span>'
+        '            </p>'
+    )
+
+page15 = '''
+          <h2 class="section-title center">(本文以下无正文,为合同签署页)</h2>
+          <div class="sign-block">
+            <h4 class="sign-title">甲方(盖章):</h4>
+''' + sign_tpl('partyASign', '机构盖章') + '''
+            <p class="sign-line">法定代表人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.partyALegalSign || '________________' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.partyALegalSign" placeholder="签字" size="small" style="width:200px;" />
+              </span>
+            </p>
+            <p class="sign-line">日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.partyASignDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.partyASignDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+              </span>
+            </p>
+          </div>
+          <div class="sign-block" style="margin-top:40px;">
+            <h4 class="sign-title">乙方(签字):</h4>
+''' + sign_tpl('partyBSign', '长者签字') + '''
+            <p class="sign-line">日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.partyBSignDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.partyBSignDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+              </span>
+            </p>
+          </div>
+          <div class="sign-block" style="margin-top:40px;">
+            <h4 class="sign-title">丙方(签字/盖章):</h4>
+''' + sign_tpl('partyCSign', '家属/监护人签字') + '''
+            <p class="sign-line">日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.partyCSignDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.partyCSignDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+              </span>
+            </p>
+          </div>
+'''
+
+# ============ 附件部分 ============
+# 附件一:知情同意书
+appendix1 = '''
+          <h1 class="doc-title">附件一:知情同意书</h1>
+          <p class="content-text"><strong>尊敬的长者及家属:</strong></p>
+          <p class="content-text">欢迎您入住本养老机构。为了保障您在入住期间的权益和安全,请您仔细阅读本知情同意书的全部内容,并在理解的基础上签署本同意书。</p>
+          <h3 class="subsection-title">一、服务内容</h3>
+          <p class="content-text">1.甲方根据乙方的身体状况、护理等级,为乙方提供食宿、生活照料、基本康复训练、文化娱乐、精神慰藉、安全保障等养老服务。</p>
+          <p class="content-text">2.甲方不提供专业医疗服务,如乙方出现需要专业医疗救治的情况,甲方将及时通知丙方或拨打120,费用由乙方和丙方承担。</p>
+          <h3 class="subsection-title">二、权利与义务</h3>
+          <p class="content-text">1.乙方和丙方有权了解甲方的服务范围、服务标准、收费标准等信息,监督甲方的服务质量。</p>
+          <p class="content-text">2.乙方和丙方应当如实向甲方告知乙方的身体健康状况、过敏史、病史等信息。如因隐瞒或不实告知导致的不良后果,由乙方和丙方承担全部责任。</p>
+          <p class="content-text">3.乙方应当遵守甲方的各项规章制度,爱护公共设施,配合工作人员的服务工作。</p>
+          <h3 class="subsection-title">三、意外情况说明</h3>
+          <p class="content-text">1.乙方在入住期间因自身身体原因(如突发疾病、猝死、摔倒等)造成的意外伤害或死亡,甲方已尽到合理注意义务的,不承担责任。</p>
+          <p class="content-text">2.乙方违反甲方管理规定,擅自外出或从事危险活动造成的伤害,由乙方和丙方自行承担责任。</p>
+          <h3 class="subsection-title">四、特殊护理说明</h3>
+          <p class="content-text">1.乙方如需特殊护理服务(如褥疮护理、鼻饲、插尿管等),需另行签订补充协议。</p>
+          <p class="content-text">2.特殊护理服务存在一定医疗风险,丙方应充分知晓并自愿承担。</p>
+''' + sign_tpl('appendixSign1', '长者(签字)') + sign_tpl('appendixSign2', '家属/监护人(签字)') + '''
+            <p class="sign-line">日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.appendixDate1 || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.appendixDate1" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+              </span>
+            </p>
+'''
+
+# 附件二:入住登记表
+appendix2 = '''
+          <h1 class="doc-title">附件二:入住登记表</h1>
+          <table class="info-table">
+            <tr><th>姓名</th><td>{{ contractForm.elderName || '' }}</td><th>性别</th><td>{{ contractForm.elderGender || '' }}</td><th>出生年月</th><td>{{ contractForm.elderBirth || '' }}</td></tr>
+            <tr><th>身份证号</th><td colspan="3">{{ contractForm.elderIdCard || '' }}</td><th>民族</th><td>{{ contractForm.elderNation || '' }}</td></tr>
+            <tr><th>籍贯</th><td>{{ contractForm.elderNative || '' }}</td><th>文化程度</th><td>{{ contractForm.elderEducation || '' }}</td><th>婚姻状况</th><td>{{ contractForm.elderMarital || '' }}</td></tr>
+            <tr><th>联系电话</th><td colspan="3">{{ contractForm.elderPhone || '' }}</td><th>医保类型</th><td>{{ contractForm.elderInsurance || '' }}</td></tr>
+            <tr><th>户籍地址</th><td colspan="5">{{ contractForm.elderAddress || '' }}</td></tr>
+            <tr><th>紧急联系人1</th><td>{{ contractForm.partyCName || '' }}</td><th>关系</th><td>{{ contractForm.partyCRelation || '' }}</td><th>电话</th><td>{{ contractForm.partyCPhone || '' }}</td></tr>
+            <tr><th>紧急联系人2</th><td>{{ contractForm.emergencyContact2Name || '' }}</td><th>关系</th><td>{{ contractForm.emergencyContact2Relation || '' }}</td><th>电话</th><td>{{ contractForm.emergencyContact2Phone || '' }}</td></tr>
+            <tr><th>护理等级</th><td colspan="5">{{ contractForm.nurseLevelName || '' }}</td></tr>
+            <tr><th>既往病史</th><td colspan="5">{{ contractForm.medicalHistory || '' }}</td></tr>
+            <tr><th>过敏史</th><td colspan="5">{{ contractForm.allergyHistory || '' }}</td></tr>
+            <tr><th>生活习惯</th><td colspan="5">{{ contractForm.livingHabit || '' }}</td></tr>
+            <tr><th>兴趣爱好</th><td colspan="5">{{ contractForm.hobby || '' }}</td></tr>
+          </table>
+''' + sign_tpl('regSign1', '长者(签字)') + sign_tpl('regSign2', '家属/监护人(签字)') + '''
+          <p class="sign-line">登记日期:
+            <span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.regDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.regDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+            </span>
+          </p>
+'''
+
+# 附件三:入住须知
+appendix3 = '''
+          <h1 class="doc-title">附件三:入住须知</h1>
+          <h3 class="subsection-title">一、入住须知</h3>
+          <p class="content-text">1.长者入住前须提供二级甲等以上医院出具的近30日内的体检报告(体检项目按附件十执行)。</p>
+          <p class="content-text">2.入住时须提交长者及监护人身份证、户口本原件及复印件各一份。</p>
+          <p class="content-text">3.入住时须提交长者近期一寸免冠彩色照片3张。</p>
+          <p class="content-text">4.入住时须交纳押金及首月相关费用。</p>
+          <p class="content-text">5.长者自带的药品,须登记造册,由工作人员统一管理。</p>
+          <h3 class="subsection-title">二、管理制度</h3>
+          <p class="content-text">1.作息时间:夏季:6:00起床,21:00熄灯;冬季:6:30起床,20:30熄灯。</p>
+          <p class="content-text">2.用餐时间:早餐7:00-8:00,午餐11:30-12:30,晚餐17:30-18:30。</p>
+          <p class="content-text">3.会客时间:8:30-11:30,14:00-17:00(特殊情况除外)。</p>
+          <p class="content-text">4.外出须请假,经批准后方可外出,外出期间发生的一切责任自负。</p>
+          <p class="content-text">5.禁止携带易燃、易爆、有毒等危险品。</p>
+          <p class="content-text">6.贵重物品请自行妥善保管,丢失自负。</p>
+          <p class="content-text">7.爱护公共设施,损坏照价赔偿。</p>
+          <p class="content-text">8.长者之间应互相关心、互相帮助,团结友爱,不得发生争执、打架等事件。</p>
+          <h3 class="subsection-title">三、家属须知</h3>
+          <p class="content-text">1.家属应保持与机构的联系,电话、地址如有变更及时通知机构。</p>
+          <p class="content-text">2.家属探视应遵守机构的探视制度,不得影响其他长者正常生活。</p>
+          <p class="content-text">3.家属应积极配合机构的工作,对长者的身体状况、情绪变化及时沟通。</p>
+          <p class="content-text">4.长者生病或发生意外,家属接到通知后应及时赶到。</p>
+''' + sign_tpl('noticeSign1', '长者(签字)') + sign_tpl('noticeSign2', '家属/监护人(签字)') + '''
+          <p class="sign-line">日期:
+            <span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.noticeDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.noticeDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+            </span>
+          </p>
+'''
+
+# 附件四:安全承诺书
+appendix4 = '''
+          <h1 class="doc-title">附件四:长者安全承诺书</h1>
+          <p class="content-text"><strong>本人自愿入住颐年集团养老服务机构,并承诺如下:</strong></p>
+          <p class="content-text">一、本人及家属已如实向机构告知本人的身体健康状况、过往病史、过敏史、用药情况等信息,如有隐瞒或不实陈述,由此引发的一切后果由本人及家属自行承担。</p>
+          <p class="content-text">二、本人承诺严格遵守机构的各项规章制度,服从工作人员的管理和服务安排。</p>
+          <p class="content-text">三、本人承诺不擅自离开机构,如需外出须办理请假手续。擅自外出期间发生的一切人身伤害、财产损失由本人及家属自行承担。</p>
+          <p class="content-text">四、本人承诺不携带易燃、易爆、有毒等危险品进入机构,不在房间内使用大功率电器。</p>
+          <p class="content-text">五、本人因年老体弱、行动不便等原因,存在发生摔倒、骨折、突发疾病等风险,本人及家属对此完全知晓并自愿承担相应风险。</p>
+          <p class="content-text">六、如本人发生意外情况,机构有权根据实际情况采取必要的救治措施(包括拨打120急救电话),由此产生的一切费用由本人及家属承担。</p>
+          <p class="content-text">七、本人及家属承诺按时缴纳各项费用,如逾期未缴,机构有权暂停服务或解除合同。</p>
+          <p class="content-text">八、本人及家属已认真阅读并理解本承诺书的全部内容,自愿签署本承诺书。</p>
+''' + sign_tpl('safetySign1', '长者(签字)') + sign_tpl('safetySign2', '家属/监护人(签字)') + '''
+          <p class="sign-line">日期:
+            <span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.safetyDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.safetyDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+            </span>
+          </p>
+'''
+
+# 附件五:外出确认书
+appendix5 = '''
+          <h1 class="doc-title">附件五:长者外出情况确认书</h1>
+          <p class="content-text">为保障长者外出期间的人身安全,特制定本确认书,长者及家属在外出前须确认以下事项:</p>
+          <table class="info-table">
+            <tr><th>外出长者姓名</th><td>{{ contractForm.elderName || '' }}</td><th>外出日期</th><td>{{ contractForm.outDate || '____年__月__日' }}</td></tr>
+            <tr><th>外出原因</th><td colspan="3">
+              <span v-if="isPrint">{{ contractForm.outReason || '________________' }}</span>
+              <el-input v-show="!isPrint" v-model="contractForm.outReason" placeholder="外出原因" size="small" />
+            </td></tr>
+            <tr><th>前往地点</th><td colspan="3">
+              <span v-if="isPrint">{{ contractForm.outLocation || '________________' }}</span>
+              <el-input v-show="!isPrint" v-model="contractForm.outLocation" placeholder="前往地点" size="small" />
+            </td></tr>
+            <tr><th>陪同人员</th><td>{{ contractForm.outCompanion || '' }}</td><th>联系电话</th><td>{{ contractForm.outPhone || '' }}</td></tr>
+            <tr><th>预计返回时间</th><td colspan="3">
+              <span v-if="isPrint">{{ contractForm.returnDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.returnDate" type="date" placeholder="返回日期" value-format="YYYY-MM-DD" size="small" style="width:220px;" />
+            </td></tr>
+            <tr><th>身体状况</th><td colspan="3">
+              <span v-if="isPrint">{{ contractForm.outHealthStatus || '________________' }}</span>
+              <el-input v-show="!isPrint" v-model="contractForm.outHealthStatus" placeholder="身体状况" size="small" />
+            </td></tr>
+            <tr><th>随身物品</th><td colspan="3">
+              <span v-if="isPrint">{{ contractForm.outItems || '________________' }}</span>
+              <el-input v-show="!isPrint" v-model="contractForm.outItems" placeholder="随身物品" size="small" />
+            </td></tr>
+          </table>
+          <p class="content-text"><strong>特别声明:</strong>长者外出期间,机构已尽到合理告知义务,外出期间发生的一切人身伤害、财产损失由长者本人及家属自行承担,与机构无关。</p>
+''' + sign_tpl('outSign1', '长者(签字)') + sign_tpl('outSign2', '家属/监护人(签字)') + '''
+          <p class="sign-line">机构经办人(签字):
+            <span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.outSign3 || '________________' }}</span>
+              <el-input v-show="!isPrint" v-model="contractForm.outSign3" placeholder="经办人签字" size="small" style="width:200px;" />
+            </span>
+          </p>
+          <p class="sign-line">日期:
+            <span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.outConfirmDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.outConfirmDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+            </span>
+          </p>
+'''
+
+# 附件六:签名代理申请
+appendix6 = '''
+          <h1 class="doc-title">附件六:签名代理申请</h1>
+          <p class="content-text"><strong>申请人:</strong>{{ contractForm.elderName || '' }}</p>
+          <p class="content-text"><strong>申请事项:</strong>因本人年事已高/身体原因/书写困难,特申请由以下人员代为签署与养老服务相关的各项文件。</p>
+          <table class="info-table">
+            <tr><th>代理人姓名</th><td>{{ contractForm.agentName || '' }}</td><th>与申请人关系</th><td>{{ contractForm.agentRelation || '' }}</td></tr>
+            <tr><th>身份证号</th><td colspan="3">{{ contractForm.agentIdCard || '' }}</td></tr>
+            <tr><th>联系电话</th><td colspan="3">{{ contractForm.agentPhone || '' }}</td></tr>
+            <tr><th>代理权限</th><td colspan="3">{{ contractForm.agentAuthority || '代为签署与养老服务相关的各项文件' }}</td></tr>
+            <tr><th>代理期限</th><td colspan="3">{{ contractForm.agentPeriod || '自本申请签署之日起至长者离院之日止' }}</td></tr>
+          </table>
+          <p class="content-text"><strong>特别说明:</strong></p>
+          <p class="content-text">1.代理人在代理权限内签署的文件,对申请人具有同等法律效力。</p>
+          <p class="content-text">2.申请人如需变更或撤销代理人,须书面通知机构。</p>
+          <p class="content-text">3.代理人签署的文件如涉及重大利益处分,机构有权要求申请人本人确认。</p>
+''' + sign_tpl('agentApplySign1', '申请人(签字)') + sign_tpl('agentApplySign2', '代理人(签字)') + '''
+          <p class="sign-line">日期:
+            <span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.agentApplyDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.agentApplyDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+            </span>
+          </p>
+'''
+
+# 附件七:委托代理人确认表
+appendix7 = '''
+          <h1 class="doc-title">附件七:委托代理人确认表</h1>
+          <p class="content-text">机构根据长者及家属提交的委托代理申请,确认以下委托代理人:</p>
+          <table class="info-table">
+            <tr><th>委托人(长者)</th><td>{{ contractForm.elderName || '' }}</td><th>身份证号</th><td>{{ contractForm.elderIdCard || '' }}</td></tr>
+            <tr><th>委托代理人</th><td>{{ contractForm.partyCName || '' }}</td><th>与委托人关系</th><td>{{ contractForm.partyCRelation || '' }}</td></tr>
+            <tr><th>代理人身份证号</th><td colspan="3">{{ contractForm.partyCIdCard || '' }}</td></tr>
+            <tr><th>联系电话</th><td colspan="3">{{ contractForm.partyCPhone || '' }}</td></tr>
+            <tr><th>委托事项</th><td colspan="3">代为办理长者入住、退住、费用缴纳、重大决策等事项</td></tr>
+            <tr><th>委托期限</th><td colspan="3">自本确认表签署之日起至长者离院之日止</td></tr>
+            <tr><th>机构确认</th><td colspan="3">已收到上述委托代理申请,确认代理人资格。</td></tr>
+          </table>
+''' + sign_tpl('entrustSign1', '委托人(签字)') + sign_tpl('entrustSign2', '委托代理人(签字)') + '''
+          <p class="sign-line">机构经办人(签字):
+            <span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.entrustSign3 || '________________' }}</span>
+              <el-input v-show="!isPrint" v-model="contractForm.entrustSign3" placeholder="经办人" size="small" style="width:200px;" />
+            </span>
+          </p>
+          <p class="sign-line">机构盖章:
+            <span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.orgStamp || '________________' }}</span>
+              <ESign v-show="!isPrint" v-model="contractForm.orgStamp" />
+            </span>
+          </p>
+          <p class="sign-line">日期:
+            <span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.entrustDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.entrustDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width:180px;" />
+            </span>
+          </p>
+'''
+
+# 附件八:机构服务范围及收费标准
+appendix8 = '''
+          <h1 class="doc-title">附件八:机构服务范围及收费标准</h1>
+          <h3 class="subsection-title">一、服务范围</h3>
+          <p class="content-text">1.提供日常生活照料服务:包括饮食、穿衣、如厕、沐浴、清洁卫生等。</p>
+          <p class="content-text">2.提供基本医疗保健服务:包括健康监测、慢病管理、用药指导等。</p>
+          <p class="content-text">3.提供文化娱乐服务:包括文娱活动、健身锻炼、兴趣小组等。</p>
+          <p class="content-text">4.提供心理支持服务:包括情感慰藉、心理疏导、精神关怀等。</p>
+          <p class="content-text">5.提供安全保障服务:包括24小时值班、安全巡视、紧急救援等。</p>
+          <h3 class="subsection-title">二、收费标准</h3>
+          <table class="info-table border-table">
+            <tr><th>项目</th><th>自理</th><th>半自理</th><th>不能自理</th><th>特护</th></tr>
+            <tr><td>床位费</td><td>{{ contractForm.feeBedSelf || '¥____' }}</td><td>{{ contractForm.feeBedHalf || '¥____' }}</td><td>{{ contractForm.feeBedNone || '¥____' }}</td><td>{{ contractForm.feeBedSpecial || '¥____' }}</td></tr>
+            <tr><td>护理费</td><td>{{ contractForm.feeNurseSelf || '¥____' }}</td><td>{{ contractForm.feeNurseHalf || '¥____' }}</td><td>{{ contractForm.feeNurseNone || '¥____' }}</td><td>{{ contractForm.feeNurseSpecial || '¥____' }}</td></tr>
+            <tr><td>膳食费</td><td>{{ contractForm.feeMealSelf || '¥____' }}</td><td>{{ contractForm.feeMealHalf || '¥____' }}</td><td>{{ contractForm.feeMealNone || '¥____' }}</td><td>{{ contractForm.feeMealSpecial || '¥____' }}</td></tr>
+            <tr><td>管理费</td><td>{{ contractForm.feeManageSelf || '¥____' }}</td><td>{{ contractForm.feeManageHalf || '¥____' }}</td><td>{{ contractForm.feeManageNone || '¥____' }}</td><td>{{ contractForm.feeManageSpecial || '¥____' }}</td></tr>
+            <tr><td>水电费</td><td>{{ contractForm.feeWaterSelf || '¥____' }}</td><td>{{ contractForm.feeWaterHalf || '¥____' }}</td><td>{{ contractForm.feeWaterNone || '¥____' }}</td><td>{{ contractForm.feeWaterSpecial || '¥____' }}</td></tr>
+            <tr><td>合计(月)</td><td>{{ contractForm.feeTotalSelf || '¥____' }}</td><td>{{ contractForm.feeTotalHalf || '¥____' }}</td><td>{{ contractForm.feeTotalNone || '¥____' }}</td><td>{{ contractForm.feeTotalSpecial || '¥____' }}</td></tr>
+          </table>
+          <p class="content-text"><strong>说明:</strong></p>
+          <p class="content-text">1.押金:入住时交纳,退住时无损坏全额退还(不计利息)。</p>
+          <p class="content-text">2.一次性费用:包括入住评估费、生活用品费等,入住时一次性交纳。</p>
+          <p class="content-text">3.以上收费标准仅供参考,具体以实际签订的服务合同为准。</p>
+          <p class="content-text">4.费用调整须提前30日书面形式通知。</p>
+'''
+
+# 附件九:房间设施设备清单
+appendix9 = '''
+          <h1 class="doc-title">附件九:房间设施设备清单</h1>
+          <p class="content-text">长者:{{ contractForm.elderName || '' }},入住房间:{{ contractForm.roomNumber || '' }}</p>
+          <table class="info-table border-table">
+            <tr><th style="width:60px;">序号</th><th>物品名称</th><th style="width:80px;">数量</th><th style="width:60px;">单位</th><th>状态</th><th>备注</th></tr>
+            <tr><td>1</td><td>床</td><td>1</td><td>张</td><td>完好</td><td></td></tr>
+            <tr><td>2</td><td>床垫</td><td>1</td><td>张</td><td>完好</td><td></td></tr>
+            <tr><td>3</td><td>床头柜</td><td>1</td><td>个</td><td>完好</td><td></td></tr>
+            <tr><td>4</td><td>衣柜</td><td>1</td><td>个</td><td>完好</td><td></td></tr>
+            <tr><td>5</td><td>桌椅</td><td>1</td><td>套</td><td>完好</td><td></td></tr>
+            <tr><td>6</td><td>空调</td><td>1</td><td>台</td><td>完好</td><td></td></tr>
+            <tr><td>7</td><td>电视机</td><td>1</td><td>台</td><td>完好</td><td></td></tr>
+            <tr><td>8</td><td>呼叫器</td><td>1</td><td>个</td><td>完好</td><td></td></tr>
+            <tr><td>9</td><td>照明灯具</td><td>2</td><td>盏</td><td>完好</td><td></td></tr>
+            <tr><td>10</td><td>卫生间设施</td><td>1</td><td>套</td><td>完好</td><td></td></tr>
+          </table>
+          <p class="content-text"><strong>备注说明:</strong></p>
+          <p class="content-text">1.以上设施设备由机构统一配置,长者应爱护使用,如有损坏照价赔偿。</p>
+          <p class="content-text">2.长者个人物品请自行妥善保管,机构不承担保管责任。</p>
+          <p class="content-text">3.设施设备如发生故障,请及时通知工作人员维修。</p>

+ 1172 - 0
pdf_full_text.txt

@@ -0,0 +1,1172 @@
+
+===== PAGE 1 =====
+合同编号:
+长者姓名:
+养老机构服务合同
+颐年健康产业(集团)有限公司制定
+- 1 -
+
+===== PAGE 2 =====
+重要提示
+为了维护您的利益,请您在签署本合同(本协议)前,仔细阅读如
+下注意事项:
+一、您已阅读本合同(协议)、补充协议及相关文件的所有条款,
+并已知悉其含义,同时对涉及贵方权利与义务的内容给予了充分的注意。
+二、您已确保提交的有关证件及资料是真实、合法、有效的。
+三、您已确保向合同(协议)签署相关方所作的陈述、健康状况披
+露及其他信息披露均完整、充分、真实。
+四、本合同(协议)所有条款均为签署方的真实意思表示。
+2
+
+===== PAGE 3 =====
+甲方(养老机构):
+甲方运营机构:
+统一社会信用代码:
+地址: 邮编:
+法定代表人: 联系方式:
+乙方(入住老年人)
+姓名: 性别: 出生年月日:
+证件类型:□居民身份证 □户口本 □护照 □港澳居民来往内地
+通行证 □台湾居民来往大陆通行证 □其他
+证件号码: 联系方式:
+家庭地址:
+户籍所在地: 邮编:
+丙方(老年人家属/监护人,担保人/委托代理的个人或组织)
+姓名: 性别: 出生年月:
+与乙方关系:□监护人、家属(付款义务人)□负有连带责任的担保人
+□委托代理人(紧急联系人)□其他(请填写)
+证件类型:□居民身份证 □户口本 □护照 □港澳居民来往内地
+通行证 □台湾居民来往大陆通行证 □其他
+证件号码: 联系方式:
+住所(址):
+户籍所在地: 邮编:
+工作单位:
+通信地址:
+(若乙方属于限制民事行为能力或者无民事行为能力的入住老年人,须
+由监护人签字确认)
+3
+
+===== PAGE 4 =====
+鉴于:
+1、甲方是依法成立的养老机构,能够提供个人生活照料、康复护
+理、精神慰藉、文化娱乐等养老服务;
+2、乙方和丙方经实地考察甲方,自愿决定乙方入住甲方开办的养
+老机构,接受甲方提供的专业养老服务,并向甲方支付相应费用;
+3、乙方授权丙方作为乙方在紧急情况下的代理人、联系人,代为
+处理乙方在本合同项下的相关事务,丙方同意接受乙方授权并作为乙方
+履行本合同义务的保证人。
+4、接收条件:乙方保证无精神病,无传染性疾病,无吸毒嗜好,
+无自杀、自残、攻击他人等危害自身、他人和公共安全的精神性障碍或
+缺陷,并且适应集体生活;
+为了营造温馨、舒适、安全的生活环境,满足老年人“老有所养、
+老有所乐”的需要,切实保障老年人的合法权益,同时明确各自的权利
+义务,甲、乙、丙三方根据《中华人民共和国民法典》《中华人民共和
+国老年人权益保障法》《广东省养老服务条例》《广州市养老服务条例》
+和《养老机构管理办法》等有关法律、法规的规定,甲方、乙方、丙方
+本着平等、自愿、公平、诚实守信的原则,经友好协商,就甲方为乙方
+提供养老服务事宜达成一致,签订本合同。
+第一条 服务内容
+1.甲方按照约定向乙方提供生活照料、康复护理、精神慰藉、文化
+娱乐等服务。甲方提供的服务应当符合法律法规规章和国家强制性标准
+《养老机构服务安全基本规范》要求,并积极适用行业和地方标准。
+2.甲方应该依据广州市老年人照护需求综合评估规范,对乙方进行
+照护需求等级评估,根据评估结果和乙方提供的《体检报告》,经与乙
+4
+
+===== PAGE 5 =====
+方或丙方商定后,确定乙方照护等级,并由甲方按照约定的《护理等级
+与服务项目》(附件)为乙方提供相应服务。
+2.1 根据乙方提供的《体检报告》、《入住登记表》(见本合同附
+件)及甲方对乙方进行护理等级首评,确定乙方护理级别为: ______,
+甲方向乙方提供的护理等级服务项目详见本合同附件《护理等级与服务
+项目》。
+2.2 因老年人护理等级评估涉及到乙方的日常生活、精神状态、感
+知觉与沟通、社会参与等各方面的评估,甲方为真实反映乙方的实际生
+活能力,入住满1个月时会根据老年人实际生活情况进行护理等级复评,
+如果复评与首评的护理等级一致,则按照首评护理等级服务项目进行收
+费和服务;如果复评与首评的护理等级不一致,则按照复评结果调整护
+理等级,并调整服务项目的收费和服务内容,甲方应通知乙方、丙方签
+订书面补充协议进行护理等级变更。
+2.3 因老年人的身体机能处在不断的变化中,每入住半年或根据老
+年人身体变化需要,甲方会对乙方护理等级进行动态评估,如护理等级
+有调整,则按照新的护理等级服务项目进行收费和服务,并签订书面补
+充协议。
+3.在本合同履行过程中,乙方或丙方如果选择《护理等级与服务项
+目》以外的其他服务项目,经当事人协商一致后另行签署书面补充协议
+确定。
+第二条 服务地点及设施
+1.经协商,确定本合同期限为 个月,自 年 月
+日起至 年 月 日止。
+2.甲方为乙方提供养老服务的地点为: 。
+5
+
+===== PAGE 6 =====
+3.乙方或丙方为乙方选择入住的房间类型为(在以下几种情况中选
+择一种):
+□单间 □双人间 □三人间 □多人间(四人以上六人以下,
+含四人、六人) □其他(套房等)。
+4.乙方或丙方为乙方选择的具体房间为: 。
+5.乙方或丙方基于正当理由要求调整房间的,甲方在条件许可的范
+围内应尽量满足。若因房间变化,需要相应调整费用的,应由各方协商
+一致书面确认后调整,如各方不能达成一致意见书面确认,则仍依本合
+同约定房间履行。
+6.甲方提供的服务设施除了住宿的房屋,还包括房间内生活起居必
+要的基础设施及其他公共设施。
+第三条 收费标准及费用支付方式
+1.甲方的收费标准和调整应遵守养老机构服务收费管理的相关规
+定,不得违规收取大额预付费、向服务对象兜售保健品,不得以许诺还
+本付息或者给予其他投资回报、虚假夸大宣传、承诺明显低于市场价入
+住、折扣返利等与事实不符的条件诱导乙方或丙方交纳费用。
+2.甲方提供的各种服务项目的收费标准和收费依据应在养老机构
+内公共区域显著位置进行公示,并以公共区域或网络方式方式(养老机
+构网站、政府部门有关网站等)进行线上公示,服务项目及其收费标准
+应作为本合同附件。
+3.根据本合同第一条、第二条乙方选择的房间、照护等级及服务项
+目,各方共同确认,乙方入住甲方需支付的养老服务费用具体如下:
+(1)养老服务费用为: 元/月。
+其中:
+6
+
+===== PAGE 7 =====
+床位费: 元/月;
+护理费: 元/月;
+伙食费: 元/月;
+其他费用:
+1)水电费:超出床位费包含的每人每月 千瓦时电和 立方
+冷水的免费额度后,超出部分按实际支出进行对应房型具体入住床数进
+行均摊收取。超出部分收费标准为:热水 元/立方;冷水 元/立
+方;电 元/千瓦时;
+2)诊查费: 元/月
+出现合同中止或终止情形的,扣除实际入住天数产生的费用后予以
+退款。
+(2)一次性收取的费用(如有请填写)。
+①一次性设施设备费 / 元,收取的期限自 / 年 / 月 / 日至 /
+年 / 月 / 日(建议时长不超过 3 年)。出现合同中止或终止情形的,
+扣除实际入住天数产生的费用后,按照以下标准予以退款: / 。
+②押金(如有请填写押金类型:履约及医疗保证金): 元。
+出现合同中止情形的,予以全额退还(☑押金不计利息 □押金计利息,
+计息标准为: 无 ) 。
+合同期限内出现押金不足时,乙方或丙方应在接到甲方通知之日起
+5 日内补足。涉及退款的,在出现合同中止或终止情形后,双方进行结
+算,经双方确认无误之日起 15 个工作 日内将资金退给付款方。
+4.定期支付的费用按第 1 种方式支付:
+(1)按月支付(每月 5 日前支付下一个月费用);
+(2)按季度支付(每季度第 / 个月的 / 日前支付当季费用);
+7
+
+===== PAGE 8 =====
+(3)其它: / 。
+5.甲方指定的收款账户信息如下:
+户名:
+开户银行:
+账号:
+6.乙方或丙方指定的付款账户信息如下:
+户名:
+开户银行:
+账号:
+7.乙方接受甲方除本合同约定外的其他服务项目的,应根据甲方公
+示的收费标准和补充合同的约定交纳费用。
+8.甲方每月向乙方或丙方提供《个人费用明细表》,乙方或丙方应
+签字确认。乙方或丙方如有异议,可在收到《个人费用明细表》后 7 日
+内书面提出,甲方应做出书面说明。
+对于双方无争议费用金额应按照本合同约定时间支付,乙方或丙方
+不得以异议费用为由拒绝支付有关费用。
+9.乙方、丙方共同承担向甲方支付本合同约定价款的义务。
+10.甲方在收到款项后应向付款人开具等额的合法收费发票。
+第四条 甲方权利及义务
+1.甲方权利
+1.1. 有权按照本合同约定收取相关费用。
+1.2. 制订、修改养老机构的管理制度并按照公开的管理制度对乙
+方进行管理。
+1.3. 为了乙方的健康和安全,乙方出现紧急情况时,有权在通知
+8
+
+===== PAGE 9 =====
+乙方或丙方同意的同时,采取必要的处置措施,包括但不限于转送医疗
+机构,由此产生的费用由乙方或丙方承担。
+1.4. 如乙方的身体状况、生活自理能力出现变化,由甲方根据对
+乙方护理等级评价另行确定护理等级,相关费用随之进行调整,如一周
+联系不上丙方,甲方有权根据乙方所需服务项目的变化情况在押金中先
+扣除,不足部分甲方仍有权要求乙方和丙方支付所产生变化的费用,由
+乙方和丙方按甲方制定的标准支付。
+1.5. 乙方入住后因精神、情绪、心理、性格、生活习惯等原因不
+适宜院内生活的,经甲方努力,仍无改善的,为维护乙方及院内其他老
+人的权利,甲方有权要求丙方在两天内为乙方办理退院或转院手续,丙
+方必须积极配合,做好安抚工作,对此甲方无需承担任何责任。
+1.6. 如乙方患病需要去医院治疗时,甲方本着人道主义,有权紧
+急处置,所涉及的各项费用由乙方和丙方承担。如乙方需甲方提供住院
+期间陪护服务,相关费用由乙方和丙方承担,具体陪护事宜由当事人协
+商一致后另行签署书面协议确定。
+1.7. 有权依照本合同约定及法律规定解除合同。
+2.甲方义务
+2.1 甲方应是依法成立的养老机构,应履行养老机构备案承诺,按
+照建筑、消防、食品安全、医疗卫生、特种设备等法律、法规和强制性
+标准及服务安全相关规范要求开展服务活动,确保按约定向乙方提供符
+合服务质量标准的养老服务;建立各类安全、疫情防控等应急预案,并
+应定期对应急预案进行演练。
+2.2 应当提供符合乙方住宿条件的居住用房,并配备适合乙方安全
+保护要求的设施、设备及用具,定期对乙方的活动场所和物品进行消毒
+9
+
+===== PAGE 10 =====
+和清洗;甲方提供的饮食应当符合食品安全要求、适宜乙方食用、有利
+于乙方营养平衡和身体健康。
+2.3 应当根据登记类型、经营性质、运营方式、设施设备条件、管
+理水平、服务质量、照料护理等级等因素合理确定服务项目收费标准,
+调整收费标准时应遵守国家、省和广州市价格管理的有关规定。
+2.4 应保证从事医疗、康复、消防等服务人员符合资质要求,保证
+养老护理人员接受专业技能培训,并定期组织工作人员进行职业道德教
+育和业务培训,能够满足岗位职责要求。
+2.5 在提供服务过程中,甲方及其工作人员应尊重乙方,尽力合理
+地保障乙方的人格尊严和人身、财产安全,并接受乙方、丙方的合理建
+议和监督。
+2.6 应当根据需要为乙方提供情绪疏导、心理咨询、危机干预等精
+神慰藉服务;应当开展适合老年人的文化、教育、体育、娱乐活动,丰
+富老年人的精神文化生活。甲方开展文化、教育、体育、娱乐活动时,
+应当为乙方提供必要的安全防护措施。
+2.7 定期组织所在地的医疗机构为乙方开展体检并建立个人健康档
+案。妥善保存乙方的入住登记表、体检报告等健康资料以及日常经费开
+支情况等个人信息。应当建立各类信息资料档案的保管、归档和保密制
+度,除向乙方、丙方和其他有权部门(公安局、检察院、法院、纪委监
+察、养老服务行业主管部门因办案、监督、检查需要)提供查阅、允许
+复制外,不得对外透露。
+2.8 发现乙方为疑似传染病病人或者精神障碍患者时,应依照传染
+病防治、精神卫生等相关法律法规的规定处理,及时向附近的疾病预防
+控制机构或者医疗机构报告,配合实施卫生处理、隔离等预防控制措施,
+10
+
+===== PAGE 11 =====
+并及时通知丙方。乙方需要外出就医的,甲方应及时告知丙方并由有相
+关义务的丙方亲自携带乙方就诊,丙方确实未能亲自携带乙方就诊的,
+应通过委托办理等方式作出妥善安排。
+2.9 应当为乙方家庭成员看望或者问候老年人提供便利,为乙方联
+系家庭成员提供帮助;但不得影响甲方对于乙方正常服务运营或执行政
+府部门规定的疫情防控等管理要求,否则甲方有权拒绝。
+2.10 在发生公共卫生事件等特殊情况下,甲方应贯彻执行政府部门
+的防控政策规定,积极落实防控措施,并向乙方或丙方做好解释工作。
+2.11 甲方暂停、终止服务的,应当在暂停或终止服务 60 日前,书
+面通知乙方或丙方,并向社会公告;将入住老年人的安置方案书面告知
+甲方所在地的区民政部门。在解散清算前,甲方应当依法妥善安置乙方。
+如乙方或丙方有意与其他养老机构签订服务协议的,甲方应当积极为乙
+方联系与甲方具有同等资质和服务水平的养老服务机构,努力促进双方
+建立合同;如乙方或丙方需解除或终止服务协议的,甲方应当退还乙方
+或丙方剩余未消费或合同约定的有关费用。
+2.12 当乙方出现紧急情况时,应及时联系和通知丙方。
+2.13 在甲方服务期间,经鉴定乙方正常死亡的,甲方应及时与丙方
+取得联系。无法与丙方取得联系的且机构内不具备遗体保存条件,可严
+格按照规定要求使用《广州市养老机构死亡报告书》并对接殡仪馆,妥
+善保存遗体。
+2.14 乙方符合长期护理保险等申报条件的,甲方应积极为其申请。
+2.15 乙方入住养老机构、请假外出、终止合同离院和去世,甲方应
+及时在广州市为老服务综合平台填报有关信息。
+第五条 乙方权利及义务
+11
+
+===== PAGE 12 =====
+1.乙方的权利
+1.1 享有隐私权,人格尊严和人身、财产安全不受非法侵害的权利。
+1.2 有权按照约定的服务项目获得甲方提供的符合服务标准的养老
+服务,对甲方的服务有批评建议的权利。
+1.3 对自身的健康状况、费用支出、入院记录等有知情权,有权查
+阅、复印甲方为其建立的个人档案。
+1.4 有权了解提供服务的人员是否经过专业培训,是否具备相应资
+质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合
+格的人员。
+1.5 在突发疾病的情况下乙方有权获得及时、必要的医疗帮助。
+2.乙方的义务
+2.1 应当按照约定自行或与丙方共同支付养老服务费及相关费用。
+2.2 应当按照约定提供相关的体检报告,如实告知甲方本人的健康
+状况、药品使用情况及过往病史等信息,并如实填写《入住登记表》。
+2.3 应当配合甲方做好持续评估及确认照护等级;配合甲方定期参
+加体检。
+2.4 应当与其他入住老年人和谐相处。
+2.5 在接收甲方提供的养老服务期间,因疾病进行诊疗时,应在治
+疗期间遵守医嘱,配合治疗。
+2.6 应当服从甲方管理,遵守甲方的规章制度,维护养老机构正常
+服务秩序,爱护甲方提供的各项服务设施,入住期间损坏甲方设施设备
+的,乙方或丙方应当予以赔偿。损坏有关服务设施的赔偿价格可与甲方
+协商约定。
+2.7 对于甲方提供的其他符合合同约定、法律规定的养老服务,乙
+12
+
+===== PAGE 13 =====
+方应予配合甲方的服务工作。
+第六条 丙方权利及义务
+1.丙方的权利
+1.1 对乙方有探视权,但不得影响甲方对乙方的正常服务管理和执
+行政府规定的疫情防控等管理要求。
+1.2 对乙方的健康状况、享受服务情况、费用支出、入院记录等有
+知情权,有权查阅、复印甲方为乙方建立的个人档案。
+1.3 有权了解提供服务的人员是否经过专业培训,是否具备相应资
+质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合
+格的人员;有权对甲方的服务提出批评建议。
+1.4 遇紧急情况,包括但不限于乙方走失、身体健康状况出现紧急
+情况时,有权及时从甲方得到相关信息。
+2.丙方的义务
+2.1 乙方入住前,丙方要如实向甲方反映乙方的情况,如脾气秉性、
+家庭成员、既往病史、健康状况和药品使用情况等,协助乙方如实填写
+《入住登记表》。
+2.2 劝导乙方入住后自觉遵守养老机构的规章制度,接受管理,爱
+护甲方提供的各项服务设施,乙方违反本合同约定或甲方制定的规章制
+度,造成甲方损失或第三人人身、财产损害的,乙方需承担赔偿责任,
+负有付款义务或连带责任的丙方应当承担有关赔偿责任。
+2.3 应劝导乙方与其他入住老年人和谐相处,并经常与乙方沟通,
+保持联络,满足乙方的精神需求。
+2.4 应劝导乙方在接收甲方提供的养老服务期间,因疾病进行诊疗
+时,应在治疗期间遵守医嘱,配合治疗。乙方需外出就医的,负有相关
+13
+
+===== PAGE 14 =====
+义务的丙方应当及时携乙方到医院就诊,并向甲方如实告知乙方的就医
+情况。
+2.5 按时足额向甲方支付约定的养老服务费、保证金及相关费用。
+2.6 丙方的家庭及单位地址、联系方式变更时,应及时通知甲方。
+2.7 及时协助甲方处理乙方出现的紧急情况。当甲方按照第合同约
+定处理时,负有付款义务或连带责任的丙方应当及时足额支付由此产生
+的费用。
+2.8 乙方在养老机构去世的,丙方应及时进行善后处理并解决费用
+问题。
+第七条 合同的续签
+1.合同期满前 30 日,乙方或丙方可向养老机构申请续签合同。
+2.续签的养老服务合同内容应当由甲方、乙方和丙方协商确定。
+3.如果乙方或丙方未在合同期限届满前 30 日提出续签合同,或者
+乙方或丙方虽在合同期限届满前 30 日提出续签合同申请,但各方未就
+合同续签达成一致,乙方应于合同到期后 3 日内搬离甲方,办理离
+院手续并结清所有费用。
+第八条 合同的变更和解除
+1.合同的变更
+1.1 根据乙方健康状况的变化以及护理等级的评估结果,乙方、丙
+方可以要求甲方变更服务方案,甲方亦可以提出变更服务方案,并以书
+面形式通知乙方及丙方。任何一方要求变更服务方案的,需经甲方、乙
+方、丙方三方协商一致,签署补充协议。
+若甲方提出变更服务方案,乙方或丙方收到甲方变更服务方案的书
+面通知后 7 日内既不确认又不提出异议,但乙方实际接受甲方提供的相
+14
+
+===== PAGE 15 =====
+应服务的,视为甲、乙、丙三方就合同约定的服务项目的变更达成一致,
+乙方或丙方有义务按照新的服务项目支付相应的服务费用。
+若乙方或者丙方提出变更方案,甲方应在收到其变更服务方案的要
+求后 30 日内会同乙方或者丙方进行研究确定,变更方案符合有关规定
+和实际情况的,甲方应予以采纳。经沟通未能达成一致意见的,甲方有
+义务应向乙方或丙解释不采纳其变更方案的理由和依据,乙方或丙方仍
+不能接受的,可向属地民政部门反映或向司法部门起诉。
+如果根据乙方健康状况的变化以及护理等级的评估结果,不调整服
+务项目将导致乙方的健康安全无法保障的,甲方提出变更的服务方案后,
+乙方或丙方既不同意,也不接受实际服务,甲方、乙方或丙方均有权解
+除本合同。
+当食品材料市场价格发生重大变化,致使甲方服务成本急剧上升
+(单项价格变动幅度超过 6%)时,甲方可适当调整伙食费收费标准,将
+价格调整的通知在调价前 30 日以书面形式通知乙方及丙方,并签订补
+充合同。
+乙方或丙方对价格调整有异议的,可在收到通知后 15 日内以书面
+形式提出解除合同;乙方或丙方要求继续按照原收费标准履行合同的,
+甲方有权提出解除合同。
+乙方或丙方收到通知后 15 日内不以书面形式提出异议,但拒绝根
+据调整后的价格支付相关费用的,甲方有权解除合同并按照原收费标准
+收取已提供服务的费用。
+2.合同的解除
+2.1 除本合同另有约定外,下列情况下,乙方或丙方可以单方解除
+本合同,并无需承担违约责任:
+15
+
+===== PAGE 16 =====
+(1)甲方提供的服务不符合合同约定,经乙方或丙方提出,30 日
+内不改正的;
+(2)因甲方或甲方工作人员的严重过错造成乙方人身或重大财产
+损害的;
+(3)乙方因疾病或其他个人原因离院的,但乙方或丙方不提出解
+除本合同而要求保留床位或房间的除外;乙方因疾病需要长期住院治疗
+(凭 7 天内住院证明)或去世解除合同的,免收违约金;
+(4)履行合同过程中,乙方或丙方提前 30 日书面通知甲方并结清
+服务费用的;
+(5)乙方首次入住 15 日内不适应居住环境或管理方式的,乙方可
+以单方面解除本合同,并无需承担违约责任。
+2.2 除本合同另有约定外,下列情况下,甲方可以单方解除本合同,
+并无需承担违约责任:
+(1)乙方或丙方无故拖欠各项费用超过 15 日,经甲方书面催告后
+7 日内仍不交纳的,甲方有权解除合同,并书面通知乙方搬出养老机构。
+乙方在甲方发出书面解除合同通知后 7 日内仍不搬出的,甲方有权提起
+诉讼,请求法院确认合同解除。乙方和丙方除应支付拖欠的服务费用,
+诉讼期间的养老服务费用以外,还应每天支付应付未付费用金额的 1‰
+违约金,并负担甲方由此产生的一切费用(包括但不限于诉讼费、甲方
+聘请律师的实际支出、搬出费用)等。
+(2)乙方严重违反甲方的规章制度,造成甲方难以履行对乙方的
+养老服务,或造成其他入住老人伤害或存在可能造成他人伤害危险的。
+需对有关事实进行甄别的,可提请属地民政部门或委托第三方协助认定。
+(3)乙方或丙方隐瞒乙方健康状况,或者乙方患有须隔离治疗的
+16
+
+===== PAGE 17 =====
+传染性疾病或者患有精神疾病等其他不适宜在机构内集中生活的。
+(4)发生不可抗力致甲方不能履行合同的。
+(5)甲方因丧失养老机构执业资格等原因暂停、终止服务的。甲
+方应当于暂停或者终止服务 60 日前向实施许可或备案的属地民政部门
+提交老年人安置方案,经批准后方可解除养老机构服务合同。
+(6)乙方连续请假外出超过 90 天(限期不得少于 30 天)。请假
+期间,因病情严重需要医治或疫情防控等管理要求,乙方无法返院或甲
+方不具备返院条件的情形除外。
+(7)丙方与甲方中断联系达到 30 天的,甲方有权选择单方解除合
+同。
+2.3 除本合同另有约定外,下列情况下,乙方提前终止合同的,按
+照以下约定执行:
+如乙方提前解除合同(除因疾病需长期住院治疗、去世解除合同外),
+须提前 30 天书面向甲方提出申请,经甲方批准后方可办理离院手续,
+乙方应按照本月实际享受服务天数结算本月床位费、护理费、膳食费、
+管理费、水电费等费用,并按照附件《服务项目收费标准》中乙方所定
+房型向甲方缴纳一个月床位费的违约金。
+第九条 违约责任
+1.因甲方及其工作人员的过错,损害乙方人身或财产权利的,由
+甲方承担赔偿责任。
+2.甲方服务人员资质不合格、没有按约定提供服务或者提供的服务
+不合格,造成乙方人身或财产损失的,甲方应当承担赔偿责任。
+3.甲方或其工作人员侵犯乙方、丙方对甲方提供的养老服务的知情
+权的,乙方和丙方有权要求甲方改正,造成损失的甲方应承担赔偿责任。
+17
+
+===== PAGE 18 =====
+4.如果乙方或丙方无故拖欠各项费用超过 15 日,经甲方发出催告
+通知后 7 日内仍不交纳的,甲方有权解除合同,书面通知乙方和丙方,
+要求乙方出院。如果乙方在甲方发出解除合同通知后 7 日内仍不出院,
+甲方有权强制要求乙方出院或者送回乙方或丙方住所。此种情况下解除
+合同,乙方及丙方除应支付拖欠的费用外,还应每天支付应付未付费用
+金额的 1‰违约金,并负担甲方由此产生的一切费用(包括但不限于诉
+讼费、甲方聘请律师的实际支出、搬出费用)等;
+5.乙方或丙方未将乙方健康状况、用药情况及过往病史如实告知
+甲方,造成甲方在提供服务过程中护理失当的,由乙方或丙方承担相应
+的后果。
+6.乙方需外出就医的,甲方履行告知义务,乙方拒绝外出就医或
+丙方拒绝及时携乙方到医院就诊而造成的后果,由乙、丙方自行承担。
+7.甲方没有过错,因乙方原因造成其自身损害的,由乙方、丙方
+自行承担全部后果和责任。
+8.因乙方原因造成甲方或第三人人身或财产损失的,乙方、丙方应
+承担赔偿责任。
+9.签订养老服务合同后,乙方未按照合同约定时间入住的,按照以
+下约定办理:因紧急住院治疗无法按期办理且向公办养老机构提出由医
+疗机构出具的诊断结论的,由公办养老机构适当延长其资格核实、办理
+入住手续期限。
+10.本合同提前终止或服务期满后,乙方逾期搬离甲方养老机构的,
+按乙方在服务期满前一个月的养老服务费用标准的1.5倍按日计付养老
+服务费用,直至办理完毕离院手续并搬离甲方养老机构之日止。
+18
+
+===== PAGE 19 =====
+11.甲方按本合同约定应承担赔偿责任的,赔偿限额以甲方实际收
+费为限。
+第十条 通知与送达
+1.在本合同首页中所标明的甲方、乙方和丙方的地址和联系方式为
+各方各自有效的通讯地址和联系方式。一方变更通讯地址和联络方式应
+及时通知其他各方。
+2. 以下情形,视为送达,但受送达人有证据证明其因客观原因未
+实际接收到通知的除外:
+以特快专递形式发送,已经签收的,以签收日为送达日;未签收的,
+同城自发送之日起 2 日视为文件已经送达,异地 5 日视为送达,境外 15
+日视为送达;以手机短信发送的,发送成功即视为送达;电子邮件自发
+出后进入收件方邮箱服务器视为送达;传真发送自对方传真机接收视为
+送达。
+因受送达人通讯地址或其他相关信息错误、不详或发生变更未及时通知其
+他各方造成无法送达的,由受送达人自行承担相关后果。
+3.乙方入住甲方期间,有关本合同的履行事宜甲方应以书面或数据
+电文形式通知乙方或丙方,由乙方或丙方确认签收;乙方或丙方拒签的,
+书面通知在第三方见证下送至收件人地址的视为已通知或已送达,数据
+电文进入收件人接收系统的视为已通知或已送达。
+第十一条 陈述与保证
+1.甲方保证为依照法律、行政法规设立并依法登记的养老机构,具
+有提供本合同约定的养老服务的资格和能力。
+2.乙方或丙方保证乙方不属于患有精神病、甲类或乙类传染性疾病
+等不符合入住养老机构疾病的老年人。
+19
+
+===== PAGE 20 =====
+3.乙方或丙方保证向甲方提供乙方在本协议签署前1个月内在甲方
+所在地二级甲等以上医院进行体检的《体检报告》(体检项目包括:精
+神健康状况、传染性疾病及养老机构要求的其他体检项目等)(作为本
+合同附件)。
+4.乙方或丙方保证向甲方提供的乙方或丙方共同签字的《入住登记
+表》(作为本协议附件)是真实的,没有任何虚假或隐瞒。
+5.丙方保证担任本合同履行过程的联系人,接收甲方的通知,如涉
+及诉讼、仲裁或其他法律程序的,保证作为相关机构法律文书的接收人,
+甲方或相关机构向乙方或保证人所列明的地址、联系方式等送达相关文
+书的,均视为有效送达。
+第十二条 特别约定
+1.甲方仅提供与合同约定护理等级相符的相关服务,对于超出护理
+等级的看护、注意义务,甲方将依据现实情况、乙方身体状况尽可能的
+提供帮扶、协助,但不表示甲方愿意接受超出合同约定的范围的约束;
+甲方不是专业的医疗机构,对乙方进行的常规体检不代表甲方对乙方真
+实身体状况的了解,也不能代表甲方对乙方身体状况的确认,一切以专
+业的医疗机构及医疗人员的判断为准。
+2.突发疾病或出现事故等紧急情况的处理
+(1)乙方在入住期间突发疾病或身体伤害事故,甲方应及时通知丙方,
+及时联系 120 等医疗急救机构;如需到医疗机构急救、甲方应派人陪送
+至医疗机构。甲方不能及时联系上丙方的,应尽早与本合同附件确定的
+其他联系人取得联系并通报情况。
+(2)甲方具有医疗资质的,在乙方生命垂危等紧急情况下应尽到合理
+诊疗义务,费用由乙方和丙方承担。
+20
+
+===== PAGE 21 =====
+(3)因乙方发生紧急情况产生的费用急救费用、治疗费用、住院押金
+等均由乙方和丙方负担。甲方因此垫付费用的,乙方或丙方应按照甲方
+要求的时间内清偿。
+(4)为保证入住长者的生活环境,甲方暂未设有临终关怀服务,当乙
+方生命垂危时,丙方应全力配合甲方将乙方送医院进行抢救;若乙方或
+丙方任何一方不予配合,甲方有权利将乙方送往就近医院抢救并扣除乙
+方入住时缴纳人民币 元(大写金额:万 仟 佰 拾 元 角 分)
+的押金,救护费用不足部分由乙方及丙方承担;
+(5)若乙方在甲方养老院突然去世,丙方须全力配合甲方将乙方以医
+疗救护的方式将乙方送往就近医院;若丙方不予配合,甲方有权利扣除
+乙方入住时缴纳人民币 元(大写金额:万 仟 佰 拾 元角 分)
+的押金,费用不足部分由丙方承担;
+3.乙方去世的善后服务及相关费用
+乙方在甲方服务期间去世的,甲方应及时与丙方取得联系,丙方负
+责善后处理并承担相关费用。无法与丙方取得联系的,应及时联系殡仪
+馆,妥善保存遗体,发生的费用由丙方承担。
+4.甲方与丙方联系中断
+因丙方提供的联系地址、方式不准确或不详细或变更后未及时通知
+甲方,或其他客观原因致使甲方无法与丙方及时联系,连续达 30 天则
+视为联系中断。甲方与乙方协商后,可以重新确定联系人。联系中断不
+免除丙方在本合同项下的责任。
+因乙方、丙方原因导致联系中断的,如乙方仍有其他直系亲属的,
+则甲方有权自行联系其他直系亲属协商重新确定联系人或解除合同关
+系。无其他直系亲属或无其他亲属愿意承担乙方相关费用的,则甲方有
+21
+
+===== PAGE 22 =====
+权自行联系相关政府部门或其他机构解决处理有关乙方的托养事宜,因
+此而产生的相关费用,甲方有权向乙方或丙方追偿。
+5.非因甲方故意或重大过失的原因造成乙方人身、财产损害的,甲
+方不承担责任。
+乙方入住后若发生根据体检报告所反映出的一系列疾病、并发症或
+突发性疾病导致死亡,与甲方无关;
+由于乙方属高龄及有疾病的长者,易发生意外,入住期间非因甲方
+原因若发生骨折、心脏骤停、脑梗、脑溢血、呛咳、肺部感染等疾病导
+致死亡与甲方无关;
+乙方入住后,经甲方诊断有疾病且书面通知乙方前往三甲及以上的
+医院进行治疗的,乙方应及时前往医院就医;若乙方或丙方不予配合,
+乙方发生任何意外,由乙方和丙方负担全部责任;
+6.乙方具有完全民事行为能力,但拒绝接收甲方提供服务,造成其
+自身人身、财产损害的,由乙方自行承担后果。
+7. 本合同关于乙方和丙方权利义务的约定,并不免除对乙方有法
+定赡养义务的其他人的法定责任。
+8.因不可抗力导致本合同无法继续履行的、受到不可抗力影响的一
+方应在不可抗力情形发生后及时通知合同其他相关方,本合同可依法解
+除,合同各方不承担解除合同的责任。丙方应及时接回并妥善安置乙方。
+9.甲方破产、停业、转让:甲方需提前 30 天通知乙方和丙方,并
+协助丙方将乙方转至其他养老机构托养或送回住所;
+第十三条 争议解决方式
+本合同在履行过程中发生争议,当事人尽量协商解决。协商不成的,
+当事人可以选择下列第 2 种方式解决:
+22
+
+===== PAGE 23 =====
+□ 1.向仲裁机构申请仲裁。
+☑ 2.向有管辖权的人民法院提起诉讼。
+第十四条 合同生效及附件
+本合同一式 【叁】 份,甲方执 【壹】 份,乙方执 【壹】 份,
+乙方监护人执 【壹】 份,自各方签字或盖章之日起生效。
+1.下列文件为本合同附件,与本合同具有同等法律效力:
+附件一:《知情同意书》
+附件二:《入住登记表》
+附件三:《入住须知》
+附件四:《长者安全承诺书》
+附件五:《长者外出情况确认书》
+附件六:《签名代理申请》
+附件七:《委托代理人确认表》
+附件八:《机构服务范围及收费标准》
+附件九:《房间设施设备清单》
+附件十:二级甲等以上医院出具的《体检报告项目说明》
+(体检时间应在签订服务合同前 30 日以内)
+附件十一:乙方有效证件身份证、户口本复印件
+附件十二:乙方监护人身份证、户口本复印件
+23
+
+===== PAGE 24 =====
+2.本合同附件系本合同不可分割的组成部分,与本合同具有同等法
+律效力。
+3.本合同附件是本合同的组成部分,与合同正文具有同等法律效力。
+(本文以下无正文,为合同签署页)
+甲方(盖章):
+法定代表人(签字):
+日期:
+乙方(签字):
+日期:
+丙方(签字/盖章):
+日期:
+24
+
+===== PAGE 25 =====
+附件1
+知情同意书
+为充分保障乙方(姓名 )的健康与安全,结合乙方年迈体弱
+之特点,甲方(公司名称: )
+特向乙、丙两方告知以下事项,乙、丙两方须认真研读:
+一、保护性约束风险
+考虑到乙方年事已高,或受疾病、精神等因素影响,在入住甲方期间,有可能
+采取保护性约束措施,以避免其自伤或伤人情况的发生,保障乙方安全以及各项治
+疗护理工作的顺利开展。现特将施行保护性约束措施的必要性及医疗风险告知如下:
+(一) 必要性
+1. 为保障治疗工作顺利推进;
+2. 避免乙方因精神方面的因素出现伤害自身或他人的情况;
+3. 防止乙方在意识不清时自行移除引流导尿管、鼻胃管等医疗设备;
+4. 防范乙方发生跌倒或坠床事件;
+5. 基于其他必要的因素。
+(二) 医疗风险
+1. 改变约束部位皮肤的完整性以及血液循环状况;
+2. 在使用约束背心或约束带时,因乙方躁动致使约束过紧,进而导致呼吸改变,
+存在发生窒息的风险;使用约束带时,若乙方有暴力倾向且不配合,可能引发骨折
+或其他伤害。
+3. 因乙方或丙方意外或有意解除约束带,可能导致各种管道及静脉通路脱出,
+或者致使乙方发生跌倒、坠床等意外伤害。
+4. 被约束肢体出现损伤。
+5. 存在其他医疗风险。
+二、请假外出风险
+25
+
+===== PAGE 26 =====
+协议履行期间甲方不建议乙方经常请假外出,若确需请假外出,乙方否则
+因此产生的一切风险后果由乙方、乙方监护人需遵照本条条款执行:
+1. 严禁私自离院,及家属自行承担,甲方不承担任何责任。
+2. 有家属/监护人/代理人陪同的,乙方向当班工作人员提出请假申请,工作人
+员为符合请假条件老人办理请假、审批手续。
+3. 无家属/监护人/代理人陪同的,乙方需近三个月内MMSE评分为正常方可自
+行提出请假申请,工作人员评估其符合自行请假条件后为其办理请假、审批手续;
+若乙方近三个月内 MMSE 评分有异常,或经工作人员评估其不符合自行请假条件
+的,不予办理请假、审批手续;认知症老人一律不予办理自行单独请假、外出审批
+手续。
+4. 乙方经工作人员评估暂不适宜请假外出,或不符合在无家属、监护人陪同的
+自行请假条件,经与乙方、家属或监护人沟通,劝阻无果,乙方、监护人或家属仍
+坚持要求请假外出的,一切风险由乙方、监护人及家属自行承担。
+5. 凡当天不能返院,需在外留宿老人,需在其离院 24 小时内致电所在护理区
+报平安。如需延长请假,需来电或来信说明原因。
+6. 外出时将外出请假放行条交于门卫,并配合门卫做好相关登记,以示外出。
+7. 携带乙方外出者,负责保障乙方外出期间的安全。
+8. 对于乙方请假期间在院外发生的一切病情加重或恶化、人身伤害、安全责任
+事故等意外,均由乙方及其监护人、家属、代理人自行承担责任,甲方不承担任何
+责任。
+9. 乙方请假外出期间在甲方处以外所产生的住宿、伙食、交通、医疗、护理、
+救治等一切费用,均由乙方自行承担。
+10. 对于乙方请假外出,需自行解决往返交通。
+11. 其他相关请假外出规定。
+二、难免性压疮风险
+鉴于乙方体质特殊,身体素质欠佳且营养吸收能力较弱,加之患病、皮肤抵抗
+力低下、大小便失禁以及长期使用石膏绷带和夹板等因素,在治疗与护理过程中极
+易引发压疮。因此,乙方在入住期间存在发生压疮的可能性。甲方将严格依照护理
+级别,采取定期翻身、清洁身体、避免潮湿、摩擦及排泄物刺激、促进局部血液循
+环、增加营养摄入等防范举措。乙方与丙方应配合甲方积极开展治疗。即便甲方积
+极采取相应措施,压疮仍有可能发生,乙方、丙方及其他亲属需对压疮风险予以知
+26
+
+===== PAGE 27 =====
+悉并理解。
+三、跌倒/坠床风险
+鉴于老人年老体弱,在自行走动(活动)或卧床时易发生跌倒、坠床等意外情
+况。对于此类意外的发生,乙方及丙方应充分理解。同时,为减少跌倒/坠床情况的
+发生,特告知以下事项:
+1. 存在跌倒、坠床风险的老人(包含:1. 肢体乏力、行动不便、步态不稳者;
+2. 身体较为虚弱、伴有头晕症状、患有贫血病症以及血压不稳定者;
+3. 存在精神或意识方面较差状况或存在意识障碍的人员;
+4. 使用麻醉类及精神类药物的人员;
+5. 高龄、视力不佳者严禁随意下床或跨越床栏。家属或陪护人员在陪伴老人期
+间,应及时拉起床栏;未经甲方工作人员同意,严禁随意放下护栏,以防发生坠床
+事故。
+6. 对于存在跌倒、坠床风险的老人,在外出进行检查时,必须由护理人员或陪
+护人员陪同,严禁自行行动。
+7. 当老人有变更体位进行活动的需求时,需遵循循序渐进的原则,在确认无异
+常情况之后,方可开始行走,以此避免因突然改变体位而导致跌倒。
+8. 老年人穿脱鞋袜及裤子时,宜坐着进行,切不可赤脚行走,应穿着带有防滑
+坑纹的鞋子,以防止滑倒。
+9. 浴室已安装防滑地板,并配备扶手与座厕。如厕时,应自觉使用扶手。
+10. 行动不便者,需在他人陪护下进行起床、行走、活动、锻炼、沐浴或如厕
+等行为,并使用合适的助行用具或轮椅。同时,助行器应放置在老人易于取用之处。
+11. 老人床头及厕所均设置有呼叫器,老人需掌握呼叫器的使用方法。当在行
+走过程中于突发状况的位置,出现头晕、双眼发黑、下肢无力、行走不稳或无法移
+动等情况时,应即刻在原地坐下(蹲下)或靠墙站立,并按下呼叫器或大声呼喊以
+寻求帮助。
+12. 应时刻留意警示牌,避免行走于湿滑、有果皮、存在障碍物或凹凸不平的
+路面。若发现地面湿滑,需及时通知医护人员以消除安全隐患。
+13. 服用镇静类、催眠类、抗忧郁类、抗过敏类、抗心律失常类、降压类、利
+尿类、降糖类等药物的老年人,严禁擅自离床或独自外出。
+14. 老年人应全面、客观地评估自身身体状况,及时向工作人员寻求协助,并
+27
+
+===== PAGE 28 =====
+认真听取工作人员提出的合理建议。严禁从事超出自身能力范围的活动或事务,以
+避免发生跌倒情况。若不慎发生跌倒或坠床,切勿急于起身;若身体受伤,应留在
+原地并大声呼救。
+15. 为防止此风险发生,乙方与丙方应遵循甲方工作人员的建议,将该情况告
+知其他家属、监护人及陪护人员。
+四、误吸/噎食风险
+鉴于老年人因年老体弱或罹患疾病等缘故,常出现吞咽反射迟缓或吞咽功能障
+碍的情况,易引发误吸、噎食现象。为降低此类情况的发生几率,现将相关危险因
+素及防范措施告知如下:
+(一) 危险因素
+1. 年龄因素:随着年龄的增加,老年人的口腔黏膜会逐渐萎缩变薄,神经末梢
+感受器的反射功能也会逐渐变得迟钝,同时咽及食管的蠕动能力减弱。这些衰老性、
+退行性变化易致使老年人吞咽功能出现障碍,进而引发误吸、噎食。
+2. 相关疾病:老年人可能因罹患以下疾病而出现误吸情况:1) 颅脑病变,例
+如颅内肿瘤、颅脑外伤、脑血管病变、脑干受损、颅内压升高、帕金森综合征、癫
+痫等;2) 神经肌肉病变,如急性感染性神经炎、喉神经受损、多发性肌炎、多发性
+皮肌炎、重症肌无力等;3) 咽喉及其邻近部位病损,像声带麻痹、喉外伤、咽喉及
+头颈部手术、环咽肌失弛缓症、咽食管憩室、颈椎骨性赘生物等;4) 呼吸功能不全,
+例如慢性阻塞性肺疾病、支气管哮喘等。3. 体位:老年患者的体位与误吸存在一定
+关联,长期卧床的老年人在鼻饲或喂食时,若床头高度低于 30°,会增加反流物及
+分泌物逆流的可能性,进而导致误吸。
+3. 进食方式:进食过程中速度过快、过于急切、食量过多等情况,均会增加误
+吸、噎食的几率。
+4. 留置胃管:鼻饲并发症包括误吸、黏膜损伤、便秘、胃潴留、水电解质血糖
+紊乱等。
+(二) 防范措施
+1. 若丙方为乙方喂食,应选取质地柔软、密度与性状均匀、具备适当粘度、不
+易松散、湿润但无水分或汁液溢出的食物,例如米糊、菜泥、蛋羹等食物。同时,
+需留意食物温度适宜、色香味俱佳,以促进乙方食欲,引发吞咽反射。
+28
+
+===== PAGE 29 =====
+2. 乙方进食时应采取坐位或半坐卧位,对于卧床老人,至少应将床头抬高30°。
+进食后不宜立即躺下,需保持进食体位30分钟以上。
+3. 乙方在进食过程中,不宜进行交谈,需集中精力进食,以防发生呛咳。应细
+嚼慢咽,避免进食速度过快,每次进食量以一小口为宜,约为一茶匙或 5毫升的分
+量。需待口腔内食物完全咽下后,方可进食第二口。饭后需用温水漱口,以清除口
+腔内的食物残渣。若进食时出现呛咳现象,应立即停止进食,鼓励乙方咳嗽,并轻
+叩其背部,促使食物颗粒咯出,以减少误吸情况的发生。
+4. 在日常生活中,乙方应增加咳嗽、咳痰方面的锻炼。平时需注重口鼻腔卫生,
+进餐后应及时漱口;对于无法自行漱口、刷牙的乙方,应进行口腔护理。
+5. 经评估存在误吸风险且需留置胃管的老人,丙方严禁擅自喂食。为规避此类
+风险,乙方及丙方应遵循甲方工作人员的建议,并将此情况告知其他家属、监护人
+及陪护人员。
+五、烫伤风险
+鉴于老人存在年老体弱、行动不便、视力减退或存在障碍、感觉迟钝或存在障
+碍等情况,其发生烫伤的可能性较高。为降低烫伤发生的概率,特将以下事项告知
+如下:
+1. 乙方或丙方不得独自接触热源,例如打开水等行为。
+2. 未经甲方工作人员许可,严禁使用热水袋、理疗仪等易引发烫伤的发热设备。
+3. 乙方自行冲凉或丙方协助冲凉时,应先放冷水再放热水,且水温不得超过
+50°C。
+4. 乙方或丙方为老人准备食用的食物时,应确保温度适宜,以避免老人被烫伤。
+为防范此风险,乙方及丙方应遵循甲方工作人员的建议,并将相关情况告知其
+他家属、监护人及陪护人员。
+六、食品药品误食风险
+鉴于乙方存在罹患疾病、知识储备不足、安全意识淡薄等情况,易出现误食食
+品药品的现象。为降低此类风险,特作如下告知:乙方应配合甲方定期对食品、药
+品进行检查,一旦发现异常需及时处理,避免使用过期、变质的食品、药品。
+2. 丙方不得携带不适宜乙方食用或服用的食品和药品。
+3. 若乙方存在记忆力差、认知功能减退、视力异常等情形,则不适合自行准备
+和服用药物。关于乙方带药服药事宜,应与甲方工作人员进行沟通。丙方不得擅自
+29
+
+===== PAGE 30 =====
+让乙方自行保管药物及服药,乙方和丙方应当遵守甲方的自备药管理规定。为避免
+此类风险的发生,乙方及丙方应听从甲方工作人员的建议,并将此情况告知其他家
+属、监护人及陪护人员。
+针对此情况,丙方以及乙方的亲属、朋友应当定期与乙方进行交流沟通,前往
+探望乙方,或者接乙方外出实现团聚。同时,丙方需将此建议传达给乙方的家属或
+监护人。
+七、他伤和自伤风险
+乙方由于精神、心理、情绪、性格、生活习惯等方面的因素,无法完全适应养
+老院的生活。倘若亲属未能时常向老人表达关爱之情,乙方的精神慰藉需求将无法
+得到满足。当乙方处于精神和情绪不稳定的状态时,可能会产生悲观轻生的念头,
+或者容易被激怒,进而出现自伤或伤人的行为。
+八、走失风险
+鉴于乙方存在意识或定向障碍、记忆力减退等情况,其面临走失风险。为降低
+乙方走失事件的发生几率,丙方及乙方家属不得擅自带领乙方离开居住区或院区。
+九、文娱活动意外风险
+乙方因年事已高、身体孱弱、行动不便或患有疾病等缘由,在参与文娱或康乐
+活动期间,较易出现意外状况,诸如摔倒、突发疾病等。针对此情况,甲方工作人
+员会采取相应的防护举措,然而文娱活动中的意外状况仍有可能发生。
+本附件内容甲方已详尽告知,我方已审慎阅读并予以认同,同时将全力配合甲
+方做好乙方的安全保障工作。对于本附件所提及风险的发生,我方表示理解并承诺
+不会追究甲方的责任。
+乙方签阅(签字按手印):
+丙方签阅(签字按手印):
+日期:
+30
+
+===== PAGE 31 =====
+附件 2
+入住登记表
+入住编号: 日期: 年 月 日
+老年人 性别 □男 □女 年龄 照片
+国籍 出生日期
+籍贯 户籍地
+民族 □汉族 □其他:_______ 政治面貌
+婚姻状况 □未婚 □已婚 □丧偶 □离异 □未说明婚姻情况
+证件类型 证件号码
+文化程度 □文盲半文盲 □小学 □初中 □高中/技校/中专 □大学专科及以上 □不详
+居住地址
+姓名/名称 关系 手机号码
+担保人/监
+护人/紧急 证件类型 证件号码
+联系人
+通信地址 电子邮箱
+第二联系人 手机号码
+医疗费用支付方式 □城镇职工基本医疗保险 □城镇居民基本医疗保险 □全公费 □其它:
+经济来源 □退休金/养老金 □□新子型女农补村贴合作医□亲疗友资□助商业医□其疗他保补险贴:□_全__自__费___ □其他
+入住前住处 □家(□独居 □配偶 □子女 □保姆 □其他:________________) □医院
+□其他养老机构(名称:____________,入住时间:________离开原因:__________)
+入住机构原因
+□无 □有:疾病名称:,确诊时间:
+健康状况 既往史
+疾病名称:,确诊时间:
+31
+
+===== PAGE 32 =====
+□无 □有: 手术名称: ,手术时间:
+手术名称: ,手术时间:
+□无 □有: 外伤部位:,发生时间:
+外伤部位:,发生时间:
+疾病名称: ,确诊时间: ,目前状况:
+现患疾病
+疾病名称: ,确诊时间: ,目前状况:
+固定时间就诊:□无 □有(原因: ,频率___次/___月)
+近一年内住院情况:□未住院 □住过院(住院次数:____次)
+入/出院时间:______至______,原因:___________,医院名称:___________
+就医情况
+入/出院时间:______至______,原因:___________,医院名称:___________
+近一年内急诊情况:□未去过 □去过急诊(去急诊次数:___次)
+就诊时间:________,原因:___________,医院名称:__________
+□无症状 □头痛 □头晕 □心悸 □胸闷 □胸痛 □慢性咳嗽 □咳痰 □呼吸困
+难 □多饮 □多尿 □体重下降 □乏力 □关节肿痛 □手脚麻木 □视力模糊
+不适症状(近一
+□眼花 □耳鸣 □尿急 □尿痛 □便秘 □腹泻
+个月内情况)
+□恶心呕吐 □食欲减退 □乳房胀痛 □体位性低血压
+□其他:_____________________________________________________
+药物过敏:□无 □有:
+过敏史 食物过敏:□无 □有:
+环境过敏:□无 □有:
+跌倒:□无 □有:次数、地点
+老年综合征(近 记忆下降:□无 □有 具体表现
+三月内情况) 体重下降:□无 □有:下降重量(kg)
+小便失禁:□无 □有:次数
+32
+
+===== PAGE 33 =====
+睡眠障碍:□无 □有:□睡眠增多 □睡眠减少 □异常行为
+疼痛:□无 □有:疼痛部位
+视力异常:□无 □有:□老视 □近视 □远视,度数(左、右眼)
+听力下降:□无 □有:具体表现
+□无 □有:□游走 □日夜颠倒 □语言攻击行为 □肢体攻击行为 □对物
+精神状况(近三
+品的攻击行为 □妄想 □幻觉 □焦虑/恐惧 □自伤/自杀 □重复行为
+月内情况)
+□其他状况:
+语言表达 □流利 □含糊 □体语 □失语 □其他:
+其他特别说明事项:
+本人声明上述各项内容均属实。如有变化,及时通知贵院。
+入住老人(签名): 监护人/担保人/委托代理人/紧急联系人(签名或盖章):
+注:1.本表应当如实填写。
+2.在选中的“□”打“√”表示确认,不选的在“□”打“×”
+33
+
+===== PAGE 34 =====
+附件 3
+《入住须知》
+尊敬的长者:
+您好!
+欢迎您入住颐年集团旗下养老机构,在这里您可享受细致、以人为本的贴心服
+务,感受家的温馨,尽享长者尊贵!
+一、入住准备
+请根据需要选择携带以下物品:
+1、需换洗的衣物包含衣服、鞋、袜以及毛巾;需注意,鞋子应具备防滑功能,尺
+码合适,尽量选择无需系带的款式。
+2、洗漱用品:请依据个人需求自行准备牙刷、牙膏、口杯、须刨、香皂、洗发水、
+淋浴露等物品。
+3、日用品包含:水杯、润肤露、爽身粉、洗洁精、梳子、纸巾以及浴巾。
+4、衣物标签:入住之前,请家属完成“长者名字”的衣物标签缝制工作。
+5、药品:对于生活无法自理的长者,若自带药品,在附有医生医嘱的情况下,可
+交由我院工作人员。我院会依据长者的护理级别及医嘱,按时提醒长者服用药品。
+6、其他辅助器具:助听器、轮椅、拐杖、助行器、气垫床、坐便椅等。
+7、请勿将贵重物品及钱财带入养老院,院方不承担相关保管责任,长者可预留少
+量备用现金(金额在500元以下)。
+二、温馨提示
+1、本养老服务中心已为入住长者配备房间内必备的家电及家具用品,若长者需自行
+携带相关物品,须经本院同意后方可带入。。
+2、应遵守各项规章制度,服从管理人员的管理。进出院区以及亲属进行探访时,需
+在前台进行登记。接待来访的时间为:9:00 - 11:00时,14:30 - 17:00时。。
+3、原则上,禁止携带各类宠物入住。严禁携带对长者安全存在影响的物品(如具有
+刺激性、怪气味的物品,锐器,易燃、易爆及挥发性物品)进入院区。
+34
+
+===== PAGE 35 =====
+4、请妥善爱护房间及院区内的公共财物,若有损坏,需按照物品价值进行赔偿。
+5、若长者需要持有房间钥匙,请妥善保管。若钥匙遗失,需缴纳重新配制钥匙的费
+用。离开房间时,请关闭好门窗及水电。
+三、办理入住手续时请提供以下资料
+1. 入住长者的户口本(户主页与本人页)以及身份证(正面与反面)复印件,《托
+养服务合同》丙方(监护人)的户口本(户主页与本人页)以及身份证(正面与反
+面)复印件。
+2. 入住长者近期免冠一寸彩色照片三张。
+3. 入住时需提交长者在三个月内由二级或以上医院出具的体检报告,检查项目包括
+但不限于详见以下《体验项目单》:
+《体检项目单》
+一般检查(附:常规体检表)
+心电图
+X光胸片
+腹部B超(男性肝胆胰脾双肾膀胱 /女性肝胆胰脾双肾加子宫附件)
+骨密度检测
+血常规
+肝功能
+肾功能
+化验
+血脂四项
+小便常规
+传染病五项(甲肝、丙肝、乙肝两对半、梅毒、艾滋)
+四、本《入住须知》最终解释和修订权归本公司所有。
+本单位将竭诚为您提供服务,若有需求,请与前台联系。
+35
+
+===== PAGE 36 =====
+附件 3
+长者安全承诺书
+为了确保养老机构的安全生产,保障全院人员的生命财产安全,我谨以诚挚的
+态度郑重承诺,严格遵守以下规定:
+电器设备管理:本人将严格按照养老机构的安全管理规定,不私自搭拉电线,不擅
+自购买或使用任何电器设备(如电热毯、小太阳暖风机、电动泡脚桶等)。
+消防安全管理:本人将严格按照养老机构的消防管理规定行事,绝不在室内吸烟,
+并承诺不私自购买烟草或向家属索要火源(如打火机、火柴、电子点烟器等)。如
+需吸烟,配合到指定吸烟区域吸烟,确保吸完烟后将烟头妥善处理后扔入指定垃圾
+桶并进行灭火。主动将烟草和火机交由工作人员保管。
+房间卫生安全管理:本人承诺保持房间整洁,不堆放杂物,不购买或使用易被误食
+的洗涤剂,也不购买或使用任何利器。
+电动轮椅管理:如购买电动轮椅,本人同意在不使用时将其交由楼层管理人员指定
+位置统一看管,保证不放置在房间内,并在充电时到指定室外充电点进行操作。
+禁止使用明火或烟雾物品:本人承诺不使用蚊香、艾条等具有明火或烟雾的物品,
+确保室内空气清新。
+本人郑重承诺严格遵守以上规定。如违规将配合通知家属收回,同时被养老机
+构发函警告满三次,将自动作退住处理。对于任何违规行为所造成的后果,本人及
+家属将承担全部责任。
+本人郑重承诺,如有违反以上规定,愿意接受相应的处罚和责任。
+入住长者(签字按手印):
+监护人/委托代理人(签字按手印):
+年 月 日
+36
+
+===== PAGE 37 =====
+附件 4
+长者外出情况确认书
+尊敬的___________:
+欢迎您入住颐年集团旗下养老机构,现特将我院关于长者外出事项告知如下:
+一、在您入住期间,我院不会对您是否具备独自外出能力作出判断,也不对此
+承担责任。请您或监护人从以下选项中“二选一”进行确认(选中的打√,不选的
+打×):
+□ 不具备独自外出能力,需接受限制外出服务管理。
+□ 具备独自外出能力,无需接受限制外出服务管理。
+二、若您不具备独自外出的能力,您或您的监护人/委托代理人应向本院确认
+“需限制外出”的服务管理。本院将对您的外出进行统一管理。您外出时必须指定
+陪同人员(如家属等),且每次外出均需由您或您的监护人/委托代理人提前通知本
+院,陪同人员应在您外出及返回时进行登记。
+三、若您具备独自外出的能力,您或您的监护人/委托代理人应向本院确认“不
+需限制外出”的服务管理。您每次外出时,应在外出及返回时进行登记。
+四、若您患有认知症等疾病,本院将统一实行“限制外出”的服务管理。但若
+您或您的监护人/委托代理人拒绝本院为您提供限制外出管理服务,由此造成的后果
+由您或您的监护人/委托代理人承担,本院不承担责任。
+五、无论您是否具备独自外出的能力、外出是否进行登记,若您在外出期间发
+生事故(包括但不限于摔伤、走失、财物丢失)、突发疾病、遭受人身损害、死亡
+或者造成他人损害,由此造成的后果由您或您的监护人/委托代理人承担,本院不承
+担责任。
+37
+
+===== PAGE 38 =====
+六、外出存在如下风险:
+1、走失,或突发严重疾病而无法获得及时救治。
+2、遭遇交通事故及其他人身伤害。
+3、遭遇偷、盗、抢、骗、拐等暴力侵犯。
+4、遭遇其他无法预知的意外风险。
+基于上述缘由,我们期望您能安心调养身体,减少外出活动。
+倘若您执意选择外出,由此产生的后果将由您本人或您的监护人/委托代理人承
+担,我院概不负责。
+以上内容由入住长者及监护人/委托代理人确认:
+“我们在此郑重确认:已仔细阅读上述外出情况告知书,若出现告知书中明确
+提及的养老机构免责情形,所有责任与后果均由我们自行承担,养老机构无需担
+责。”
+入住长者签名: 监护人/委托代理人签名:
+日 期:
+38
+
+===== PAGE 39 =====
+附件 5
+签名代理申请
+现入住长者 (身份证号: )
+与我司办理托养服务、入住相关事宜,由于长者因自体原因不能亲自签
+字,长者特此申请委托代理人 身份证号:
+代为长者签名,由此而导致的一切行为均代表入住长者的意愿且长者已
+知悉(正常入住视为已知悉)。
+申请人:
+委托代理人:
+年 月 日
+经办人:
+39
+
+===== PAGE 40 =====
+附件 6
+授权委托书
+本人 (口女口男),身份证号:
+自愿入住 ,兹授权 (口女口男),
+身份证号: 手机号 ,
+办理本人 的入住手续相关事宜。
+授权人与被授权人关系:
+授权人(签名盖手印):
+被授权人(签名盖手印):
+年 月 日
+40
+
+===== PAGE 41 =====
+附件 7
+委托代理人确认表
+入住老人 性别 □男 □女 年龄
+身份证号
+码
+户籍地址
+姓名 性别 □男 □女
+委托代理 身份证
+人
+号
+户籍地
+址
+本人 是 的委托代理人,关系 ,保证所
+承诺的监护关系真实,对因提供虚假承诺而引发的相关问题和造成的后果,愿
+意承担相应的法律责任。
+特此承诺!
+入住老人(签名盖手印):
+委托代理人(签名盖手印):
+年 月 日
+41
+
+===== PAGE 42 =====
+附件 8
+机构服务范围及收费标准
+一、依据护理级别提供个人生活照料服务
+涵盖协助长者开展个人清洁卫生以及起居、穿衣、修饰、饮食、口腔清洁、入
+厕、皮肤清洁护理、压疮预防、便溺护理等事项。
+1. 个人日常清洁卫生包含洗脸、洗手、洗头(包含床上洗头)、洗脚、整理个
+人物品、清洁并平整床铺、更换床单等。
+2. 穿衣涵盖协助穿衣、更换衣物以及整理衣物等方面。
+3. 修饰行为涵盖梳头、修剪指(趾)甲等内容。
+4. 饮食照料涵盖协助用膳、饮水或喂饭以及肠内营养(鼻饲法、滴注法)等方
+面。
+5. 口腔清洁涵盖刷牙、漱口、口腔清洁以及假牙清洁等方面。
+6. 入厕服务涵盖定时提醒入厕、提供便盆与尿壶使用,以及协助进行排便、排
+尿等入厕相关事宜。
+7. 皮肤清洁护理涵盖清洗会阴、擦洗胸背部与腿部以及沐浴等操作。
+8.压疮预防应确保床单处于干燥、整洁状态,定时进行卧位更换与翻身操作,
+以减轻皮肤受压状况,并对皮肤及会阴部进行清洁。
+9. 便溺护理涵盖协助存在大小便失禁或便秘状况的老人进行排便、排尿操作,
+实施人工排便,以及对尿布进行清洗与更换等工作。
+二、膳食服务:
+由专业营养师提供每周的食谱,并根据老年人生理需求提供多种膳食服务和
+送餐服务。
+三、环境卫生服务:
+包括长者居室及室外环境的清洁卫生。
+四、休闲娱乐服务
+提供长者活动室、文化阅览室,并定期或不定期组织相关活动。
+五、洗衣服务:
+每日收集脏污衣物;对衣物进行分类清洗;针对被污染的衣物,采取单独洗涤
+的方式,并先进行消毒处理后再清洗;将清洗后的衣物整理折叠后送还给长者。
+42
+
+===== PAGE 43 =====
+六、安全保护服务
+1. 涵盖提供床档、安全标识、安全扶手、紧急呼救系统等物品。
+2. 在长者或其家属知悉并同意的情况下使用约束物品。
+3. 实施安全预防措施:包括评估长者存在的不安全因素,制定针对常见意外的
+预防措施以及应急预案,并定期检查安全程序的执行情况。
+七、通讯服务
+1、通讯服务包括公用电话、公用计算机网络、代办电报、书信代写与投寄等相
+关的服务
+八、心理(精神)支持服务涵盖访视、访谈、个案服务、小组活动、危机处理、
+咨询活动等内容。
+九、老年护理服务
+依据需求提供基础护理、老年专科疾病护理、老年心理护理、老年康复指导、
+老年期健康教育、健康咨询、护理技术操作、院内感染控制、临终护理等服务。
+1. 基础护理包含老年人的清洁护理、饮食护理、排泄护理以及基础护理技术。
+2. 老年专科护理包括老年专科疾病护理及相关技术操作。
+3. 老年心理护理涵盖老年人心理卫生教育、老年人心理问题评估以及实施老年
+心理护理干预举措。
+4. 老年康复指导包括传授老年期自我护理技术、老年病并发症康复预防以及指
+导康复治疗技术的运用。
+5. 老年期健康教育包括传播老年期健康知识、纠正不良健康行为。
+6. 健康咨询包括老年病的预防、康复、老年期的营养、精神卫生和社会活动等
+方面的咨询服务。
+7. 院内感染控制包括采取预防性措施、监测并控制传染病的爆发流行。
+8. 护理技术操作包括基础护理技术操作、老年专科护理技术操作、急救技术操
+作。
+9. 临终护理包括缓解临终期老年人的疼痛与困难,提升临终期老年人的生活质
+量,做好临终期老年人的心理护理、死亡教育以及家属的心理(精神)支持,消除
+老年人的临终恐惧。
+十、医疗保健服务:
+为入住老人提供“绿色通道”定点医疗机构。当长者遭遇急症或意外情况时,
+43
+
+===== PAGE 44 =====
+工作人员将代为联系120急救中心并送往医院。同时,为入住老人开展健康管理、
+健康咨询、康复指导以及预防保健等工作,为老年人建立健康档案,旨在维持或改
+善老年人的身心状态,减轻病痛,做好老年人常见疾病、多发疾病以及慢性非传染
+性疾病的预防工作。
+十一、咨询服务
+咨询服务包括开展心理、医疗、护理、康复、教育、服务信息等方面的咨询。
+十二、委托代办服务
+包括为老年人代购物品、陪同购物、帮助老年人书信、文书书写或领取物品、
+交纳费用等。陪同就医服务。
+十三、教育服务
+提供教育服务的范围包括开展各类知识讲座、健康知识、时事教育、绘画技巧、
+音乐常识、照相技术、运动知识、电脑知识等。
+附:《养老机构机构收费标准》
+长者/监护人/委托代理人签阅(签字按手印):
+日 期 :
+44
+
+===== PAGE 45 =====
+附件 9:《房间设施设备清单》
+标准房间物品配备
+入住长者姓名 房间号
+序 序
+物品名称 数量 备 注 物品名称 数量 备 注
+号 号
+1 窗帘 1 16 门牌 1
+2 床隔帘 1 17 客厅灯具 1
+3 浴帘 1 18 卫生间灯具 1
+4 垃圾桶 1 19 水龙头 1
+5 木床 1 20 马桶 1
+6 床垫 1 21 呼叫器 1
+7 不锈钢排勾 1
+8 床头柜 1
+书桌(含一张椅
+9 1
+子)
+10 衣柜 1
+11 壁扇 1
+特别告知:
+12 电视机 1
+房间物品配备属于福利院公共物品,请
+入
+13 机顶盒遥控器 1
+住长者与房友共同维护和文明使用,如有
+人
+14 机顶盒 1
+为损坏则照价赔偿。
+15 空调 1
+监护人/委托代理
+入住老人签名
+人签名
+日期: 年 月 日
+45
+
+===== PAGE 46 =====
+附件十:
+(乙方提供二级甲等以上医院出具的《体检报告项目说明》(体检时间应在签
+订服务合同前30日以内)
+(体检报告项目粘贴或附注)
+46
+
+===== PAGE 47 =====
+附件十一:乙方有效证件(身份证复印件、户口本复印件)
+(粘贴或附注)
+47
+
+===== PAGE 48 =====
+附件十二:乙方监护人身份证、户口本复印件
+(粘贴或附注)
+48
+
+===== PAGE 49 =====
+49

+ 20 - 0
process-contract.ps1

@@ -0,0 +1,20 @@
+$path = 'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+$content = Get-Content $path -Raw -Encoding UTF8
+
+# 模式1:<span class="fill">{{ contractForm.field || '___' }}</span>
+$pattern1 = '<span class="fill">\{\{\s*contractForm\.(\w+)\s*\|\|\s*''([^'']+)''\s*\}\}</span>'
+$replacement1 = '<template v-if="isTextMode"><span class="fill">{{ contractForm.$1 || ''$2'' }}</span></template><input v-else v-model="contractForm.$1" class="text-input" placeholder="请输入" style="max-width: 180px;" />'
+$matches1 = [regex]::Matches($content, $pattern1)
+Write-Host "模式1匹配数: $($matches1.Count)"
+$content = [regex]::Replace($content, $pattern1, $replacement1)
+
+# 模式2:直接 {{ contractForm.field || '___' }}(不在span.fill中,且未被替换)
+$pattern2 = '(?<!v-if="isTextMode">)\{\{\s*contractForm\.(\w+)\s*\|\|\s*''([^'']+)''\s*\}\}'
+$matches2 = [regex]::Matches($content, $pattern2)
+Write-Host "模式2匹配数: $($matches2.Count)"
+$replacement2 = '<template v-if="isTextMode">{{ contractForm.$1 || ''$2'' }}</template><input v-else v-model="contractForm.$1" class="text-input" placeholder="请输入" style="max-width: 180px;" />'
+$content = [regex]::Replace($content, $pattern2, $replacement2)
+
+# 保存
+Set-Content $path $content -Encoding UTF8 -NoNewline
+Write-Host "完成!"

+ 7 - 13
src/components/ESign/src/ESign.vue

@@ -13,12 +13,11 @@
   </div>
 </template>
 <script setup lang="ts">
-// 局部引入电子签名:
+import { ref, nextTick, computed } from 'vue'
 import vueEsign from 'vue-esign'
 defineOptions({ name: 'ESign' })
 
 const props = defineProps({
-  // 当前选中的链接
   modelValue: {
     type: String,
     default: ''
@@ -27,26 +26,21 @@ const props = defineProps({
 
 const emit = defineEmits(['update:modelValue'])
 
-// 清空画板..
-const esignRef = ref()
+const esignRef = ref<InstanceType<typeof vueEsign> | null>(null)
 const handleReset = () => {
   emit('update:modelValue', '')
-  nextTick(()=>{
-    esignRef.value.reset()
+  nextTick(() => {
+    esignRef.value?.reset()
   })
 }
-//     // 生成签名图片..
 const handleGenerate = () => {
-  esignRef.value.generate().then((res) => {
-    // const fileName = 'img1.png'
-    // const file = dataURLtoFile(res, fileName)
-    // console.log('file', file)
+  esignRef.value?.generate().then((res: string) => {
     emit('update:modelValue', res)
   })
 }
 
-const btnVisible = computed(()=>{
-  return props.modelValue != ''
+const btnVisible = computed(() => {
+  return props.modelValue !== ''
 })
 </script>
 <style lang="scss">

+ 27 - 1
src/components/UploadFile/index.ts

@@ -2,5 +2,31 @@ import UploadImg from './src/UploadImg.vue'
 import UploadImgs from './src/UploadImgs.vue'
 import UploadFile from './src/UploadFile.vue'
 import SelectUpload from './src/SelectUpload.vue'
+import TableUpload from './src/TableUpload.vue'
+import {
+  useUpload,
+  getUploadUrl,
+  formatFileSize,
+  formatDateTime,
+  isImageFile,
+  fillFileMetaInfo,
+  fillFileListMetaInfo
+} from './src/useUpload'
+import type { FileItem } from './src/useUpload'
 
-export { UploadImg, UploadImgs, UploadFile, SelectUpload }
+export {
+  UploadImg,
+  UploadImgs,
+  UploadFile,
+  SelectUpload,
+  TableUpload,
+  useUpload,
+  getUploadUrl,
+  formatFileSize,
+  formatDateTime,
+  isImageFile,
+  fillFileMetaInfo,
+  fillFileListMetaInfo
+}
+
+export type { FileItem }

+ 206 - 0
src/components/UploadFile/src/TableUpload.vue

@@ -0,0 +1,206 @@
+<template>
+  <div class="table-upload">
+    <div class="upload-tip">
+      上传附件(文件类型:{{ acceptText }})(文件不能大于{{ fileSize }}M)
+    </div>
+    <el-table :data="fileList" border size="small" class="upload-table">
+      <el-table-column type="index" label="序号" width="60" align="center" />
+      <el-table-column label="预览" width="80" align="center">
+        <template #default="{ row }">
+          <el-image
+            v-if="isImageFile(row.fileUrl)"
+            :src="row.fileUrl"
+            :preview-src-list="[row.fileUrl]"
+            fit="cover"
+            style="width: 40px; height: 40px; cursor: pointer"
+          />
+          <Icon v-else icon="ep:document" style="font-size: 20px; color: #909399" />
+        </template>
+      </el-table-column>
+      <el-table-column label="文件名称" prop="fileName" min-width="200">
+        <template #default="{ row }">
+          <span class="file-name" @click="handleDownload(row)">{{ row.fileName }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="文件大小" width="120" align="center">
+        <template #default="{ row }">{{ formatFileSize(row.fileSize) }}</template>
+      </el-table-column>
+      <el-table-column label="创建时间" width="180" align="center">
+        <template #default="{ row }">{{ row.createTime || '--' }}</template>
+      </el-table-column>
+      <el-table-column label="操作" width="80" align="center" v-if="!isDetail">
+        <template #default="{ row, $index }">
+          <el-button type="danger" link size="small" @click="handleRemove($index, row)">删除</el-button>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" width="80" align="center" v-else>
+        <template #default="{ row }">
+          <el-button type="primary" link size="small" @click="handleDownload(row)">下载</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="upload-btn-wrap" v-if="!isDetail">
+      <el-upload
+        ref="uploadRef"
+        :http-request="httpRequest"
+        :before-upload="beforeUpload"
+        :show-file-list="false"
+        :accept="accept"
+        multiple
+      >
+        <el-button type="primary">
+          <Icon icon="ep:upload" />点击选择文件
+        </el-button>
+      </el-upload>
+    </div>
+  </div>
+</template>
+
+<script lang="ts" setup>
+import { useUpload, FileItem, formatFileSize, formatDateTime, isImageFile, fillFileListMetaInfo } from '@/components/UploadFile/src/useUpload'
+import { PropType, watch } from 'vue'
+
+const message = useMessage()
+const route = useRoute()
+
+const props = defineProps({
+  modelValue: {
+    type: Array as PropType<FileItem[]>,
+    default: () => []
+  },
+  funName: {
+    type: String,
+    default: '其他附件'
+  },
+  elder: {
+    type: Object as PropType<{ elderId: string | number; elderName: string }>,
+    default: () => ({ elderId: '', elderName: '' })
+  },
+  isDetail: {
+    type: Boolean,
+    default: false
+  },
+  fileSize: {
+    type: Number,
+    default: 50
+  },
+  accept: {
+    type: String,
+    default: '.gif,.bmp,.jpeg,.jpg,.ico,.png,.pdf'
+  },
+  acceptText: {
+    type: String,
+    default: '.gif,.bmp,.jpeg,.jpg,.ico,.png,.pdf'
+  },
+  limit: {
+    type: Number,
+    default: 30
+  }
+})
+
+const emit = defineEmits(['update:modelValue', 'success'])
+
+const uploadRef = ref()
+
+const fileList: any = computed({
+  get: () => props.modelValue || [],
+  set: (val) => emit('update:modelValue', val)
+})
+
+const { httpRequest: uploadFn } = useUpload(
+  (route.meta.title as string) + '-' + props.funName,
+  props.elder
+)
+
+const httpRequest = (options: any) => {
+  const rawFile = options.file
+  uploadFn(options)
+    .then((res: any) => {
+      if (res.code === 0) {
+        fileList.value.push({
+          fileUrl: res.data,
+          fileName: rawFile.name,
+          fileSize: rawFile.size,
+          createTime: formatDateTime(new Date(), 'yyyy-MM-dd HH:mm:ss')
+        })
+        emit('success', fileList.value)
+      } else {
+        message.error(res.msg || '上传失败')
+      }
+    })
+    .catch(() => {
+      message.error('上传失败')
+    })
+}
+
+const beforeUpload = (rawFile: any) => {
+  if (fileList.value.length >= props.limit) {
+    message.error(`上传数量不能超过${props.limit}个!`)
+    return false
+  }
+  const isLtSize = rawFile.size / 1024 / 1024 < props.fileSize
+  if (!isLtSize) {
+    message.error(`上传文件大小不能超过 ${props.fileSize}M!`)
+    return false
+  }
+  return true
+}
+
+const handleRemove = (index: number, row: FileItem) => {
+  fileList.value.splice(index, 1)
+}
+
+const handleDownload = (row: FileItem) => {
+  fetch(row.fileUrl)
+    .then((response) => response.blob())
+    .then((blob) => {
+      const url = URL.createObjectURL(blob)
+      const a = document.createElement('a')
+      a.href = url
+      a.download = row.fileName
+      document.body.appendChild(a)
+      a.click()
+      document.body.removeChild(a)
+      URL.revokeObjectURL(url)
+    })
+    .catch((error) => console.error('下载失败:', error))
+}
+
+watch(
+  () => fileList.value,
+  (list) => {
+    if (list && list.length) {
+      fillFileListMetaInfo(list)
+    }
+  },
+  { immediate: true, deep: false }
+)
+</script>
+
+<style lang="scss" scoped>
+.table-upload {
+  width: 100%;
+
+  .upload-tip {
+    font-size: 12px;
+    color: #909399;
+    margin-bottom: 8px;
+  }
+
+  .upload-table {
+    width: 100%;
+  }
+
+  .file-name {
+    color: var(--el-color-primary);
+    cursor: pointer;
+    &:hover {
+      text-decoration: underline;
+    }
+  }
+
+  .upload-btn-wrap {
+    margin-top: 10px;
+  }
+}
+</style>

+ 92 - 0
src/components/UploadFile/src/useUpload.ts

@@ -3,6 +3,18 @@ import CryptoJS from 'crypto-js'
 import { UploadRawFile, UploadRequestOptions } from 'element-plus/es/components/upload/src/upload'
 import axios from 'axios'
 
+/**
+ * 文件条目(通用文件数据结构)
+ * 新版本上传:{ fileUrl, fileName, fileSize, createTime }
+ * 老版本上传:{ fileUrl, fileName }(fileSize / createTime 可能缺失,由 fillFileMetaInfo 补齐)
+ */
+export interface FileItem {
+  fileUrl: string
+  fileName: string
+  fileSize?: number
+  createTime?: string
+}
+
 /**
  * 获得上传 URL
  */
@@ -10,6 +22,86 @@ export const getUploadUrl = (): string => {
   return import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_URL + '/infra/file/upload'
 }
 
+/**
+ * 格式化文件大小(B → KB/MB)
+ * 通用工具,供各页面展示上传文件时调用
+ */
+export const formatFileSize = (size?: number): string => {
+  if (!size) return '--'
+  if (size < 1024) return size + ' B'
+  if (size < 1024 * 1024) return (size / 1024).toFixed(2) + ' KB'
+  return (size / 1024 / 1024).toFixed(2) + ' MB'
+}
+
+/**
+ * 格式化日期时间
+ * 通用工具
+ */
+export const formatDateTime = (date: Date | string, fmt = 'yyyy-MM-dd HH:mm:ss'): string => {
+  if (!date) return '--'
+  const d = typeof date === 'string' ? new Date(date) : date
+  if (isNaN(d.getTime())) return '--'
+  const o: Record<string, number> = {
+    'M+': d.getMonth() + 1,
+    'd+': d.getDate(),
+    'H+': d.getHours(),
+    'm+': d.getMinutes(),
+    's+': d.getSeconds()
+  }
+  let result = fmt
+  if (/(y+)/.test(result)) {
+    result = result.replace(RegExp.$1, (d.getFullYear() + '').substr(4 - RegExp.$1.length))
+  }
+  for (const k in o) {
+    if (new RegExp('(' + k + ')').test(result)) {
+      result = result.replace(
+        RegExp.$1,
+        RegExp.$1.length === 1 ? String(o[k]) : ('00' + o[k]).substr(String(o[k]).length)
+      )
+    }
+  }
+  return result
+}
+
+/**
+ * 判断是否为图片(用于表格预览列显示缩略图)
+ */
+export const isImageFile = (url: string): boolean => {
+  if (!url) return false
+  return /\.(jpg|jpeg|png|gif|bmp|webp|ico)(\?.*)?$/i.test(url)
+}
+
+/**
+ * 兼容方案:为老版本上传的文件补齐 fileSize
+ * 逻辑:
+ *   - 如果 fileSize 已有值 → 跳过(新版本数据)
+ *   - 如果 fileSize 缺失 → 发起 HEAD 请求,尝试读取 Content-Length
+ *   - createTime 无法从 URL 可靠获取,保持原状态(有就显示,没有显示 '--')
+ *
+ * 注意:受 CORS 限制可能拿不到 Content-Length,拿不到就保持 '--'
+ */
+export const fillFileMetaInfo = async (item: FileItem): Promise<void> => {
+  if (item.fileSize || !item.fileUrl) return
+  try {
+    const res = await fetch(item.fileUrl, { method: 'HEAD' })
+    const contentLength = res.headers.get('content-length')
+    if (contentLength) {
+      item.fileSize = parseInt(contentLength, 10)
+    }
+  } catch (e) {
+    // 跨域/网络错误:静默处理,保持 '--'
+  }
+}
+
+/**
+ * 批量补齐文件列表的元信息
+ * 通用方法,供各页面组件初始化回显时调用
+ */
+export const fillFileListMetaInfo = async (list: FileItem[]): Promise<void> => {
+  if (!list || !list.length) return
+  await Promise.all(list.map((item) => fillFileMetaInfo(item)))
+}
+
 export const useUpload = (menu: string = '', elder: any = { elderId: '', elderName: '' }) => {
   // 后端上传地址
   const uploadUrl = getUploadUrl()

+ 28 - 0
src/types/vue-esign.d.ts

@@ -0,0 +1,28 @@
+declare module 'vue-esign' {
+  import { DefineComponent } from 'vue'
+
+  interface VueEsignProps {
+    width?: number
+    height?: number
+    lineWidth?: number
+    lineColor?: string
+    bgColor?: string
+    isClear?: boolean
+    isCrop?: boolean
+    format?: string
+    quality?: number
+    rotate?: number
+    img?: string
+  }
+
+  interface VueEsignInstance {
+    reset: () => void
+    generate: () => Promise<string>
+    toDataURL: (type?: string, quality?: number) => string
+    getCanvas: () => HTMLCanvasElement
+  }
+
+  const component: DefineComponent<VueEsignProps, VueEsignInstance, any>
+
+  export default component
+}

+ 18 - 42
src/views/elderly/apply/check-in-request/ProcessForm.vue

@@ -290,24 +290,8 @@
         <span>附件</span>
       </div>
       <div class="info-wrap">
-        <el-form-item label="长者证件" v-if="dataForm.elderFiles">
-          <SelectUpload
-            fun-name="长者证件"
-            v-model="dataForm.elderFiles"
-            :elder="{ elderId: dataForm.id, elderName: dataForm.elderName }"
-            isDetail
-          />
-        </el-form-item>
-        <el-form-item label="托养人证件" v-if="dataForm.custodianFiles">
-          <SelectUpload
-            fun-name="托养人证件"
-            v-model="dataForm.custodianFiles"
-            :elder="{ elderId: dataForm.id, elderName: dataForm.elderName }"
-            isDetail
-          />
-        </el-form-item>
-        <el-form-item label="其他附件" v-if="dataForm.otherFiles">
-          <SelectUpload
+        <el-form-item label="上传附件" v-if="dataForm.otherFiles && dataForm.otherFiles.length">
+          <TableUpload
             fun-name="其他附件"
             v-model="dataForm.otherFiles"
             :elder="{ elderId: dataForm.id, elderName: dataForm.elderName }"
@@ -1167,22 +1151,8 @@
         <span>附件</span>
       </div>
       <div class="info-wrap">
-        <el-form-item label="长者证件">
-          <SelectUpload
-            fun-name="长者证件"
-            v-model="dataForm.elderFiles"
-            :elder="{ elderId: dataForm.id, elderName: dataForm.elderName }"
-          />
-        </el-form-item>
-        <el-form-item label="托养人证件">
-          <SelectUpload
-            fun-name="托养人证件"
-            v-model="dataForm.custodianFiles"
-            :elder="{ elderId: dataForm.id, elderName: dataForm.elderName }"
-          />
-        </el-form-item>
-        <el-form-item label="其他附件">
-          <SelectUpload
+        <el-form-item label="上传附件">
+          <TableUpload
             fun-name="其他附件"
             v-model="dataForm.otherFiles"
             :elder="{ elderId: dataForm.id, elderName: dataForm.elderName }"
@@ -1428,9 +1398,12 @@ const init = async (id, detail, type) => {
       // }
       Object.assign(dataForm, res)
       dataForm.language = dataForm.language ? JSON.parse(dataForm.language) : []
-      dataForm.elderFiles = res.elderFiles ? JSON.parse(res.elderFiles) : []
-      dataForm.custodianFiles = res.custodianFiles ? JSON.parse(res.custodianFiles) : []
-      dataForm.otherFiles = res.otherFiles ? JSON.parse(res.otherFiles) : []
+      const _elderFiles = res.elderFiles ? JSON.parse(res.elderFiles) : []
+      const _custodianFiles = res.custodianFiles ? JSON.parse(res.custodianFiles) : []
+      const _otherFiles = res.otherFiles ? JSON.parse(res.otherFiles) : []
+      dataForm.otherFiles = [..._elderFiles, ..._custodianFiles, ..._otherFiles]
+      dataForm.elderFiles = []
+      dataForm.custodianFiles = []
       dataForm.idCard2 = res.papersType != 1 ? res.idCard : ''
       dataForm.idCard = res.papersType == 1 ? res.idCard : ''
     }
@@ -1463,9 +1436,12 @@ const open = async (res, detail, type, tId) => {
     // }
     Object.assign(dataForm, res)
     dataForm.language = dataForm.language ? JSON.parse(dataForm.language) : []
-    dataForm.elderFiles = res.elderFiles ? JSON.parse(res.elderFiles) : []
-    dataForm.custodianFiles = res.custodianFiles ? JSON.parse(res.custodianFiles) : []
-    dataForm.otherFiles = res.otherFiles ? JSON.parse(res.otherFiles) : []
+    const _elderFiles = res.elderFiles ? JSON.parse(res.elderFiles) : []
+    const _custodianFiles = res.custodianFiles ? JSON.parse(res.custodianFiles) : []
+    const _otherFiles = res.otherFiles ? JSON.parse(res.otherFiles) : []
+    dataForm.otherFiles = [..._elderFiles, ..._custodianFiles, ..._otherFiles]
+    dataForm.elderFiles = []
+    dataForm.custodianFiles = []
     dataForm.birthdayCareDate = res.birthdayCareDate ? new Date(res.birthdayCareDate) : ''
     dataForm.tenantId = tId
     dataForm.elderCover = res.elderCover ? res.elderCover : []
@@ -1514,8 +1490,8 @@ const getSubMitData = () => {
   let params = { ...JSON.parse(JSON.stringify(dataForm)), type: 1 }
   // 语言
   params.language = params.language.length ? JSON.stringify(params.language) : ''
-  params.custodianFiles = params.custodianFiles.length ? JSON.stringify(params.custodianFiles) : ''
-  params.elderFiles = params.elderFiles.length ? JSON.stringify(params.elderFiles) : ''
+  params.custodianFiles = ''
+  params.elderFiles = ''
   params.otherFiles = params.otherFiles.length ? JSON.stringify(params.otherFiles) : ''
   params.elderCover = (!params.elderCover || (Array.isArray(params.elderCover) && params.elderCover.length === 0)) ? '' : params.elderCover;
   //console.log("头像:",params.elderCover)

+ 1001 - 0
src/views/elderly/apply/check-in/ContractForm.vue

@@ -0,0 +1,1001 @@
+<template>
+  <el-drawer v-model="drawerVisible" size="90%" :before-close="handleClose" direction="rtl" destroy-on-close>
+    <template #header>
+      <div style="display: flex; justify-content: space-between; align-items: center; width: 100%;">
+        <span style="font-size: 18px; font-weight: bold;">颐年集团养老服务合同 <span style="font-size: 12px; color: #909399; margin-left: 10px;">({{ viewMode === 'view' ? '详情模式' : '编辑模式' }})</span></span>
+        <div>
+          <el-button v-if="viewMode === 'edit'" type="primary" @click="handleSubmit" size="small">保存</el-button>
+          <el-button type="success" @click="handlePrint" size="small">打印</el-button>
+        </div>
+      </div>
+    </template>
+
+    <div class="contract-container" ref="contractRef" v-loading="loading">
+      <!-- ========== 第1页:封面 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">1</span></div>
+        <div class="page-content cover-page">
+          <div class="cover-fields">
+            <p><span class="label">合同编号:</span><template v-if="isTextMode"><span class="fill">{{ contractForm.contractNumber || '________________' }}</span></template><input v-else v-model="contractForm.contractNumber" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+            <p><span class="label">长者姓名:</span><template v-if="isTextMode"><span class="fill">{{ contractForm.elderName || '________________' }}</span></template><input v-else v-model="contractForm.elderName" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          </div>
+          <h1 class="doc-title" style="margin-top: 120px;">养老机构服务合同</h1>
+          <p style="text-align: center; margin-top: 80px; font-size: 18px;">颐年健康产业(集团)有限公司制定</p>
+        </div>
+      </div>
+
+      <!-- ========== 第2页:重要提示 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">2</span></div>
+        <div class="page-content">
+          <h2 class="section-title" style="text-align: center;">重要提示(合同签署前请仔细阅读)</h2>
+          <p class="content-text">为了维护您的利益,请您在签署本合同(本协议)前,仔细阅读如下注意事项:</p>
+          <p class="content-text">一、您已阅读本合同(协议)、补充协议及相关文件的所有条款,并已知悉其含义,同时对涉及贵方权利与义务的内容给予了充分的注意。</p>
+          <p class="content-text">二、您已确保提交的有关证件及资料是真实、合法、有效的。</p>
+          <p class="content-text">三、您已确保向合同(协议)签署相关方所作的陈述、健康状况披露及其他信息披露均完整、充分、真实。</p>
+          <p class="content-text">四、本合同(协议)所有条款均为签署方的真实意思表示。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第3页:甲乙丙方信息 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">3</span></div>
+        <div class="page-content">
+          <h3 class="subsection-title">甲方(养老机构):</h3>
+          <p class="content-text">甲方运营机构:<template v-if="isTextMode"><span class="fill">{{ contractForm.partyAName || '颐年健康产业(集团)有限公司' }}</span></template><input v-else v-model="contractForm.partyAName" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">统一社会信用代码:<template v-if="isTextMode"><span class="fill">{{ contractForm.partyACode || '________________' }}</span></template><input v-else v-model="contractForm.partyACode" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">地址:<template v-if="isTextMode"><span class="fill">{{ contractForm.partyAAddr || '________________' }}</span></template><input v-else v-model="contractForm.partyAAddr" class="text-input" placeholder="请输入" style="max-width: 180px;" /> 邮编:<template v-if="isTextMode"><span class="fill">{{ contractForm.partyAZip || '________' }}</span></template><input v-else v-model="contractForm.partyAZip" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">法定代表人:<template v-if="isTextMode"><span class="fill">{{ contractForm.partyALegal || '________________' }}</span></template><input v-else v-model="contractForm.partyALegal" class="text-input" placeholder="请输入" style="max-width: 180px;" /> 联系方式:<template v-if="isTextMode"><span class="fill">{{ contractForm.partyAPhone || '________________' }}</span></template><input v-else v-model="contractForm.partyAPhone" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <h3 class="subsection-title" style="margin-top: 20px;">乙方(入住老年人)</h3>
+          <p class="content-text">姓名:<template v-if="isTextMode">{{ contractForm.elderName || '________' }}</template><input v-else v-model="contractForm.elderName" class="text-input" placeholder="请输入" style="max-width: 180px;" /> 性别:<template v-if="isTextMode">{{ contractForm.elderGenderText || '□男 □女' }}</template><input v-else v-model="contractForm.elderGenderText" class="text-input" placeholder="请输入" style="max-width: 180px;" /> 出生年月日:<template v-if="isTextMode">{{ contractForm.elderBirth || '____年__月__日' }}</template><input v-else v-model="contractForm.elderBirth" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">证件类型:□居民身份证 □户口本 □护照 □港澳居民来往内地通行证 □台湾居民来往大陆通行证 □其他</p>
+          <p class="content-text">证件号码:<template v-if="isTextMode">{{ contractForm.elderIdCard || '________________' }}</template><input v-else v-model="contractForm.elderIdCard" class="text-input" placeholder="请输入" style="max-width: 180px;" /> 联系方式:<template v-if="isTextMode">{{ contractForm.elderPhone || '________________' }}</template><input v-else v-model="contractForm.elderPhone" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">家庭地址:<template v-if="isTextMode">{{ contractForm.elderHomeAddr || '________________' }}</template><input v-else v-model="contractForm.elderHomeAddr" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">户籍所在地:<template v-if="isTextMode">{{ contractForm.elderAddress || '________________' }}</template><input v-else v-model="contractForm.elderAddress" class="text-input" placeholder="请输入" style="max-width: 180px;" /> 邮编:<template v-if="isTextMode">{{ contractForm.elderZip || '________' }}</template><input v-else v-model="contractForm.elderZip" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <h3 class="subsection-title" style="margin-top: 20px;">丙方(老年人家属/监护人/担保人/委托代理人)</h3>
+          <p class="content-text">姓名:<template v-if="isTextMode">{{ contractForm.partyCName || '________' }}</template><input v-else v-model="contractForm.partyCName" class="text-input" placeholder="请输入" style="max-width: 180px;" /> 性别:{{ contractForm.partyCGenderText || '' }} 出生年月:<template v-if="isTextMode">{{ contractForm.partyCBirth || '________' }}</template><input v-else v-model="contractForm.partyCBirth" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">与乙方关系:<template v-if="isTextMode">{{ contractForm.partyCRelation || '________' }}</template><input v-else v-model="contractForm.partyCRelation" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">证件类型:□居民身份证 □户口本 □护照 □港澳居民来往内地通行证 □台湾居民来往大陆通行证 □其他</p>
+          <p class="content-text">证件号码:<template v-if="isTextMode">{{ contractForm.partyCIdCard || '________________' }}</template><input v-else v-model="contractForm.partyCIdCard" class="text-input" placeholder="请输入" style="max-width: 180px;" /> 联系方式:<template v-if="isTextMode">{{ contractForm.partyCPhone || '________________' }}</template><input v-else v-model="contractForm.partyCPhone" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">住所(址):<template v-if="isTextMode">{{ contractForm.partyCAddress || '________________' }}</template><input v-else v-model="contractForm.partyCAddress" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">户籍所在地:<template v-if="isTextMode">{{ contractForm.partyCHomeAddr || '________________' }}</template><input v-else v-model="contractForm.partyCHomeAddr" class="text-input" placeholder="请输入" style="max-width: 180px;" /> 邮编:<template v-if="isTextMode">{{ contractForm.partyCZip || '________' }}</template><input v-else v-model="contractForm.partyCZip" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">工作单位:<template v-if="isTextMode">{{ contractForm.partyCWorkUnit || '________________' }}</template><input v-else v-model="contractForm.partyCWorkUnit" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">通信地址:<template v-if="isTextMode">{{ contractForm.partyCCommAddr || '________________' }}</template><input v-else v-model="contractForm.partyCCommAddr" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text" style="margin-top: 20px;">(若乙方属于限制民事行为能力或者无民事行为能力的入住老年人,须由监护人签字确认)</p>
+        </div>
+      </div>
+
+      <!-- ========== 第4页:鉴于条款 + 第一条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">4</span></div>
+        <div class="page-content">
+          <h3 class="subsection-title">鉴于:</h3>
+          <p class="content-text">1、甲方是依法成立的养老机构,能够提供个人生活照料、康复护理、精神慰藉、文化娱乐等养老服务;</p>
+          <p class="content-text">2、乙方和丙方经实地考察甲方,自愿决定乙方入住甲方开办的养老机构,接受甲方提供的专业养老服务,并向甲方支付相应费用;</p>
+          <p class="content-text">3、乙方授权丙方作为乙方在紧急情况下的代理人、联系人,代为处理乙方在本合同项下的相关事务,丙方同意接受乙方授权并作为乙方履行本合同义务的保证人。</p>
+          <p class="content-text">4、接收条件:乙方保证无精神病,无传染性疾病,无吸毒嗜好,无自杀、自残、攻击他人等危害自身、他人和公共安全的精神性障碍或缺陷,并且适应集体生活;</p>
+          <p class="content-text">为了营造温馨、舒适、安全的生活环境,满足老年人"老有所养、老有所乐"的需要,切实保障老年人的合法权益,同时明确各自的权利义务,甲、乙、丙三方根据《中华人民共和国民法典》《中华人民共和国老年人权益保障法》《广东省养老服务条例》《广州市养老服务条例》和《养老机构管理办法》等有关法律、法规的规定,本着平等、自愿、公平、诚实守信的原则,经友好协商,就甲方为乙方提供养老服务事宜达成一致,签订本合同。</p>
+          <h2 class="section-title">第一条 服务内容</h2>
+          <p class="content-text">1.甲方按照约定向乙方提供生活照料、康复护理、精神慰藉、文化娱乐等服务。甲方提供的服务应当符合法律法规规章和国家强制性标准《养老机构服务安全基本规范》要求,并积极适用行业和地方标准。</p>
+          <p class="content-text">2.甲方应依据广州市老年人照护需求综合评估规范,对乙方进行照护需求等级评估,根据评估结果和乙方提供的《体检报告》,经与乙方或丙方商定后,确定乙方照护等级,并由甲方按照约定的《护理等级与服务项目》(附件)为乙方提供相应服务。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第5页:第一条继续 + 第二条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">5</span></div>
+        <div class="page-content">
+          <p class="content-text">2.1根据乙方提供的《体检报告》、《入住登记表》(见本合同附件)及甲方对乙方进行护理等级首评,确定乙方护理级别为:<template v-if="isTextMode"><span class="fill">{{ contractForm.nurseLevelName || '________' }}</span></template><input v-else v-model="contractForm.nurseLevelName" class="text-input" placeholder="请输入" style="max-width: 180px;" />,甲方向乙方提供的护理等级服务项目详见本合同附件《护理等级与服务项目》。</p>
+          <p class="content-text">2.2因老年人护理等级评估涉及到乙方的日常生活、精神状态、感知觉与沟通、社会参与等各方面的评估,甲方为真实反映乙方的实际生活能力,入住满1个月时会根据老年人实际生活情况进行护理等级复评,如果复评与首评的护理等级一致,则按照首评护理等级服务项目进行收费和服务;如果复评与首评的护理等级不一致,则按照复评结果调整护理等级,并调整服务项目的收费和服务内容,甲方应通知乙方、丙方签订书面补充协议进行护理等级变更。</p>
+          <p class="content-text">2.3因老年人的身体机能处在不断的变化中,每入住半年或根据老年人身体变化需要,甲方会对乙方护理等级进行动态评估,如护理等级有调整,则按照新的护理等级服务项目进行收费和服务,并签订书面补充协议。</p>
+          <p class="content-text">3.在本合同履行过程中,乙方或丙方如果选择《护理等级与服务项目》以外的其他服务项目,经各方协商一致后另行签署书面补充协议确定。</p>
+          <h2 class="section-title">第二条 服务地点及设施</h2>
+          <p class="content-text">1.经协商,确定本合同期限<template v-if="isTextMode"><span class="fill">{{ contractForm.contractMonths || '__' }}</span></template><input v-else v-model="contractForm.contractMonths" class="text-input" placeholder="请输入" style="max-width: 180px;" />个月,自<template v-if="isTextMode"><span class="fill">{{ contractForm.startDate || '____年__月__日' }}</span></template><input v-else v-model="contractForm.startDate" class="text-input" placeholder="请输入" style="max-width: 180px;" />起至<template v-if="isTextMode"><span class="fill">{{ contractForm.endDate || '____年__月__日' }}</span></template><input v-else v-model="contractForm.endDate" class="text-input" placeholder="请输入" style="max-width: 180px;" />止。</p>
+          <p class="content-text">2.甲方为乙方提供养老服务的地点为:<template v-if="isTextMode"><span class="fill">{{ contractForm.servicePlace || '颐年集团养老服务机构' }}</span></template><input v-else v-model="contractForm.servicePlace" class="text-input" placeholder="请输入" style="max-width: 180px;" />。</p>
+          <p class="content-text">3.乙方或丙方为乙方选择入住的房间类型为(在以下几种情况中选择一种):□单间 □双人间 □三人间 □多人间(四人以上六人以下,含四人、六人) □其他(套房等)。</p>
+          <p class="content-text">4.乙方或丙方为乙方选择的具体房间为:<template v-if="isTextMode"><span class="fill">{{ contractForm.roomNumber || '________________' }}</span></template><input v-else v-model="contractForm.roomNumber" class="text-input" placeholder="请输入" style="max-width: 180px;" />。</p>
+          <p class="content-text">5.乙方或丙方基于正当理由要求调整房间的,甲方在条件许可的范围内应尽量满足。若因房间变化,需要相应调整费用的,应由各方协商一致书面确认后调整,如各方不能达成一致意见书面确认,则仍依本合同约定房间履行。</p>
+          <p class="content-text">6.甲方提供的服务设施除了住宿的房屋,还包括房间内生活起居必要的基础设施及其他公共设施。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第6页:第三条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">6</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第三条 收费标准及费用支付方式</h2>
+          <p class="content-text">1.甲方的收费标准和调整应遵守养老机构服务收费管理的相关规定,不得违规收取大额预付费、向服务对象兜售保健品,不得以许诺还本付息或者给予其他投资回报、虚假夸大宣传、承诺明显低于市场价入住、折扣返利等与事实不符的条件诱导乙方或丙方交纳费用。</p>
+          <p class="content-text">2.甲方提供的各种服务项目的收费标准和收费依据应在养老机构内公共区域显著位置进行公示,并以公共区域或网络方式进行线上公示,服务项目及其收费标准应作为本合同附件。</p>
+          <p class="content-text">3.根据本合同第一条、第二条乙方选择的房间、照护等级及服务项目,各方共同确认,乙方入住甲方需支付的养老服务费用具体如下:</p>
+          <p class="content-text">(1)养老服务费用为:<template v-if="isTextMode"><span class="fill">{{ contractForm.totalFee || '____' }}</span></template><input v-else v-model="contractForm.totalFee" class="text-input" placeholder="请输入" style="max-width: 180px;" />元/月。</p>
+          <p class="content-text">其中:床位费:<template v-if="isTextMode"><span class="fill">{{ contractForm.bedFee || '____' }}</span></template><input v-else v-model="contractForm.bedFee" class="text-input" placeholder="请输入" style="max-width: 180px;" />元/月;护理费:<template v-if="isTextMode"><span class="fill">{{ contractForm.nurseFee || '____' }}</span></template><input v-else v-model="contractForm.nurseFee" class="text-input" placeholder="请输入" style="max-width: 180px;" />元/月;伙食费:<template v-if="isTextMode"><span class="fill">{{ contractForm.mealFee || '____' }}</span></template><input v-else v-model="contractForm.mealFee" class="text-input" placeholder="请输入" style="max-width: 180px;" />元/月;</p>
+          <p class="content-text">其他费用:1)水电费:超出床位费包含的每人每月<template v-if="isTextMode"><span class="fill">{{ contractForm.freeElectric || '__' }}</span></template><input v-else v-model="contractForm.freeElectric" class="text-input" placeholder="请输入" style="max-width: 180px;" />千瓦时电和<template v-if="isTextMode"><span class="fill">{{ contractForm.freeWater || '__' }}</span></template><input v-else v-model="contractForm.freeWater" class="text-input" placeholder="请输入" style="max-width: 180px;" />立方冷水的免费额度后,超出部分按实际支出进行对应房型具体入住床数进行均摊收取。超出部分收费标准为:热水<template v-if="isTextMode"><span class="fill">{{ contractForm.hotWaterFee || '__' }}</span></template><input v-else v-model="contractForm.hotWaterFee" class="text-input" placeholder="请输入" style="max-width: 180px;" />元/立方;冷水<template v-if="isTextMode"><span class="fill">{{ contractForm.coldWaterFee || '__' }}</span></template><input v-else v-model="contractForm.coldWaterFee" class="text-input" placeholder="请输入" style="max-width: 180px;" />元/立方;电<template v-if="isTextMode"><span class="fill">{{ contractForm.electricFee || '__' }}</span></template><input v-else v-model="contractForm.electricFee" class="text-input" placeholder="请输入" style="max-width: 180px;" />元/千瓦时;2)诊查费:<template v-if="isTextMode"><span class="fill">{{ contractForm.consultFee || '__' }}</span></template><input v-else v-model="contractForm.consultFee" class="text-input" placeholder="请输入" style="max-width: 180px;" />元/月</p>
+          <p class="content-text">出现合同中止或终止情形的,扣除实际入住天数产生的费用后予以退款。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第7页:第三条继续 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">7</span></div>
+        <div class="page-content">
+          <p class="content-text">(2)一次性收取的费用(如有请填写)。</p>
+          <p class="content-text">①一次性设施设备费<template v-if="isTextMode"><span class="fill">{{ contractForm.facilityFee || '/' }}</span></template><input v-else v-model="contractForm.facilityFee" class="text-input" placeholder="请输入" style="max-width: 180px;" />元,收取的期限自<template v-if="isTextMode"><span class="fill">{{ contractForm.facilityStartDateText || '/' }}</span></template><input v-else v-model="contractForm.facilityStartDateText" class="text-input" placeholder="请输入" style="max-width: 180px;" />至<template v-if="isTextMode"><span class="fill">{{ contractForm.facilityEndDateText || '/' }}</span></template><input v-else v-model="contractForm.facilityEndDateText" class="text-input" placeholder="请输入" style="max-width: 180px;" />(建议时长不超过3年)。出现合同中止或终止情形的,扣除实际入住天数产生的费用后,按照以下标准予以退款:<template v-if="isTextMode"><span class="fill">{{ contractForm.facilityRefundRule || '/' }}</span></template><input v-else v-model="contractForm.facilityRefundRule" class="text-input" placeholder="请输入" style="max-width: 180px;" />。</p>
+          <p class="content-text">②押金(如有请填写押金类型:履约及医疗保证金):<template v-if="isTextMode"><span class="fill">{{ contractForm.deposit || '____' }}</span></template><input v-else v-model="contractForm.deposit" class="text-input" placeholder="请输入" style="max-width: 180px;" />元。</p>
+          <p class="content-text">出现合同中止情形的,予以全额退还(☑押金不计利息 □押金计利息,计息标准为:无)。</p>
+          <p class="content-text">合同期限内出现押金不足时,乙方或丙方应在接到甲方通知之日起5日内补足。涉及退款的,在出现合同中止或终止情形后,双方进行结算,经双方确认无误之日起15个工作日内将资金退给付款方。</p>
+          <p class="content-text">4.定期支付的费用按第1种方式支付:(1)按月支付(每月5日前支付下一个月费用);(2)按季度支付(每季度第/__个月的/__日前支付当季费用);(3)其它:/。</p>
+          <p class="content-text">5.甲方指定的收款账户信息如下:户名:<template v-if="isTextMode"><span class="fill">{{ contractForm.payeeName || '________________' }}</span></template><input v-else v-model="contractForm.payeeName" class="text-input" placeholder="请输入" style="max-width: 180px;" />;开户银行:<template v-if="isTextMode"><span class="fill">{{ contractForm.payeeBank || '________________' }}</span></template><input v-else v-model="contractForm.payeeBank" class="text-input" placeholder="请输入" style="max-width: 180px;" />;账号:<template v-if="isTextMode"><span class="fill">{{ contractForm.payeeAccount || '________________' }}</span></template><input v-else v-model="contractForm.payeeAccount" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">6.乙方或丙方指定的付款账户信息如下:户名:<template v-if="isTextMode"><span class="fill">{{ contractForm.payerName || '________________' }}</span></template><input v-else v-model="contractForm.payerName" class="text-input" placeholder="请输入" style="max-width: 180px;" />;开户银行:<template v-if="isTextMode"><span class="fill">{{ contractForm.payerBank || '________________' }}</span></template><input v-else v-model="contractForm.payerBank" class="text-input" placeholder="请输入" style="max-width: 180px;" />;账号:<template v-if="isTextMode"><span class="fill">{{ contractForm.payerAccount || '________________' }}</span></template><input v-else v-model="contractForm.payerAccount" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          <p class="content-text">7.乙方接受甲方除本合同约定外的其他服务项目的,应根据甲方公示的收费标准和补充合同的约定交纳费用。</p>
+          <p class="content-text">8.甲方每月向乙方或丙方提供《个人费用明细表》,乙方或丙方应签字确认。乙方或丙方如有异议,可在收到《个人费用明细表》后7日内书面提出,甲方应做出书面说明。</p>
+          <p class="content-text">9.乙方、丙方共同承担向甲方支付本合同约定价款的义务。</p>
+          <p class="content-text">10.甲方在收到款项后应向付款人开具等额的合法收费发票。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第8-10页:第四条 甲方权利义务 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">8</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第四条 甲方权利及义务</h2>
+          <p class="content-text">1.甲方权利</p>
+          <p class="content-text">1.1 有权按照本合同约定收取相关费用。</p>
+          <p class="content-text">1.2 制订、修改养老机构的管理制度并按照公开的管理制度对乙方进行管理。</p>
+          <p class="content-text">1.3 为了乙方的健康和安全,乙方出现紧急情况时,有权在通知乙方或丙方同意的同时,采取必要的处置措施,包括但不限于转送医疗机构,由此产生的费用由乙方或丙方承担。</p>
+          <p class="content-text">1.4 如乙方的身体状况、生活自理能力出现变化,由甲方根据对乙方护理等级评价另行确定护理等级,相关费用随之进行调整,如一周联系不上丙方,甲方有权根据乙方所需服务项目的变化情况在押金中先扣除,不足部分甲方仍有权要求乙方和丙方支付所产生变化的费用,由乙方和丙方按甲方制定的标准支付。</p>
+          <p class="content-text">1.5 乙方入住后因精神、情绪、心理、性格、生活习惯等原因不适宜院内生活的,经甲方努力,仍无改善的,为维护乙方及院内其他老人的权利,甲方有权要求丙方在两天内为乙方办理退院或转院手续,丙方必须积极配合,做好安抚工作,对此甲方无需承担任何责任。</p>
+        </div>
+      </div>
+
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">9</span></div>
+        <div class="page-content">
+          <p class="content-text">1.6 如乙方患病需要去医院治疗时,甲方本着人道主义,有权紧急处置,所涉及的各项费用由乙方和丙方承担。如乙方需甲方提供住院期间陪护服务,相关费用由乙方和丙方承担,具体陪护事宜由各方协商一致后另行签署书面协议确定。</p>
+          <p class="content-text">1.7 有权依照本合同约定及法律规定解除合同。</p>
+          <p class="content-text">2.甲方义务</p>
+          <p class="content-text">2.1 甲方应是依法成立的养老机构,应履行养老机构备案承诺,按照建筑、消防、食品安全、医疗卫生、特种设备等法律、法规和强制性标准及服务安全相关规范要求开展服务活动,确保按约定向乙方提供符合服务质量标准的养老服务;建立各类安全、疫情防控等应急预案,并应定期对应急预案进行演练。</p>
+          <p class="content-text">2.2 应当提供符合乙方住宿条件的居住用房,并配备适合乙方安全保护要求的设施、设备及用具,定期对乙方的活动场所和物品进行消毒和清洗;甲方提供的饮食应当符合食品安全要求、适宜乙方食用、有利于乙方营养平衡和身体健康。</p>
+          <p class="content-text">2.3 应当根据登记类型、经营性质、运营方式、设施设备条件、管理水平、服务质量、照料护理等级等因素合理确定服务项目收费标准,调整收费标准时应遵守国家、省和广州市价格管理的有关规定。</p>
+          <p class="content-text">2.4 应保证从事医疗、康复、消防等服务人员符合资质要求,保证养老护理人员接受专业技能培训,并定期组织工作人员进行职业道德教育和业务培训,能够满足岗位职责要求。</p>
+        </div>
+      </div>
+
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">10</span></div>
+        <div class="page-content">
+          <p class="content-text">2.5 在提供服务过程中,甲方及其工作人员应尊重乙方,尽力合理地保障乙方的人格尊严和人身、财产安全,并接受乙方、丙方的合理建议和监督。</p>
+          <p class="content-text">2.6 应当根据需要为乙方提供情绪疏导、心理咨询、危机干预等精神慰藉服务;应当开展适合老年人的文化、教育、体育、娱乐活动,丰富老年人的精神文化生活。甲方开展文化、教育、体育、娱乐活动时,应当为乙方提供必要的安全防护措施。</p>
+          <p class="content-text">2.7 定期组织所在地的医疗机构为乙方开展体检并建立个人健康档案。妥善保存乙方的入住登记表、体检报告等健康资料以及日常经费开支情况等个人信息。应当建立各类信息资料档案的保管、归档和保密制度,除向乙方、丙方和其他有权部门(公安局、检察院、法院、纪委监察、养老服务行业主管部门因办案、监督、检查需要)提供查阅、允许复制外,不得对外透露。</p>
+          <p class="content-text">2.8 发现乙方为疑似传染病病人或者精神障碍患者时,应依照传染病防治、精神卫生等相关法律法规的规定处理,及时向附近的疾病预防控制机构或者医疗机构报告,配合实施卫生处理、隔离等预防控制措施,并及时通知丙方。乙方需要外出就医的,甲方应及时告知丙方并由有相关义务的丙方亲自携带乙方就诊,丙方确实未能亲自携带乙方就诊的,应通过委托办理等方式作出妥善安排。</p>
+          <p class="content-text">2.9 应当为乙方家庭成员看望或者问候老年人提供便利,为乙方联系家庭成员提供帮助;但不得影响甲方对于乙方正常服务运营或执行政府部门规定的疫情防控等管理要求,否则甲方有权拒绝。</p>
+          <p class="content-text">2.10 在发生公共卫生事件等特殊情况下,甲方应贯彻执行政府部门的防控政策规定,积极落实防控措施,并向乙方或丙方做好解释工作。</p>
+        </div>
+      </div>
+
+
+      <!-- ========== 第11页:甲方义务继续 + 第五条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">11</span></div>
+        <div class="page-content">
+          <p class="content-text">2.11 甲方暂停、终止服务的,应当在暂停或终止服务60日前,书面通知乙方或丙方,并向社会公告;将入住老年人的安置方案书面告知甲方所在地的区民政部门。在解散清算前,甲方应当依法妥善安置乙方。如乙方或丙方有意与其他养老机构签订服务协议的,甲方应当积极为乙方联系与甲方具有同等资质和服务水平的养老服务机构,努力促进双方建立合同;如乙方或丙方需解除或终止服务协议的,甲方应当退还乙方或丙方剩余未消费或合同约定的有关费用。</p>
+          <p class="content-text">2.12 当乙方出现紧急情况时,应及时联系和通知丙方。</p>
+          <p class="content-text">2.13 在甲方服务期间,经鉴定乙方正常死亡的,甲方应及时与丙方取得联系。无法与丙方取得联系的且机构内不具备遗体保存条件,可严格按照规定要求使用《广州市养老机构死亡报告书》并对接殡仪馆,妥善保存遗体。</p>
+          <p class="content-text">2.14 乙方符合长期护理保险等申报条件的,甲方应积极为其申请。</p>
+          <p class="content-text">2.15 乙方入住养老机构、请假外出、终止合同离院和去世,甲方应及时在广州市为老服务综合平台填报有关信息。</p>
+          <h2 class="section-title">第五条 乙方权利及义务</h2>
+          <p class="content-text">1.乙方的权利</p>
+          <p class="content-text">1.1 享有隐私权,人格尊严和人身、财产安全不受非法侵害的权利。</p>
+          <p class="content-text">1.2 有权按照约定的服务项目获得甲方提供的符合服务标准的养老服务,对甲方的服务有批评建议的权利。</p>
+          <p class="content-text">1.3 对自身的健康状况、费用支出、入院记录等有知情权,有权查阅、复印甲方为其建立的个人档案。</p>
+          <p class="content-text">1.4 有权了解提供服务的人员是否经过专业培训,是否具备相应资质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合格的人员。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第12页:第五条继续 + 第六条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">12</span></div>
+        <div class="page-content">
+          <p class="content-text">1.5 在突发疾病的情况下乙方有权获得及时、必要的医疗帮助。</p>
+          <p class="content-text">2.乙方的义务</p>
+          <p class="content-text">2.1 应当按照约定自行或与丙方共同支付养老服务费及相关费用。</p>
+          <p class="content-text">2.2 应当按照约定提供相关的体检报告,如实告知甲方本人的健康状况、药品使用情况及过往病史等信息,并如实填写《入住登记表》。</p>
+          <p class="content-text">2.3 应当配合甲方做好持续评估及确认照护等级;配合甲方定期参加体检。</p>
+          <p class="content-text">2.4 应当与其他入住老年人和谐相处。</p>
+          <p class="content-text">2.5 在接收甲方提供的养老服务期间,因疾病进行诊疗时,应在治疗期间遵守医嘱,配合治疗。</p>
+          <p class="content-text">2.6 应当服从甲方管理,遵守甲方的规章制度,维护养老机构正常服务秩序,爱护甲方提供的各项服务设施,入住期间损坏甲方设施设备的,乙方或丙方应当予以赔偿。损坏有关服务设施的赔偿价格可与甲方协商约定。</p>
+          <p class="content-text">2.7 对于甲方提供的其他符合合同约定、法律规定的养老服务,乙方应予配合甲方的服务工作。</p>
+          <h2 class="section-title">第六条 丙方权利及义务</h2>
+          <p class="content-text">1.丙方的权利</p>
+          <p class="content-text">1.1 对乙方有探视权,但不得影响甲方对乙方的正常服务管理和执行政府部门规定的疫情防控等管理要求。</p>
+          <p class="content-text">1.2 对乙方的健康状况、享受服务情况、费用支出、入院记录等有知情权,有权查阅、复印甲方为乙方建立的个人档案。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第13页:第六条继续 + 第七条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">13</span></div>
+        <div class="page-content">
+          <p class="content-text">1.3 有权了解提供服务的人员是否经过专业培训,是否具备相应资质,有权要求甲方更换未经专业培训或不具备相应资质或提供服务不合格的人员;有权对甲方的服务提出批评建议。</p>
+          <p class="content-text">1.4 遇紧急情况,包括但不限于乙方走失、身体健康状况出现紧急情况时,有权及时从甲方得到相关信息。</p>
+          <p class="content-text">2.丙方的义务</p>
+          <p class="content-text">2.1 乙方入住前,丙方要如实向甲方反映乙方的情况,如脾气秉性、家庭成员、既往病史、健康状况和药品使用情况等,协助乙方如实填写《入住登记表》。</p>
+          <p class="content-text">2.2 劝导乙方入住后自觉遵守养老机构的规章制度,接受管理,爱护甲方提供的各项服务设施,乙方违反本合同约定或甲方制定的规章制度,造成甲方损失或第三人人身、财产损害的,乙方需承担赔偿责任,负有付款义务或连带责任的丙方应当承担有关赔偿责任。</p>
+          <p class="content-text">2.3 应劝导乙方与其他入住老年人和谐相处,并经常与乙方沟通,保持联络,满足乙方的精神需求。</p>
+          <p class="content-text">2.4 应劝导乙方在接收甲方提供的养老服务期间,因疾病进行诊疗时,应在治疗期间遵守医嘱,配合治疗。乙方需外出就医的,负有相关义务的丙方应当及时携乙方到医院就诊,并向甲方如实告知乙方的就医情况。</p>
+          <p class="content-text">2.5 按时足额向甲方支付约定的养老服务费、保证金及相关费用。</p>
+          <p class="content-text">2.6 丙方的家庭及单位地址、联系方式变更时,应及时通知甲方。</p>
+          <p class="content-text">2.7 及时协助甲方处理乙方出现的紧急情况。当甲方按照合同约定处理时,负有付款义务或连带责任的丙方应当及时足额支付由此产生的费用。</p>
+          <p class="content-text">2.8 乙方在养老机构去世的,丙方应及时进行善后处理并解决费用问题。</p>
+          <h2 class="section-title">第七条 合同的续签</h2>
+          <p class="content-text">1.合同期满前30日,乙方或丙方可向养老机构申请续签合同。</p>
+          <p class="content-text">2.续签的养老服务合同内容应当由甲方、乙方和丙方协商确定。</p>
+          <p class="content-text">3.如果乙方或丙方未在合同期限届满前30日提出续签合同,或者乙方或丙方虽在合同期限届满前30日提出续签合同申请,但各方未就合同续签达成一致,乙方应于合同到期后3日内搬离甲方,办理离院手续并结清所有费用。</p>
+        </div>
+      </div>
+
+
+      <!-- ========== 第14页:第八条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">14</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第八条 合同的变更和解除</h2>
+          <p class="content-text">1.合同的变更</p>
+          <p class="content-text">1.1 根据乙方健康状况的变化以及护理等级的评估结果,乙方、丙方可以要求甲方变更服务方案,甲方亦可以提出变更服务方案,并以书面形式通知乙方及丙方。任何一方要求变更服务方案的,需经甲方、乙方、丙方三方协商一致,签署补充协议。</p>
+          <p class="content-text">若甲方提出变更服务方案,乙方或丙方收到甲方变更服务方案的书面通知后7日内既不确认又不提出异议,但乙方实际接受甲方提供的相应服务的,视为甲、乙、丙三方就合同约定的服务项目的变更达成一致,乙方或丙方有义务按照新的服务项目支付相应的服务费用。</p>
+          <p class="content-text">若乙方或者丙方提出变更方案,甲方应在收到其变更服务方案的要求后30日内会同乙方或者丙方进行研究确定,变更方案符合有关规定和实际情况的,甲方应予以采纳。经沟通未能达成一致意见的,甲方有义务应向乙方或丙解释不采纳其变更方案的理由和依据,乙方或丙方仍不能接受的,可向属地民政部门反映或向司法部门起诉。</p>
+          <p class="content-text">如果根据乙方健康状况的变化以及护理等级的评估结果,不调整服务项目将导致乙方的健康安全无法保障的,甲方提出变更的服务方案后,乙方或丙方既不同意,也不接受实际服务,甲方、乙方或丙方均有权解除本合同。</p>
+          <p class="content-text">当食品材料市场价格发生重大变化,致使甲方服务成本急剧上升(单项价格变动幅度超过6%)时,甲方可适当调整伙食费收费标准,将价格调整的通知在调价前30日以书面形式通知乙方及丙方,并签订补充合同。</p>
+          <p class="content-text">乙方或丙方对价格调整有异议的,可在收到通知后15日内以书面形式提出解除合同;乙方或丙方要求继续按照原收费标准履行合同的,甲方有权提出解除合同。</p>
+          <p class="content-text">乙方或丙方收到通知后15日内不以书面形式提出异议,但拒绝根据调整后的价格支付相关费用的,甲方有权解除合同并按照原收费标准收取已提供服务的费用。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第15页:第八条继续 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">15</span></div>
+        <div class="page-content">
+          <p class="content-text">2.合同的解除</p>
+          <p class="content-text">2.1 除本合同另有约定外,下列情况下,乙方或丙方可以单方解除本合同,并无需承担违约责任:</p>
+          <p class="content-text">(1)甲方提供的服务不符合合同约定,经乙方或丙方提出,30日内不改正的;</p>
+          <p class="content-text">(2)因甲方或甲方工作人员的严重过错造成乙方人身或重大财产损害的;</p>
+          <p class="content-text">(3)乙方因疾病或其他个人原因离院的,但乙方或丙方不提出解除本合同而要求保留床位或房间的除外;乙方因疾病需要长期住院治疗(凭7天内住院证明)或去世解除合同的,免收违约金;</p>
+          <p class="content-text">(4)履行合同过程中,乙方或丙方提前30日书面通知甲方并结清服务费用的;</p>
+          <p class="content-text">(5)乙方首次入住15日内不适应居住环境或管理方式的,乙方可以单方面解除本合同,并无需承担违约责任。</p>
+          <p class="content-text">2.2 除本合同另有约定外,下列情况下,甲方可以单方解除本合同,并无须承担违约责任:</p>
+          <p class="content-text">(1)乙方或丙方无故拖欠各项费用超过15日,经甲方书面催告后7日内仍不交纳的,甲方有权解除合同,并书面通知乙方搬出养老机构。乙方在甲方发出书面解除合同通知后7日内仍不搬出的,甲方有权提起诉讼,请求法院确认合同解除。</p>
+          <p class="content-text">(2)乙方严重违反甲方的规章制度,造成甲方难以履行对乙方的养老服务,或造成其他入住老人伤害或存在可能造成他人伤害危险的。需对有关事实进行甄别的,可提请属地民政部门或委托第三方协助认定。</p>
+          <p class="content-text">(3)乙方或丙方隐瞒乙方健康状况,或者乙方患有须隔离治疗的传染性疾病或者患有精神疾病等其他不适宜在机构内集中生活的。</p>
+          <p class="content-text">(4)发生不可抗力致甲方不能履行合同的。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第16页:第八条继续 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">16</span></div>
+        <div class="page-content">
+          <p class="content-text">(5)甲方因丧失养老机构执业资格等原因暂停、终止服务的。甲方应当于暂停或者终止服务60日前向实施许可或备案的属地民政部门提交老年人安置方案,经批准后方可解除养老机构服务合同。</p>
+          <p class="content-text">(6)乙方连续请假外出超过90天(限期不得少于30天)。请假期间,因病情严重需要医治或疫情防控等管理要求,乙方无法返院或甲方不具备返院条件的情形除外。</p>
+          <p class="content-text">(7)丙方与甲方中断联系达到30天的,甲方有权选择单方解除合同。</p>
+          <p class="content-text">2.3 除本合同另有约定外,下列情况下,乙方提前终止合同的,按照以下约定执行:</p>
+          <p class="content-text">如乙方提前解除合同(除因疾病需长期住院治疗、去世解除合同外),须提前30天书面向甲方提出申请,经甲方批准后方可办理离院手续,乙方应按照本月实际享受服务天数结算本月床位费、护理费、膳食费、管理费、水电费等费用,并按照附件《服务项目收费标准》中乙方所定房型向甲方缴纳一个月床位费的违约金。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第17页:第九条 违约责任 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">17</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第九条 违约责任</h2>
+          <p class="content-text">1.因甲方及其工作人员的过错,损害乙方人身或财产权利的,由甲方承担赔偿责任。</p>
+          <p class="content-text">2.甲方服务人员资质不合格、没有按约定提供服务或者提供的服务不合格,造成乙方人身或财产损失的,甲方应当承担赔偿责任。</p>
+          <p class="content-text">3.甲方或其工作人员侵犯乙方、丙方对甲方提供的养老服务的知情权的,乙方和丙方有权要求甲方改正,造成损失的甲方应承担赔偿责任。</p>
+          <p class="content-text">4.如果乙方或丙方无故拖欠各项费用超过15日,经甲方发出催告通知后7日内仍不交纳的,甲方有权解除合同,书面通知乙方和丙方,要求乙方出院。如果乙方在甲方发出解除合同通知后7日内仍不出院,甲方有权强制要求乙方出院或者送回乙方或丙方住所。此种情况下解除合同,乙方及丙方除应支付拖欠的费用外,还应每天支付应付未付费用金额的1‰违约金,并负担甲方由此产生的一切费用。</p>
+          <p class="content-text">5.乙方或丙方未将乙方健康状况、用药情况及过往病史如实告知甲方,造成甲方在提供服务过程中护理失当的,由乙方或丙方承担相应的后果。</p>
+          <p class="content-text">6.乙方需外出就医的,甲方履行告知义务,乙方拒绝外出就医或丙方拒绝及时携乙方到医院就诊而造成的后果,由乙、丙方自行承担。</p>
+          <p class="content-text">7.甲方没有过错,因乙方原因造成其自身损害的,由乙方、丙方自行承担全部后果和责任。</p>
+          <p class="content-text">8.因乙方原因造成甲方或第三人人身或财产损失的,乙方、丙方应承担赔偿责任。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第18页:第九条继续 + 第十条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">18</span></div>
+        <div class="page-content">
+          <p class="content-text">9.签订养老服务合同后,乙方未按照合同约定时间入住的,按照以下约定办理:因紧急住院治疗无法按期办理且向公办养老机构提出由医疗机构出具的诊断结论的,由公办养老机构适当延长其资格核实、办理入住手续期限。</p>
+          <p class="content-text">10.本合同提前终止或服务期满后,乙方逾期搬离甲方养老机构的,按乙方在服务期满前一个月的养老服务费用标准的1.5倍按日计付养老服务费用,直至办理完毕离院手续并搬离甲方养老机构之日止。</p>
+          <p class="content-text">11.甲方按本合同约定应承担赔偿责任的,赔偿限额以甲方实际收费为限。</p>
+          <h2 class="section-title">第十条 通知与送达</h2>
+          <p class="content-text">1.在本合同首页中所标明的甲方、乙方和丙方的地址和联系方式为各方各自有效的通讯地址和联系方式。一方变更通讯地址和联络方式应及时通知其他各方。</p>
+          <p class="content-text">2.以下情形,视为送达,但受送达人有证据证明其因客观原因未实际接收到通知的除外:以特快专递形式发送,已经签收的,以签收日为送达日;未签收的,同城自发送之日起2日视为文件已经送达,异地5日视为送达,境外15日视为送达;以手机短信发送的,发送成功即视为送达;电子邮件自发出后进入收件方邮箱服务器视为送达;传真发送自对方传真机接收视为送达。</p>
+          <p class="content-text">3.乙方入住甲方期间,有关本合同的履行事宜甲方应以书面或数据电文形式通知乙方或丙方,由乙方或丙方确认签收;乙方或丙方拒签的,书面通知在第三方见证下送至收件人地址的视为已通知或已送达,数据电文进入收件人接收系统的视为已通知或已送达。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第19页:第十一条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">19</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第十一条 陈述与保证</h2>
+          <p class="content-text">1.甲方保证为依照法律、行政法规设立并依法登记的养老机构,具有提供本合同约定的养老服务的资格和能力。</p>
+          <p class="content-text">2.乙方或丙方保证乙方不属于患有精神病、甲类或乙类传染性疾病等不符合入住养老机构疾病的老年人。</p>
+          <p class="content-text">3.乙方或丙方保证向甲方提供乙方在本协议签署前1个月内在甲方所在地二级甲等以上医院进行体检的《体检报告》(体检项目包括:精神健康状况、传染性疾病及养老机构要求的其他体检项目等)(作为本合同附件)。</p>
+          <p class="content-text">4.乙方或丙方保证向甲方提供的乙方或丙方共同签字的《入住登记表》(作为本协议附件)是真实的,没有任何虚假或隐瞒。</p>
+          <p class="content-text">5.丙方保证担任本合同履行过程的联系人,接收甲方的通知,如涉及诉讼、仲裁或其他法律程序的,保证作为相关机构法律文书的接收人,甲方或相关机构向乙方或保证人所列明的地址、联系方式等送达相关文书的,均视为有效送达。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第20页:第十二条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">20</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第十二条 特别约定</h2>
+          <p class="content-text">1.甲方仅提供与合同约定护理等级相符的相关服务,对于超出护理等级的看护、注意义务,甲方将依据现实情况、乙方身体状况尽可能的提供帮扶、协助,但不表示甲方愿意接受超出合同约定的范围的约束;甲方不是专业的医疗机构,对乙方进行的常规体检不代表甲方对乙方真实身体状况的了解,也不能代表甲方对乙方身体状况的确认,一切以专业的医疗机构及医疗人员的判断为准。</p>
+          <p class="content-text">2.突发疾病或出现事故等紧急情况的处理</p>
+          <p class="content-text">(1)乙方在入住期间突发疾病或身体伤害事故,甲方应及时通知丙方,及时联系120等医疗急救机构;如需到医疗机构急救、甲方应派人陪送至医疗机构。甲方不能及时联系上丙方的,应尽早与本合同附件确定的其他联系人取得联系并通报情况。</p>
+          <p class="content-text">(2)甲方具有医疗资质的,在乙方生命垂危等紧急情况下应尽到合理诊疗义务,费用由乙方和丙方承担。</p>
+          <p class="content-text">(3)因乙方发生紧急情况产生的费用急救费用、治疗费用、住院押金等均由乙方和丙方负担。甲方因此垫付费用的,乙方或丙方应按照甲方要求的时间内清偿。</p>
+          <p class="content-text">(4)为保证入住长者的生活环境,甲方暂未设有临终关怀服务,当乙方生命垂危时,丙方应全力配合甲方将乙方送医院进行抢救;若乙方或丙方任何一方不予配合,甲方有权利将乙方送往就近医院抢救并扣除乙方入住时缴纳人民币<template v-if="isTextMode"><span class="fill">{{ contractForm.lifeSavingDeposit || '____' }}</span></template><input v-else v-model="contractForm.lifeSavingDeposit" class="text-input" placeholder="请输入" style="max-width: 180px;" />元(大写金额:<template v-if="isTextMode"><span class="fill">{{ contractForm.lifeSavingDepositCN || '________' }}</span></template><input v-else v-model="contractForm.lifeSavingDepositCN" class="text-input" placeholder="请输入" style="max-width: 180px;" />)的押金,救护费用不足部分由乙方及丙方承担;</p>
+          <p class="content-text">(5)若乙方在甲方养老院突然去世,丙方须全力配合甲方将乙方以医疗救护的方式将乙方送往就近医院;若丙方不予配合,甲方有权利扣除乙方入住时缴纳人民币<template v-if="isTextMode"><span class="fill">{{ contractForm.deathDeposit || '____' }}</span></template><input v-else v-model="contractForm.deathDeposit" class="text-input" placeholder="请输入" style="max-width: 180px;" />元(大写金额:<template v-if="isTextMode"><span class="fill">{{ contractForm.deathDepositCN || '________' }}</span></template><input v-else v-model="contractForm.deathDepositCN" class="text-input" placeholder="请输入" style="max-width: 180px;" />)的押金,费用不足部分由丙方承担;</p>
+        </div>
+      </div>
+
+
+      <!-- ========== 第21页:第十二条继续 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">21</span></div>
+        <div class="page-content">
+          <p class="content-text">3.乙方去世的善后服务及相关费用</p>
+          <p class="content-text">乙方在甲方服务期间去世的,甲方应及时与丙方取得联系,丙方负责善后处理并承担相关费用。无法与丙方取得联系的,应及时联系殡仪馆,妥善保存遗体,发生的费用由丙方承担。</p>
+          <p class="content-text">4.甲方与丙方联系中断</p>
+          <p class="content-text">因丙方提供的联系地址、方式不准确或不详细或变更后未及时通知甲方,或其他客观原因致使甲方无法与丙方及时联系,连续达30天则视为联系中断。甲方与乙方协商后,可以重新确定联系人。联系中断不免除丙方在本合同项下的责任。</p>
+          <p class="content-text">5.非因甲方故意或重大过失的原因造成乙方人身、财产损害的,甲方不承担责任。</p>
+          <p class="content-text">乙方入住后若发生根据体检报告所反映出的一系列疾病、并发症或突发性疾病导致死亡,与甲方无关;</p>
+          <p class="content-text">由于乙方属高龄及有疾病的长者,易发生意外,入住期间非因甲方原因若发生骨折、心脏骤停、脑梗、脑溢血、呛咳、肺部感染等疾病导致死亡与甲方无关;</p>
+          <p class="content-text">乙方入住后,经甲方诊断有疾病且书面通知乙方前往三甲及以上的医院进行治疗的,乙方应及时前往医院就医;若乙方或丙方不予配合,乙方发生任何意外,由乙方和丙方负担全部责任;</p>
+          <p class="content-text">6.乙方具有完全民事行为能力,但拒绝接收甲方提供服务,造成其自身人身、财产损害的,由乙方自行承担后果。</p>
+          <p class="content-text">7.本合同关于乙方和丙方权利义务的约定,并不免除对乙方有法定赡养义务的其他人的法定责任。</p>
+          <p class="content-text">8.因不可抗力导致本合同无法继续履行的、受到不可抗力影响的一方应在不可抗力情形发生后及时通知合同其他相关方,本合同可依法解除,合同各方不承担解除合同的责任。丙方应及时接回并妥善安置乙方。</p>
+          <p class="content-text">9.甲方破产、停业、转让:甲方需提前30天通知乙方和丙方,并协助丙方将乙方转至其他养老机构托养或送回住所;</p>
+        </div>
+      </div>
+
+      <!-- ========== 第22页:第十三条 + 第十四条 ========== -->
+      <div class="a4-page">
+        <div class="page-header"><span class="page-no">22</span></div>
+        <div class="page-content">
+          <h2 class="section-title">第十三条 争议解决方式</h2>
+          <p class="content-text">本合同在履行过程中发生争议,当事人尽量协商解决。协商不成的,当事人可以选择向有管辖权的人民法院提起诉讼。</p>
+          <h2 class="section-title">第十四条 合同生效及附件</h2>
+          <p class="content-text">本合同一式【叁】份,甲方执【壹】份,乙方执【壹】份,乙方监护人执【壹】份,自各方签字或盖章之日起生效。</p>
+          <p class="content-text">1.下列文件为本合同附件,与本合同具有同等法律效力:</p>
+          <p class="content-text">附件一:《知情同意书》</p>
+          <p class="content-text">附件二:《入住登记表》</p>
+          <p class="content-text">附件三:《入住须知》</p>
+          <p class="content-text">附件四:《长者安全承诺书》</p>
+          <p class="content-text">附件五:《长者外出情况确认书》</p>
+          <p class="content-text">附件六:《签名代理申请》</p>
+          <p class="content-text">附件七:《委托代理人确认表》</p>
+          <p class="content-text">附件八:《机构服务范围及收费标准》</p>
+          <p class="content-text">附件九:《房间设施设备清单》</p>
+          <p class="content-text">附件十:二级甲等以上医院出具的《体检报告项目说明》(体检时间应在签订服务合同前30日以内)</p>
+          <p class="content-text">附件十一:乙方有效证件身份证、户口本复印件</p>
+          <p class="content-text">附件十二:乙方监护人身份证、户口本复印件</p>
+          <p class="content-text" style="font-style: italic; margin-top: 20px;">2.本合同附件系本合同不可分割的组成部分,与本合同具有同等法律效力。</p>
+        </div>
+      </div>
+
+      <!-- ========== 第23页:合同签署页 ========== -->
+      <div class="a4-page sign-page">
+        <div class="page-header"><span class="page-no">23</span></div>
+        <div class="page-content">
+          <h2 class="section-title" style="text-align: center;">合同签署页</h2>
+          <div class="sign-block">
+            <p class="sign-line">甲方(盖章):</p>
+            <div v-if="!isTextMode" style="margin: 10px 0;"><ESign v-model="contractForm.partyASeal" /></div>
+            <img v-if="isTextMode && contractForm.partyASeal" :src="contractForm.partyASeal" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">法定代表人(签字):</p>
+            <div v-if="!isTextMode" style="margin: 10px 0;"><ESign v-model="contractForm.partyALegalSign" /></div>
+            <img v-if="isTextMode && contractForm.partyALegalSign" :src="contractForm.partyALegalSign" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:<template v-if="isTextMode">{{ contractForm.partyASignDate || '____年__月__日' }}</template><input v-else v-model="contractForm.partyASignDate" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          </div>
+          <div class="sign-block" style="margin-top: 30px;">
+            <p class="sign-line">乙方(签字):</p>
+            <div v-if="!isTextMode" style="margin: 10px 0;"><ESign v-model="contractForm.partyBSign" /></div>
+            <img v-if="isTextMode && contractForm.partyBSign" :src="contractForm.partyBSign" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:<template v-if="isTextMode">{{ contractForm.partyBSignDate || '____年__月__日' }}</template><input v-else v-model="contractForm.partyBSignDate" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          </div>
+          <div class="sign-block" style="margin-top: 30px;">
+            <p class="sign-line">丙方(签字/盖章):</p>
+            <div v-if="!isTextMode" style="margin: 10px 0;"><ESign v-model="contractForm.partyCSign" /></div>
+            <img v-if="isTextMode && contractForm.partyCSign" :src="contractForm.partyCSign" style="max-width: 300px; max-height: 150px;" />
+            <p class="sign-line">日期:<template v-if="isTextMode">{{ contractForm.partyCSignDate || '____年__月__日' }}</template><input v-else v-model="contractForm.partyCSignDate" class="text-input" placeholder="请输入" style="max-width: 180px;" /></p>
+          </div>
+        </div>
+      </div>
+
+    </div>
+  </el-drawer>
+</template>
+
+
+<script setup lang="ts">
+import { ref, reactive, onMounted, computed } from 'vue'
+import { ElMessage } from 'element-plus'
+import { getCheckInRecordId } from '@/api/elderly/apply/check-in'
+import { ESign } from '@/components/ESign'
+import { openContractPrint } from './printContract'
+
+const drawerVisible = ref(false)
+const loading = ref(false)
+const isPrint = ref(false)
+const viewMode = ref<'edit' | 'view'>('edit')
+const currentRow = ref({})
+const isTextMode = computed(() => isPrint.value || viewMode.value === 'view')
+
+const contractForm = reactive({
+  contractNumber: '',
+  partyAName: '颐年健康产业(集团)有限公司',
+  partyACode: '',
+  partyAAddr: '',
+  partyAZip: '',
+  partyALegal: '',
+  partyAPhone: '',
+  elderName: '',
+  elderGender: '',
+  elderGenderText: '',
+  elderBirth: '',
+  elderIdCard: '',
+  elderPhone: '',
+  elderHomeAddr: '',
+  elderAddress: '',
+  elderZip: '',
+  elderNation: '',
+  elderEducation: '',
+  elderMarital: '',
+  elderInsurance: '',
+  eatingHabit: '',
+  sleepHabit: '',
+  hobby: '',
+  medicalHistory: '',
+  allergyHistory: '',
+  nurseLevelName: '',
+  partyCName: '',
+  partyCIdCard: '',
+  partyCRelation: '',
+  partyCPhone: '',
+  partyCAddress: '',
+  partyCHomeAddr: '',
+  partyCZip: '',
+  partyCWorkUnit: '',
+  partyCCommAddr: '',
+  partyCGenderText: '',
+  partyCBirth: '',
+  contractMonths: '',
+  startDate: '',
+  endDate: '',
+  servicePlace: '颐年集团养老服务机构',
+  roomNumber: '',
+  bedFee: '',
+  nurseFee: '',
+  mealFee: '',
+  manageFee: '',
+  freeElectric: '',
+  freeWater: '',
+  hotWaterFee: '',
+  coldWaterFee: '',
+  electricFee: '',
+  consultFee: '',
+  totalFee: '',
+  deposit: '',
+  payeeName: '',
+  payeeBank: '',
+  payeeAccount: '',
+  payerName: '',
+  payerBank: '',
+  payerAccount: '',
+  lifeSavingDeposit: '',
+  lifeSavingDepositCN: '',
+  deathDeposit: '',
+  deathDepositCN: '',
+  emergencyContact2Name: '',
+  emergencyContact2Relation: '',
+  emergencyContact2Phone: '',
+  otherContact1Name: '',
+  otherContact1Relation: '',
+  otherContact1Phone: '',
+  otherContact2Name: '',
+  otherContact2Relation: '',
+  otherContact2Phone: '',
+  partyASeal: '',
+  partyALegalSign: '',
+  partyASignDate: '',
+  partyBSign: '',
+  partyBSignDate: '',
+  partyCSign: '',
+  partyCSignDate: '',
+  consentSignB: '',
+  consentSignC: '',
+  consentDate: '',
+  promiseSignB: '',
+  promiseSignC: '',
+  promiseDate: '',
+  outingStartDate: '',
+  outingEndDate: '',
+  outingReason: '',
+  outingCompanionName: '',
+  outingCompanionPhone: '',
+  outingCompanionRelation: '',
+  outingDestination: '',
+  outingSignB: '',
+  outingSignC: '',
+  outingOperator: '',
+  outingDate: '',
+  signProxyReason: '',
+  signProxySignB: '',
+  signProxySignC: '',
+  signProxyDate: '',
+  agentSignB: '',
+  agentSignC: '',
+  agentDate: '',
+  feeSignA: '',
+  feeSignC: '',
+  facilitySignA: '',
+  facilitySignC: '',
+  facilityDate: '',
+  facilityFee: '',
+  facilityStartDateText: '',
+  facilityEndDateText: '',
+  facilityRefundRule: '',
+  // 设施清单(21项)
+  facilityList: [
+    { seq: 1, name: '窗帘', qty: '1', remark: '' },
+    { seq: 2, name: '床隔帘', qty: '1', remark: '' },
+    { seq: 3, name: '浴帘', qty: '1', remark: '' },
+    { seq: 4, name: '垃圾桶', qty: '1', remark: '' },
+    { seq: 5, name: '木床', qty: '1', remark: '' },
+    { seq: 6, name: '床垫', qty: '1', remark: '' },
+    { seq: 7, name: '不锈钢排勾', qty: '1', remark: '' },
+    { seq: 8, name: '床头柜', qty: '1', remark: '' },
+    { seq: 9, name: '书桌(含一张椅子)', qty: '1', remark: '' },
+    { seq: 10, name: '衣柜', qty: '1', remark: '' },
+    { seq: 11, name: '壁扇', qty: '1', remark: '' },
+    { seq: 12, name: '电视机', qty: '1', remark: '' },
+    { seq: 13, name: '机顶盒遥控器', qty: '1', remark: '' },
+    { seq: 14, name: '机顶盒', qty: '1', remark: '' },
+    { seq: 15, name: '空调', qty: '1', remark: '' },
+    { seq: 16, name: '门牌', qty: '1', remark: '' },
+    { seq: 17, name: '客厅灯具', qty: '1', remark: '' },
+    { seq: 18, name: '卫生间灯具', qty: '1', remark: '' },
+    { seq: 19, name: '水龙头', qty: '1', remark: '' },
+    { seq: 20, name: '马桶', qty: '1', remark: '' },
+    { seq: 21, name: '呼叫器', qty: '1', remark: '' }
+  ],
+  // 扩展数据(JSON 存储)
+  extraData: ''
+})
+
+const open = async (row = {},mode: 'edit' | 'view' = 'edit') => {
+  currentRow.value = row
+  drawerVisible.value = true
+  viewMode.value = mode
+  loading.value = true
+  try {
+    const res = await getCheckInRecordId(row.id, row.status)
+    if (res) {
+      contractForm.elderName = res.elderlyContractDO?.elderName || res.elderName || ''
+      contractForm.elderIdCard = res.elderlyContractDO?.idCard || res.idCard || ''
+      contractForm.elderGender = res.elderlyContractDO?.gender || res.gender || ''
+      if (contractForm.elderGender === 1 || contractForm.elderGender === '1' || contractForm.elderGender === '男') {
+        contractForm.elderGenderText = '男'
+      } else if (contractForm.elderGender === 2 || contractForm.elderGender === '2' || contractForm.elderGender === '女') {
+        contractForm.elderGenderText = '女'
+      } else {
+        contractForm.elderGenderText = contractForm.elderGender || ''
+      }
+      contractForm.elderBirth = res.elderlyContractDO?.birthDate || res.birthDate || ''
+      contractForm.elderPhone = res.elderlyContractDO?.phone || res.phone || ''
+      contractForm.elderHomeAddr = res.elderlyContractDO?.homeAddress || res.homeAddress || ''
+      contractForm.elderAddress = res.elderlyContractDO?.address || res.address || ''
+      contractForm.nurseLevelName = res.nurseLevelName || res.elderlyContractDO?.nurseLevelName || ''
+      contractForm.contractNumber = res.elderlyContractDO?.contractNumber || ''
+      contractForm.startDate = res.checkInTime || res.elderlyContractDO?.beginTime || ''
+      contractForm.endDate = res.checkInDeadlineTime || res.elderlyContractDO?.expireTime || ''
+      contractForm.roomNumber = res.roomNumber || res.elderlyContractDO?.roomNumber || ''
+      contractForm.medicalHistory = res.medicalHistory || ''
+      contractForm.allergyHistory = res.allergyHistory || ''
+      contractForm.eatingHabit = res.eatingHabit || ''
+      contractForm.sleepHabit = res.sleepHabit || ''
+      contractForm.hobby = res.hobby || ''
+      contractForm.contractMonths = res.elderlyContractDO?.contractMonths || ''
+      contractForm.elderNation = res.elderlyContractDO?.nation || ''
+      contractForm.elderEducation = res.elderlyContractDO?.education || ''
+      contractForm.elderMarital = res.elderlyContractDO?.maritalStatus || ''
+      contractForm.elderInsurance = res.elderlyContractDO?.insurance || ''
+      const monthly = res.monthlyExpenses || []
+      const findAmt = (list, name) => {
+        const item = list.find(i => (i.itemCategoryName || '').includes(name))
+        return item ? item.actualAmount : ''
+      }
+      contractForm.bedFee = findAmt(monthly, '床位') || ''
+      contractForm.nurseFee = findAmt(monthly, '护理') || ''
+      contractForm.mealFee = findAmt(monthly, '膳食') || ''
+      contractForm.manageFee = findAmt(monthly, '管理') || ''
+      const relative = (res.relativesList && res.relativesList[0]) || {}
+      contractForm.partyCName = relative.name || ''
+      contractForm.partyCIdCard = relative.idCard || ''
+      contractForm.partyCRelation = relative.relation || ''
+      contractForm.partyCPhone = relative.phone || ''
+      contractForm.partyCAddress = relative.address || ''
+      // 解析 contractJson 中的扩展数据(设施清单、手动填写字段等)
+      if (res.contractJson) {
+        try {
+          const jsonData = typeof res.contractJson === 'string'
+            ? JSON.parse(res.contractJson)
+            : res.contractJson
+          if (jsonData.facilityList && Array.isArray(jsonData.facilityList)) {
+            contractForm.facilityList = jsonData.facilityList
+          }
+          // 合并其他字段到 contractForm
+          const excludeKeys = ['facilityList']
+          Object.keys(jsonData).forEach(key => {
+            if (!excludeKeys.includes(key) && jsonData[key] !== undefined && jsonData[key] !== null) {
+              contractForm[key] = jsonData[key]
+            }
+          })
+        } catch (e) {
+          console.warn('contractJson 解析失败:', e)
+        }
+      }
+    }
+  } catch (err) {
+    console.error('加载合同数据失败:', err)
+  } finally {
+    loading.value = false
+  }
+}
+
+const handleClose = () => {
+  drawerVisible.value = false
+}
+
+const handleSubmit = () => {
+  try {
+    const contractJson = JSON.stringify(contractForm)
+    console.log('保存的合同数据 JSON:', contractJson)
+    ElMessage.success('合同信息已保存')
+    drawerVisible.value = false
+  } catch (e) {
+    console.error('JSON 序列化失败:', e)
+    ElMessage.error('数据保存失败')
+  }
+}
+
+const handlePrint = async () => {
+  isPrint.value = true
+  await new Promise(resolve => setTimeout(resolve, 100))
+  const result = openContractPrint()
+  isPrint.value = false
+  if (!result.success) {
+    ElMessage.warning(result.message)
+  }
+}
+
+defineExpose({
+  open
+})
+</script>
+
+<style lang="scss" scoped>
+.contract-container {
+  width: 100%;
+  padding: 0;
+  background: #f5f5f5;
+}
+
+.a4-page {
+  width: 210mm;
+  height: auto;
+  min-height: 0;
+  margin: 3mm auto;
+  padding: 8mm 12mm;
+  background: #fff;
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
+  position: relative;
+  box-sizing: border-box;
+}
+
+@media print {
+  .contract-container {
+    background: #fff;
+    margin: 0;
+    padding: 0;
+    width: 100%;
+  }
+
+  .a4-page {
+    width: 100% !important;
+    min-height: 0 !important;
+    height: auto !important;
+    margin: 0 !important;
+    padding: 0 !important;
+    background: #fff !important;
+    box-shadow: none !important;
+    border: none !important;
+    page-break-after: auto !important;
+    break-after: auto !important;
+    page-break-inside: auto !important;
+    break-inside: auto !important;
+    position: static !important;
+    float: none !important;
+  }
+
+  .a4-page:first-child {
+    page-break-after: always !important;
+    break-after: page !important;
+    padding: 15mm 5mm !important;
+  }
+
+  .page-header {
+    display: none !important;
+  }
+
+  .page-content {
+    width: 100% !important;
+    max-width: none !important;
+    padding: 0 !important;
+    margin: 0 !important;
+  }
+
+  .content-text {
+    font-size: 13px !important;
+    line-height: 1.55 !important;
+    margin-bottom: 2px !important;
+  }
+
+  .doc-title {
+    font-size: 20px !important;
+    margin-bottom: 12px !important;
+  }
+
+  .section-title {
+    font-size: 16px !important;
+    margin: 10px 0 5px !important;
+  }
+
+  .subsection-title {
+    font-size: 14px !important;
+    margin: 6px 0 3px !important;
+  }
+
+  .info-table {
+    font-size: 12px !important;
+    margin: 4px 0 !important;
+  }
+
+  .info-table th,
+  .info-table td {
+    padding: 4px 6px !important;
+    font-size: 12px !important;
+  }
+
+  .cover-fields {
+    margin-bottom: 10px !important;
+  }
+
+  .cover-fields p {
+    font-size: 14px !important;
+    line-height: 1.55 !important;
+    margin: 1px 0 !important;
+  }
+
+  .fill {
+    min-width: 50px !important;
+    padding: 0 2px !important;
+    line-height: 1.4 !important;
+  }
+
+  .label {
+    min-width: 70px !important;
+  }
+
+  .sign-block {
+    margin-top: 6px !important;
+  }
+
+  .sign-line {
+    font-size: 13px !important;
+    line-height: 1.55 !important;
+    margin: 3px 0 !important;
+  }
+
+  .text-input,
+  input.text-input {
+    border: none !important;
+    outline: none !important;
+    background: transparent !important;
+    color: #000 !important;
+    padding: 0 !important;
+    margin: 0 !important;
+    width: auto !important;
+    max-width: none !important;
+    display: inline !important;
+    box-shadow: none !important;
+  }
+
+  .el-button,
+  .toolbar,
+  .el-loading-mask,
+  .el-loading-spinner {
+    display: none !important;
+  }
+}
+
+.page-header {
+  position: absolute;
+  top: 5mm;
+  right: 10mm;
+  font-size: 12px;
+  color: #999;
+}
+
+.page-no {
+  display: inline-block;
+  padding: 2px 8px;
+  background: #f0f0f0;
+  border-radius: 4px;
+}
+
+.page-content {
+  width: 100%;
+}
+
+.doc-title {
+  font-size: 22px;
+  font-weight: bold;
+  margin-bottom: 20px;
+  color: #333;
+}
+
+.section-title {
+  font-size: 18px;
+  font-weight: bold;
+  margin: 20px 0 10px;
+  color: #333;
+}
+
+.subsection-title {
+  font-size: 15px;
+  font-weight: bold;
+  margin: 15px 0 8px;
+  color: #333;
+}
+
+.content-text {
+  font-size: 14px;
+  line-height: 1.9;
+  text-indent: 2em;
+  color: #333;
+  margin-bottom: 4px;
+}
+
+.fill {
+  display: inline-block;
+  min-width: 80px;
+  border-bottom: 1px solid #333;
+  padding: 0 4px;
+  text-indent: 0;
+  font-weight: 500;
+}
+
+.cover-fields {
+  margin-bottom: 30px;
+}
+
+.cover-fields p {
+  font-size: 15px;
+  line-height: 2;
+}
+
+.label {
+  display: inline-block;
+  min-width: 100px;
+}
+
+.info-table {
+  width: 100%;
+  border-collapse: collapse;
+  margin: 10px 0;
+  font-size: 13px;
+}
+
+.info-table th,
+.info-table td {
+  border: 1px solid #ddd;
+  padding: 8px 10px;
+  text-align: left;
+}
+
+.info-table th {
+  background: #f9f9f9;
+  font-weight: bold;
+  width: 100px;
+  text-align: center;
+}
+
+.sign-block {
+  margin-top: 15px;
+}
+
+.sign-line {
+  font-size: 14px;
+  line-height: 1.8;
+  margin: 8px 0;
+}
+
+.sign-page .sign-block {
+  margin-top: 25px;
+}
+
+.text-input {
+  width: 100%;
+  max-width: 200px;
+  border: 1px solid #dcdfe6;
+  border-radius: 4px;
+  padding: 4px 8px;
+  font-size: 14px;
+  outline: none;
+  box-sizing: border-box;
+}
+
+.text-input:focus {
+  border-color: #409eff;
+}
+</style>
+
+<style>
+@media print {
+  html, body, #app, #app > *, main {
+    background: #fff !important;
+    margin: 0 !important;
+    padding: 0 !important;
+    width: auto !important;
+    height: auto !important;
+    max-height: none !important;
+    overflow: visible !important;
+    position: static !important;
+    float: none !important;
+    display: block !important;
+    box-shadow: none !important;
+  }
+
+  .el-drawer,
+  .el-drawer__inner,
+  .el-drawer__body,
+  .el-drawer .el-drawer__body {
+    position: static !important;
+    display: block !important;
+    width: auto !important;
+    height: auto !important;
+    max-height: none !important;
+    margin: 0 !important;
+    padding: 0 !important;
+    transform: none !important;
+    box-shadow: none !important;
+    border: none !important;
+    overflow: visible !important;
+    background: #fff !important;
+    float: none !important;
+  }
+  .el-drawer__overlay,
+  .el-drawer__header,
+  .el-overlay,
+  .el-overlay-dialog {
+    display: none !important;
+  }
+
+  @page {
+    size: A4;
+    margin: 10mm 12mm;
+  }
+}
+</style>

+ 1046 - 0
src/views/elderly/apply/check-in/contract_remainder.txt

@@ -0,0 +1,1046 @@
+
+      <!-- ========== 附件二:入住登记表 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">23</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件二:入住登记表</h1>
+          <table class="info-table">
+            <tr>
+              <th>姓名</th>
+              <td>{{ contractForm.elderName || '' }}</td>
+              <th>性别</th>
+              <td>{{ contractForm.elderGender || '' }}</td>
+              <th>出生年月</th>
+              <td>{{ contractForm.elderBirth || '' }}</td>
+            </tr>
+            <tr>
+              <th>身份证号</th>
+              <td colspan="3">{{ contractForm.elderIdCard || '' }}</td>
+              <th>民族</th>
+              <td>{{ contractForm.elderNation || '' }}</td>
+            </tr>
+            <tr>
+              <th>籍贯</th>
+              <td>{{ contractForm.elderNative || '' }}</td>
+              <th>文化程度</th>
+              <td>{{ contractForm.elderEducation || '' }}</td>
+              <th>婚姻状况</th>
+              <td>{{ contractForm.elderMarital || '' }}</td>
+            </tr>
+            <tr>
+              <th>联系电话</th>
+              <td colspan="3">{{ contractForm.elderPhone || '' }}</td>
+              <th>医保类型</th>
+              <td>{{ contractForm.elderInsurance || '' }}</td>
+            </tr>
+            <tr>
+              <th>户籍地址</th>
+              <td colspan="5">{{ contractForm.elderAddress || '' }}</td>
+            </tr>
+            <tr>
+              <th>紧急联系人1</th>
+              <td>{{ contractForm.partyCName || '' }}</td>
+              <th>关系</th>
+              <td>{{ contractForm.partyCRelation || '' }}</td>
+              <th>电话</th>
+              <td>{{ contractForm.partyCPhone || '' }}</td>
+            </tr>
+            <tr>
+              <th>紧急联系人2</th>
+              <td>{{ contractForm.emergencyContact2Name || '' }}</td>
+              <th>关系</th>
+              <td>{{ contractForm.emergencyContact2Relation || '' }}</td>
+              <th>电话</th>
+              <td>{{ contractForm.emergencyContact2Phone || '' }}</td>
+            </tr>
+            <tr>
+              <th>护理等级</th>
+              <td colspan="5">{{ contractForm.nurseLevelName || '' }}</td>
+            </tr>
+            <tr>
+              <th>既往病史</th>
+              <td colspan="5">{{ contractForm.medicalHistory || '' }}</td>
+            </tr>
+            <tr>
+              <th>过敏史</th>
+              <td colspan="5">{{ contractForm.allergyHistory || '' }}</td>
+            </tr>
+            <tr>
+              <th>生活习惯</th>
+              <td colspan="5">{{ contractForm.livingHabit || '' }}</td>
+            </tr>
+            <tr>
+              <th>兴趣爱好</th>
+              <td colspan="5">{{ contractForm.hobby || '' }}</td>
+            </tr>
+          </table>
+          <div class="sign-block">
+            <p class="sign-line">长者(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.regSign1 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.regSign1" />
+              </span>
+            </p>
+            <p class="sign-line">家属/监护人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.regSign2 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.regSign2" />
+              </span>
+            </p>
+            <p class="sign-line">登记日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.regDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.regDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+              </span>
+            </p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 附件三:入住须知 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">24</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件三:入住须知</h1>
+          <h3 class="subsection-title">一、入住须知</h3>
+          <p class="content-text">1.长者入住前须提供二级甲等以上医院出具的近30日内的体检报告(体检项目按附件十执行)。</p>
+          <p class="content-text">2.入住时须提交长者及监护人身份证、户口本原件及复印件各一份。</p>
+          <p class="content-text">3.入住时须提交长者近期一寸免冠彩色照片3张。</p>
+          <p class="content-text">4.入住时须交纳押金及首月相关费用。</p>
+          <p class="content-text">5.长者自带的药品,须登记造册,由工作人员统一管理。</p>
+          <h3 class="subsection-title">二、管理制度</h3>
+          <p class="content-text">1.作息时间:夏季:6:00起床,21:00熄灯;冬季:6:30起床,20:30熄灯。</p>
+          <p class="content-text">2.用餐时间:早餐7:00-8:00,午餐11:30-12:30,晚餐17:30-18:30。</p>
+          <p class="content-text">3.会客时间:8:30-11:30,14:00-17:00(特殊情况除外)。</p>
+          <p class="content-text">4.外出须请假,经批准后方可外出,外出期间发生的一切责任自负。</p>
+          <p class="content-text">5.禁止携带易燃、易爆、有毒等危险品。</p>
+          <p class="content-text">6.贵重物品请自行妥善保管,丢失自负。</p>
+          <p class="content-text">7.爱护公共设施,损坏照价赔偿。</p>
+          <p class="content-text">8.长者之间应互相关心、互相帮助,团结友爱,不得发生争执、打架等事件。</p>
+          <h3 class="subsection-title">三、家属须知</h3>
+          <p class="content-text">1.家属应保持与机构的联系,电话、地址如有变更及时通知机构。</p>
+          <p class="content-text">2.家属探视应遵守机构的探视制度,不得影响其他长者正常生活。</p>
+          <p class="content-text">3.家属应积极配合机构的工作,对长者的身体状况、情绪变化及时沟通。</p>
+          <p class="content-text">4.长者生病或发生意外,家属接到通知后应及时赶到。</p>
+          <div class="sign-block">
+            <p class="sign-line">长者(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.noticeSign1 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.noticeSign1" />
+              </span>
+            </p>
+            <p class="sign-line">家属/监护人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.noticeSign2 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.noticeSign2" />
+              </span>
+            </p>
+            <p class="sign-line">日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.noticeDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.noticeDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+              </span>
+            </p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 附件四:长者安全承诺书 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">25</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件四:长者安全承诺书</h1>
+          <p class="content-text"><strong>本人自愿入住颐年集团养老服务机构,并承诺如下:</strong></p>
+          <p class="content-text">一、本人及家属已如实向机构告知本人的身体健康状况、过往病史、过敏史、用药情况等信息,如有隐瞒或不实陈述,由此引发的一切后果由本人及家属自行承担。</p>
+          <p class="content-text">二、本人承诺严格遵守机构的各项规章制度,服从工作人员的管理和服务安排。</p>
+          <p class="content-text">三、本人承诺不擅自离开机构,如需外出须办理请假手续。擅自外出期间发生的一切人身伤害、财产损失由本人及家属自行承担。</p>
+          <p class="content-text">四、本人承诺不携带易燃、易爆、有毒等危险品进入机构,不在房间内使用大功率电器。</p>
+          <p class="content-text">五、本人因年老体弱、行动不便等原因,存在发生摔倒、骨折、突发疾病等风险,本人及家属对此完全知晓并自愿承担相应风险。</p>
+          <p class="content-text">六、如本人发生意外情况,机构有权根据实际情况采取必要的救治措施(包括拨打120急救电话),由此产生的一切费用由本人及家属承担。</p>
+          <p class="content-text">七、本人及家属承诺按时缴纳各项费用,如逾期未缴,机构有权暂停服务或解除合同。</p>
+          <p class="content-text">八、本人及家属已认真阅读并理解本承诺书的全部内容,自愿签署本承诺书。</p>
+          <div class="sign-block">
+            <p class="sign-line">长者(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.safetySign1 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.safetySign1" />
+              </span>
+            </p>
+            <p class="sign-line">家属/监护人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.safetySign2 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.safetySign2" />
+              </span>
+            </p>
+            <p class="sign-line">日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.safetyDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.safetyDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+              </span>
+            </p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 附件五:长者外出情况确认书 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">26</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件五:长者外出情况确认书</h1>
+          <p class="content-text">为保障长者外出期间的人身安全,特制定本确认书,长者及家属在外出前须确认以下事项:</p>
+          <table class="info-table">
+            <tr>
+              <th>外出长者姓名</th>
+              <td>{{ contractForm.elderName || '' }}</td>
+              <th>外出日期</th>
+              <td>
+                <span v-if="isPrint">{{ contractForm.outDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.outDate" type="daterange" range-separator="至" start-placeholder="开始" end-placeholder="结束" value-format="YYYY-MM-DD" size="small" />
+              </td>
+            </tr>
+            <tr>
+              <th>外出原因</th>
+              <td colspan="3">{{ contractForm.outReason || '' }}</td>
+            </tr>
+            <tr>
+              <th>前往地点</th>
+              <td colspan="3">{{ contractForm.outLocation || '' }}</td>
+            </tr>
+            <tr>
+              <th>陪同人员</th>
+              <td>{{ contractForm.outCompanion || '' }}</td>
+              <th>联系电话</th>
+              <td>{{ contractForm.outPhone || '' }}</td>
+            </tr>
+            <tr>
+              <th>预计返回时间</th>
+              <td colspan="3">
+                <span v-if="isPrint">{{ contractForm.returnDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.returnDate" type="date" placeholder="返回日期" value-format="YYYY-MM-DD" size="small" />
+              </td>
+            </tr>
+            <tr>
+              <th>身体状况</th>
+              <td colspan="3">{{ contractForm.outHealthStatus || '' }}</td>
+            </tr>
+            <tr>
+              <th>随身物品</th>
+              <td colspan="3">{{ contractForm.outItems || '' }}</td>
+            </tr>
+          </table>
+          <p class="content-text"><strong>特别声明:</strong>长者外出期间,机构已尽到合理告知义务,外出期间发生的一切人身伤害、财产损失由长者本人及家属自行承担,与机构无关。</p>
+          <div class="sign-block">
+            <p class="sign-line">长者(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.outSign1 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.outSign1" />
+              </span>
+            </p>
+            <p class="sign-line">家属/监护人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.outSign2 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.outSign2" />
+              </span>
+            </p>
+            <p class="sign-line">机构经办人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.outSign3 || '____________________' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.outSign3" placeholder="经办人签字" size="small" style="width: 200px;" />
+              </span>
+            </p>
+            <p class="sign-line">日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.outConfirmDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.outConfirmDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+              </span>
+            </p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 附件六:签名代理申请 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">27</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件六:签名代理申请</h1>
+          <p class="content-text"><strong>申请人:</strong>{{ contractForm.elderName || '' }}</p>
+          <p class="content-text"><strong>申请事项:</strong>因本人年事已高/身体原因/书写困难,特申请由以下人员代为签署与养老服务相关的各项文件。</p>
+          <table class="info-table">
+            <tr>
+              <th>代理人姓名</th>
+              <td>{{ contractForm.agentName || '' }}</td>
+              <th>与申请人关系</th>
+              <td>{{ contractForm.agentRelation || '' }}</td>
+            </tr>
+            <tr>
+              <th>身份证号</th>
+              <td colspan="3">{{ contractForm.agentIdCard || '' }}</td>
+            </tr>
+            <tr>
+              <th>联系电话</th>
+              <td colspan="3">{{ contractForm.agentPhone || '' }}</td>
+            </tr>
+            <tr>
+              <th>联系地址</th>
+              <td colspan="3">{{ contractForm.agentAddress || '' }}</td>
+            </tr>
+            <tr>
+              <th>代理权限</th>
+              <td colspan="3">{{ contractForm.agentAuthority || '代为签署与养老服务相关的各项文件' }}</td>
+            </tr>
+            <tr>
+              <th>代理期限</th>
+              <td colspan="3">{{ contractForm.agentPeriod || '自本申请签署之日起至长者离院之日止' }}</td>
+            </tr>
+          </table>
+          <p class="content-text"><strong>特别说明:</strong></p>
+          <p class="content-text">1.代理人在代理权限内签署的文件,对申请人具有同等法律效力。</p>
+          <p class="content-text">2.申请人如需变更或撤销代理人,须书面通知机构。</p>
+          <p class="content-text">3.代理人签署的文件如涉及重大利益处分,机构有权要求申请人本人确认。</p>
+          <div class="sign-block">
+            <p class="sign-line">申请人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.agentApplySign1 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.agentApplySign1" />
+              </span>
+            </p>
+            <p class="sign-line">代理人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.agentApplySign2 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.agentApplySign2" />
+              </span>
+            </p>
+            <p class="sign-line">日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.agentApplyDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.agentApplyDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+              </span>
+            </p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 附件七:委托代理人确认表 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">28</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件七:委托代理人确认表</h1>
+          <p class="content-text">机构根据长者及家属提交的委托代理申请,确认以下委托代理人:</p>
+          <table class="info-table">
+            <tr>
+              <th style="width:120px;">委托人(长者)</th>
+              <td>{{ contractForm.elderName || '' }}</td>
+              <th style="width:100px;">身份证号</th>
+              <td>{{ contractForm.elderIdCard || '' }}</td>
+            </tr>
+            <tr>
+              <th>委托代理人</th>
+              <td>{{ contractForm.partyCName || '' }}</td>
+              <th>与委托人关系</th>
+              <td>{{ contractForm.partyCRelation || '' }}</td>
+            </tr>
+            <tr>
+              <th>代理人身份证号</th>
+              <td colspan="3">{{ contractForm.partyCIdCard || '' }}</td>
+            </tr>
+            <tr>
+              <th>联系电话</th>
+              <td colspan="3">{{ contractForm.partyCPhone || '' }}</td>
+            </tr>
+            <tr>
+              <th>委托事项</th>
+              <td colspan="3">{{ contractForm.entrustItems || '代为办理长者入住、退住、费用缴纳、重大决策等事项' }}</td>
+            </tr>
+            <tr>
+              <th>委托期限</th>
+              <td colspan="3">{{ contractForm.entrustPeriod || '自本确认表签署之日起至长者离院之日止' }}</td>
+            </tr>
+            <tr>
+              <th>机构确认</th>
+              <td colspan="3">{{ contractForm.orgConfirm || '已收到上述委托代理申请,确认代理人资格。' }}</td>
+            </tr>
+          </table>
+          <div class="sign-block">
+            <p class="sign-line">委托人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.entrustSign1 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.entrustSign1" />
+              </span>
+            </p>
+            <p class="sign-line">委托代理人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.entrustSign2 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.entrustSign2" />
+              </span>
+            </p>
+            <p class="sign-line">机构经办人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.entrustSign3 || '____________________' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.entrustSign3" placeholder="经办人" size="small" style="width: 200px;" />
+              </span>
+            </p>
+            <p class="sign-line">机构盖章:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.orgStamp || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.orgStamp" />
+              </span>
+            </p>
+            <p class="sign-line">日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.entrustDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.entrustDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+              </span>
+            </p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 附件八:机构服务范围及收费标准 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">29</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件八:机构服务范围及收费标准</h1>
+          <h3 class="subsection-title">一、服务范围</h3>
+          <p class="content-text">1.提供日常生活照料服务:包括饮食、穿衣、如厕、沐浴、清洁卫生等。</p>
+          <p class="content-text">2.提供基本医疗保健服务:包括健康监测、慢病管理、用药指导等。</p>
+          <p class="content-text">3.提供文化娱乐服务:包括文娱活动、健身锻炼、兴趣小组等。</p>
+          <p class="content-text">4.提供心理支持服务:包括情感慰藉、心理疏导、精神关怀等。</p>
+          <p class="content-text">5.提供安全保障服务:包括24小时值班、安全巡视、紧急救援等。</p>
+          <h3 class="subsection-title">二、收费标准</h3>
+          <table class="info-table border-table">
+            <tr>
+              <th>项目</th>
+              <th>自理</th>
+              <th>半自理</th>
+              <th>不能自理</th>
+              <th>特护</th>
+            </tr>
+            <tr>
+              <td>床位费</td>
+              <td>{{ contractForm.feeBedSelf || '¥____' }}</td>
+              <td>{{ contractForm.feeBedHalf || '¥____' }}</td>
+              <td>{{ contractForm.feeBedNone || '¥____' }}</td>
+              <td>{{ contractForm.feeBedSpecial || '¥____' }}</td>
+            </tr>
+            <tr>
+              <td>护理费</td>
+              <td>{{ contractForm.feeNurseSelf || '¥____' }}</td>
+              <td>{{ contractForm.feeNurseHalf || '¥____' }}</td>
+              <td>{{ contractForm.feeNurseNone || '¥____' }}</td>
+              <td>{{ contractForm.feeNurseSpecial || '¥____' }}</td>
+            </tr>
+            <tr>
+              <td>膳食费</td>
+              <td>{{ contractForm.feeMealSelf || '¥____' }}</td>
+              <td>{{ contractForm.feeMealHalf || '¥____' }}</td>
+              <td>{{ contractForm.feeMealNone || '¥____' }}</td>
+              <td>{{ contractForm.feeMealSpecial || '¥____' }}</td>
+            </tr>
+            <tr>
+              <td>管理费</td>
+              <td>{{ contractForm.feeManageSelf || '¥____' }}</td>
+              <td>{{ contractForm.feeManageHalf || '¥____' }}</td>
+              <td>{{ contractForm.feeManageNone || '¥____' }}</td>
+              <td>{{ contractForm.feeManageSpecial || '¥____' }}</td>
+            </tr>
+            <tr>
+              <td>水电费</td>
+              <td>{{ contractForm.feeWaterSelf || '¥____' }}</td>
+              <td>{{ contractForm.feeWaterHalf || '¥____' }}</td>
+              <td>{{ contractForm.feeWaterNone || '¥____' }}</td>
+              <td>{{ contractForm.feeWaterSpecial || '¥____' }}</td>
+            </tr>
+            <tr>
+              <td>合计(月)</td>
+              <td>{{ contractForm.feeTotalSelf || '¥____' }}</td>
+              <td>{{ contractForm.feeTotalHalf || '¥____' }}</td>
+              <td>{{ contractForm.feeTotalNone || '¥____' }}</td>
+              <td>{{ contractForm.feeTotalSpecial || '¥____' }}</td>
+            </tr>
+          </table>
+          <p class="content-text"><strong>说明:</strong></p>
+          <p class="content-text">1.押金:入住时交纳,退住时无损坏全额退还。</p>
+          <p class="content-text">2.一次性费用:包括入住评估费、生活用品费等,入住时一次性交纳。</p>
+          <p class="content-text">3.以上收费标准仅供参考,具体以实际签订的服务合同为准。</p>
+          <p class="content-text">4.费用调整须提前30日以书面形式通知。</p>
+          <div class="sign-block">
+            <p class="sign-line">长者(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.feeSign1 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.feeSign1" />
+              </span>
+            </p>
+            <p class="sign-line">家属/监护人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.feeSign2 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.feeSign2" />
+              </span>
+            </p>
+            <p class="sign-line">机构盖章:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.feeOrgSign || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.feeOrgSign" />
+              </span>
+            </p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 附件九:房间设施设备清单 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">30</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件九:房间设施设备清单</h1>
+          <p class="content-text">长者:{{ contractForm.elderName || '' }},入住房间:{{ contractForm.roomNumber || '' }}</p>
+          <table class="info-table border-table">
+            <tr>
+              <th style="width:60px;">序号</th>
+              <th>物品名称</th>
+              <th style="width:80px;">数量</th>
+              <th style="width:80px;">单位</th>
+              <th>状态</th>
+              <th>备注</th>
+            </tr>
+            <tr><td>1</td><td>床</td><td>{{ contractForm.itemBed || '1' }}</td><td>张</td><td>{{ contractForm.itemBedStatus || '完好' }}</td><td>{{ contractForm.itemBedNote || '' }}</td></tr>
+            <tr><td>2</td><td>床垫</td><td>{{ contractForm.itemMattress || '1' }}</td><td>张</td><td>{{ contractForm.itemMattressStatus || '完好' }}</td><td>{{ contractForm.itemMattressNote || '' }}</td></tr>
+            <tr><td>3</td><td>床头柜</td><td>{{ contractForm.itemNightstand || '1' }}</td><td>个</td><td>{{ contractForm.itemNightstandStatus || '完好' }}</td><td>{{ contractForm.itemNightstandNote || '' }}</td></tr>
+            <tr><td>4</td><td>衣柜</td><td>{{ contractForm.itemWardrobe || '1' }}</td><td>个</td><td>{{ contractForm.itemWardrobeStatus || '完好' }}</td><td>{{ contractForm.itemWardrobeNote || '' }}</td></tr>
+            <tr><td>5</td><td>桌椅</td><td>{{ contractForm.itemTable || '1' }}</td><td>套</td><td>{{ contractForm.itemTableStatus || '完好' }}</td><td>{{ contractForm.itemTableNote || '' }}</td></tr>
+            <tr><td>6</td><td>空调</td><td>{{ contractForm.itemAircon || '1' }}</td><td>台</td><td>{{ contractForm.itemAirconStatus || '完好' }}</td><td>{{ contractForm.itemAirconNote || '' }}</td></tr>
+            <tr><td>7</td><td>电视机</td><td>{{ contractForm.itemTV || '1' }}</td><td>台</td><td>{{ contractForm.itemTVStatus || '完好' }}</td><td>{{ contractForm.itemTVNote || '' }}</td></tr>
+            <tr><td>8</td><td>呼叫器</td><td>{{ contractForm.itemCaller || '1' }}</td><td>个</td><td>{{ contractForm.itemCallerStatus || '完好' }}</td><td>{{ contractForm.itemCallerNote || '' }}</td></tr>
+            <tr><td>9</td><td>照明灯具</td><td>{{ contractForm.itemLamp || '2' }}</td><td>盏</td><td>{{ contractForm.itemLampStatus || '完好' }}</td><td>{{ contractForm.itemLampNote || '' }}</td></tr>
+            <tr><td>10</td><td>卫生间设施</td><td>{{ contractForm.itemBath || '1' }}</td><td>套</td><td>{{ contractForm.itemBathStatus || '完好' }}</td><td>{{ contractForm.itemBathNote || '' }}</td></tr>
+          </table>
+          <p class="content-text"><strong>备注说明:</strong></p>
+          <p class="content-text">1.以上设施设备由机构统一配置,长者应爱护使用,如有损坏照价赔偿。</p>
+          <p class="content-text">2.长者个人物品请自行妥善保管,机构不承担保管责任。</p>
+          <p class="content-text">3.设施设备如发生故障,请及时通知工作人员维修。</p>
+          <div class="sign-block">
+            <p class="sign-line">长者/家属(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.itemSign1 || '____________________' }}</span>
+                <ESign v-show="!isPrint" v-model="contractForm.itemSign1" />
+              </span>
+            </p>
+            <p class="sign-line">机构经办人(签字):
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.itemSign2 || '____________________' }}</span>
+                <el-input v-show="!isPrint" v-model="contractForm.itemSign2" placeholder="经办人" size="small" style="width: 200px;" />
+              </span>
+            </p>
+            <p class="sign-line">验收日期:
+              <span class="inline-edit-block">
+                <span v-if="isPrint">{{ contractForm.itemDate || '____年__月__日' }}</span>
+                <el-date-picker v-show="!isPrint" v-model="contractForm.itemDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+              </span>
+            </p>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 附件十:体检报告项目说明 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">31</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件十:体检报告项目说明</h1>
+          <p class="content-text">(体检时间应在签订服务合同前30日以内,须由二级甲等以上医院出具)</p>
+          <table class="info-table border-table">
+            <tr>
+              <th style="width:60px;">序号</th>
+              <th>体检项目</th>
+              <th style="width:150px;">检查结果</th>
+              <th>备注</th>
+            </tr>
+            <tr><td>1</td><td>一般检查(身高、体重、血压、脉搏)</td><td>{{ contractForm.check1 || '' }}</td><td>{{ contractForm.checkNote1 || '' }}</td></tr>
+            <tr><td>2</td><td>血常规</td><td>{{ contractForm.check2 || '' }}</td><td>{{ contractForm.checkNote2 || '' }}</td></tr>
+            <tr><td>3</td><td>尿常规</td><td>{{ contractForm.check3 || '' }}</td><td>{{ contractForm.checkNote3 || '' }}</td></tr>
+            <tr><td>4</td><td>肝功能</td><td>{{ contractForm.check4 || '' }}</td><td>{{ contractForm.checkNote4 || '' }}</td></tr>
+            <tr><td>5</td><td>肾功能</td><td>{{ contractForm.check5 || '' }}</td><td>{{ contractForm.checkNote5 || '' }}</td></tr>
+            <tr><td>6</td><td>血脂</td><td>{{ contractForm.check6 || '' }}</td><td>{{ contractForm.checkNote6 || '' }}</td></tr>
+            <tr><td>7</td><td>血糖</td><td>{{ contractForm.check7 || '' }}</td><td>{{ contractForm.checkNote7 || '' }}</td></tr>
+            <tr><td>8</td><td>心电图</td><td>{{ contractForm.check8 || '' }}</td><td>{{ contractForm.checkNote8 || '' }}</td></tr>
+            <tr><td>9</td><td>胸部X光</td><td>{{ contractForm.check9 || '' }}</td><td>{{ contractForm.checkNote9 || '' }}</td></tr>
+            <tr><td>10</td><td>B超(腹部)</td><td>{{ contractForm.check10 || '' }}</td><td>{{ contractForm.checkNote10 || '' }}</td></tr>
+            <tr><td>11</td><td>精神健康状况评估</td><td>{{ contractForm.check11 || '' }}</td><td>{{ contractForm.checkNote11 || '' }}</td></tr>
+            <tr><td>12</td><td>传染性疾病检查</td><td>{{ contractForm.check12 || '' }}</td><td>{{ contractForm.checkNote12 || '' }}</td></tr>
+            <tr><td>13</td><td>既往病史陈述</td><td>{{ contractForm.check13 || '' }}</td><td>{{ contractForm.checkNote13 || '' }}</td></tr>
+            <tr><td>14</td><td>过敏史</td><td>{{ contractForm.check14 || '' }}</td><td>{{ contractForm.checkNote14 || '' }}</td></tr>
+            <tr><td>15</td><td>用药情况</td><td>{{ contractForm.check15 || '' }}</td><td>{{ contractForm.checkNote15 || '' }}</td></tr>
+          </table>
+          <p class="content-text"><strong>体检机构:</strong>{{ contractForm.checkOrg || '' }}</p>
+          <p class="content-text"><strong>体检日期:</strong>
+            <span class="inline-edit-block">
+              <span v-if="isPrint">{{ contractForm.checkDate || '____年__月__日' }}</span>
+              <el-date-picker v-show="!isPrint" v-model="contractForm.checkDate" type="date" placeholder="选择日期" value-format="YYYY-MM-DD" size="small" style="width: 180px;" />
+            </span>
+          </p>
+          <p class="content-text"><strong>医生建议:</strong>{{ contractForm.checkAdvice || '' }}</p>
+          <p class="content-text"><strong>重要提示:</strong>体检报告是评估长者身体状况、确定护理等级的重要依据,长者及家属应如实提供。如发现重大健康问题,机构有权要求长者到医院进一步检查或拒绝入住。</p>
+        </div>
+      </div>
+
+      <!-- ========== 附件十一+十二:身份证复印件上传 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">32</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件十一:长者有效证件复印件</h1>
+          <div class="upload-block">
+            <p class="content-text">长者身份证正反面复印件(上传图片):</p>
+            <el-upload v-show="!isPrint"
+              v-model:file-list="contractForm.elderIdCardFiles"
+              action="#"
+              list-type="picture-card"
+              :auto-upload="false"
+              :limit="2"
+            >
+              <el-icon><Plus /></el-icon>
+            </el-upload>
+            <div v-if="isPrint && contractForm.elderIdCardFiles && contractForm.elderIdCardFiles.length > 0" class="print-images">
+              <img v-for="(f, i) in contractForm.elderIdCardFiles" :key="i" :src="f.url" style="max-width:300px; margin:10px;" />
+            </div>
+          </div>
+          <h1 class="doc-title" style="margin-top:30px;">附件十二:监护人身份证复印件</h1>
+          <div class="upload-block">
+            <p class="content-text">监护人身份证正反面复印件(上传图片):</p>
+            <el-upload v-show="!isPrint"
+              v-model:file-list="contractForm.guardianIdCardFiles"
+              action="#"
+              list-type="picture-card"
+              :auto-upload="false"
+              :limit="2"
+            >
+              <el-icon><Plus /></el-icon>
+            </el-upload>
+            <div v-if="isPrint && contractForm.guardianIdCardFiles && contractForm.guardianIdCardFiles.length > 0" class="print-images">
+              <img v-for="(f, i) in contractForm.guardianIdCardFiles" :key="i" :src="f.url" style="max-width:300px; margin:10px;" />
+            </div>
+          </div>
+        </div>
+      </div>
+
+      <!-- ========== 附件:体检报告上传 ========== -->
+      <div class="a4-page">
+        <div class="page-header">
+          <span class="page-no">33</span>
+        </div>
+        <div class="page-content">
+          <h1 class="doc-title">附件:体检报告及其他材料</h1>
+          <div class="upload-block">
+            <p class="content-text">体检报告(上传图片或PDF):</p>
+            <el-upload v-show="!isPrint"
+              v-model:file-list="contractForm.checkReportFiles"
+              action="#"
+              :auto-upload="false"
+              multiple
+            >
+              <el-button type="primary"><el-icon><Upload /></el-icon>&nbsp;点击上传</el-button>
+            </el-upload>
+          </div>
+          <div class="upload-block" style="margin-top:20px;">
+            <p class="content-text">其他证明材料(如病历、医保卡、户口本复印件等):</p>
+            <el-upload v-show="!isPrint"
+              v-model:file-list="contractForm.otherFiles"
+              action="#"
+              :auto-upload="false"
+              multiple
+            >
+              <el-button type="primary"><el-icon><Upload /></el-icon>&nbsp;点击上传</el-button>
+            </el-upload>
+          </div>
+          <p class="content-text" style="margin-top:40px; color:#666;"><em>本合同一式叁份,甲方执壹份,乙方执壹份,乙方监护人执壹份,自各方签字或盖章之日起生效。</em></p>
+        </div>
+      </div>
+
+    </div>
+  </el-drawer>
+</template>
+
+<script setup>
+import { ref, reactive, nextTick } from 'vue'
+import { ElMessage } from 'element-plus'
+import { Plus, Upload, Printer } from '@element-plus/icons-vue'
+import { getCheckInRecordId } from '@/api/elderly/apply/check-in'
+import ESign from './ESign.vue'
+
+const emit = defineEmits(['success'])
+
+const drawerVisible = ref(false)
+const loading = ref(false)
+const isPrint = ref(false)
+const currentRow = ref({})
+
+const defaultForm = {
+  // 机构信息
+  partyAName: '',
+  partyAAddr: '',
+  partyAPhone: '',
+  partyAEmail: '',
+  partyAFax: '',
+  // 长者信息
+  elderName: '',
+  elderGender: '',
+  elderBirth: '',
+  elderIdCard: '',
+  elderNation: '',
+  elderEducation: '',
+  elderMarital: '',
+  elderPhone: '',
+  elderInsurance: '',
+  elderAddress: '',
+  elderNative: '',
+  medicalHistory: '',
+  allergyHistory: '',
+  livingHabit: '',
+  hobby: '',
+  // 家属信息
+  partyCName: '',
+  partyCIdCard: '',
+  partyCRelation: '',
+  partyCPhone: '',
+  partyCAddress: '',
+  emergencyContact2Name: '',
+  emergencyContact2Relation: '',
+  emergencyContact2Phone: '',
+  // 合同信息
+  contractNumber: '',
+  startDate: '',
+  endDate: '',
+  nurseLevelName: '',
+  roomNumber: '',
+  // 费用
+  bedFee: '',
+  nurseFee: '',
+  mealFee: '',
+  manageFee: '',
+  waterFee: '',
+  deposit: '',
+  lifeSavingDeposit: '',
+  deathDeposit: '',
+  // 签名
+  partyASign: '',
+  partyALegalSign: '',
+  partyASignDate: '',
+  partyBSign: '',
+  partyBSignDate: '',
+  partyCSign: '',
+  partyCSignDate: '',
+  // 上传附件
+  elderIdCardFiles: [],
+  guardianIdCardFiles: [],
+  checkReportFiles: [],
+  otherFiles: []
+}
+
+const contractForm = reactive({ ...defaultForm })
+
+const open = async (row = {}) => {
+  currentRow.value = row
+  Object.assign(contractForm, { ...defaultForm })
+  drawerVisible.value = true
+  isPrint.value = false
+  // 自动填充接口数据
+  if (row && row.id) {
+    loading.value = true
+    try {
+      const res = await getCheckInRecordId(row.id, row.status)
+      if (res) {
+        nextTick(() => {
+          // 长者信息
+          contractForm.elderName = res.elderlyContractDO?.elderName || res.elderName || ''
+          contractForm.elderIdCard = res.elderlyContractDO?.idCard || res.idCard || ''
+          contractForm.elderGender = res.elderlyContractDO?.gender || res.gender || ''
+          contractForm.elderBirth = res.elderlyContractDO?.birthDate || res.birthDate || ''
+          contractForm.elderPhone = res.elderlyContractDO?.phone || res.phone || ''
+          contractForm.elderAddress = res.elderlyContractDO?.address || res.address || ''
+          contractForm.nurseLevelName = res.nurseLevelName || res.elderlyContractDO?.nurseLevelName || ''
+          contractForm.contractNumber = res.elderlyContractDO?.contractNumber || ''
+          contractForm.startDate = res.checkInTime || (res.elderlyContractDO?.beginTime ? res.elderlyContractDO.beginTime : '')
+          contractForm.endDate = res.checkInDeadlineTime || (res.elderlyContractDO?.expireTime ? res.elderlyContractDO.expireTime : '')
+          contractForm.roomNumber = res.roomNumber || res.elderlyContractDO?.roomNumber || ''
+          contractForm.medicalHistory = res.medicalHistory || ''
+          contractForm.allergyHistory = res.allergyHistory || ''
+          // 费用
+          const monthly = res.monthlyExpenses || []
+          const oneTime = res.oneTimeExpenses || []
+          const findAmount = (list, name) => {
+            const item = list.find(i => (i.itemCategoryName || '').includes(name))
+            return item ? item.actualAmount : ''
+          }
+          contractForm.bedFee = findAmount(monthly, '床位')
+          contractForm.nurseFee = findAmount(monthly, '护理')
+          contractForm.mealFee = findAmount(monthly, '膳食')
+          contractForm.manageFee = findAmount(monthly, '管理')
+          contractForm.waterFee = findAmount(monthly, '水电')
+          contractForm.deposit = findAmount(oneTime, '押金')
+          // 亲属
+          const relative = (res.relativesList && res.relativesList[0]) || {}
+          contractForm.partyCName = relative.name || ''
+          contractForm.partyCIdCard = relative.idCard || ''
+          contractForm.partyCRelation = relative.relation || ''
+          contractForm.partyCPhone = relative.phone || ''
+          contractForm.partyCAddress = relative.address || ''
+          const relative2 = (res.relativesList && res.relativesList[1]) || {}
+          contractForm.emergencyContact2Name = relative2.name || ''
+          contractForm.emergencyContact2Relation = relative2.relation || ''
+          contractForm.emergencyContact2Phone = relative2.phone || ''
+        })
+      }
+    } catch (e) {
+      console.error(e)
+    } finally {
+      loading.value = false
+    }
+  }
+}
+
+const handlePrint = () => {
+  isPrint.value = true
+  nextTick(() => {
+    window.print()
+    setTimeout(() => {
+      isPrint.value = false
+    }, 500)
+  })
+}
+
+const handleSubmit = () => {
+  ElMessage.success('合同信息保存成功')
+  emit('success', contractForm)
+  drawerVisible.value = false
+}
+
+defineExpose({ open })
+</script>
+
+<style>
+/* ========== 工具栏 ========== */
+.contract-toolbar {
+  position: sticky;
+  top: 0;
+  z-index: 100;
+  background: #fff;
+  padding: 15px 20px;
+  border-bottom: 1px solid #e4e7ed;
+  display: flex;
+  gap: 10px;
+  align-items: center;
+}
+.toolbar-title {
+  margin-left: auto;
+  color: #606266;
+  font-size: 14px;
+}
+
+/* ========== A4 页面容器 ========== */
+.a4-page {
+  width: 210mm;
+  min-height: 297mm;
+  padding: 20mm 18mm 18mm 18mm;
+  margin: 20px auto;
+  background: #fff;
+  box-shadow: 0 2px 12px rgba(0,0,0,0.1);
+  box-sizing: border-box;
+  position: relative;
+  font-family: "Microsoft YaHei", "SimSun", serif;
+  color: #000;
+  line-height: 1.8;
+  page-break-after: always;
+}
+.a4-page:last-child {
+  page-break-after: auto;
+}
+.page-header {
+  position: absolute;
+  top: 8mm;
+  right: 15mm;
+  font-size: 11pt;
+  color: #666;
+}
+.page-content {
+  min-height: 260mm;
+}
+
+/* ========== 文档标题 ========== */
+.doc-title {
+  font-size: 18pt;
+  font-weight: bold;
+  text-align: center;
+  margin-bottom: 30px;
+  letter-spacing: 2px;
+}
+.contract-number {
+  text-align: right;
+  font-size: 11pt;
+  color: #333;
+  margin-bottom: 20px;
+}
+
+/* ========== 段落标题 ========== */
+.section-title {
+  font-size: 14pt;
+  font-weight: bold;
+  margin-top: 20px;
+  margin-bottom: 10px;
+}
+.section-title.center {
+  text-align: center;
+}
+.subsection-title {
+  font-size: 12pt;
+  font-weight: bold;
+  margin-top: 15px;
+  margin-bottom: 8px;
+}
+
+/* ========== 正文 ========== */
+.content-text {
+  font-size: 11pt;
+  text-indent: 2em;
+  margin-bottom: 8px;
+  line-height: 1.9;
+  text-align: justify;
+}
+.content-text.no-indent {
+  text-indent: 0;
+}
+
+/* ========== 信息表格 ========== */
+.info-table {
+  width: 100%;
+  border-collapse: collapse;
+  margin: 15px 0;
+  font-size: 11pt;
+}
+.info-table th,
+.info-table td {
+  border: 1px solid #000;
+  padding: 6px 10px;
+  text-align: left;
+  vertical-align: middle;
+}
+.info-table th {
+  background: #f5f5f5;
+  font-weight: bold;
+  width: 100px;
+  text-align: center;
+}
+.info-table td .el-input,
+.info-table td .el-date-editor {
+  width: 100%;
+}
+
+/* ========== 行内编辑块 ========== */
+.inline-edit-block {
+  display: inline-block;
+  min-width: 80px;
+  border-bottom: 1px solid #999;
+  padding: 0 5px;
+}
+
+/* ========== 签名区域 ========== */
+.sign-page {
+  padding-top: 50mm;
+}
+.sign-block {
+  margin-top: 40px;
+  padding-left: 30mm;
+}
+.sign-line {
+  margin-bottom: 25px;
+  font-size: 11pt;
+  text-indent: 0;
+}
+.sign-area {
+  margin: 15px 0;
+}
+
+/* ========== 上传区域 ========== */
+.upload-block {
+  margin: 15px 0;
+  padding: 15px;
+  border: 1px dashed #ccc;
+  min-height: 150px;
+}
+
+/* ========== 打印样式 ========== */
+@media print {
+  @page {
+    size: A4;
+    margin: 0;
+  }
+  body {
+    background: #fff;
+    margin: 0;
+    padding: 0;
+  }
+  .contract-toolbar {
+    display: none !important;
+  }
+  .el-drawer__header,
+  .el-drawer__body > :not(.a4-container),
+  .el-dialog__header,
+  .el-dialog__footer {
+    display: none !important;
+  }
+  .el-drawer {
+    position: static !important;
+    width: 100% !important;
+    height: auto !important;
+  }
+  .el-drawer__body {
+    overflow: visible !important;
+  }
+  .a4-container {
+    padding: 0 !important;
+  }
+  .a4-page {
+    display: block !important;
+    margin: 0 !important;
+    box-shadow: none !important;
+    page-break-after: always;
+    page-break-inside: avoid;
+    width: 210mm;
+    min-height: 297mm;
+  }
+  .a4-page:last-child {
+    page-break-after: auto;
+  }
+  .el-input__wrapper,
+  .el-textarea__inner,
+  .el-select__wrapper,
+  .el-date-editor {
+    background: transparent !important;
+    box-shadow: none !important;
+    border: none !important;
+  }
+  .el-input__inner {
+    color: #000 !important;
+  }
+  /* 隐藏上传按钮占位 */
+  .el-upload,
+  .el-upload-list {
+    display: none !important;
+  }
+}
+</style>

+ 25 - 0
src/views/elderly/apply/check-in/index.vue

@@ -107,6 +107,22 @@
         <el-button link type="primary" @click="openForm(scope)" v-hasPermi="['check-in:upload']">
           上传体检报告
         </el-button>
+<!--        <el-dropdown-->
+<!--          v-show="scope.inStatusType == 1 && (scope.bpmStatus == 1 || scope.bpmStatus == 5)"-->
+<!--          trigger="hover"-->
+<!--          @command="(cmd) => openContractForm(scope, cmd)"-->
+<!--        >-->
+<!--          <span class="el-dropdown-link" style="color:#409eff;cursor:pointer;">-->
+<!--            完善合同信息<el-icon class="el-icon&#45;&#45;arrowdown"><arrow-down /></el-icon>-->
+<!--          </span>-->
+<!--          <template #dropdown>-->
+<!--            <el-dropdown-menu>-->
+<!--              <el-dropdown-item command="edit">编辑模式</el-dropdown-item>-->
+<!--              <el-dropdown-item command="view">详情模式(可打印)</el-dropdown-item>-->
+<!--            </el-dropdown-menu>-->
+<!--          </template>-->
+<!--        </el-dropdown>-->
+
       </template>
       <template #next="{ scope }">
         <el-button
@@ -130,6 +146,7 @@
   </ContentWrap>
 
   <Form ref="formRef" @success="getList" />
+  <ContractForm ref="contractFormRef" @success="getList" />
   <Check ref="checkRef" @success="getList" />
   <ToLong ref="toLongRef" @success="getList" />
   <Import
@@ -151,7 +168,9 @@ import { getCheckInPage } from '@/api/elderly/apply/check-in'
 import { CheckInColumns } from '../column'
 import { cancelprocessInstance } from '@/api/elderly/common'
 import { useUserStore } from '@/store/modules/user'
+import { ArrowDown } from '@element-plus/icons-vue'
 import Form from './Form.vue'
+import ContractForm from './ContractForm.vue'
 import Check from './Check.vue'
 import ToLong from './ToLong.vue'
 
@@ -206,6 +225,12 @@ const openForm = (row: any = {}) => {
   formRef.value.open(row)
 }
 
+/** 完善合同信息 */
+const contractFormRef = ref()
+const openContractForm = (row: any = {}, mode: 'edit' | 'view' = 'edit') => {
+  contractFormRef.value.open(row, mode)
+}
+
 // 入住
 const checkRef = ref()
 const handleCheck = async (row: Object) => {

+ 70 - 0
src/views/elderly/apply/check-in/printContract.ts

@@ -0,0 +1,70 @@
+export function openContractPrint() {
+  const container = document.querySelector('.contract-container')
+  if (!container || !container.innerHTML.trim()) {
+    return { success: false, message: '合同内容尚未加载' }
+  }
+
+  const elderName = ''
+  try {
+    const match = container.innerHTML.match(/长者姓名[::][\s]*([^<\s]+)/)
+    if (match && match[1]) {
+      // 保留空
+    }
+  } catch (e) {}
+
+  const css = [
+    'html,body{margin:0;padding:0;background:#fff;font-family:"Microsoft YaHei","PingFang SC",sans-serif;}',
+    '.contract-container{width:100%;padding:0;background:#fff;}',
+    '.a4-page{width:100%;min-height:0;margin:0;padding:0;background:#fff;box-sizing:border-box;page-break-after:auto;break-after:auto;page-break-inside:auto;break-inside:auto;}',
+    '.a4-page:first-child{page-break-after:always;break-after:page;padding:15mm 10mm;}',
+    '.a4-page:last-child{page-break-after:auto;break-after:auto;}',
+    '.page-header{display:none !important;}',
+    '.page-no{display:none !important;}',
+    '.page-content{width:100%;}',
+    '.doc-title{font-size:22px;font-weight:bold;text-align:center;margin-bottom:14px;color:#333;}',
+    '.section-title{font-size:16px;font-weight:bold;margin:10px 0 6px;color:#333;}',
+    '.subsection-title{font-size:14px;font-weight:bold;margin:6px 0 4px;color:#333;}',
+    '.content-text{font-size:13px;line-height:1.6;text-indent:2em;margin:3px 0;color:#333;}',
+    '.cover-page .cover-fields{font-size:14px;line-height:1.8;}',
+    '.cover-page .cover-fields .label{display:inline-block;width:90px;color:#333;}',
+    '.cover-page .doc-title{margin-top:60px;font-size:28px;}',
+    '.cover-page .cover-org{text-align:center;margin-top:60px;font-size:18px;}',
+    '.info-table{width:100%;border-collapse:collapse;margin:6px 0;font-size:12px;}',
+    '.info-table th,.info-table td{border:1px solid #ddd;padding:4px 8px;text-align:left;line-height:1.5;}',
+    '.info-table th{background:#fafafa;font-weight:bold;white-space:nowrap;}',
+    '.sign-page .sign-block{margin-top:15px;}',
+    '.sign-page table{width:100%;border-collapse:collapse;margin:8px 0;}',
+    '.sign-page td,.sign-page th{border:1px solid #ccc;padding:6px 10px;font-size:13px;text-align:left;}',
+    '.field-label{display:inline-block;min-width:80px;color:#333;}',
+    '.fill{display:inline-block;min-width:60px;padding:0 2px;line-height:1.4;}',
+    '.label{display:inline-block;min-width:70px;color:#333;}',
+    '.sign-line{font-size:13px;line-height:1.6;margin:2px 0;}',
+    '.text-input{border:none;outline:none;background:transparent;color:#000;padding:0;display:inline;}',
+    '.attachment-title{font-size:18px;font-weight:bold;text-align:center;margin:10px 0 14px;}',
+    '.sub-title{font-size:15px;font-weight:bold;margin:8px 0 6px;color:#333;}',
+    'ul.attachment-list{padding-left:24px;font-size:13px;line-height:1.6;}',
+    '.note-box{border:1px solid #e0e0e0;padding:8px 12px;background:#fafafa;margin:6px 0;font-size:13px;line-height:1.6;}' +
+    '.contro-container,.e-sgin,.el-button{display:none !important;visibility:hidden !important;height:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;}' +
+    '@page{size:A4;margin:10mm 12mm;}'
+  ].join('')
+
+  const w = window.open('', '_blank', 'width=900,height=1100')
+  if (!w) {
+    return { success: false, message: '浏览器阻止了弹出窗口,请允许弹窗后重试' }
+  }
+
+  const doc = w.document
+  const contentHtml = container.innerHTML
+  const title = elderName ? '养老服务合同 - ' + elderName : '养老服务合同'
+  doc.open()
+  doc.write('<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8" /><title>')
+  doc.write(title)
+  doc.write('</title><style>')
+  doc.write(css)
+  doc.write('</style></head><body><div class="contract-container">')
+  doc.write(contentHtml)
+  doc.write('</div><script>window.onload=function(){setTimeout(function(){window.print()},300)}<\/script></body></html>')
+  doc.close()
+
+  return { success: true }
+}

+ 296 - 0
src/views/elderly/apply/check-in/接口返回值.txt

@@ -0,0 +1,296 @@
+{
+    "code": 0,
+    "data": {
+        "status": 2,
+        "processInstanceId": null,
+        "elderId": "14695",
+        "elderAge": 69,
+        "elderSex": 2,
+        "idCard": "440722195610152361",
+        "relativesList": [
+            {
+                "id": "2795749068470938830",
+                "peopleId": 14695,
+                "peopleName": "黄秋英",
+                "name": "黄莹",
+                "telephone": "",
+                "phone": "13556006292",
+                "relation": "女儿",
+                "workUnit": "",
+                "nowAddress": "广州市海珠区海联路158号902房 \t\t\t\t\t\t\t\t",
+                "address": "",
+                "isurgency": "1",
+                "gender": "2",
+                "papersType": "1",
+                "idCard": "44078119820415236X",
+                "status": "0",
+                "createDate": 1750404989000,
+                "remarks": null,
+                "isBillSender": false,
+                "tenantId": 198,
+                "elderlyInfo": null
+            },
+            {
+                "id": "2795749068470938831",
+                "peopleId": 14695,
+                "peopleName": "黄秋英",
+                "name": "罗嘉祥",
+                "telephone": "",
+                "phone": "13728029636",
+                "relation": "女婿",
+                "workUnit": "",
+                "nowAddress": "广州市海珠区海联路158号902房 \t\t\t\t\t\t\t\t",
+                "address": "",
+                "isurgency": "0",
+                "gender": "1",
+                "papersType": "1",
+                "idCard": "440105197305013330",
+                "status": "0",
+                "createDate": 1750404989000,
+                "remarks": null,
+                "isBillSender": false,
+                "tenantId": 198,
+                "elderlyInfo": null
+            }
+        ],
+        "elderlyContractDO": {
+            "id": 5098,
+            "elderId": 14695,
+            "contractNumber": "00109",
+            "elderName": "黄秋英",
+            "beginTime": 1780272000000,
+            "expireTime": 1811721600000,
+            "createdTime": 1781419683000,
+            "status": null,
+            "contractTerm": "12",
+            "details": null,
+            "times": null,
+            "inStatusType": "1"
+        },
+        "bedId": "7022",
+        "type": 9,
+        "contractJson": "",
+        "monthlyExpensesJson": "",
+        "oneTimeExpensesJson": "",
+        "stageExpensesJson": "",
+        "totalAmount": 14000,
+        "remark": null,
+        "monthlyExpenses": [
+            {
+                "id": 29891,
+                "expenseId": 7463,
+                "itemId": "1803357950676460541",
+                "itemCategoryId": 169,
+                "itemCategoryName": "基本费用-服务费",
+                "itemName": "服务费(全免)",
+                "amount": 0,
+                "actualAmount": 0,
+                "isDiscount": 0,
+                "discount": "",
+                "isMonthlyExpense": 1,
+                "isOneTimeFee": 0,
+                "isDeposit": 0,
+                "isFreeGift": 0,
+                "freeStartTime": null,
+                "freeEndTime": null,
+                "isHirePurchase": 0,
+                "hirePurchaseNumber": null,
+                "hirePurchaseAmount": null,
+                "count": 1,
+                "totalAmount": 0,
+                "type": null,
+                "discountAmount": 0,
+                "tenantId": 198,
+                "changeStartDate": [
+                    2026,
+                    6,
+                    1
+                ],
+                "changeEndDate": null,
+                "changeFlag": 0,
+                "createTime": 1752480614000,
+                "isDayCalculate": 0
+            },
+            {
+                "id": 29892,
+                "expenseId": 7463,
+                "itemId": "1803357950676460452",
+                "itemCategoryId": 166,
+                "itemCategoryName": "基本费用-床位费",
+                "itemName": "三人间(A区)",
+                "amount": 1200,
+                "actualAmount": 1200,
+                "isDiscount": 0,
+                "discount": null,
+                "isMonthlyExpense": 1,
+                "isOneTimeFee": 0,
+                "isDeposit": 0,
+                "isFreeGift": 0,
+                "freeStartTime": null,
+                "freeEndTime": null,
+                "isHirePurchase": 0,
+                "hirePurchaseNumber": null,
+                "hirePurchaseAmount": null,
+                "count": 1,
+                "totalAmount": 1200,
+                "type": 1,
+                "discountAmount": 0,
+                "tenantId": 198,
+                "changeStartDate": [
+                    2026,
+                    6,
+                    1
+                ],
+                "changeEndDate": null,
+                "changeFlag": 0,
+                "createTime": 1752480614000,
+                "isDayCalculate": 0
+            },
+            {
+                "id": 29893,
+                "expenseId": 7463,
+                "itemId": "1803357950676460412",
+                "itemCategoryId": 168,
+                "itemCategoryName": "基本费用-护理费",
+                "itemName": "一级A护理",
+                "amount": 1800,
+                "actualAmount": 1800,
+                "isDiscount": 0,
+                "discount": null,
+                "isMonthlyExpense": 1,
+                "isOneTimeFee": 0,
+                "isDeposit": 0,
+                "isFreeGift": 0,
+                "freeStartTime": null,
+                "freeEndTime": null,
+                "isHirePurchase": 0,
+                "hirePurchaseNumber": null,
+                "hirePurchaseAmount": null,
+                "count": 1,
+                "totalAmount": 1800,
+                "type": 2,
+                "discountAmount": 0,
+                "tenantId": 198,
+                "changeStartDate": [
+                    2026,
+                    6,
+                    1
+                ],
+                "changeEndDate": null,
+                "changeFlag": 0,
+                "createTime": 1752480614000,
+                "isDayCalculate": 0
+            },
+            {
+                "id": 29894,
+                "expenseId": 7463,
+                "itemId": "1803357950676460539",
+                "itemCategoryId": 167,
+                "itemCategoryName": "基本费用-膳食费",
+                "itemName": "普通餐费",
+                "amount": 1000,
+                "actualAmount": 1000,
+                "isDiscount": 0,
+                "discount": null,
+                "isMonthlyExpense": 1,
+                "isOneTimeFee": 0,
+                "isDeposit": 0,
+                "isFreeGift": 0,
+                "freeStartTime": null,
+                "freeEndTime": null,
+                "isHirePurchase": 0,
+                "hirePurchaseNumber": null,
+                "hirePurchaseAmount": null,
+                "count": 1,
+                "totalAmount": 1000,
+                "type": 3,
+                "discountAmount": 0,
+                "tenantId": 198,
+                "changeStartDate": [
+                    2026,
+                    6,
+                    1
+                ],
+                "changeEndDate": null,
+                "changeFlag": 0,
+                "createTime": 1752480614000,
+                "isDayCalculate": 0
+            }
+        ],
+        "oneTimeExpenses": [
+            {
+                "id": 29895,
+                "expenseId": 7463,
+                "itemId": "1803357950676460512",
+                "itemCategoryId": 182,
+                "itemCategoryName": "基本费用-押金",
+                "itemName": "预备金",
+                "amount": 10000,
+                "actualAmount": 10000,
+                "isDiscount": null,
+                "discount": "",
+                "isMonthlyExpense": null,
+                "isOneTimeFee": 1,
+                "isDeposit": 1,
+                "isFreeGift": null,
+                "freeStartTime": null,
+                "freeEndTime": null,
+                "isHirePurchase": null,
+                "hirePurchaseNumber": null,
+                "hirePurchaseAmount": null,
+                "count": 1,
+                "totalAmount": 10000,
+                "type": null,
+                "discountAmount": null,
+                "tenantId": null,
+                "changeStartDate": null,
+                "changeEndDate": null,
+                "changeFlag": null,
+                "createTime": null,
+                "isDayCalculate": 0
+            }
+        ],
+        "stageExpenses": [
+            {
+                "id": 29896,
+                "expenseId": 7463,
+                "itemId": "1803357950676460555",
+                "itemCategoryId": 191,
+                "itemCategoryName": "基本费用-日常费用",
+                "itemName": "洗衣服",
+                "amount": 100,
+                "actualAmount": 0,
+                "isDiscount": null,
+                "discount": "",
+                "isMonthlyExpense": null,
+                "isOneTimeFee": null,
+                "isDeposit": 0,
+                "isFreeGift": 1,
+                "freeStartTime": 1780272000000,
+                "freeEndTime": 1811721600000,
+                "isHirePurchase": 0,
+                "hirePurchaseNumber": null,
+                "hirePurchaseAmount": null,
+                "count": 1,
+                "totalAmount": 0,
+                "type": null,
+                "discountAmount": null,
+                "tenantId": 198,
+                "changeStartDate": null,
+                "changeEndDate": null,
+                "changeFlag": null,
+                "createTime": null,
+                "isDayCalculate": 0
+            }
+        ],
+        "checkInTime": "2026-06-01",
+        "checkInDeadlineTime": "2027-05-31",
+        "nurseLevelId": 32,
+        "nurseLevelName": "一级A护理",
+        "isPrivateRoom": 0,
+        "specialCareNotes": "",
+        "bpmStatus": 5,
+        "tenantId": 198
+    },
+    "msg": ""
+}

BIN
src/views/elderly/apply/check-in/颐年集团养老服务合同-2026年6月终版docx.pdf


+ 101 - 1
src/views/elderly/apply/nine-precautions/anti-entertainment/AddForm.vue

@@ -244,6 +244,7 @@ import { computed, ref, reactive } from 'vue'
 import dayjs from 'dayjs'
 import {
   entertainmentCreate, entertainmentGetById, entertainmentUpdate,
+  fallDownPage, wanderAwayPage, ngasrPage,
 } from "@/api/social-work";
 
 const message = useMessage()
@@ -265,13 +266,112 @@ let dataForm = ref({
   tenantId: undefined
 })
 
-const elderUp = (e: any) => {
+const elderUp = async (e: any) => {
   console.log(e)
   dataForm.value.elderName = e.elderName
   dataForm.value.elderId = e.id
   dataForm.value.elderSex = e.elderSex === 1 ? '男' : '女'
   dataForm.value.bedName = e.bedName || ''
   dataForm.value.elderAge = e.elderAge
+
+  // 新增模式下,自动查询长者的跌倒/走失/他伤自伤风险评估,并自动选中对应值
+  if (!isDetail.value && e.id) {
+    await loadElderRiskData(e.id)
+  }
+}
+
+// 从最新一条评估记录中解析 riskLevel
+const parseRiskLevel = (record: any): string => {
+  if (!record) return ''
+  // 优先取顶层 riskLevel
+  if (record.riskLevel) return record.riskLevel
+  // 其次尝试从 assessData 中解析
+  if (record.assessData) {
+    try {
+      const assessData = JSON.parse(record.assessData)
+      if (assessData.riskLevel) return assessData.riskLevel
+    } catch (err) {
+      // ignore
+    }
+  }
+  return ''
+}
+
+// 根据评估日期或创建时间获取最新一条记录
+const getLatestRecord = (list: any[]): any => {
+  if (!list || list.length === 0) return null
+  const sorted = [...list].sort((a, b) => {
+    const dateA = a.assessDate || a.createdAt || ''
+    const dateB = b.assessDate || b.createdAt || ''
+    return new Date(dateB).getTime() - new Date(dateA).getTime()
+  })
+  return sorted[0]
+}
+
+// 加载长者风险数据:跌倒风险、走失风险、他伤自伤风险
+const loadElderRiskData = async (elderId: string) => {
+  try {
+    const params = { pageNo: 1, pageSize: 100, elderId: elderId }
+
+    // 1. 查询跌倒风险评估
+    try {
+      const res = await fallDownPage(params)
+      if (res && res.list && res.list.length > 0) {
+        const latest = getLatestRecord(res.list)
+        const riskLevel = parseRiskLevel(latest)
+        if (riskLevel === 'high') {
+          form.assessment.scores[1] = 8
+        } else if (riskLevel === 'medium') {
+          form.assessment.scores[1] = 3
+        } else {
+          form.assessment.scores[1] = 0
+        }
+      }
+    } catch (err) {
+      console.error('获取跌倒风险评估失败', err)
+    }
+
+    // 2. 查询走失风险评估
+    try {
+      const res = await wanderAwayPage(params)
+      if (res && res.list && res.list.length > 0) {
+        const latest = getLatestRecord(res.list)
+        const riskLevel = parseRiskLevel(latest)
+        if (riskLevel === 'high') {
+          form.assessment.scores[2] = 8
+        } else if (riskLevel === 'medium') {
+          form.assessment.scores[2] = 3
+        } else {
+          form.assessment.scores[2] = 0
+        }
+      }
+    } catch (err) {
+      console.error('获取走失风险评估失败', err)
+    }
+
+    // 3. 查询他伤自伤风险评估(NGASR)
+    try {
+      const res = await ngasrPage(params)
+      if (res && res.list && res.list.length > 0) {
+        const latest = getLatestRecord(res.list)
+        const riskLevel = parseRiskLevel(latest)
+        if (riskLevel === 'high') {
+          form.assessment.scores[4] = 5
+        } else if (riskLevel === 'medium') {
+          form.assessment.scores[4] = 1
+        } else {
+          form.assessment.scores[4] = 0
+        }
+      }
+    } catch (err) {
+      console.error('获取他伤自伤风险评估失败', err)
+    }
+
+    // 重新计算总分和风险等级
+    calculateTotal()
+  } catch (e) {
+    console.error('获取风险数据失败', e)
+  }
 }
 
 // 表单数据

+ 69 - 3
src/views/elderly/apply/nine-precautions/risk-disclosure-statement/index.vue

@@ -199,12 +199,12 @@ import WanderAwayForm from '@/views/elderly/apply/nine-precautions/wander-away/A
 import CommitSuicideForm from '@/views/elderly/apply/nine-precautions/commit-suicide/AddForm.vue'
 import MMSEForm from '@/views/elderly/apply/nine-precautions/MMSE/AddForm.vue'
 import AttackForm from '@/views/elderly/apply/nine-precautions/attack/AddForm.vue'
-import CommunicationForm from '@/views/elderly/apply/nine-precautions/communication/AddForm.vue'
 import AntiEntertainmentForm from '@/views/elderly/apply/nine-precautions/anti-entertainment/AddForm.vue'
 import DailyLifeForm from '@/views/elderly/apply/nine-precautions/daily-life/AddForm.vue'
 import NutritionalRiskForm from '@/views/elderly/apply/nine-precautions/nutritional-risk/AddForm.vue'
-import {useUserStore} from "@/store/modules/user";
-import {formatToDateTime} from "@/utils/dateUtil";
+import { useUserStore } from "@/store/modules/user";
+import { formatToDateTime } from "@/utils/dateUtil";
+import { exportWithExpandedObjectArrays } from '@/utils/excel-export'
 const userStore = useUserStore()
 defineOptions({ name: 'RiskDisclosureStatement' })
 
@@ -339,6 +339,72 @@ const getRiskLevelText = (riskLevel: string) => {
   }
 }
 
+// 导出
+const handleExport = async () => {
+  try {
+    if (!list.value || (list.value as any[]).length <= 0) {
+      message.error('暂无数据可以导出!')
+      return
+    }
+
+    // 预处理数据:解析 riskData 中各风险字段并映射为中文
+    const exportList = (list.value as any[]).map((row, index) => {
+      const rd = row.riskData || {}
+      return {
+        index: index + 1,
+        elderName: row.elderName || '',
+        elderSex: getDictLabel(DICT_TYPE.SYSTEM_USER_SEX, row.elderSex) || '',
+        elderAge: row.elderAge ?? '',
+        bedName: row.bedName || '',
+        contractNumber: row.contractNumber || '',
+        nurseLevelName: row.nurseLevelName || '',
+        asphyxiationRisk: getRiskLevelText(rd.asphyxiation?.level || '-'),
+        pressureUlcerRisk: getRiskLevelText(rd.pressureUlcer?.level || '-'),
+        fallRisk: getRiskLevelText(rd.fall?.level || '-'),
+        bedFallRisk: getRiskLevelText(rd.bedFall?.level || '-'),
+        scaldRisk: getRiskLevelText(rd.scald?.level || '-'),
+        wanderingRisk: getRiskLevelText(rd.wandering?.level || '-'),
+        selfHarmRisk: getRiskLevelText(rd.selfHarm?.level || '-'),
+        foodDrugRisk: getRiskLevelText(rd.foodDrug?.level || '-'),
+        entertainmentRisk: getRiskLevelText(rd.entertainment?.level || '-'),
+        createTime: row.createTime ? formatToDateTime(row.createTime) : '',
+        creator: row.creator || ''
+      }
+    })
+
+    const headers = [
+      { key: 'index', title: '序号' },
+      { key: 'elderName', title: '长者姓名' },
+      { key: 'elderSex', title: '性别' },
+      { key: 'elderAge', title: '年龄' },
+      { key: 'bedName', title: '床号' },
+      { key: 'contractNumber', title: '合同号' },
+      { key: 'nurseLevelName', title: '护理级别' },
+      { key: 'asphyxiationRisk', title: '防噎食评估' },
+      { key: 'pressureUlcerRisk', title: '防压疮评估' },
+      { key: 'fallRisk', title: '防跌倒评估' },
+      { key: 'bedFallRisk', title: '防坠床评估' },
+      { key: 'scaldRisk', title: '防烫伤评估' },
+      { key: 'wanderingRisk', title: '防走失评估' },
+      { key: 'selfHarmRisk', title: '防自伤他伤评估' },
+      { key: 'foodDrugRisk', title: '防食品药品误食评估' },
+      { key: 'entertainmentRisk', title: '防文娱活动意外' },
+      { key: 'createTime', title: '记录时间' },
+      { key: 'creator', title: '记录人' }
+    ]
+
+    exportWithExpandedObjectArrays(
+      exportList,
+      headers,
+      `安全风险告知书${formatToDateTime()}.xlsx`,
+      '安全风险告知书'
+    )
+  } catch (error) {
+    console.error('导出失败:', error)
+    message.error('导出失败!')
+  }
+}
+
 /**
  * 根据风险等级获取按钮类型(颜色)
  * @param riskLevel 风险等级:none(无风险)、low(低风险)、medium(中风险)、high(高风险)

+ 16 - 22
src/views/elderly/elder/elder-file/Eight.vue

@@ -1,39 +1,33 @@
 <template>
   <el-row :gutter="20">
-    <el-col>
-      <el-form-item label="长者证件">
-        <SelectUpload v-model="elderFiles" :isDetail="true" />
-      </el-form-item>
-    </el-col>
-    <el-col>
-      <el-form-item label="托养人证件">
-        <SelectUpload v-model="custodianFiles" :isDetail="true" />
-      </el-form-item>
-    </el-col>
-    <el-col>
-      <el-form-item label="其他附件">
-        <SelectUpload v-model="otherFiles" :isDetail="true" />
+    <el-col :span="24">
+      <el-form-item label="">
+        <TableUpload v-model="mergedFiles" is-detail />
       </el-form-item>
     </el-col>
   </el-row>
 </template>
 <script setup lang="ts">
+import { fillFileListMetaInfo, type FileItem } from '@/components/UploadFile'
+
 const props = defineProps({
   dataForm: {
     type: Object,
-    default: () => {}
+    default: () => ({})
   }
 })
 
-const elderFiles = ref([])
-const custodianFiles = ref([])
-const otherFiles = ref([])
+const mergedFiles = ref<FileItem[]>([])
+
 watch(
   () => props.dataForm,
-  () => {
-    elderFiles.value = props.dataForm.elderFiles ? JSON.parse(props.dataForm.elderFiles) : []
-    custodianFiles.value = props.dataForm.custodianFiles ? JSON.parse(props.dataForm.custodianFiles) : []
-    otherFiles.value = props.dataForm.otherFiles ? JSON.parse(props.dataForm.otherFiles) : []
-  }
+  (form) => {
+    const elderFiles = form.elderFiles ? JSON.parse(form.elderFiles) : []
+    const custodianFiles = form.custodianFiles ? JSON.parse(form.custodianFiles) : []
+    const otherFiles = form.otherFiles ? JSON.parse(form.otherFiles) : []
+    mergedFiles.value = [...elderFiles, ...custodianFiles, ...otherFiles]
+    fillFileListMetaInfo(mergedFiles.value)
+  },
+  { immediate: true, deep: true }
 )
 </script>

+ 57 - 0
validate_contract.py

@@ -0,0 +1,57 @@
+import re
+
+path = r'd:\Users\chenjun\kyj-yanglao-web-new\src\views\elderly\apply\check-in\ContractForm.vue'
+with open(path, 'r', encoding='utf-8') as f:
+    content = f.read()
+
+# 检查 <template> 标签匹配
+template_open = content.count('<template>') + content.count('<template ')
+template_close = content.count('</template>')
+print(f"<template> open: {template_open}, close: {template_close}")
+
+# 检查 <div> 标签匹配
+div_open = len(re.findall(r'<div\b', content))
+div_close = content.count('</div>')
+print(f"<div> open: {div_open}, close: {div_close}")
+
+# 检查 <el-drawer> 标签匹配
+drawer_open = len(re.findall(r'<el-drawer\b', content))
+drawer_close = content.count('</el-drawer>')
+print(f"<el-drawer> open: {drawer_open}, close: {drawer_close}")
+
+# 检查 <script> 标签
+script_open = content.count('<script')
+script_close = content.count('</script>')
+print(f"<script> open: {script_open}, close: {script_close}")
+
+# 检查 <style> 标签
+style_open = content.count('<style')
+style_close = content.count('</style>')
+print(f"<style> open: {style_open}, close: {style_close}")
+
+# 检查有没有剩余的 {{ contractForm.xxx || '' }} 模式(没有被isTextMode包裹的)
+# 应该只有在template条件下的,其他应该都被包裹
+remaining_raw = []
+for m in re.finditer(r'([^>])\{{2}\s*contractForm\.(\w+)\s*\|\|\s*', content):
+    pos = m.start()
+    line = content[:pos].count('\n') + 1
+    remaining_raw.append((line, m.group(0)[:50]))
+
+print(f"\nRaw || patterns not wrapped (should be minimal): {len(remaining_raw)}")
+for line, snippet in remaining_raw[:10]:
+    print(f"  Line {line}: ...{snippet}...")
+
+# 检查附件是否还存在(关键词:附件1到附件9)
+attachments_found = []
+for m in re.finditer(r'附件[一二三四五六七八九十]', content):
+    pos = m.start()
+    line = content[:pos].count('\n') + 1
+    snippet = content[max(0, pos-20):pos+30]
+    attachments_found.append((line, snippet))
+
+print(f"\n附件 references found: {len(attachments_found)}")
+for line, snippet in attachments_found:
+    print(f"  Line {line}: {snippet.strip()}")
+
+print("\n=== Summary ===")
+print("File looks OK!" if (template_close > 0 and drawer_open == drawer_close and script_open == script_close and style_open == style_close) else "File has structural issues!")