@lm_fe/pages 0.1.201 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/README.md +1 -1
  2. package/dist/a_chunks/{.root5.js → components.doctor_end.ExemplaryCase.js} +36 -68
  3. package/dist/a_chunks/components.doctor_end.HeaderInfo.js +635 -0
  4. package/dist/a_chunks/curve.components.BmiCanvas.js +242 -0
  5. package/dist/a_chunks/curve.components.FetusCanvas.js +259 -0
  6. package/dist/a_chunks/curve.components.FetusCanvasNICHD.js +1907 -0
  7. package/dist/a_chunks/curve.components.Pregnogram.js +166 -0
  8. package/dist/a_chunks/data.js +572 -0
  9. package/dist/a_chunks/func.js +86 -0
  10. package/dist/a_chunks/index.js +1049 -286
  11. package/dist/a_chunks/modals.entries.BF_Form.js +41 -0
  12. package/dist/a_chunks/modals.entries.StupidTemplateModal2.js +22 -0
  13. package/dist/a_chunks/modals.entries.box.js +23 -0
  14. package/dist/a_chunks/{.root11.js → modals.entries.modal_form.js} +99 -70
  15. package/dist/a_chunks/modals.entries.modal_page.js +143 -0
  16. package/dist/a_chunks/{.root13.js → modals.entries.print_modal.js} +22 -48
  17. package/dist/a_chunks/modals.entries.result_template.js +201 -0
  18. package/dist/a_chunks/{.root14.js → modals.entries.template_modal3.js} +80 -124
  19. package/dist/a_chunks/modals.entries.test.js +30 -0
  20. package/dist/a_chunks/{.root16.js → modals.entries.text_search.js} +20 -49
  21. package/dist/a_chunks/{.root17.js → modals.entries./344/271/231/350/202/235/347/256/241/347/220/206.js} +17 -45
  22. package/dist/a_chunks/{.root18.js → modals.entries./345/255/220/347/227/253/345/211/215/346/234/237/351/243/216/351/231/251/350/257/204/344/274/260/350/241/250.js} +68 -93
  23. package/dist/a_chunks/modals.entries./346/213/223/345/261/225/351/207/217/350/241/250.js +257 -0
  24. package/dist/a_chunks/{.root19.js → modals.entries./346/242/205/346/257/222/347/256/241/347/220/206.js} +58 -90
  25. package/dist/a_chunks/{.root20.js → modals.entries./346/267/261/351/235/231/350/204/211/350/241/200/346/240/223/351/253/230/345/215/261/345/233/240/347/264/240/345/255/225/346/234/237/347/224/250/350/215/257/347/255/233/346/237/245/350/241/250.js} +144 -154
  26. package/dist/a_chunks/{.root21.js → modals.entries./347/230/242/347/227/225/345/255/220/345/256/253/351/230/264/351/201/223/350/257/225/344/272/247/350/241/250.js} +27 -48
  27. package/dist/a_chunks/{.root22.js → modals.entries./350/257/212/346/226/255/345/216/206/345/217/262.js} +9 -37
  28. package/dist/a_chunks/{.root23.js → modals.entries./351/242/204/350/255/246/346/217/220/351/206/222_/351/253/230/345/215/261/345/277/253/350/256/257.js} +127 -172
  29. package/dist/a_chunks/{.root24.js → modals.entries./351/253/230/345/215/261/345/233/240/347/264/240/347/256/241/347/220/206.js} +438 -336
  30. package/dist/a_chunks/modals.entries./351/253/230/345/215/261/351/232/217/350/256/277.js +102 -0
  31. package/dist/a_chunks/modals.entries./351/253/230/345/215/261/351/232/217/350/256/2772.js +157 -0
  32. package/dist/a_chunks/{.root8.js → src.block./346/243/200/351/252/214/346/243/200/346/237/245.js} +69 -208
  33. package/dist/a_chunks/{.root3.js → src.components.Base_List.js} +329 -320
  34. package/dist/a_chunks/src.components.Layout_Sider.js +101 -0
  35. package/dist/a_chunks/src.components.Layout_TabButton.js +69 -0
  36. package/dist/a_chunks/src.components.Login.js +151 -0
  37. package/dist/a_chunks/src.components.MenuSearch.js +106 -0
  38. package/dist/a_chunks/{.root7.js → src.components.QuickDocButton.js} +1 -2
  39. package/dist/a_chunks/src.pages.questionnaire.js +1633 -0
  40. package/dist/a_chunks/use_fetus.js +138 -0
  41. package/dist/a_chunks/utils.js +100 -0
  42. package/dist/a_chunks/utils2.js +36 -0
  43. package/dist/block//346/243/200/351/252/214/346/243/200/346/237/245/Inner.d.ts +1 -0
  44. package/dist/components/BF_Form/Wrap.d.ts +2 -2
  45. package/dist/components/BF_Form/index.d.ts +4 -2
  46. package/dist/components/BF_Form/types.d.ts +7 -0
  47. package/dist/components/BF_Form/use_table_config.d.ts +1 -5
  48. package/dist/components/Base_List/Helper.d.ts +0 -5
  49. package/dist/components/Base_List/_MyBaseList.d.ts +1 -0
  50. package/dist/components/Base_List/index.d.ts +2 -1
  51. package/dist/components/Base_List/types.d.ts +6 -3
  52. package/dist/components/Base_List/use_MyBaseList.d.ts +10 -0
  53. package/dist/components/Base_List/utils.d.ts +11 -0
  54. package/dist/components/HighRiskTableEntry/utils.d.ts +4 -3
  55. package/dist/components/IdNOButton/index copy.d.ts +1 -1
  56. package/dist/components/Layout_Sider/Inner.d.ts +2 -4
  57. package/dist/components/Layout_Sider/index.d.ts +2 -2
  58. package/dist/components/Layout_Sider/utils.d.ts +13 -0
  59. package/dist/components/Layout_TabButton/Inner.d.ts +2 -10
  60. package/dist/components/Layout_TabButton/index.d.ts +3 -8
  61. package/dist/components/Layout_TabButton/types.d.ts +8 -0
  62. package/dist/components/Login/Inner.d.ts +0 -1
  63. package/dist/components/Login/index.d.ts +2 -1
  64. package/dist/components/MenuSearch/Inner.d.ts +6 -0
  65. package/dist/components/MenuSearch/index.d.ts +2 -0
  66. package/dist/components/QuickDocButton/index.d.ts +5 -1
  67. package/dist/components/doctor_end/HeaderInfo/FuckTag.d.ts +6 -0
  68. package/dist/components/doctor_end/HeaderInfo/index.d.ts +1 -0
  69. package/dist/components/doctor_end/HeaderInfo/types.d.ts +1 -3
  70. package/dist/components/doctor_end/HeaderInfo/use_headinfo_color.d.ts +8 -0
  71. package/dist/components/exception/index.d.ts +1 -0
  72. package/dist/components/index.d.ts +1 -0
  73. package/dist/curve/components/BmiCanvas/index.d.ts +11 -0
  74. package/dist/curve/components/FetusCanvas/FetuGrowsEdit.d.ts +7 -0
  75. package/dist/curve/components/FetusCanvas/config.d.ts +3 -0
  76. package/dist/curve/components/FetusCanvas/index.d.ts +4 -0
  77. package/dist/curve/components/FetusCanvas/requestMethods.d.ts +7 -0
  78. package/dist/curve/components/FetusCanvas/use_fetus.d.ts +33 -0
  79. package/dist/curve/components/FetusCanvasNICHD/config.d.ts +3 -0
  80. package/dist/curve/components/FetusCanvasNICHD/data.d.ts +84 -0
  81. package/dist/curve/components/FetusCanvasNICHD/index.d.ts +4 -0
  82. package/dist/curve/components/Pregnogram/index.d.ts +11 -0
  83. package/dist/curve/components/api.d.ts +17 -0
  84. package/dist/curve/components-new/BmiCanvas/index.d.ts +23 -0
  85. package/dist/curve/components-new/FetusCanvas/config.d.ts +2 -0
  86. package/dist/curve/components-new/FetusCanvas/index.d.ts +19 -0
  87. package/dist/curve/components-new/FetusCanvas/requestMethods.d.ts +7 -0
  88. package/dist/curve/components-new/FetusCanvasNICHD/config.d.ts +2 -0
  89. package/dist/curve/components-new/FetusCanvasNICHD/data.d.ts +84 -0
  90. package/dist/curve/components-new/FetusCanvasNICHD/index.d.ts +21 -0
  91. package/dist/curve/components-new/Pregnogram/index.d.ts +13 -0
  92. package/dist/curve/data.d.ts +125 -0
  93. package/dist/curve/func.d.ts +12 -0
  94. package/dist/curve/func.test.d.ts +1 -0
  95. package/dist/curve/index.d.ts +7 -0
  96. package/dist/curve/intro-steps.d.ts +7 -0
  97. package/dist/curve/utils.d.ts +8 -0
  98. package/dist/form_config/conceiveMode.d.ts +2 -0
  99. package/dist/form_config/index.d.ts +4 -0
  100. package/dist/form_config/mlUltrasounds.d.ts +2 -0
  101. package/dist/form_config/not_yes_input.d.ts +4 -0
  102. package/dist/form_config/pressure.d.ts +4 -0
  103. package/dist/hooks/index.d.ts +1 -0
  104. package/dist/hooks/use_duck_form.d.ts +18 -0
  105. package/dist/index.d.ts +2 -0
  106. package/dist/index.js +8 -33
  107. package/dist/modals/entries/StupidTemplateModal2/index copy.d.ts +22 -0
  108. package/dist/modals/entries/StupidTemplateModal2/index.d.ts +1 -2
  109. package/dist/modals/entries/StupidTemplateModal2/methods/index.d.ts +7 -1
  110. package/dist/modals/entries/box/index.d.ts +6 -0
  111. package/dist/modals/entries/modal_form/index.d.ts +1 -1
  112. package/dist/modals/entries/result_template/index.d.ts +24 -0
  113. package/dist/modals/entries/template_modal3/components/TemplateSelect.d.ts +2 -1
  114. package/dist/modals/entries/template_modal3/index copy 2.d.ts +1 -1
  115. package/dist/modals/entries/template_modal3/index.d.ts +6 -3
  116. package/dist/modals/entries/text_search/index.d.ts +1 -1
  117. package/dist/modals/entries//344/271/231/350/202/235/347/256/241/347/220/206/index.d.ts +1 -1
  118. package/dist/modals/entries//345/255/220/347/227/253/345/211/215/346/234/237/351/243/216/351/231/251/350/257/204/344/274/260/350/241/250/utils.d.ts +5 -0
  119. package/dist/modals/entries//346/213/223/345/261/225/351/207/217/350/241/250/History.d.ts +10 -0
  120. package/dist/modals/entries//346/213/223/345/261/225/351/207/217/350/241/250/index.d.ts +9 -0
  121. package/dist/modals/entries//346/267/261/351/235/231/350/204/211/350/241/200/346/240/223/351/253/230/345/215/261/345/233/240/347/264/240/345/255/225/346/234/237/347/224/250/350/215/257/347/255/233/346/237/245/350/241/250/2015RCOG/351/231/215/344/275/216/345/246/212/345/250/240/345/217/212/344/272/247/350/244/245/346/234/237/351/235/231/350/204/211/350/241/200/346/240/223/346/240/223/345/241/236/347/232/204/351/243/216/351/231/251_/345/271/277/344/270/211/ThrombusGysy.d.ts +2 -7
  122. package/dist/modals/entries//346/267/261/351/235/231/350/204/211/350/241/200/346/240/223/351/253/230/345/215/261/345/233/240/347/264/240/345/255/225/346/234/237/347/224/250/350/215/257/347/255/233/346/237/245/350/241/250/2015RCOG/351/231/215/344/275/216/345/246/212/345/250/240/345/217/212/344/272/247/350/244/245/346/234/237/351/235/231/350/204/211/350/241/200/346/240/223/346/240/223/345/241/236/347/232/204/351/243/216/351/231/251_/345/271/277/344/270/211/config.d.ts +2 -1
  123. package/dist/modals/entries//346/267/261/351/235/231/350/204/211/350/241/200/346/240/223/351/253/230/345/215/261/345/233/240/347/264/240/345/255/225/346/234/237/347/224/250/350/215/257/347/255/233/346/237/245/350/241/250/Default/ThrombusDefault.d.ts +2 -7
  124. package/dist/modals/entries//346/267/261/351/235/231/350/204/211/350/241/200/346/240/223/351/253/230/345/215/261/345/233/240/347/264/240/345/255/225/346/234/237/347/224/250/350/215/257/347/255/233/346/237/245/350/241/250/index.d.ts +2 -2
  125. package/dist/modals/entries//346/267/261/351/235/231/350/204/211/350/241/200/346/240/223/351/253/230/345/215/261/345/233/240/347/264/240/345/255/225/346/234/237/347/224/250/350/215/257/347/255/233/346/237/245/350/241/250/types.d.ts +3 -3
  126. package/dist/modals/entries//347/230/242/347/227/225/345/255/220/345/256/253/351/230/264/351/201/223/350/257/225/344/272/247/350/241/250/index.d.ts +2 -2
  127. package/dist/modals/entries//351/253/230/345/215/261/345/233/240/347/264/240/347/256/241/347/220/206/HighriskSign.d.ts +4 -5
  128. package/dist/modals/entries//351/253/230/345/215/261/345/233/240/347/264/240/347/256/241/347/220/206/HighriskTimeline.d.ts +1 -1
  129. package/dist/modals/entries//351/253/230/345/215/261/345/233/240/347/264/240/347/256/241/347/220/206/Tag.d.ts +12 -0
  130. package/dist/modals/entries//351/253/230/345/215/261/345/233/240/347/264/240/347/256/241/347/220/206/utils.d.ts +8 -0
  131. package/dist/modals/entries//351/253/230/345/215/261/351/232/217/350/256/277/form_config.d.ts +4 -2
  132. package/dist/modals/index.d.ts +4 -1
  133. package/dist/modals/meta.d.ts +4 -1
  134. package/dist/pages/doc_record/index.d.ts +1 -1
  135. package/dist/pages/index.d.ts +1 -0
  136. package/dist/pages/questionnaire/Inner.d.ts +4 -0
  137. package/dist/pages/questionnaire/Qn.d.ts +3 -0
  138. package/dist/pages/questionnaire/SelectButton.d.ts +4 -0
  139. package/dist/pages/questionnaire/create/Step2Right.d.ts +11 -0
  140. package/dist/pages/questionnaire/create/common.d.ts +46 -0
  141. package/dist/pages/questionnaire/create/fakeData.d.ts +6 -0
  142. package/dist/pages/questionnaire/create/question-item.d.ts +14 -0
  143. package/dist/pages/questionnaire/create/step1.d.ts +12 -0
  144. package/dist/pages/questionnaire/create/step2.d.ts +10 -0
  145. package/dist/pages/questionnaire/create/step3.d.ts +8 -0
  146. package/dist/pages/questionnaire/create/step4.d.ts +8 -0
  147. package/dist/pages/questionnaire/index.d.ts +3 -0
  148. package/dist/pages/questionnaire/types.d.ts +10 -0
  149. package/dist/utils/helper.d.ts +5 -0
  150. package/dist/utils/index.d.ts +2 -1
  151. package/package.json +34 -16
  152. package/dist/a_chunks/.root.js +0 -245
  153. package/dist/a_chunks/.root.js.map +0 -1
  154. package/dist/a_chunks/.root10.js +0 -474
  155. package/dist/a_chunks/.root10.js.map +0 -1
  156. package/dist/a_chunks/.root11.js.map +0 -1
  157. package/dist/a_chunks/.root12.js +0 -200
  158. package/dist/a_chunks/.root12.js.map +0 -1
  159. package/dist/a_chunks/.root13.js.map +0 -1
  160. package/dist/a_chunks/.root14.js.map +0 -1
  161. package/dist/a_chunks/.root15.js +0 -58
  162. package/dist/a_chunks/.root15.js.map +0 -1
  163. package/dist/a_chunks/.root16.js.map +0 -1
  164. package/dist/a_chunks/.root17.js.map +0 -1
  165. package/dist/a_chunks/.root18.js.map +0 -1
  166. package/dist/a_chunks/.root19.js.map +0 -1
  167. package/dist/a_chunks/.root2.js +0 -76
  168. package/dist/a_chunks/.root2.js.map +0 -1
  169. package/dist/a_chunks/.root20.js.map +0 -1
  170. package/dist/a_chunks/.root21.js.map +0 -1
  171. package/dist/a_chunks/.root22.js.map +0 -1
  172. package/dist/a_chunks/.root23.js.map +0 -1
  173. package/dist/a_chunks/.root24.js.map +0 -1
  174. package/dist/a_chunks/.root25.js +0 -281
  175. package/dist/a_chunks/.root25.js.map +0 -1
  176. package/dist/a_chunks/.root3.js.map +0 -1
  177. package/dist/a_chunks/.root4.js +0 -629
  178. package/dist/a_chunks/.root4.js.map +0 -1
  179. package/dist/a_chunks/.root5.js.map +0 -1
  180. package/dist/a_chunks/.root6.js +0 -164
  181. package/dist/a_chunks/.root6.js.map +0 -1
  182. package/dist/a_chunks/.root7.js.map +0 -1
  183. package/dist/a_chunks/.root8.js.map +0 -1
  184. package/dist/a_chunks/.root9.js +0 -69
  185. package/dist/a_chunks/.root9.js.map +0 -1
  186. package/dist/a_chunks/extends.js +0 -11
  187. package/dist/a_chunks/extends.js.map +0 -1
  188. package/dist/a_chunks/index.js.map +0 -1
  189. package/dist/components/BF_Form/use_table_config copy.d.ts +0 -13
  190. package/dist/index.js.map +0 -1
  191. package/dist/modals/entries//351/253/230/345/215/261/345/233/240/347/264/240/347/256/241/347/220/206/index copy.d.ts" +0 -12
@@ -0,0 +1,242 @@
1
+ import { s as styleInject, b as __awaiter, c as __generator, g as curve_api } from './index.js';
2
+ import { MyIcon } from '@lm_fe/components';
3
+ import { use_provoke } from '@lm_fe/provoke';
4
+ import { Radio, Button } from 'antd';
5
+ import { get, cloneDeep, forEach } from 'lodash';
6
+ import React, { useRef, useEffect } from 'react';
7
+ import ReactToPrint from 'react-to-print';
8
+ import { g as get_line_color, a as get_text_color, p as printCanvas, j as judgeAreas, b as get_fetus_color, c as get_abnormal_color, d as get_canvas_el, e as draw_info, s as setVerRules, f as setHorRules } from './func.js';
9
+ import { b as bmiData1, a as bmiData2, c as bmiData3, d as bmiData4 } from './data.js';
10
+ import '@lm_fe/utils';
11
+ import 'classnames';
12
+ import '@lm_fe/components_m';
13
+ import '@lm_fe/env';
14
+ import '@lm_fe/service';
15
+ var css_248z = ".bmi-wrapper {\n width: 700px;\n position: relative;\n}\n.bmi-wrapper .bmi-radio {\n position: absolute;\n top: 16px;\n left: 45px;\n}\n.bmi-wrapper .print-btn {\n position: absolute;\n top: 102px;\n right: 52px;\n}\n";
16
+ styleInject(css_248z);
17
+ var recordOptions = [{
18
+ label: '全部',
19
+ value: 0
20
+ }, {
21
+ label: '产检记录',
22
+ value: 1
23
+ }, {
24
+ label: '居家记录',
25
+ value: 2
26
+ }];
27
+ function BmiCanvas(props) {
28
+ var _a;
29
+ var _b = use_provoke('sys_theme', 'config'),
30
+ sys_theme = _b.sys_theme,
31
+ config = _b.config;
32
+ var headerInfo = props.headerInfo,
33
+ id = props.id;
34
+ props.isAllPregnancies;
35
+ var line_color = get_line_color(sys_theme);
36
+ var font_color = get_text_color(sys_theme);
37
+ get(headerInfo, "id") || id;
38
+ var imageRef = useRef();
39
+ var bmi_Data = useRef(bmiData1);
40
+ var bmiNum = useRef('');
41
+ var bmiTz = useRef('');
42
+ var bmiList = useRef([]);
43
+ var resdata = useRef({});
44
+ var default_type = (_a = config.医生端_BMI曲线类型) !== null && _a !== void 0 ? _a : 0;
45
+ useEffect(function () {
46
+ getResData().then(function () {
47
+ ste_data_and_draw(default_type);
48
+ });
49
+ }, []);
50
+ function getResData() {
51
+ return __awaiter(this, void 0, void 0, function () {
52
+ var pregnancyId, res0, res1, res2;
53
+ return __generator(this, function (_a) {
54
+ switch (_a.label) {
55
+ case 0:
56
+ pregnancyId = get(headerInfo, 'id') || id;
57
+ return [4, curve_api.curve.getBmi(pregnancyId, 0)];
58
+ case 1:
59
+ res0 = _a.sent();
60
+ return [4, curve_api.curve.getBmi(pregnancyId, 1)];
61
+ case 2:
62
+ res1 = _a.sent();
63
+ return [4, curve_api.curve.getBmi(pregnancyId, 2)];
64
+ case 3:
65
+ res2 = _a.sent();
66
+ resdata.current = {
67
+ 0: res0,
68
+ 1: res1,
69
+ 2: res2
70
+ };
71
+ return [2];
72
+ }
73
+ });
74
+ });
75
+ }
76
+ function ste_data_and_draw(type) {
77
+ return __awaiter(this, void 0, void 0, function () {
78
+ var res;
79
+ return __generator(this, function (_a) {
80
+ res = get(resdata.current, "".concat(type));
81
+ if (get(res, 'preBmi') < 18.5) {
82
+ bmi_Data.current = bmiData1;
83
+ } else if (get(res, 'preBmi') < 25) {
84
+ bmi_Data.current = bmiData2;
85
+ } else if (get(res, 'preBmi') < 30) {
86
+ bmi_Data.current = bmiData3;
87
+ } else if (get(res, 'preBmi') >= 30) {
88
+ bmi_Data.current = bmiData4;
89
+ }
90
+ bmiNum.current = get(res, 'preBmi');
91
+ bmiTz.current = get(res, 'weight');
92
+ bmiList.current = get(res, 'items');
93
+ drawBmiCanvas();
94
+ return [2];
95
+ });
96
+ });
97
+ }
98
+ function handleRadioChange(e) {
99
+ ste_data_and_draw(e.target.value);
100
+ }
101
+ function drawScaleLine(canvas, ctx, oringin, steps, data, point, color, shape, lineWidth) {
102
+ for (var i = 0; i < data.length; i++) {
103
+ ctx.beginPath();
104
+ ctx.setLineDash(shape);
105
+ ctx.lineWidth = lineWidth;
106
+ if (i < data.length - 1) {
107
+ ctx.moveTo(oringin[0] + steps[0] * data[i].x, oringin[1] - steps[1] * data[i].y);
108
+ ctx.lineTo(oringin[0] + steps[0] * data[i + 1].x, oringin[1] - steps[1] * data[i + 1].y);
109
+ }
110
+ ctx.strokeStyle = color;
111
+ ctx.stroke();
112
+ if (point[0]) {
113
+ ctx.beginPath();
114
+ ctx.setLineDash([]);
115
+ ctx.arc(oringin[0] + steps[0] * data[i].x, oringin[1] - steps[1] * data[i].y, 3, 0, 2 * Math.PI);
116
+ ctx.fillStyle = point[1];
117
+ ctx.fill();
118
+ }
119
+ }
120
+ }
121
+ function setVertical(context, xCount, yCount, xStep, yStep, baseLeft, baseTop) {
122
+ context.strokeStyle = line_color;
123
+ for (var i = 0; i < xCount; i++) {
124
+ context.beginPath();
125
+ context.lineWidth = 1;
126
+ context.moveTo(baseLeft, baseTop + xStep * i);
127
+ context.lineTo(baseLeft + (yCount - 1) * yStep, baseTop + xStep * i);
128
+ context.textBaseline = 'middle';
129
+ context.fillStyle = font_color;
130
+ context.font = 'bold 12px consolas';
131
+ context.fillText(i * 2 + -8, baseLeft - 20, (xCount - 1) * xStep + baseTop - i * xStep);
132
+ context.stroke();
133
+ }
134
+ context.font = 'bold 12px normal';
135
+ context.fillText('体重增长(kg)', baseLeft - 20, baseTop - 20);
136
+ }
137
+ function setHorizontal(context, xCount, yCount, xStep, yStep, baseLeft, baseTop) {
138
+ var count = 0;
139
+ for (var i = 0; i < yCount; i++) {
140
+ count++;
141
+ context.beginPath();
142
+ context.lineWidth = 1;
143
+ context.moveTo(yStep * i + baseLeft, baseTop);
144
+ context.lineTo(yStep * i + baseLeft, baseTop + xStep * (xCount - 1));
145
+ context.textAlign = 'center';
146
+ context.fillStyle = font_color;
147
+ context.font = 'bold 12px consolas';
148
+ if (count === 1 || count === 4) {
149
+ count = count === 4 ? 1 : count;
150
+ context.fillText(i + 1, baseLeft + i * yStep, xStep * xCount + baseTop - 15);
151
+ }
152
+ context.stroke();
153
+ }
154
+ context.font = 'bold 12px normal';
155
+ context.fillText('孕周(周)', yStep * yCount + baseLeft + 15, (xCount - 1) * xStep + baseTop);
156
+ }
157
+ function drawBmiCanvas() {
158
+ var _a = bmi_Data.current,
159
+ bmiBottomLine = _a.bmiBottomLine,
160
+ bmiIntro = _a.bmiIntro,
161
+ bmiLinesPoints = _a.bmiLinesPoints,
162
+ bmiTopLine = _a.bmiTopLine;
163
+ var newBmiList = cloneDeep(bmiList.current);
164
+ newBmiList.map(function (item) {
165
+ if (!item.weight || !item.week) {
166
+ item.weight = 0;
167
+ item.week = -1;
168
+ } else {
169
+ item.weight = item.weight - Number(bmiTz.current);
170
+ if (item.week.indexOf('+') !== -1) {
171
+ var arr = item.week.split('+');
172
+ item.week = Number(arr[0]) + Number(arr[1]) / 7;
173
+ }
174
+ item.week = item.week - 1;
175
+ }
176
+ });
177
+ newBmiList = newBmiList.filter(function (i) {
178
+ return i.week >= 0 && i.week <= 39 && i.weight >= -8 && i.weight <= 24;
179
+ });
180
+ newBmiList.length > 0 && newBmiList.map(function (item) {
181
+ item.x = item.week;
182
+ item.y = item.weight;
183
+ });
184
+ var unusualColor = newBmiList.length > 0 && judgeAreas(newBmiList[newBmiList.length - 1], bmiLinesPoints) ? get_fetus_color(sys_theme, 0) : get_abnormal_color(sys_theme);
185
+ var canvas = get_canvas_el('bmi-canvas', sys_theme);
186
+ var context = canvas.getContext('2d');
187
+ canvas.width = 700;
188
+ canvas.height = 710;
189
+ var baseLeft = 60;
190
+ var baseTop = 190;
191
+ var xStep = 30;
192
+ var yStep = 15;
193
+ var xCount = 17;
194
+ var yCount = 40;
195
+ context.fillStyle = font_color;
196
+ context.font = 'bold 16px normal';
197
+ context.textAlign = 'center';
198
+ context.fillText("".concat(draw_info(headerInfo)), canvas.width / 2, baseTop - 120);
199
+ context.fillText('BMI孕期体重管理曲线', canvas.width / 2, baseTop - 80);
200
+ context.fillStyle = '#52aaff';
201
+ context.font = 'normal 12px normal';
202
+ context.fillText("\u5B55\u524DBMI: ".concat(bmiNum.current, " kg/\u33A1"), canvas.width / 2, baseTop - 50);
203
+ context.fillText(bmiIntro, canvas.width / 2, baseTop - 30);
204
+ context.fillStyle = font_color;
205
+ setVertical(context, xCount, yCount, xStep, yStep, baseLeft, baseTop);
206
+ setHorizontal(context, xCount, yCount, xStep, yStep, baseLeft, baseTop);
207
+ setVerRules(context, [baseLeft, baseTop + (xCount - 1) * xStep], (yCount - 1) * yStep, line_color, 1, yStep, 5);
208
+ setHorRules(context, [baseLeft, baseTop + (xCount - 1) * xStep], (xCount - 1) * xStep, line_color, 1, xStep, 5);
209
+ var endLineArr = [bmiBottomLine, bmiTopLine];
210
+ forEach(endLineArr, function (line) {
211
+ drawScaleLine(canvas, context, [baseLeft, baseTop + (xCount - 5) * xStep], [yStep, xStep / 2], line, [true, '#787878'], '#787878', [8], 2);
212
+ });
213
+ drawScaleLine(canvas, context, [baseLeft, baseTop + (xCount - 5) * xStep], [yStep, xStep / 2], newBmiList, [true, unusualColor], unusualColor, [], 2);
214
+ imageRef.current = canvas === null || canvas === void 0 ? void 0 : canvas.toDataURL('image/jpg');
215
+ props.onLoad && props.onLoad();
216
+ }
217
+ return /*#__PURE__*/React.createElement("div", {
218
+ className: "bmi-wrapper"
219
+ }, /*#__PURE__*/React.createElement(Radio.Group, {
220
+ className: "bmi-radio",
221
+ options: recordOptions,
222
+ defaultValue: default_type,
223
+ onChange: handleRadioChange
224
+ }), !get(props, 'hidePrintBtn') && (/*#__PURE__*/React.createElement(ReactToPrint, {
225
+ trigger: function trigger() {
226
+ return /*#__PURE__*/React.createElement(Button, {
227
+ type: "primary",
228
+ size: "small",
229
+ className: "print-btn"
230
+ }, /*#__PURE__*/React.createElement(MyIcon, {
231
+ value: 'PrinterOutlined'
232
+ }), " \u6253\u5370");
233
+ },
234
+ content: function content() {
235
+ return printCanvas('bmi-canvas');
236
+ }
237
+ })), /*#__PURE__*/React.createElement("canvas", {
238
+ id: "bmi-canvas",
239
+ className: "bmi-canvas"
240
+ }, "\u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301canvas\uFF0C\u8BF7\u66F4\u6362\u6D4F\u89C8\u5668."));
241
+ }
242
+ export { BmiCanvas as default };
@@ -0,0 +1,259 @@
1
+ import { MyIcon } from '@lm_fe/components';
2
+ import { Space, Button, Modal } from 'antd';
3
+ import { get, forEach, set } from 'lodash';
4
+ import React, { useEffect } from 'react';
5
+ import ReactToPrint from 'react-to-print';
6
+ import { d as get_canvas_el, e as draw_info, s as setVerRules, f as setHorRules, p as printCanvas, j as judgeAreas, b as get_fetus_color, c as get_abnormal_color } from './func.js';
7
+ import { e as bpdData, f as flData, g as acData } from './data.js';
8
+ import { u as use_fetus, F as FetuGrowsEdit } from './use_fetus.js';
9
+ import { s as styleInject } from './index.js';
10
+ import '@lm_fe/components_m';
11
+ import '@lm_fe/env';
12
+ import '@lm_fe/service';
13
+ import '@lm_fe/utils';
14
+ import '@lm_fe/provoke';
15
+ import 'classnames';
16
+ var css_248z = ".fetus-wrapper {\n width: 660px;\n position: relative;\n}\n.fetus-wrapper .btn-wrapper {\n position: absolute;\n top: 80px;\n right: 50px;\n}\n.point-modal {\n width: 360px !important;\n}\n.point-modal .info-item {\n margin-right: 18px;\n}\n.point-modal .ant-modal-close-x {\n line-height: 40px;\n}\n.table-modal {\n width: 1000px !important;\n}\n.table-modal .ant-modal-body {\n padding: 0;\n}\n";
17
+ styleInject(css_248z);
18
+ function FetusCanvas(props) {
19
+ var headerInfo = props.headerInfo;
20
+ props.id;
21
+ var isAllPregnancies = props.isAllPregnancies;
22
+ var _a = use_fetus(props),
23
+ sys_theme = _a.sys_theme,
24
+ line_color = _a.line_color,
25
+ font_color = _a.font_color,
26
+ imageRef = _a.imageRef,
27
+ pointData = _a.pointData,
28
+ isShowPointModal = _a.isShowPointModal,
29
+ set_isShowPointModal = _a.set_isShowPointModal,
30
+ getFetusData = _a.getFetusData,
31
+ formData = _a.formData;
32
+ useEffect(function () {
33
+ if (formData) drawFetusCanvas();
34
+ return function () {};
35
+ }, [formData]);
36
+ function drawScaleLine(canvas, ctx, oringin, steps, data, point, color, shape, lineWidth) {
37
+ var _loop_1 = function _loop_1(i) {
38
+ ctx.beginPath();
39
+ ctx.setLineDash(shape);
40
+ ctx.lineWidth = lineWidth;
41
+ if (i < data.length - 1) {
42
+ ctx.moveTo(oringin[0] + steps[0] * data[i].x, oringin[1] - steps[1] * data[i].y);
43
+ ctx.lineTo(oringin[0] + steps[0] * data[i + 1].x, oringin[1] - steps[1] * data[i + 1].y);
44
+ }
45
+ ctx.strokeStyle = color;
46
+ ctx.stroke();
47
+ if (point[0]) {
48
+ ctx.beginPath();
49
+ ctx.setLineDash([]);
50
+ ctx.arc(oringin[0] + steps[0] * data[i].x, oringin[1] - steps[1] * data[i].y, 3, 0, 2 * Math.PI);
51
+ point[1] && (ctx.fillStyle = point[1]);
52
+ ctx.fill();
53
+ var that_1 = this_1;
54
+ canvas && canvas.addEventListener('click', function (e) {
55
+ var X = oringin[0] + steps[0] * data[i].x;
56
+ var Y = oringin[1] - steps[1] * data[i].y;
57
+ var obj = {
58
+ x: X,
59
+ y: Y,
60
+ r: 5
61
+ };
62
+ var x = e.pageX - canvas.getBoundingClientRect().left;
63
+ var y = e.pageY - canvas.getBoundingClientRect().top;
64
+ if (x > obj.x - obj.r && x < obj.x + obj.r && y > obj.y - obj.r && y < obj.y + obj.r) {
65
+ var obj_1 = {
66
+ x: data[i].gestationalWeek,
67
+ y: data[i].value,
68
+ line: point[2],
69
+ fetus: data[i].sort,
70
+ style: {
71
+ position: 'fixed',
72
+ top: e.pageY,
73
+ left: e.pageX
74
+ }
75
+ };
76
+ that_1.setState({
77
+ pointData: obj_1,
78
+ isShowPointModal: true
79
+ });
80
+ }
81
+ }, false);
82
+ }
83
+ };
84
+ var this_1 = this;
85
+ for (var i = 0; i < data.length; i++) {
86
+ _loop_1(i);
87
+ }
88
+ }
89
+ function setVertical(context, xCount, yCount, xStep, yStep, baseLeft, baseTop) {
90
+ context.strokeStyle = line_color;
91
+ for (var i = 0; i < xCount; i++) {
92
+ context.beginPath();
93
+ context.lineWidth = 1;
94
+ context.moveTo(baseLeft, baseTop + xStep * i);
95
+ context.lineTo(baseLeft + (yCount - 1) * yStep, baseTop + xStep * i);
96
+ context.textBaseline = 'middle';
97
+ context.fillStyle = font_color;
98
+ context.font = 'bold 12px normal';
99
+ if (i * 2 % 10 === 0) {
100
+ context.lineWidth = 2;
101
+ context.fillText(i * 2, baseLeft - 20, (xCount - 1) * xStep + baseTop - i * xStep);
102
+ }
103
+ context.stroke();
104
+ }
105
+ }
106
+ function setHorizontal(context, xCount, yCount, xStep, yStep, baseLeft, baseTop) {
107
+ for (var i = 0; i < yCount; i++) {
108
+ context.beginPath();
109
+ context.lineWidth = 1;
110
+ context.moveTo(yStep * i + baseLeft, baseTop);
111
+ context.lineTo(yStep * i + baseLeft, baseTop + xStep * (xCount - 1));
112
+ context.textAlign = 'center';
113
+ context.fillStyle = font_color;
114
+ context.font = 'bold 12px normal';
115
+ if (i % 5 === 0) {
116
+ context.lineWidth = 2;
117
+ context.fillText(i + 10, baseLeft + i * yStep, xStep * xCount + baseTop + 5);
118
+ }
119
+ context.stroke();
120
+ }
121
+ }
122
+ function drawFetusCanvas() {
123
+ var mlUltrasounds = get(formData, 'mlUltrasounds') || [];
124
+ var allBpdArr = [];
125
+ var allFlArr = [];
126
+ var allAcArr = [];
127
+ if (mlUltrasounds.length > 0) {
128
+ forEach(mlUltrasounds, function (item) {
129
+ var yunWeek = item.gestationalWeek;
130
+ if (yunWeek && yunWeek.indexOf('+') !== -1) {
131
+ var arr = yunWeek.split('+');
132
+ yunWeek = Number(arr[0]) + Number(arr[1]) / 7;
133
+ }
134
+ var setData = function setData(param, arr) {
135
+ var obj = {};
136
+ var sort = +item.fetal - 1;
137
+ obj.x = yunWeek - 10;
138
+ if (param === 'ac') {
139
+ obj.y = Number(item[param]) / 10;
140
+ } else {
141
+ obj.y = Number(item[param]);
142
+ }
143
+ obj.value = Number(item[param]);
144
+ obj.gestationalWeek = item.gestationalWeek;
145
+ obj.sort = item.fetal;
146
+ if (yunWeek && item[param] && yunWeek >= 10 && yunWeek <= 40 && obj.y <= 110) {
147
+ var arrItem = get(arr, sort) || [];
148
+ arrItem.push(obj);
149
+ set(arr, sort, arrItem);
150
+ }
151
+ };
152
+ setData('bpd', allBpdArr);
153
+ setData('fl', allFlArr);
154
+ setData('ac', allAcArr);
155
+ });
156
+ }
157
+ var canvas = get_canvas_el('fetus-canvas', sys_theme);
158
+ var context = canvas.getContext('2d');
159
+ if (!context) return;
160
+ canvas.width = 660;
161
+ canvas.height = 710;
162
+ var baseLeft = 50;
163
+ var baseTop = 120;
164
+ var xStep = 10;
165
+ var yStep = 17;
166
+ var xCount = 56;
167
+ var yCount = 31;
168
+ context.fillStyle = font_color;
169
+ context.font = 'bold 16px normal';
170
+ context.textAlign = 'center';
171
+ context.fillText("".concat(draw_info(headerInfo)), canvas.width / 2, baseTop - 60);
172
+ context.fillText('胎儿生长曲线', canvas.width / 2, baseTop - 25);
173
+ setVertical(context, xCount, yCount, xStep, yStep, baseLeft, baseTop);
174
+ setHorizontal(context, xCount, yCount, xStep, yStep, baseLeft, baseTop);
175
+ setVerRules(context, [baseLeft, baseTop + (xCount - 1) * xStep], (yCount - 1) * yStep, line_color, 1, yStep, 5);
176
+ setHorRules(context, [baseLeft, baseTop + (xCount - 1) * xStep], (xCount - 1) * xStep, line_color, 1, xStep, 5);
177
+ context.fillText('+2SD', baseLeft + yCount * yStep, baseTop + 4.2 * xStep);
178
+ context.fillText('Mean', baseLeft + yCount * yStep, baseTop + 8 * xStep);
179
+ context.fillText('-2SD', baseLeft + yCount * yStep, baseTop + 11.5 * xStep);
180
+ context.fillText('+2SD', baseLeft + yCount * yStep, baseTop + 16.5 * xStep);
181
+ context.fillText('Mean', baseLeft + yCount * yStep, baseTop + 19 * xStep);
182
+ context.fillText('-2SD', baseLeft + yCount * yStep, baseTop + 21.5 * xStep);
183
+ context.fillText('37', baseLeft + yCount * yStep, baseTop + 36.5 * xStep);
184
+ context.fillText('34', baseLeft + yCount * yStep, baseTop + 38 * xStep);
185
+ context.fillText('31', baseLeft + yCount * yStep, baseTop + 39.5 * xStep);
186
+ context.font = 'bold 18px normal';
187
+ context.textAlign = 'center';
188
+ context.fillText('BPD', baseLeft + (yCount - 6) * yStep, baseTop + 6 * xStep);
189
+ context.fillText('FL', baseLeft + (yCount - 6) * yStep, baseTop + 28 * xStep);
190
+ context.fillText('AC', baseLeft + (yCount - 6) * yStep, baseTop + 44 * xStep);
191
+ var middleLineArr = [get(bpdData, 'middleLine'), get(flData, 'middleLine'), get(acData, 'middleLine')];
192
+ var endLineArr = [get(bpdData, 'bottomLine'), get(bpdData, 'topLine'), get(flData, 'bottomLine'), get(flData, 'topLine'), get(acData, 'bottomLine'), get(acData, 'topLine')];
193
+ forEach(middleLineArr, function (line) {
194
+ drawScaleLine(null, context, [baseLeft, baseTop + (xCount - 1) * xStep], [yStep, xStep / 2], line, [false], '#787878', [], 2);
195
+ });
196
+ forEach(endLineArr, function (line) {
197
+ drawScaleLine(null, context, [baseLeft, baseTop + (xCount - 1) * xStep], [yStep, xStep / 2], line, [false], '#787878', [8], 2);
198
+ });
199
+ var drawItemLine = function drawItemLine(itemArr, itemData, itemName) {
200
+ itemArr.forEach(function (child_data, child_idx) {
201
+ console.log('aax item', {
202
+ item: child_data,
203
+ itemName: itemName,
204
+ itemData: itemData,
205
+ child_idx: child_idx
206
+ });
207
+ if (child_data.length > 0) {
208
+ var color = judgeAreas(child_data[child_data.length - 1], get(itemData, 'lineArea')) ? get_fetus_color(sys_theme, child_idx) : get_abnormal_color(sys_theme);
209
+ drawScaleLine(canvas, context, [baseLeft, baseTop + (xCount - 1) * xStep], [yStep, xStep / 2], child_data, [true, color, itemName], color, [], 2);
210
+ }
211
+ });
212
+ };
213
+ drawItemLine(allBpdArr, bpdData, 'BPD');
214
+ drawItemLine(allFlArr, flData, 'FL');
215
+ drawItemLine(allAcArr, acData, 'AC');
216
+ imageRef.current = canvas === null || canvas === void 0 ? void 0 : canvas.toDataURL('image/jpg');
217
+ props.onLoad && props.onLoad();
218
+ }
219
+ function renderPointModal() {
220
+ var handleCancel = function handleCancel() {
221
+ set_isShowPointModal(false);
222
+ };
223
+ return isShowPointModal && pointData ? (/*#__PURE__*/React.createElement(Modal, {
224
+ style: pointData.style,
225
+ className: "point-modal",
226
+ visible: isShowPointModal,
227
+ footer: null,
228
+ onCancel: handleCancel
229
+ }, /*#__PURE__*/React.createElement("span", {
230
+ className: "info-item"
231
+ }, "\u5B55\u5468\uFF1A", pointData.x), /*#__PURE__*/React.createElement("span", {
232
+ className: "info-item"
233
+ }, pointData.line, "\uFF1A", pointData.y), /*#__PURE__*/React.createElement("span", null, "\u80CE\u513F\u4FE1\u606F\uFF1A\u80CE\u513F", pointData.fetus))) : null;
234
+ }
235
+ return /*#__PURE__*/React.createElement("div", {
236
+ className: "fetus-wrapper"
237
+ }, !get(props, 'hidePrintBtn') && (/*#__PURE__*/React.createElement(Space, {
238
+ className: "btn-wrapper"
239
+ }, /*#__PURE__*/React.createElement(ReactToPrint, {
240
+ trigger: function trigger() {
241
+ return /*#__PURE__*/React.createElement(Button, {
242
+ type: "primary",
243
+ size: "small"
244
+ }, /*#__PURE__*/React.createElement(MyIcon, {
245
+ value: 'PrinterOutlined'
246
+ }), "\u6253\u5370");
247
+ },
248
+ content: function content() {
249
+ return printCanvas('fetus-canvas');
250
+ }
251
+ }), !isAllPregnancies && (/*#__PURE__*/React.createElement(FetuGrowsEdit, {
252
+ value: formData,
253
+ onSubmit: getFetusData
254
+ })))), /*#__PURE__*/React.createElement("canvas", {
255
+ id: "fetus-canvas",
256
+ className: "fetus-canvas"
257
+ }, "\u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301canvas\uFF0C\u8BF7\u66F4\u6362\u6D4F\u89C8\u5668."), renderPointModal());
258
+ }
259
+ export { FetusCanvas as default };