hayun-vite 0.9.0 → 0.10.1

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 (59) hide show
  1. package/assets/data/sampleData.js +99 -0
  2. package/assets/logos/logo-0_mm_20w_22h_300p.png +0 -0
  3. package/assets/logos/logo-1-20w_29h_300p.png +0 -0
  4. package/assets/styles-test.css +5 -9
  5. package/assets/styles.css +5 -9
  6. package/{src/Form/templates/combo.js → assets/templates/template_combo.js} +22 -19
  7. package/index.js +11 -8
  8. package/package.json +1 -1
  9. package/public/fonts/Vazir-Black-UI.eot +0 -0
  10. package/public/fonts/Vazir-Black-UI.woff +0 -0
  11. package/public/fonts/Vazir-Black-UI.woff2 +0 -0
  12. package/public/fonts/Vazir-Bold-UI.eot +0 -0
  13. package/public/fonts/Vazir-Bold-UI.woff +0 -0
  14. package/public/fonts/Vazir-Bold-UI.woff2 +0 -0
  15. package/public/fonts/Vazir-Light-UI.eot +0 -0
  16. package/public/fonts/Vazir-Light-UI.woff +0 -0
  17. package/public/fonts/Vazir-Light-UI.woff2 +0 -0
  18. package/public/fonts/Vazir-Medium-UI.eot +0 -0
  19. package/public/fonts/Vazir-Medium-UI.woff +0 -0
  20. package/public/fonts/Vazir-Medium-UI.woff2 +0 -0
  21. package/public/fonts/Vazir-Regular-UI.eot +0 -0
  22. package/public/fonts/Vazir-Regular-UI.woff +0 -0
  23. package/public/fonts/Vazir-Regular-UI.woff2 +0 -0
  24. package/public/fonts/Vazir-Thin-UI.eot +0 -0
  25. package/public/fonts/Vazir-Thin-UI.woff +0 -0
  26. package/public/fonts/Vazir-Thin-UI.woff2 +0 -0
  27. package/public/fonts/webfonts/Vazirmatn-Black.woff2 +0 -0
  28. package/public/fonts/webfonts/Vazirmatn-Bold.woff2 +0 -0
  29. package/public/fonts/webfonts/Vazirmatn-ExtraBold.woff2 +0 -0
  30. package/public/fonts/webfonts/Vazirmatn-ExtraLight.woff2 +0 -0
  31. package/public/fonts/webfonts/Vazirmatn-Light.woff2 +0 -0
  32. package/public/fonts/webfonts/Vazirmatn-Medium.woff2 +0 -0
  33. package/public/fonts/webfonts/Vazirmatn-Regular.woff2 +0 -0
  34. package/public/fonts/webfonts/Vazirmatn-SemiBold.woff2 +0 -0
  35. package/public/fonts/webfonts/Vazirmatn-Thin.woff2 +0 -0
  36. package/public/fonts/webfonts/Vazirmatn[wght].woff2 +0 -0
  37. package/src/Form/Forms.js +2 -2
  38. package/src/Form/Header.js +7 -17
  39. package/src/Form/Sections.js +12 -6
  40. package/src/Form/printForm.js +57 -5
  41. package/src/common/putSVG.js +2 -1
  42. package/src/main.js +3 -3
  43. package/src/{style.css → styles.css} +72 -4
  44. package/assets/logo.svg +0 -1
  45. package/assets/logo192.png +0 -0
  46. package/data/sampleData.js +0 -96
  47. package/src/Form/formStyles.css +0 -122
  48. package/src/note.html +0 -64
  49. /package/{data → assets/data}/formData1.js +0 -0
  50. /package/{data → assets/data}/officesObjStore.js +0 -0
  51. /package/{data → assets/data}/patientsObjStore.js +0 -0
  52. /package/assets/{ear-logo-1.png → logos/logo-0.png} +0 -0
  53. /package/assets/{Daco_1154502.png → logos/logo-1.png} +0 -0
  54. /package/assets/{hearing-aid-computer-icons-sound-ears-.png → logos/logo-2.png} +0 -0
  55. /package/{src/Form → assets}/templates/dims.js +0 -0
  56. /package/{src/Form → assets}/templates/rasa_audiometry.jpg +0 -0
  57. /package/{src/Form → assets}/templates/rasa_audiometry.js +0 -0
  58. /package/{src/Form → assets}/templates/rasa_tymp_reflex.jpg +0 -0
  59. /package/{src/Form → assets}/templates/rasa_tymp_reflex.js +0 -0
@@ -0,0 +1,99 @@
1
+ import logo from '../logos/logo-0_mm_20w_22h_300p.png'
2
+
3
+ const officeData = {
4
+ name: "دفتر ارزیابی شنوایی و سمعک سروش",
5
+ // logo: "/static/media/Daco_1154502.04df6740fbd1f11c99f8.png",
6
+ logo: logo,
7
+ logo1: "data:image/png;base64,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",
8
+ addresses: ["مشهد، خیابان عارف، عارف ۲، ساختمان سینا، طبقه اول"],
9
+ tels: ["۰۵۱۳۸۴۴۲۵۹۲"],
10
+ audiologists: [
11
+ {
12
+ name: "مهدی",
13
+ lastName: "جاویدی فیروز طوسی",
14
+ gender: "مرد",
15
+ medicalCouncilNo: "ش ۷۵۴",
16
+ signature: "IMG1",
17
+
18
+ },
19
+ {
20
+ name: "محمد علی",
21
+ lastName: "بربری",
22
+ gender: "مرد",
23
+ medicalCouncilNo: "ش ۱۰۲۰",
24
+ signature: "IMG2",
25
+ },
26
+ ],
27
+ audiometers: ["Pejvak Ava C952", "Zodiac Z1"],
28
+ tympanometers: ["Pejvak Ava Z71", "Intracoustic T34"],
29
+
30
+
31
+ }
32
+
33
+ const patientData = {
34
+ name: "سید علی اکبر الزمان",
35
+ lastName: "پرنده بافقی یزدی",
36
+ gender: "مرد",
37
+ age: 75,
38
+ birthday: { year: 1356, month: 5, day: 3 },
39
+ nationalCode: "0321456546",
40
+ createDate: "2025/5/5", //تاریخ و ساعت ایجاد بیمار
41
+ updateDates: ["2025/6/5,16:32", "2025/6/5,16:32"],//آرایه تاریخ و ساعت بروزرسانی ها
42
+
43
+ sessions: [
44
+ {
45
+ createDate: new Date().toLocaleDateString("fa-IR"), //تاریخ و ساعت ایجاد نشست بیمار
46
+ updateDates: ["2025/6/5,16:32", "2025/6/5,16:32"], // آرایه تاریخ و ساعت بروزرسانی ها
47
+ age: 77, //سن بیمار در این نشست
48
+ referrer: "دکتر سید علی سرابی ", //ارجاع‌دهنده
49
+ history: { description: "وزوز گوش گهگاهی - سرگیجه گهگاهی - درد در ناحیه گردن - سابقه سرگیجه ۵ سال قبل" },
50
+
51
+ // history, // رشته متن شرح‌حال بیمار
52
+
53
+ note: "", //رشته متن بلند یادداشت
54
+
55
+ // referrer: "دکتر سید علی سرابی ",
56
+ // age: "25",
57
+ audiogram: {
58
+ R: { R_AC: { 500: '25', 1000: '35', 2000: '45', 4000: '55', 8000: '60' } },
59
+ L: {
60
+ L_AC: { 500: '20', 1000: '35', 2000: '45', 4000: '55', 8000: '60' },
61
+ L_BC: { 500: '15', 1000: '30', 2000: '40', 4000: '50', 8000: '20' }
62
+ }
63
+ },
64
+ speech: {
65
+ R: { MCL: '55', SAT: '25', SDS: '98', UCL: '120', SRT: '30' },
66
+ L: { MCL: '55', SAT: '0', SDS: '95', UCL: '110', SRT: '30' }
67
+ },
68
+ tympanogram: {
69
+ R: { Type: "An", ECV: '2.5', SC: '1.50', MEP: '-50', G: 0.23 },
70
+ L: { Type: "C5", SC: 0.10, MEP: -300, G: 0.32 },
71
+ },
72
+ reflex: {
73
+ R: {
74
+ IPSI: { 500: "125", 1000: "90", 2000: "NR", 4000: "NR" },
75
+ CONTRA: { 500: "85", 1000: "90", 2000: "NR", 4000: '120' },
76
+ },
77
+ L: {
78
+ IPSI: { 500: "120", 1000: "90", 2000: "95", 4000: "NR" },
79
+ CONTRA: { 500: "80", 1000: "90", 2000: "NR", 4000: '95' }
80
+ },
81
+ },
82
+ report: { description: "کاهش شنوایی ملایم در فرکاس های زیر هر دو گوش - تکرار آزمون سالانه توصیه شد." },
83
+
84
+ },
85
+ {
86
+ history: { description: "سرگیجه دورانی" },
87
+ audiogram: { R: { R_AC: { 500: 5 } }, L: { L_AC: { 500: 15 } } },
88
+
89
+ },
90
+ {
91
+ audiogram: { R: { R_AC: { 500: 35 } }, L: { L_AC: { 500: 5 } } },
92
+ speech: { R: { SAT: 25, SDS: 100 } },
93
+
94
+ },
95
+ ]
96
+
97
+ }
98
+
99
+ export { officeData, patientData }
@@ -1,13 +1,9 @@
1
- @font-face {
2
- /* src: url("../fonts/Vazirmatn-Regular.woff2") format("woff2"); */
3
- src: url('./fonts/Vazirmatn-Regular.woff2') format('woff2');
4
- font-family: vazirmatn;
5
- }
1
+
6
2
  .header1 {
7
3
  user-select: none;
8
4
  /* direction: rtl; */
9
5
  /* text-align: center; */
10
- font-family: vazirmatn;
6
+ font-family: Vazir;
11
7
  font-size: 1.6mm;
12
8
  font-weight: bolder;
13
9
  }
@@ -30,7 +26,7 @@
30
26
  /* text-align: center; */
31
27
  font-family: sans-serif !important;
32
28
 
33
- /* font-family: vazirmatn; */
29
+ /* font-family: Vazir; */
34
30
  font-size: 1mm;
35
31
  font-weight: bold;
36
32
  }
@@ -38,7 +34,7 @@
38
34
  user-select: none;
39
35
  direction: rtl;
40
36
  /* text-align: center; */
41
- font-family: vazirmatn;
37
+ font-family: Vazir;
42
38
  font-size: 1mm;
43
39
  /* font-weight: bold; */
44
40
  }
@@ -84,7 +80,7 @@ input {
84
80
  user-select: none;
85
81
  direction: rtl;
86
82
  text-align: right;
87
- font-family: vazirmatn;
83
+ font-family: Vazir;
88
84
  font-size: 0.9mm;
89
85
  font-weight: bold;
90
86
  }
package/assets/styles.css CHANGED
@@ -1,13 +1,9 @@
1
- @font-face {
2
- /* src: url("../fonts/Vazirmatn-Regular.woff2") format("woff2"); */
3
- src: url('/fonts/Vazirmatn-Regular.woff2') format('woff2');
4
- font-family: vazirmatn;
5
- }
1
+
6
2
  .header1 {
7
3
  user-select: none;
8
4
  /* direction: rtl; */
9
5
  /* text-align: center; */
10
- font-family: vazirmatn;
6
+ font-family: Vazir;
11
7
  font-size: 1.6mm;
12
8
  font-weight: bolder;
13
9
  }
@@ -30,7 +26,7 @@
30
26
  /* text-align: center; */
31
27
  font-family: sans-serif !important;
32
28
 
33
- /* font-family: vazirmatn; */
29
+ /* font-family: Vazir; */
34
30
  font-size: 1mm;
35
31
  font-weight: bold;
36
32
  }
@@ -38,7 +34,7 @@
38
34
  user-select: none;
39
35
  direction: rtl;
40
36
  /* text-align: center; */
41
- font-family: vazirmatn;
37
+ font-family: Vazir;
42
38
  font-size: 1mm;
43
39
  /* font-weight: bold; */
44
40
  }
@@ -84,7 +80,7 @@ input {
84
80
  user-select: none;
85
81
  direction: rtl;
86
82
  text-align: right;
87
- font-family: vazirmatn;
83
+ font-family: Vazir;
88
84
  font-size: 0.9mm;
89
85
  font-weight: bold;
90
86
  }
@@ -1,9 +1,9 @@
1
- import audDims from "../../Audiogram/dims.js";
2
-
3
- const combo = {
1
+ const template_combo = {
4
2
  name: 'combo',
5
3
  label: 'ادیومتری و تمپانوتری',
6
4
  // backgroundImage: 'backgroundImage',
5
+ // تعیین نمایش بوردرهای سکشن ها
6
+ sectionBorders: 'none', // display || none
7
7
  margin: { left: 5, top: 5, right: 5, bottom: 5 },
8
8
  paper: { type: 'A4', case: 'portrait', width: 210, height: 297 },
9
9
 
@@ -24,7 +24,7 @@ const combo = {
24
24
  // hideContext: true,
25
25
  name: 'header',
26
26
  w: width, h: 15,
27
- margin: { left: 1, top: 1, right: 1, bottom: 1 },
27
+ margin: { left: 0, top: 0, right: 0, bottom: 0 },
28
28
  display: 'block',
29
29
  }
30
30
  this.patient = {
@@ -82,7 +82,7 @@ const combo = {
82
82
  this.RSpeech = {
83
83
  name: 'RSpeech',
84
84
  w: width / 2, h: 15,
85
- margin: { left: 5, top: 0, right: 10, bottom: 0 },
85
+ margin: { left: 2, top: 0, right: 12, bottom: 0 },
86
86
  display: 'inline',
87
87
  stroke: true,
88
88
  }
@@ -90,7 +90,7 @@ const combo = {
90
90
  this.LSpeech = {
91
91
  name: 'LSpeech',
92
92
  w: width / 2, h: 15,
93
- margin: { left: 10, top: 0, right: 5, bottom: 0 },
93
+ margin: { left: 12, top: 0, right: 2, bottom: 0 },
94
94
  display: 'block',
95
95
  stroke: true
96
96
  }
@@ -129,12 +129,6 @@ const combo = {
129
129
  // محاسبه پهنا ارتفاع در تابع calc2
130
130
  }
131
131
 
132
- this.Reflexes = {
133
- name: 'Reflexes',
134
- w: width, h: 30,
135
- margin: { left: 2, top: 2, right: 2, bottom: 2 },
136
- display: 'block'
137
- }
138
132
 
139
133
  this.RReflex = {
140
134
  name: 'RReflex',
@@ -146,7 +140,7 @@ const combo = {
146
140
  this.LReflex = {
147
141
  name: 'LReflex',
148
142
  w: width / 2, h: 30,
149
- margin: { left: 2, top: 2, right: 5, bottom: 2 },
143
+ margin: { left: 2, top: 2, right: 2, bottom: 2 },
150
144
  display: 'block'
151
145
  }
152
146
 
@@ -173,13 +167,21 @@ const combo = {
173
167
  width = this.header.width = this.getWidth(this.header)
174
168
  height = this.header.height = this.getHeight(this.header)
175
169
 
170
+ style = `
171
+ font-family: Vazir, Helvetica, sans-serif !important;
172
+ font-size: 1.5mm;
173
+ font-weight: bold;
174
+ text-anchor: start; /*تراز افقی*/
175
+ /* dominant-baseline: middle; /* تراز عمودی*/
176
+ `;
177
+
176
178
  this.header.elements = [
177
179
  { type: 'line', x1: 0, y1: height, x2: width, y2: height },
178
180
  { type: 'text', x: 30, y: 5, value: 'تاریخ :' },
179
181
  ]
180
182
  this.header.inputs = [
181
- { name: 'officeName', x: width - 20, y: height - 10 },
182
- { name: 'date', x: 20, y: 5 },
183
+ { name: 'officeName', x: width - 16, y: height - 6, style },
184
+ { name: 'date', x: 20, y: 5, style: style + ' font-size: 0.8mm;' },
183
185
  ]
184
186
 
185
187
  width = this.patient.width = this.getWidth(this.patient)
@@ -332,10 +334,11 @@ const combo = {
332
334
 
333
335
  }
334
336
 
335
- combo.calc1()
336
- combo.calc2()
337
- combo.calcSectionsArray()
337
+ // محاسبه پهنا و ارتفاع قسمت ها با توجه به پهنا و ارتفاع محدوده چاپی و مارجین ها
338
+ template_combo.calc1()
339
+ template_combo.calc2()
340
+ template_combo.calcSectionsArray()
338
341
  // پهنا و ارتفاع قابل استفاده منهای پد ها میشه پهنا و ارتفاع اصلی
339
342
 
340
- export default combo;
343
+ export default template_combo;
341
344
 
package/index.js CHANGED
@@ -1,19 +1,22 @@
1
1
  import Audiogram from './src/Audiogram/Audiogram'
2
2
  import dims from './src/Audiogram/dims'
3
- import logo from './public/vite.svg'
4
- import { officeData, patientData } from './data/sampleData'
3
+ import { officeData, patientData } from './assets/data/sampleData'
5
4
  import Forms from './src/Form/Forms'
6
- import combo_template from './src/Form/templates/combo'
7
- import rasa_aud_template from './src/Form/templates/rasa_audiometry'
8
- import rasa_tymp_reflex_template from './src/Form/templates/rasa_tymp_reflex'
5
+ import combo_template from './assets/templates/template_combo'
6
+ // import rasa_aud_template from './assets/templates/rasa_audiometry'
7
+ // import rasa_tymp_reflex_template from './assets/templates/rasa_tymp_reflex'
9
8
 
9
+ import logo0 from './assets/logos/logo-0_mm_20w_22h_300p.png'
10
+ import logo1 from './assets/logos/logo-1.png'
11
+ import logo2 from './assets/logos/logo-2.png'
10
12
 
13
+ const logos = [logo0, logo1, logo2]
11
14
 
12
15
 
13
16
 
14
17
 
15
18
  export {
16
- logo, Audiogram, Forms, dims, officeData,
17
- patientData, combo_template, rasa_aud_template,
18
- rasa_tymp_reflex_template
19
+ Audiogram, Forms, dims, officeData,
20
+ patientData, combo_template,
21
+ logos
19
22
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hayun-vite",
3
3
  "private": false,
4
- "version": "0.9.0",
4
+ "version": "0.10.1",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/src/Form/Forms.js CHANGED
@@ -7,8 +7,8 @@ import Form from "./Form.js";
7
7
  // import rasaTymp from './templates/rasa_tymp_reflex.js'
8
8
 
9
9
  // خط کد زیر لازم هست
10
- // import './fonts/Vazirmatn-Regular.woff2'
11
- import '../style.css'
10
+ // import '/fonts/webfonts/Vazirmatn-Regular.woff2'
11
+ import '../styles.css'
12
12
 
13
13
  // کلاس جدید که فرم‌های مختلف را نمایش میدهد
14
14
  export default class Forms {
@@ -1,8 +1,10 @@
1
1
  import putLine from "../common/putLine.js";
2
2
  import putRect from "../common/putRect.js";
3
+ import putSVG from "../common/putSVG.js";
3
4
  import putText from "../common/putText.js";
4
5
  const svgNS = "http://www.w3.org/2000/svg";
5
6
 
7
+
6
8
  export default class Header {
7
9
  constructor({ container }) {
8
10
  this.container = container;
@@ -17,18 +19,13 @@ export default class Header {
17
19
  let x = dims.margin.left;
18
20
  let y = dims.margin.top;
19
21
 
20
- const svg = document.createElementNS(svgNS, "svg");
21
- svg.setAttribute("x", x);
22
- svg.setAttribute("y", y);
23
- svg.setAttribute("width", width);
24
- svg.setAttribute("height", height);
25
- svg.setAttribute('style', 'direction: rtl !important; user-select: none;')
22
+ const svg = putSVG({ x, y, width, height, style: 'direction: rtl !important; user-select: none;' })
26
23
 
27
24
  // Logo
28
25
  let image = document.createElementNS(svgNS, "image");
29
26
  image.setAttribute("data-name", "officeLogo")
30
27
  image.setAttribute("width", "17");
31
- image.setAttribute("height", "17");
28
+ image.setAttribute("height", height - 1);
32
29
  image.setAttribute("x", width - 16);
33
30
  image.setAttribute("y", 0.5);
34
31
  svg.appendChild(image);
@@ -37,7 +34,7 @@ export default class Header {
37
34
  user-select: none;
38
35
  direction: rtl;
39
36
  /* text-align: center; */
40
- font-family: vazirmatn;
37
+ font-family: Vazir;
41
38
  font-size: 0.8mm;
42
39
  font-weight: bolder;
43
40
  text-anchor: start; /*تراز افقی*/
@@ -61,18 +58,11 @@ export default class Header {
61
58
  });
62
59
  }
63
60
 
64
- style = `
65
- font-family: Arial, Helvetica, sans-serif !important;
66
- font-size: 0.8mm;
67
- font-weight: bold;
68
- text-anchor: start; /*تراز افقی*/
69
- /* dominant-baseline: middle; /* تراز عمودی*/
70
- `;
71
61
  // محل اینپوت‌های دیتا
72
62
  let name;
73
63
  dims.inputs.forEach(input => {
74
- ({ name, x, y } = input);
75
- putText({ container: svg, x, y, style: style, name });
64
+ ({ name, x, y, style } = input);
65
+ putText({ container: svg, x, y, style, name });
76
66
  });
77
67
 
78
68
  // مربع احاطه‌کننده کل جدول برای راهنمای توسعه
@@ -15,6 +15,10 @@ export default class Sections {
15
15
  // از پایینی برای رسم تاپ لایر استفاده میکنم
16
16
  this.cords = []; // آرایه نگهداری مختصات و طول و عرض هر سکشن
17
17
 
18
+ this.sectionBorders = dims.sectionBorders;
19
+ console.log(this.sectionBorders);
20
+
21
+
18
22
  // یک حلقه آرایه ایجاد میکنیم همه سکشن ها رسم شود
19
23
  this.create()
20
24
  }
@@ -43,12 +47,14 @@ export default class Sections {
43
47
  // نگهداری مختصات رسم بوردر هر سکشن برای استفاده در متد داخلی رسم بودر تاپ لایر
44
48
  this.cords.push({ name, width, height, x: this.left, y: this.top });
45
49
 
46
- putRect({
47
- container: svg, x: 0, y: 0, width, height,
48
- style: 'fill: transparent; stroke: blue; stroke-width: 0.2',
49
- className: 'no-print', name: 'guide-border'
50
- });
51
-
50
+ // Section Border
51
+ (this.sectionBorders == 'display') &&
52
+ putRect({
53
+ container: svg, x: 0, y: 0, width, height,
54
+ style: 'fill: transparent; stroke: blue; stroke-width: 0.2',
55
+ className: 'no-print', name: 'guide-border'
56
+ });
57
+
52
58
  this[name] = svg;
53
59
  this.container.appendChild(svg)
54
60
 
@@ -4,10 +4,62 @@ export default function printForm({ container }) {
4
4
  iframe.style.display = "block";
5
5
  let style = `
6
6
  @font-face {
7
- font-family: vazirmatn;
8
- src:
9
- url("/fonts/Vazirmatn-Regular.woff2") format("woff2"),
10
- url('/fonts/Vazirmatn-Regular.woff') format('woff');
7
+ font-family: 'Vazir';
8
+ src: url('/fonts/Vazir-Black-UI.woff2') format('woff2'),
9
+ url('/fonts/Vazir-Black-UI.woff') format('woff'),
10
+ url('/fonts/Vazir-Black-UI.eot') format('embedded-opentype');
11
+ font-weight: 900;
12
+ font-style: normal;
13
+ font-display: swap;
14
+ }
15
+
16
+ @font-face {
17
+ font-family: 'Vazir';
18
+ src: url('/fonts/Vazir-Bold-UI.woff2') format('woff2'),
19
+ url('/fonts/Vazir-Bold-UI.woff') format('woff'),
20
+ url('/fonts/Vazir-Bold-UI.eot') format('embedded-opentype');
21
+ font-weight: 700;
22
+ font-style: normal;
23
+ font-display: swap;
24
+ }
25
+
26
+ @font-face {
27
+ font-family: 'Vazir';
28
+ src: url('/fonts/Vazir-Medium-UI.woff2') format('woff2'),
29
+ url('/fonts/Vazir-Medium-UI.woff') format('woff'),
30
+ url('/fonts/Vazir-Medium-UI.eot') format('embedded-opentype');
31
+ font-weight: 500;
32
+ font-style: normal;
33
+ font-display: swap;
34
+ }
35
+
36
+ @font-face {
37
+ font-family: 'Vazir';
38
+ src: url('/fonts/Vazir-Regular-UI.woff2') format('woff2'),
39
+ url('/fonts/Vazir-Regular-UI.woff') format('woff'),
40
+ url('/fonts/Vazir-Regular-UI.eot') format('embedded-opentype');
41
+ font-weight: 400;
42
+ font-style: normal;
43
+ font-display: swap;
44
+ }
45
+
46
+ @font-face {
47
+ font-family: 'Vazir';
48
+ src: url('/fonts/Vazir-Light-UI.woff2') format('woff2'),
49
+ url('/fonts/Vazir-Light-UI.woff') format('woff'),
50
+ url('/fonts/Vazir-Light-UI.eot') format('embedded-opentype');
51
+ font-weight: 300;
52
+ font-style: normal;
53
+ font-display: swap;
54
+ }
55
+
56
+ @font-face {
57
+ font-family: 'Vazir';
58
+ src: url('/fonts/Vazir-Thin-UI.woff2') format('woff2'),
59
+ url('/fonts/Vazir-Thin-UI.woff') format('woff'),
60
+ url('/fonts/Vazir-Thin-UI.eot') format('embedded-opentype');
61
+ font-weight: 100;
62
+ font-style: normal;
11
63
  font-display: swap;
12
64
  }
13
65
 
@@ -61,7 +113,7 @@ export default function printForm({ container }) {
61
113
  }
62
114
 
63
115
  .persian {
64
- font-family: "Vazirmatn";
116
+ font-family: "Vazir";
65
117
 
66
118
 
67
119
  }
@@ -1,12 +1,13 @@
1
1
  const svgNS = "http://www.w3.org/2000/svg";
2
2
 
3
- export default function putSVG({ container, x, y, width, height, viewBox, className }) {
3
+ export default function putSVG({ container, x, y, width, height, viewBox, className, style }) {
4
4
  const svg = document.createElementNS(svgNS, "svg");
5
5
  width && svg.setAttribute("width", width);
6
6
  height && svg.setAttribute("height", height);
7
7
  x && svg.setAttribute("x", x);
8
8
  y && svg.setAttribute("y", y);
9
9
  viewBox && svg.setAttribute("viewBox", viewBox);
10
+ style && svg.setAttribute("style", style);
10
11
  className && svg.setAttribute("class", className);
11
12
  container && container.appendChild(svg);
12
13
  return svg;
package/src/main.js CHANGED
@@ -1,8 +1,8 @@
1
1
  // import './style.css'
2
2
  import Audiogram from "./Audiogram/Audiogram.js"
3
3
  import Forms from "./Form/Forms.js";
4
- import { officeData, patientData } from "../data/sampleData.js"
5
- import combo from "./Form/templates/combo.js";
4
+ import { officeData, patientData } from "../assets/data/sampleData.js"
5
+ import template_combo from "../assets/templates/template_combo.js";
6
6
 
7
7
 
8
8
  document.querySelector('#app').innerHTML = `
@@ -10,7 +10,7 @@ document.querySelector('#app').innerHTML = `
10
10
  <div id="forms-div"></div>
11
11
  `;
12
12
 
13
- const forms = new Forms({ container: document.getElementById('forms-div'), templates: [combo], mode: 'develop' });
13
+ const forms = new Forms({ container: document.getElementById('forms-div'), templates: [template_combo], mode: 'develop' });
14
14
  forms.update({ officeData, patientData, sessionIndex: 0 })
15
15
 
16
16
  /*
@@ -1,11 +1,79 @@
1
1
  @font-face {
2
+ font-family: 'Vazir';
3
+ src: url('/fonts/Vazir-Black-UI.woff2') format('woff2'),
4
+ url('/fonts/Vazir-Black-UI.woff') format('woff'),
5
+ url('/fonts/Vazir-Black-UI.eot') format('embedded-opentype');
6
+ font-weight: 900;
7
+ font-style: normal;
8
+ font-display: swap;
9
+ }
10
+
11
+ @font-face {
12
+ font-family: 'Vazir';
13
+ src: url('/fonts/Vazir-Bold-UI.woff2') format('woff2'),
14
+ url('/fonts/Vazir-Bold-UI.woff') format('woff'),
15
+ url('/fonts/Vazir-Bold-UI.eot') format('embedded-opentype');
16
+ font-weight: 700;
17
+ font-style: normal;
18
+ font-display: swap;
19
+ }
20
+
21
+ @font-face {
22
+ font-family: 'Vazir';
23
+ src: url('/fonts/Vazir-Medium-UI.woff2') format('woff2'),
24
+ url('/fonts/Vazir-Medium-UI.woff') format('woff'),
25
+ url('/fonts/Vazir-Medium-UI.eot') format('embedded-opentype');
26
+ font-weight: 500;
27
+ font-style: normal;
28
+ font-display: swap;
29
+ }
30
+
31
+ @font-face {
32
+ font-family: 'Vazir';
33
+ src: url('/fonts/Vazir-Regular-UI.woff2') format('woff2'),
34
+ url('/fonts/Vazir-Regular-UI.woff') format('woff'),
35
+ url('/fonts/Vazir-Regular-UI.eot') format('embedded-opentype');
36
+ font-weight: 400;
37
+ font-style: normal;
38
+ font-display: swap;
39
+ }
40
+
41
+ @font-face {
42
+ font-family: 'Vazir';
43
+ src: url('/fonts/Vazir-Light-UI.woff2') format('woff2'),
44
+ url('/fonts/Vazir-Light-UI.woff') format('woff'),
45
+ url('/fonts/Vazir-Light-UI.eot') format('embedded-opentype');
46
+ font-weight: 300;
47
+ font-style: normal;
48
+ font-display: swap;
49
+ }
50
+
51
+ @font-face {
52
+ font-family: 'Vazir';
53
+ src: url('/fonts/Vazir-Thin-UI.woff2') format('woff2'),
54
+ url('/fonts/Vazir-Thin-UI.woff') format('woff'),
55
+ url('/fonts/Vazir-Thin-UI.eot') format('embedded-opentype');
56
+ font-weight: 100;
57
+ font-style: normal;
58
+ font-display: swap;
59
+ }
60
+
61
+ /* @font-face {
62
+ font-family: 'Vazirmatn';
63
+ src: url('fonts/webfonts/Vazirmatn[wght].woff2') format('woff2 supports variations'),
64
+ url('fonts/webfonts/Vazirmatn[wght].woff2') format('woff2-variations');
65
+ font-weight: 100 900;
66
+ font-style: normal;
67
+ font-display: swap;
68
+ } */
69
+
70
+ /* @font-face {
2
71
  font-family: vazirmatn;
3
72
  src:
4
73
  url("fonts/Vazirmatn-Regular.woff2") format("woff2"),
5
74
  url('fonts/Vazirmatn-Regular.woff') format('woff');
6
75
  font-display: swap;
7
-
8
- }
76
+ } */
9
77
 
10
78
  .text-box {
11
79
  /* font-family: Arial, Helvetica, sans-serif !important; */
@@ -17,7 +85,7 @@
17
85
  }
18
86
 
19
87
  .persian {
20
- font-family: vazirmatn;
88
+ font-family: Vazir;
21
89
  /* font-size: 0.8mm; */
22
90
  /* text-anchor: start; */
23
91
 
@@ -50,7 +118,7 @@
50
118
  .right {
51
119
  /* background-color: lightgreen; */
52
120
  margin-left: 10px;
53
-
121
+
54
122
  /* padding: 20px; */
55
123
  }
56
124
 
package/assets/logo.svg DELETED
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3"><g fill="#61DAFB"><path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/><circle cx="420.9" cy="296.5" r="45.7"/><path d="M520.5 78.1z"/></g></svg>
Binary file
@@ -1,96 +0,0 @@
1
- const officeData = {
2
- name: "دفتر ارزیابی شنوایی و سمعک سروش",
3
- // logo: "/static/media/Daco_1154502.04df6740fbd1f11c99f8.png",
4
- logo: "data:image/png;base64,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",
5
- addresses: ["مشهد، خیابان عارف، عارف ۲، ساختمان سینا، طبقه اول"],
6
- tels: ["۰۵۱۳۸۴۴۲۵۹۲"],
7
- audiologists: [
8
- {
9
- name: "مهدی",
10
- lastName: "جاویدی فیروز طوسی",
11
- gender: "مرد",
12
- medicalCouncilNo: "ش ۷۵۴",
13
- signature: "IMG1",
14
-
15
- },
16
- {
17
- name: "محمد علی",
18
- lastName: "بربری",
19
- gender: "مرد",
20
- medicalCouncilNo: "ش ۱۰۲۰",
21
- signature: "IMG2",
22
- },
23
- ],
24
- audiometers: ["Pejvak Ava C952", "Zodiac Z1"],
25
- tympanometers: ["Pejvak Ava Z71", "Intracoustic T34"],
26
-
27
-
28
- }
29
-
30
- const patientData = {
31
- name: "سید علی اکبر الزمان",
32
- lastName: "پرنده بافقی یزدی",
33
- gender: "مرد",
34
- age: 75,
35
- birthday: { year: 1356, month: 5, day: 3 },
36
- nationalCode: "0321456546",
37
- createDate: "2025/5/5", //تاریخ و ساعت ایجاد بیمار
38
- updateDates: ["2025/6/5,16:32", "2025/6/5,16:32"],//آرایه تاریخ و ساعت بروزرسانی ها
39
-
40
- sessions: [
41
- {
42
- createDate: new Date().toLocaleDateString("fa-IR"), //تاریخ و ساعت ایجاد نشست بیمار
43
- updateDates: ["2025/6/5,16:32", "2025/6/5,16:32"], // آرایه تاریخ و ساعت بروزرسانی ها
44
- age: 77, //سن بیمار در این نشست
45
- referrer: "دکتر سید علی سرابی ", //ارجاع‌دهنده
46
- history: { description: "وزوز گوش گهگاهی - سرگیجه گهگاهی - درد در ناحیه گردن - سابقه سرگیجه ۵ سال قبل" },
47
-
48
- // history, // رشته متن شرح‌حال بیمار
49
-
50
- note: "", //رشته متن بلند یادداشت
51
-
52
- // referrer: "دکتر سید علی سرابی ",
53
- // age: "25",
54
- audiogram: {
55
- R: { R_AC: { 500: '25', 1000: '35', 2000: '45', 4000: '55', 8000: '60' } },
56
- L: {
57
- L_AC: { 500: '20', 1000: '35', 2000: '45', 4000: '55', 8000: '60' },
58
- L_BC: { 500: '15', 1000: '30', 2000: '40', 4000: '50', 8000: '20' }
59
- }
60
- },
61
- speech: {
62
- R: { MCL: '55', SAT: '25', SDS: '98', UCL: '120', SRT: '30' },
63
- L: { MCL: '55', SAT: '0', SDS: '95', UCL: '110', SRT: '30' }
64
- },
65
- tympanogram: {
66
- R: { Type: "An", ECV: '2.5', SC: '1.50', MEP: '-50', G: 0.23 },
67
- L: { Type: "C5", SC: 0.10, MEP: -300, G: 0.32 },
68
- },
69
- reflex: {
70
- R: {
71
- IPSI: { 500: "125", 1000: "90", 2000: "NR", 4000: "NR" },
72
- CONTRA: { 500: "85", 1000: "90", 2000: "NR", 4000: '120' },
73
- },
74
- L: {
75
- IPSI: { 500: "120", 1000: "90", 2000: "95", 4000: "NR" },
76
- CONTRA: { 500: "80", 1000: "90", 2000: "NR", 4000: '95' }
77
- },
78
- },
79
- report: { description: "کاهش شنوایی ملایم در فرکاس های زیر هر دو گوش - تکرار آزمون سالانه توصیه شد." },
80
-
81
- },
82
- {
83
- history: { description: "سرگیجه دورانی" },
84
- audiogram: { R: { R_AC: { 500: 5 } }, L: { L_AC: { 500: 15 } } },
85
-
86
- },
87
- {
88
- audiogram: { R: { R_AC: { 500: 35 } }, L: { L_AC: { 500: 5 } } },
89
- speech: { R: { SAT: 25, SDS: 100 } },
90
-
91
- },
92
- ]
93
-
94
- }
95
-
96
- export { officeData, patientData }
@@ -1,122 +0,0 @@
1
- @font-face {
2
- /* src: url("../fonts/Vazirmatn-Regular.woff2") format("woff2"); */
3
- src: url("/fonts/Vazirmatn-Regular.woff2") format("woff2");
4
- font-family: vazirmatn;
5
- }
6
-
7
-
8
- button {
9
- background-color: #4CAF50;
10
- /* Green background */
11
- border: none;
12
- /* Remove borders */
13
- color: white;
14
- /* White text */
15
- padding: 15px 32px;
16
- /* Some padding */
17
- text-align: center;
18
- /* Centered text */
19
- text-decoration: none;
20
- /* Remove underline */
21
- display: inline-block;
22
- /* Make the button inline */
23
- font-size: 16px;
24
- /* Increase font size */
25
- margin: 4px 2px;
26
- /* Add some margin */
27
- cursor: pointer;
28
- /* Pointer cursor on hover */
29
- border-radius: 8px;
30
- /* Rounded corners */
31
- transition: background-color 0.3s;
32
- /* Smooth transition */
33
- }
34
-
35
- button:hover {
36
- background-color: #45a049;
37
- /* Darker green on hover */
38
- }
39
-
40
- button:active {
41
- background-color: #3e8e41;
42
- /* Even darker green when clicked */
43
- }
44
-
45
-
46
- .header1 {
47
- user-select: none;
48
- /* direction: rtl; */
49
- /* text-align: center; */
50
- font-family: vazirmatn;
51
- font-size: 1.6mm;
52
- font-weight: bolder;
53
- }
54
- .header2 {
55
- user-select: none;
56
- direction: rtl;
57
- /* text-align: center; */
58
- text-anchor: middle;
59
- /* font-family: sans-serif, Helvetica, Arial;*/
60
- /* font-family: Verdana, Geneva, Tahoma, sans-serif; */
61
- font-family: sans-serif !important;
62
- font-family: 'Courier New', Courier, monospace;
63
- font-size: 1.1mm;
64
- font-weight: bold;
65
- }
66
- .header3 {
67
- user-select: none;
68
- /* direction: rtl; */
69
- /* text-align: center; */
70
- font-family: sans-serif !important;
71
-
72
- /* font-family: vazirmatn; */
73
- font-size: 1mm;
74
- font-weight: bold;
75
- }
76
- .header4 {
77
- user-select: none;
78
- direction: rtl;
79
- /* text-align: center; */
80
- font-family: vazirmatn;
81
- font-size: 1mm;
82
- /* font-weight: bold; */
83
- }
84
- .tymp1 {
85
- user-select: none;
86
- direction: ltr !important;
87
- /* text-align: center; */
88
- font-family: Arial, Helvetica, sans-serif !important;
89
- font-size: 1mm;
90
- /* font-weight: bold; */
91
- }
92
- .tymp2 {
93
- user-select: none;
94
- direction: ltr !important;
95
- /* text-align: center; */
96
- font-family: Arial, Helvetica, sans-serif !important;
97
- font-size: 0.8mm;
98
- /* font-weight: bold; */
99
- }
100
- /* .mizoon {
101
- display: table;
102
- margin-right: auto;
103
- margin-left: auto;
104
-
105
- } */
106
-
107
- /* input {
108
- display: block;
109
- width: 60%;
110
- border: 1px solid antiquewhite;
111
- padding: 10px 10px;
112
- margin: 10px auto 10px auto;
113
- } */
114
- .header5 {
115
- /* font: 1.5px Verdana, Helvetica, Arial, sans-serif; */
116
- user-select: none;
117
- direction: rtl;
118
- text-align: right;
119
- font-family: vazirmatn;
120
- font-size: 0.9mm;
121
- font-weight: bold;
122
- }
package/src/note.html DELETED
@@ -1,64 +0,0 @@
1
- @font-face {
2
- font-family: vazirmatn;
3
- src:
4
- url("../fonts/Vazirmatn-Regular.woff2") format("woff2"),
5
- url('../fonts/Vazirmatn-Regular.woff') format('woff');
6
- }
7
- @page {
8
- size: a4;
9
- margin: 0;
10
- padding: 0;
11
- break-inside: avoid;
12
- height: 100%;
13
- }
14
- @media print {
15
- header,
16
- footer {
17
- display: none;
18
- }
19
-
20
- button {
21
- display: none !important;
22
- }
23
-
24
- svg {
25
- max-width: 400px;
26
- scrollbar-width: 400px;
27
- overflow-block:scroll;
28
- margin: 0;
29
- padding: 0;
30
- break-inside: avoid;
31
- }
32
-
33
- body {
34
- margin: 0;
35
- padding: 0;
36
- break-inside: avoid;
37
- }
38
-
39
- html {
40
- margin: 0;
41
- padding: 0;
42
- break-inside: avoid;
43
- }
44
-
45
- }
46
-
47
- .text-box {
48
- font-size: 0.8mm;
49
- direction: rtl !important;
50
- user-select: none;
51
- }
52
-
53
- .persian {
54
- font-family: Roboto;
55
- font-size: 1.2mm;
56
- }
57
-
58
- .align {
59
- text-anchor: start;
60
- }
61
-
62
- .bold {
63
- font-weight: bold;
64
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes