From ccf73d764231f2ff01a23154c33b26cd49f7ca17 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期五, 08 十一月 2024 09:15:08 +0800
Subject: [PATCH] 添加导出和打印功能

---
 src/views/home/index.vue                             |    2 
 package-lock.json                                    |  399 ++++++++++++++++++++++++++++++++++++++++++-
 src/views/home/components/patient_file.vue           |    8 
 src/views/home/components/pingubiao/editDietary4.vue |   12 -
 src/views/home/components/editDietary2.vue           |   24 ++
 package.json                                         |    4 
 src/main.ts                                          |    4 
 src/views/home/components/editDietary.vue            |   33 +++
 8 files changed, 449 insertions(+), 37 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 5aa115e..2f7a8f7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,6 +20,7 @@
 				"echarts-gl": "^2.0.9",
 				"echarts-wordcloud": "^2.1.0",
 				"element-plus": "^2.6.1",
+				"html2pdf.js": "^0.10.2",
 				"js-cookie": "^3.0.5",
 				"js-table2excel": "^1.1.2",
 				"jsplumb": "^2.15.6",
@@ -37,7 +38,8 @@
 				"vue-demi": "^0.14.7",
 				"vue-grid-layout": "^3.0.0-beta1",
 				"vue-i18n": "^9.10.2",
-				"vue-router": "^4.3.0"
+				"vue-router": "^4.3.0",
+				"vue3-print-nb": "^0.1.4"
 			},
 			"devDependencies": {
 				"@types/node": "^20.11.28",
@@ -84,11 +86,11 @@
 			}
 		},
 		"node_modules/@babel/runtime": {
-			"version": "7.21.0",
-			"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
-			"integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+			"version": "7.26.0",
+			"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz",
+			"integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
 			"dependencies": {
-				"regenerator-runtime": "^0.13.11"
+				"regenerator-runtime": "^0.14.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -1075,6 +1077,12 @@
 			"integrity": "sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==",
 			"dev": true
 		},
+		"node_modules/@types/raf": {
+			"version": "3.4.3",
+			"resolved": "https://registry.npmmirror.com/@types/raf/-/raf-3.4.3.tgz",
+			"integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==",
+			"optional": true
+		},
 		"node_modules/@types/semver": {
 			"version": "7.5.8",
 			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
@@ -1763,6 +1771,17 @@
 			"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 			"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
 		},
+		"node_modules/atob": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz",
+			"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+			"bin": {
+				"atob": "bin/atob.js"
+			},
+			"engines": {
+				"node": ">= 4.5.0"
+			}
+		},
 		"node_modules/axios": {
 			"version": "1.6.8",
 			"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
@@ -1778,6 +1797,14 @@
 			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
 			"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
 			"dev": true
+		},
+		"node_modules/base64-arraybuffer": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
+			"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==",
+			"engines": {
+				"node": ">= 0.6.0"
+			}
 		},
 		"node_modules/batch-processor": {
 			"version": "1.0.0",
@@ -1821,6 +1848,17 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/btoa": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmmirror.com/btoa/-/btoa-1.2.1.tgz",
+			"integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==",
+			"bin": {
+				"btoa": "bin/btoa.js"
+			},
+			"engines": {
+				"node": ">= 0.4.0"
+			}
+		},
 		"node_modules/call-bind": {
 			"version": "1.0.7",
 			"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
@@ -1847,6 +1885,31 @@
 			"engines": {
 				"node": ">=6"
 			}
+		},
+		"node_modules/canvg": {
+			"version": "3.0.10",
+			"resolved": "https://registry.npmmirror.com/canvg/-/canvg-3.0.10.tgz",
+			"integrity": "sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==",
+			"optional": true,
+			"dependencies": {
+				"@babel/runtime": "^7.12.5",
+				"@types/raf": "^3.4.0",
+				"core-js": "^3.8.3",
+				"raf": "^3.4.1",
+				"regenerator-runtime": "^0.13.7",
+				"rgbcolor": "^1.0.1",
+				"stackblur-canvas": "^2.0.0",
+				"svg-pathdata": "^6.0.3"
+			},
+			"engines": {
+				"node": ">=10.0.0"
+			}
+		},
+		"node_modules/canvg/node_modules/regenerator-runtime": {
+			"version": "0.13.11",
+			"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+			"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
+			"optional": true
 		},
 		"node_modules/chalk": {
 			"version": "4.1.2",
@@ -1958,6 +2021,17 @@
 			"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
 			"dev": true
 		},
+		"node_modules/core-js": {
+			"version": "3.39.0",
+			"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.39.0.tgz",
+			"integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==",
+			"hasInstallScript": true,
+			"optional": true,
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/core-js"
+			}
+		},
 		"node_modules/countup.js": {
 			"version": "2.8.0",
 			"resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz",
@@ -1980,6 +2054,14 @@
 			},
 			"engines": {
 				"node": ">= 8"
+			}
+		},
+		"node_modules/css-line-break": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
+			"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
+			"dependencies": {
+				"utrie": "^1.0.2"
 			}
 		},
 		"node_modules/cssesc": {
@@ -2097,6 +2179,12 @@
 				"ssr-window": "^3.0.0-alpha.1"
 			}
 		},
+		"node_modules/dompurify": {
+			"version": "2.5.7",
+			"resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-2.5.7.tgz",
+			"integrity": "sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q==",
+			"optional": true
+		},
 		"node_modules/echarts": {
 			"version": "5.5.0",
 			"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz",
@@ -2212,6 +2300,11 @@
 				"es5-ext": "^0.10.35",
 				"es6-symbol": "^3.1.1"
 			}
+		},
+		"node_modules/es6-promise": {
+			"version": "4.2.8",
+			"resolved": "https://registry.npmmirror.com/es6-promise/-/es6-promise-4.2.8.tgz",
+			"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
 		},
 		"node_modules/es6-symbol": {
 			"version": "3.1.3",
@@ -2521,6 +2614,11 @@
 			"dependencies": {
 				"reusify": "^1.0.4"
 			}
+		},
+		"node_modules/fflate": {
+			"version": "0.8.2",
+			"resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.8.2.tgz",
+			"integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A=="
 		},
 		"node_modules/file-entry-cache": {
 			"version": "6.0.1",
@@ -2833,6 +2931,28 @@
 				"url": "https://github.com/sponsors/wooorm"
 			}
 		},
+		"node_modules/html2canvas": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
+			"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
+			"dependencies": {
+				"css-line-break": "^2.1.0",
+				"text-segmentation": "^1.0.3"
+			},
+			"engines": {
+				"node": ">=8.0.0"
+			}
+		},
+		"node_modules/html2pdf.js": {
+			"version": "0.10.2",
+			"resolved": "https://registry.npmmirror.com/html2pdf.js/-/html2pdf.js-0.10.2.tgz",
+			"integrity": "sha512-WyHVeMb18Bp7vYTmBv1GVsThH//K7SRfHdSdhHPkl4JvyQarNQXnailkYn0QUbRRmnN5rdbbmSIGEsPZtzPy2Q==",
+			"dependencies": {
+				"es6-promise": "^4.2.5",
+				"html2canvas": "^1.0.0",
+				"jspdf": "^2.3.1"
+			}
+		},
 		"node_modules/i18next": {
 			"version": "20.6.1",
 			"resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz",
@@ -3037,6 +3157,23 @@
 			},
 			"optionalDependencies": {
 				"graceful-fs": "^4.1.6"
+			}
+		},
+		"node_modules/jspdf": {
+			"version": "2.5.2",
+			"resolved": "https://registry.npmmirror.com/jspdf/-/jspdf-2.5.2.tgz",
+			"integrity": "sha512-myeX9c+p7znDWPk0eTrujCzNjT+CXdXyk7YmJq5nD5V7uLLKmSXnlQ/Jn/kuo3X09Op70Apm0rQSnFWyGK8uEQ==",
+			"dependencies": {
+				"@babel/runtime": "^7.23.2",
+				"atob": "^2.1.2",
+				"btoa": "^1.2.1",
+				"fflate": "^0.8.1"
+			},
+			"optionalDependencies": {
+				"canvg": "^3.0.6",
+				"core-js": "^3.6.0",
+				"dompurify": "^2.5.4",
+				"html2canvas": "^1.0.0-rc.5"
 			}
 		},
 		"node_modules/jsplumb": {
@@ -3407,6 +3544,12 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/performance-now": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
+			"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
+			"optional": true
+		},
 		"node_modules/picocolors": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -3588,6 +3731,15 @@
 				}
 			]
 		},
+		"node_modules/raf": {
+			"version": "3.4.1",
+			"resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz",
+			"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
+			"optional": true,
+			"dependencies": {
+				"performance-now": "^2.1.0"
+			}
+		},
 		"node_modules/readdirp": {
 			"version": "3.6.0",
 			"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -3601,9 +3753,9 @@
 			}
 		},
 		"node_modules/regenerator-runtime": {
-			"version": "0.13.11",
-			"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
-			"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+			"version": "0.14.1",
+			"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+			"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
 		},
 		"node_modules/resolve-from": {
 			"version": "4.0.0",
@@ -3622,6 +3774,15 @@
 			"engines": {
 				"iojs": ">=1.0.0",
 				"node": ">=0.10.0"
+			}
+		},
+		"node_modules/rgbcolor": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz",
+			"integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==",
+			"optional": true,
+			"engines": {
+				"node": ">= 0.8.15"
 			}
 		},
 		"node_modules/rimraf": {
@@ -3875,6 +4036,15 @@
 			"resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz",
 			"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
 		},
+		"node_modules/stackblur-canvas": {
+			"version": "2.7.0",
+			"resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz",
+			"integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==",
+			"optional": true,
+			"engines": {
+				"node": ">=0.1.14"
+			}
+		},
 		"node_modules/strip-ansi": {
 			"version": "6.0.1",
 			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -3909,6 +4079,23 @@
 			},
 			"engines": {
 				"node": ">=8"
+			}
+		},
+		"node_modules/svg-pathdata": {
+			"version": "6.0.3",
+			"resolved": "https://registry.npmmirror.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz",
+			"integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==",
+			"optional": true,
+			"engines": {
+				"node": ">=12.0.0"
+			}
+		},
+		"node_modules/text-segmentation": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
+			"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
+			"dependencies": {
+				"utrie": "^1.0.2"
 			}
 		},
 		"node_modules/text-table": {
@@ -4027,6 +4214,14 @@
 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 			"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
 			"dev": true
+		},
+		"node_modules/utrie": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
+			"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
+			"dependencies": {
+				"base64-arraybuffer": "^1.0.2"
+			}
 		},
 		"node_modules/vite": {
 			"version": "5.1.6",
@@ -4272,6 +4467,14 @@
 				"vue": "^3.2.0"
 			}
 		},
+		"node_modules/vue3-print-nb": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmmirror.com/vue3-print-nb/-/vue3-print-nb-0.1.4.tgz",
+			"integrity": "sha512-LExI7viEzplR6ZKQ2b+V4U0cwGYbVD4fut/XHvk3UPGlT5CcvIGs6VlwGp107aKgk6P8Pgx4rco3Rehv2lti3A==",
+			"dependencies": {
+				"vue": "^3.0.5"
+			}
+		},
 		"node_modules/which": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -4347,11 +4550,11 @@
 			"integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg=="
 		},
 		"@babel/runtime": {
-			"version": "7.21.0",
-			"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
-			"integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+			"version": "7.26.0",
+			"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz",
+			"integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
 			"requires": {
-				"regenerator-runtime": "^0.13.11"
+				"regenerator-runtime": "^0.14.0"
 			}
 		},
 		"@ctrl/tinycolor": {
@@ -4937,6 +5140,12 @@
 			"integrity": "sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==",
 			"dev": true
 		},
+		"@types/raf": {
+			"version": "3.4.3",
+			"resolved": "https://registry.npmmirror.com/@types/raf/-/raf-3.4.3.tgz",
+			"integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==",
+			"optional": true
+		},
 		"@types/semver": {
 			"version": "7.5.8",
 			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
@@ -5420,6 +5629,11 @@
 			"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 			"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
 		},
+		"atob": {
+			"version": "2.1.2",
+			"resolved": "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz",
+			"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+		},
 		"axios": {
 			"version": "1.6.8",
 			"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
@@ -5435,6 +5649,11 @@
 			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
 			"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
 			"dev": true
+		},
+		"base64-arraybuffer": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
+			"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
 		},
 		"batch-processor": {
 			"version": "1.0.0",
@@ -5472,6 +5691,11 @@
 				"fill-range": "^7.0.1"
 			}
 		},
+		"btoa": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmmirror.com/btoa/-/btoa-1.2.1.tgz",
+			"integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g=="
+		},
 		"call-bind": {
 			"version": "1.0.7",
 			"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
@@ -5489,6 +5713,30 @@
 			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
 			"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
 			"dev": true
+		},
+		"canvg": {
+			"version": "3.0.10",
+			"resolved": "https://registry.npmmirror.com/canvg/-/canvg-3.0.10.tgz",
+			"integrity": "sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==",
+			"optional": true,
+			"requires": {
+				"@babel/runtime": "^7.12.5",
+				"@types/raf": "^3.4.0",
+				"core-js": "^3.8.3",
+				"raf": "^3.4.1",
+				"regenerator-runtime": "^0.13.7",
+				"rgbcolor": "^1.0.1",
+				"stackblur-canvas": "^2.0.0",
+				"svg-pathdata": "^6.0.3"
+			},
+			"dependencies": {
+				"regenerator-runtime": {
+					"version": "0.13.11",
+					"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+					"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
+					"optional": true
+				}
+			}
 		},
 		"chalk": {
 			"version": "4.1.2",
@@ -5576,6 +5824,12 @@
 			"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
 			"dev": true
 		},
+		"core-js": {
+			"version": "3.39.0",
+			"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.39.0.tgz",
+			"integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==",
+			"optional": true
+		},
 		"countup.js": {
 			"version": "2.8.0",
 			"resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz",
@@ -5595,6 +5849,14 @@
 				"path-key": "^3.1.0",
 				"shebang-command": "^2.0.0",
 				"which": "^2.0.1"
+			}
+		},
+		"css-line-break": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
+			"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
+			"requires": {
+				"utrie": "^1.0.2"
 			}
 		},
 		"cssesc": {
@@ -5682,6 +5944,12 @@
 			"requires": {
 				"ssr-window": "^3.0.0-alpha.1"
 			}
+		},
+		"dompurify": {
+			"version": "2.5.7",
+			"resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-2.5.7.tgz",
+			"integrity": "sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q==",
+			"optional": true
 		},
 		"echarts": {
 			"version": "5.5.0",
@@ -5774,6 +6042,11 @@
 				"es5-ext": "^0.10.35",
 				"es6-symbol": "^3.1.1"
 			}
+		},
+		"es6-promise": {
+			"version": "4.2.8",
+			"resolved": "https://registry.npmmirror.com/es6-promise/-/es6-promise-4.2.8.tgz",
+			"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
 		},
 		"es6-symbol": {
 			"version": "3.1.3",
@@ -6024,6 +6297,11 @@
 				"reusify": "^1.0.4"
 			}
 		},
+		"fflate": {
+			"version": "0.8.2",
+			"resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.8.2.tgz",
+			"integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A=="
+		},
 		"file-entry-cache": {
 			"version": "6.0.1",
 			"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -6235,6 +6513,25 @@
 			"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz",
 			"integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A=="
 		},
+		"html2canvas": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
+			"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
+			"requires": {
+				"css-line-break": "^2.1.0",
+				"text-segmentation": "^1.0.3"
+			}
+		},
+		"html2pdf.js": {
+			"version": "0.10.2",
+			"resolved": "https://registry.npmmirror.com/html2pdf.js/-/html2pdf.js-0.10.2.tgz",
+			"integrity": "sha512-WyHVeMb18Bp7vYTmBv1GVsThH//K7SRfHdSdhHPkl4JvyQarNQXnailkYn0QUbRRmnN5rdbbmSIGEsPZtzPy2Q==",
+			"requires": {
+				"es6-promise": "^4.2.5",
+				"html2canvas": "^1.0.0",
+				"jspdf": "^2.3.1"
+			}
+		},
 		"i18next": {
 			"version": "20.6.1",
 			"resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz",
@@ -6397,6 +6694,21 @@
 			"requires": {
 				"graceful-fs": "^4.1.6",
 				"universalify": "^2.0.0"
+			}
+		},
+		"jspdf": {
+			"version": "2.5.2",
+			"resolved": "https://registry.npmmirror.com/jspdf/-/jspdf-2.5.2.tgz",
+			"integrity": "sha512-myeX9c+p7znDWPk0eTrujCzNjT+CXdXyk7YmJq5nD5V7uLLKmSXnlQ/Jn/kuo3X09Op70Apm0rQSnFWyGK8uEQ==",
+			"requires": {
+				"@babel/runtime": "^7.23.2",
+				"atob": "^2.1.2",
+				"btoa": "^1.2.1",
+				"canvg": "^3.0.6",
+				"core-js": "^3.6.0",
+				"dompurify": "^2.5.4",
+				"fflate": "^0.8.1",
+				"html2canvas": "^1.0.0-rc.5"
 			}
 		},
 		"jsplumb": {
@@ -6685,6 +6997,12 @@
 			"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
 			"dev": true
 		},
+		"performance-now": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
+			"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
+			"optional": true
+		},
 		"picocolors": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
@@ -6782,6 +7100,15 @@
 			"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
 			"dev": true
 		},
+		"raf": {
+			"version": "3.4.1",
+			"resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz",
+			"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
+			"optional": true,
+			"requires": {
+				"performance-now": "^2.1.0"
+			}
+		},
 		"readdirp": {
 			"version": "3.6.0",
 			"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -6792,9 +7119,9 @@
 			}
 		},
 		"regenerator-runtime": {
-			"version": "0.13.11",
-			"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
-			"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+			"version": "0.14.1",
+			"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+			"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
 		},
 		"resolve-from": {
 			"version": "4.0.0",
@@ -6807,6 +7134,12 @@
 			"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
 			"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
 			"dev": true
+		},
+		"rgbcolor": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz",
+			"integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==",
+			"optional": true
 		},
 		"rimraf": {
 			"version": "3.0.2",
@@ -6981,6 +7314,12 @@
 			"resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz",
 			"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
 		},
+		"stackblur-canvas": {
+			"version": "2.7.0",
+			"resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz",
+			"integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==",
+			"optional": true
+		},
 		"strip-ansi": {
 			"version": "6.0.1",
 			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
@@ -7003,6 +7342,20 @@
 			"dev": true,
 			"requires": {
 				"has-flag": "^4.0.0"
+			}
+		},
+		"svg-pathdata": {
+			"version": "6.0.3",
+			"resolved": "https://registry.npmmirror.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz",
+			"integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==",
+			"optional": true
+		},
+		"text-segmentation": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
+			"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
+			"requires": {
+				"utrie": "^1.0.2"
 			}
 		},
 		"text-table": {
@@ -7094,6 +7447,14 @@
 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 			"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
 			"dev": true
+		},
+		"utrie": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
+			"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
+			"requires": {
+				"base64-arraybuffer": "^1.0.2"
+			}
 		},
 		"vite": {
 			"version": "5.1.6",
@@ -7237,6 +7598,14 @@
 				"@vue/devtools-api": "^6.5.1"
 			}
 		},
+		"vue3-print-nb": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmmirror.com/vue3-print-nb/-/vue3-print-nb-0.1.4.tgz",
+			"integrity": "sha512-LExI7viEzplR6ZKQ2b+V4U0cwGYbVD4fut/XHvk3UPGlT5CcvIGs6VlwGp107aKgk6P8Pgx4rco3Rehv2lti3A==",
+			"requires": {
+				"vue": "^3.0.5"
+			}
+		},
 		"which": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
diff --git a/package.json b/package.json
index adb1250..ef03aa5 100644
--- a/package.json
+++ b/package.json
@@ -21,6 +21,7 @@
 		"echarts-gl": "^2.0.9",
 		"echarts-wordcloud": "^2.1.0",
 		"element-plus": "^2.6.1",
+		"html2pdf.js": "^0.10.2",
 		"js-cookie": "^3.0.5",
 		"js-table2excel": "^1.1.2",
 		"jsplumb": "^2.15.6",
@@ -38,7 +39,8 @@
 		"vue-demi": "^0.14.7",
 		"vue-grid-layout": "^3.0.0-beta1",
 		"vue-i18n": "^9.10.2",
-		"vue-router": "^4.3.0"
+		"vue-router": "^4.3.0",
+		"vue3-print-nb": "^0.1.4"
 	},
 	"devDependencies": {
 		"@types/node": "^20.11.28",
diff --git a/src/main.ts b/src/main.ts
index e979762..903ad66 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -5,7 +5,7 @@
 import { directive } from '/@/directive/index';
 import { i18n } from '/@/i18n/index';
 import other from '/@/utils/other';
-
+import print from 'vue3-print-nb'
 import ElementPlus from 'element-plus';
 import * as ElementPlusIconsVue from '@element-plus/icons-vue'
 import '/@/theme/index.scss';
@@ -19,4 +19,4 @@
 directive(app);
 other.elSvg(app);
 
-app.use(pinia).use(router).use(ElementPlus).use(i18n).use(VueGridLayout).mount('#app');
+app.use(print).use(pinia).use(router).use(ElementPlus).use(i18n).use(VueGridLayout).mount('#app');
diff --git a/src/views/home/components/editDietary.vue b/src/views/home/components/editDietary.vue
index a6365ec..9a86413 100644
--- a/src/views/home/components/editDietary.vue
+++ b/src/views/home/components/editDietary.vue
@@ -2,7 +2,7 @@
     <div class="dietarySurvey-item">
         <el-dialog  v-model="state.dialogTableVisible" title="膳食调查表" :fullscreen="true" width="100%">
             <div class="container" style="width: 100%; height: 100%;overflow: auto;">
-                <div>
+                <div id="printFrom1">
                     <div>
                         <el-form size="small">
                             <div style="width: 100%">
@@ -122,7 +122,7 @@
                                         </td>
                                     </tr>
                                     <tr>
-                                        <td class="6">
+                                        <td colspan="6">
                                             5.三天饮食记录表(食材、份量)
                                         </td>
                                     </tr>
@@ -314,6 +314,9 @@
                                                 <el-input v-model="state.tableData.睡眠.input1" type="textarea"
                                                     :autosize="{ minRows: 1, maxRows: 6 }" placeholder="备注" />
                                             </el-form-item>
+                                        </td>
+                                        <td colspan="3">
+                                            
                                         </td>
                                     </tr>
                                     <tr>
@@ -549,6 +552,15 @@
                     <el-button type="primary" @click="onSubmit">
                         保存
                     </el-button>
+                    <el-button v-if="state.viewInfo.id" type="primary" v-print="'#printFrom1'">
+                        <el-icon><Printer /></el-icon>
+                        打印
+                    </el-button>
+                    <el-button type="primary" v-if="state.viewInfo.id" @click="generatePDF">
+                        <el-icon><Position /></el-icon>
+                        导出
+                    </el-button>
+                    
                 </div>
             </template>
         </el-dialog>
@@ -559,6 +571,7 @@
 </template>
 
 <script setup lang="ts" name="visualizingLinkDemo2">
+import html2pdf from 'html2pdf.js';
 import { reactive, onMounted, onUnmounted, ref } from 'vue';
 import { formatDate } from '/@/utils/formatTime';
 import { NextLoading } from '/@/utils/loading';
@@ -652,6 +665,22 @@
 const funhui=()=>{
     state.dialogTableVisible=false
 }
+// 打印
+const onPrint=()=>{
+    
+}
+const generatePDF=()=> {
+      const element = document.getElementById('printFrom1');
+      const opt = {
+        margin: 10,
+        filename: `${state.tableData.表名}.pdf`,
+        image: { type: 'jpeg', quality: 0.98 },
+        html2canvas: { scale: 2 },
+        jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
+      };
+      html2pdf().set(opt).from(element).save();
+
+}
 const onSubmit = () => {
   console.log('submit!')
   console.log(state.tableData)
diff --git a/src/views/home/components/editDietary2.vue b/src/views/home/components/editDietary2.vue
index fcb54c6..7526277 100644
--- a/src/views/home/components/editDietary2.vue
+++ b/src/views/home/components/editDietary2.vue
@@ -2,7 +2,7 @@
     <div class="dietarySurvey-item">
         <el-dialog v-model="state.dialogTableVisible" title="营养膳食调查表" :fullscreen="true" width="100%">
             <div class="container" style="width: 100%; height: 100%;overflow: auto;">
-                <div>
+                <div id='printFrom2'>
                     <div>
                         <el-form size="small">
                             <div style="width: 100%">
@@ -682,6 +682,14 @@
                     <el-button type="primary" @click="onSubmit">
                         保存
                     </el-button>
+                    <el-button v-if="state.viewInfo.id" type="primary" v-print="'#printFrom2'">
+                        <el-icon><Printer /></el-icon>
+                        打印
+                    </el-button>
+                    <el-button type="primary" v-if="state.viewInfo.id" @click="generatePDF">
+                        <el-icon><Position /></el-icon>
+                        导出
+                    </el-button>
                 </div>
             </template>
         </el-dialog>
@@ -692,6 +700,7 @@
 </template>
 
 <script setup lang="ts" name="visualizingLinkDemo2">
+import html2pdf from 'html2pdf.js';
 import { reactive, onMounted, onUnmounted, ref } from 'vue';
 import { formatDate } from '/@/utils/formatTime';
 import { NextLoading } from '/@/utils/loading';
@@ -881,6 +890,18 @@
 
 const funhui = () => {
     state.dialogTableVisible = false
+}
+const generatePDF=()=> {
+      const element = document.getElementById('printFrom2');
+      const opt = {
+        margin: 10,
+        filename: `${state.tableData.表名}.pdf`,
+        image: { type: 'jpeg', quality: 0.98 },
+        html2canvas: { scale: 2 },
+        jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
+      };
+      html2pdf().set(opt).from(element).save();
+
 }
 const onSubmit = () => {
     console.log('submit!')
@@ -1124,3 +1145,4 @@
     background-color: #ffffff;
 }
 </style>
+
diff --git a/src/views/home/components/patient_file.vue b/src/views/home/components/patient_file.vue
index bbfa684..36976e6 100644
--- a/src/views/home/components/patient_file.vue
+++ b/src/views/home/components/patient_file.vue
@@ -17,12 +17,12 @@
                         </el-form-item>
                         <el-form-item label="自购套餐:" >
                             <el-row>
-                                <el-col span='12'>
+                                <el-col :span='12'>
                                     <el-input v-model="state.taochan.自购几月" :disabled="state.formdispl" placeholder="购买多少个月">
                                         <template #append>月</template>
                                     </el-input>
                                 </el-col>
-                                <el-col span='12'>
+                                <el-col :span='12'>
                                     <el-input v-model="state.taochan.多少元套餐" :disabled="state.formdispl" placeholder="套餐金额">
                                         <template #append>元</template>
                                     </el-input>
@@ -31,10 +31,10 @@
                         </el-form-item>
                         <el-form-item label="自购产品名称">
                             <el-row>
-                                <el-col span='12'>
+                                <el-col :span='12'>
                                     <el-input v-model="state.taochan.产品名称" :disabled="state.formdispl" placeholder="产品名称"></el-input>
                                 </el-col>
-                                <el-col span='12'>
+                                <el-col :span='12'>
                                     <el-input v-model="state.taochan.自购多少盒" :disabled="state.formdispl" placeholder="数量">
                                         <template #append>盒</template>
                                     </el-input>
diff --git a/src/views/home/components/pingubiao/editDietary4.vue b/src/views/home/components/pingubiao/editDietary4.vue
index 3f83533..9d3a8e1 100644
--- a/src/views/home/components/pingubiao/editDietary4.vue
+++ b/src/views/home/components/pingubiao/editDietary4.vue
@@ -42,17 +42,7 @@
                                         <th colspan="2">性别:{{patientsInfo.patientGenderText}}</th>
 
                                     </tr>
-                                    <tr>
-                                        
-                                        <td colspan="" class="tdInput" style="text-align: center;">
-                                           血清白蛋白浓度(g/L)
-
-                                        </td>
-                                        <td colspan="1" style="text-align: center;" > 
-                                            打分
-                                        </td>
-
-                                    </tr>
+                                   
                                     <tr>
                                    
                                         <td colspan="5" style="background-color: antiquewhite;">
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 7584cef..ecf83b3 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -1,6 +1,6 @@
 <template>
     <div class="home-container layout-pd ">
-        <el-row gutter="10">
+        <el-row :gutter="10">
             <el-col class="patTabel" :xs="6" :sm="6" :md="4" :lg="3" :xl="3" v-if="state.isTable">
                 <el-table :data="state.filterTableData" stripe :height="state.tableHeight.left" size="default"
                     highlight-current-row @current-change="handleCurrentChange" style="width: 100%">

--
Gitblit v1.8.0