From 39c8b288ec8294e026459dfb1955f0bbc49ebb52 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 19 十月 2026 11:10:40 +0800
Subject: [PATCH] 测试完成
---
src/api/AiCentre/index.js | 1
dist.zip | 0
vue.config.js | 4
src/components/Assistant/index.vue | 62
src/views/patient/archives/components/ArchiveDialog.vue | 34
src/views/patient/patient/index.vue | 4
src/views/patient/archives/components/EditableTable.vue | 30
src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue | 31
src/views/patient/propaganda/QuestionnaireTask.vue | 151 +
src/views/patient/archives/childHealth/detail.vue | 156 +
src/views/Satisfaction/sfstatistics/components/SatisfactionStatistics.vue | 10
src/views/patient/archives/highRisk/index.vue | 2
src/views/followvisit/record/detailpage/index.vue | 3
src/views/patient/archives/childHealth/index.vue | 56
src/views/Satisfaction/sfstatistics/components/FollowupStatistics.vue | 32
src/views/patient/archives/maternalHealth/detail.vue | 492 +++--
src/views/patient/patient/behospitalized.vue | 4
src/views/followvisit/tasklist/index.vue | 72
src/views/patient/archives/apiAdapter.js | 602 +++++++
src/views/patient/archives/types.js | 15
src/views/patient/archives/maternalHealth/KuppermanScoreTable.vue | 168 +
src/views/sfstatistics/percentage/components/FirstFollowUp.vue | 48
src/views/Satisfaction/configurationmyd/batch.vue | 204 +-
src/views/patient/archives/maternalHealth/PSQIScoreTable.vue | 403 ++++
src/views/patient/archives/maternalHealth/MRSScoreTable.vue | 154 +
src/api/patient/archive.js | 442 +++++
src/views/login.vue | 26
src/components/NearTimeoutDialog/index.vue | 181 ++
src/views/sfstatistics/percentage/index.vue | 10
src/views/patient/archives/components/ArchiveList.vue | 44
src/api/AiCentre/nearTimeout.js | 87 +
src/views/patient/archives/components/OutpatientPicker.vue | 16
dist-external/static/js/0.js | 16
src/App.vue | 3
src/views/patient/propaganda/particty.vue | 152 +
src/views/Satisfaction/configurationmyd/dispose.vue | 17
src/views/patient/archives/maternalHealth/index.vue | 62
src/views/sfstatistics/percentage/components/CombinedFollowUp.vue | 1134 +++++++++++--
38 files changed, 4,155 insertions(+), 773 deletions(-)
diff --git a/dist-external/static/js/0.js b/dist-external/static/js/0.js
index eefa06e..ff925ea 100644
--- a/dist-external/static/js/0.js
+++ b/dist-external/static/js/0.js
@@ -5624,7 +5624,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n__webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.find.js\");\n__webpack_require__(/*! core-js/modules/es.array.find-index.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.find-index.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.find.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.find.js\");\n__webpack_require__(/*! core-js/modules/es.json.parse.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.parse.js\");\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.stringify.js\");\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.keys.js\");\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.regexp.exec.js\");\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.string.replace.js\");\nvar _EditableTable = _interopRequireDefault(__webpack_require__(/*! ../components/EditableTable.vue */ \"./src/views/patient/archives/components/EditableTable.vue\"));\nvar _InfoField = _interopRequireDefault(__webpack_require__(/*! ./InfoField.vue */ \"./src/views/patient/archives/childHealth/InfoField.vue\"));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = exports.default = {\n name: \"ChildHealthArchiveDetail\",\n components: {\n EditableTable: _EditableTable.default,\n InfoField: _InfoField.default\n },\n data: function data() {\n return {\n loading: false,\n archive: null,\n editing: false,\n activeTab: \"growth\",\n relationOptions: [{\n label: \"鐖朵翰\",\n value: \"father\"\n }, {\n label: \"姣嶄翰\",\n value: \"mother\"\n }, {\n label: \"绁栫埗\",\n value: \"grandfather\"\n }, {\n label: \"绁栨瘝\",\n value: \"grandmother\"\n }, {\n label: \"鍏朵粬\",\n value: \"other\"\n }],\n gradeOptions: [\"浼樼\", \"鑹ソ\", \"涓瓑\", \"涓笅\", \"宸甛"],\n form: {\n assessDate: \"\",\n testName: \"\",\n reading: \"涓瓑\",\n writing: \"涓瓑\",\n math: \"涓瓑\",\n iq: null,\n result: \"\",\n behaviorDate: \"\",\n attention: null,\n hyperactivity: null,\n impulsivity: null,\n emotional: null,\n totalScore: null,\n evaluation: \"姝e父鑼冨洿\",\n trainDate: \"\",\n trainingType: \"\",\n trainContent: \"\",\n duration: 40,\n trainer: \"\",\n progress: \"鑹ソ\"\n },\n growthData: [],\n neuroData: [],\n interventionData: [],\n measureData: [],\n dietData: [],\n planData: [],\n growthColumns: [{\n prop: \"checkDate\",\n label: \"妫�鏌ユ棩鏈焅",\n width: 120,\n type: \"date\"\n }, {\n prop: \"monthAge\",\n label: \"鏈堥緞\",\n width: 80\n }, {\n prop: \"weight\",\n label: \"浣撻噸(kg)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"height\",\n label: \"韬珮(cm)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"headCircum\",\n label: \"澶村洿(cm)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"weightPercentile\",\n label: \"浣撻噸鐧惧垎浣峔",\n width: 110\n }, {\n prop: \"heightPercentile\",\n label: \"韬珮鐧惧垎浣峔",\n width: 110\n }, {\n prop: \"evaluation\",\n label: \"璇勪及缁撴灉\",\n type: \"select\",\n options: [\"姝e父\", \"鍋忕槮\", \"鍋忚儢\", \"鍙戣偛杩熺紦\"]\n }, {\n prop: \"doctor\",\n label: \"妫�鏌ュ尰鐢焅",\n width: 100\n }],\n neuroColumns: [{\n prop: \"checkDate\",\n label: \"璇勪及鏃ユ湡\",\n width: 120,\n type: \"date\"\n }, {\n prop: \"monthAge\",\n label: \"鏈堥緞\",\n width: 70\n }, {\n prop: \"muscleTone\",\n label: \"鑲屽紶鍔沑",\n width: 100\n }, {\n prop: \"reflex\",\n label: \"鍘熷鍙嶅皠\",\n width: 100\n }, {\n prop: \"gms\",\n label: \"GMs璇勪及\",\n width: 120\n }, {\n prop: \"nbnaScore\",\n label: \"NBNA璇勫垎\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"evaluation\",\n label: \"缁煎悎璇勪及\",\n type: \"select\",\n options: [\"姝e父\", \"寮傚父\", \"鍙枒\"]\n }, {\n prop: \"doctor\",\n label: \"璇勪及鍖荤敓\",\n width: 100\n }],\n interventionColumns: [{\n prop: \"date\",\n label: \"鏃ユ湡\",\n width: 120,\n type: \"date\"\n }, {\n prop: \"type\",\n label: \"骞查绫诲瀷\",\n width: 140\n }, {\n prop: \"content\",\n label: \"骞查鍐呭\",\n minWidth: 200\n }, {\n prop: \"frequency\",\n label: \"棰戠巼\",\n width: 120\n }, {\n prop: \"effect\",\n label: \"鏁堟灉璇勪环\",\n width: 100\n }, {\n prop: \"executor\",\n label: \"鎵ц浜篭",\n width: 100\n }],\n measureColumns: [{\n prop: \"checkDate\",\n label: \"妫�鏌ユ棩鏈焅",\n width: 120,\n type: \"date\"\n }, {\n prop: \"weight\",\n label: \"浣撻噸(kg)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"height\",\n label: \"韬珮(cm)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"bmi\",\n label: \"BMI\",\n width: 80,\n type: \"number\"\n }, {\n prop: \"bmiPercentile\",\n label: \"BMI鐧惧垎浣峔",\n width: 110\n }, {\n prop: \"waistHip\",\n label: \"鑵板洿/鑷�鍥碶",\n width: 120\n }, {\n prop: \"evaluation\",\n label: \"钀ュ吇璇勪环\",\n type: \"select\",\n options: [\"姝e父\", \"瓒呴噸\", \"鑲ヨ儢\", \"钀ュ吇涓嶈壇\"]\n }],\n dietColumns: [{\n prop: \"date\",\n label: \"璇勪及鏃ユ湡\",\n width: 120,\n type: \"date\"\n }, {\n prop: \"energy\",\n label: \"鑳介噺(kcal/d)\",\n width: 120,\n type: \"number\"\n }, {\n prop: \"protein\",\n label: \"铔嬬櫧璐�(g/d)\",\n width: 120,\n type: \"number\"\n }, {\n prop: \"fat\",\n label: \"鑴傝偑(g/d)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"carbs\",\n label: \"纰虫按(g/d)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"dietScore\",\n label: \"鑶抽璇勫垎\",\n width: 100\n }, {\n prop: \"problem\",\n label: \"瀛樺湪闂\",\n minWidth: 160\n }],\n planColumns: [{\n prop: \"date\",\n label: \"鍒跺畾鏃ユ湡\",\n width: 120,\n type: \"date\"\n }, {\n prop: \"target\",\n label: \"骞查鐩爣\",\n minWidth: 200\n }, {\n prop: \"energyTarget\",\n label: \"鑳介噺鐩爣(kcal)\",\n width: 130,\n type: \"number\"\n }, {\n prop: \"foodGuide\",\n label: \"鑶抽鎸囧\",\n minWidth: 200\n }, {\n prop: \"exercise\",\n label: \"杩愬姩寤鸿\",\n minWidth: 180\n }, {\n prop: \"reviewDate\",\n label: \"澶嶆煡鏃ユ湡\",\n width: 120\n }]\n };\n },\n computed: {\n parentInfo: function parentInfo() {\n return this.archive && this.archive.parentInfo ? this.archive.parentInfo : {};\n },\n sourceLabel: function sourceLabel() {\n var _this$archive, _this$archive2;\n var map = {\n standalone: \"鐙珛寤烘。\",\n outpatient: \"闂ㄨ瘖璁板綍\",\n inpatient: \"鍦ㄩ櫌璁板綍\"\n };\n return map[(_this$archive = this.archive) === null || _this$archive === void 0 ? void 0 : _this$archive.sourcePage] || ((_this$archive2 = this.archive) === null || _this$archive2 === void 0 ? void 0 : _this$archive2.sourcePage) || \"-\";\n },\n relationLabel: function relationLabel() {\n var _this = this;\n var r = this.relationOptions.find(function (o) {\n var _this$archive3;\n return o.value === ((_this$archive3 = _this.archive) === null || _this$archive3 === void 0 || (_this$archive3 = _this$archive3.parentInfo) === null || _this$archive3 === void 0 ? void 0 : _this$archive3.relation);\n });\n return r ? r.label : \"-\";\n }\n },\n created: function created() {\n var id = this.$route.query.id;\n if (id) this.loadArchive(id);\n },\n methods: {\n loadArchive: function loadArchive(id) {\n this.loading = true;\n var all = JSON.parse(localStorage.getItem(\"patientArchives\") || \"[]\");\n this.archive = all.find(function (item) {\n return item.id === id;\n }) || null;\n if (this.archive) {\n var _this$archive$archive;\n if (this.archive.subType === 'highRisk') {\n this.activeTab = \"growth\";\n this.growthData = this.archive.growthData || getDefaultGrowthData();\n this.neuroData = this.archive.neuroData || getDefaultNeuroData();\n this.interventionData = this.archive.interventionData || getDefaultInterventionData();\n } else if (this.archive.subType === 'nutrition') {\n this.activeTab = \"measure\";\n this.measureData = this.archive.measureData || getDefaultMeasureData();\n this.dietData = this.archive.dietData || getDefaultDietData();\n this.planData = this.archive.planData || getDefaultPlanData();\n } else if (this.archive.subType === 'learning' && (_this$archive$archive = this.archive.archiveForm) !== null && _this$archive$archive !== void 0 && _this$archive$archive.learningData) {\n Object.assign(this.form, this.archive.archiveForm.learningData);\n }\n }\n this.loading = false;\n },\n toggleEdit: function toggleEdit() {\n var _this2 = this;\n if (this.editing) {\n if (this.archive.subType === 'learning') {\n if (!this.archive.archiveForm) this.archive.archiveForm = {};\n this.archive.archiveForm.learningData = JSON.parse(JSON.stringify(this.form));\n }\n if (this.archive.subType === 'highRisk') {\n this.archive.growthData = JSON.parse(JSON.stringify(this.growthData));\n this.archive.neuroData = JSON.parse(JSON.stringify(this.neuroData));\n this.archive.interventionData = JSON.parse(JSON.stringify(this.interventionData));\n }\n if (this.archive.subType === 'nutrition') {\n this.archive.measureData = JSON.parse(JSON.stringify(this.measureData));\n this.archive.dietData = JSON.parse(JSON.stringify(this.dietData));\n this.archive.planData = JSON.parse(JSON.stringify(this.planData));\n }\n this.archive.updateTime = new Date().toISOString().replace(\"T\", \" \").substring(0, 19);\n var all = JSON.parse(localStorage.getItem(\"patientArchives\") || \"[]\");\n var idx = all.findIndex(function (item) {\n return item.id === _this2.archive.id;\n });\n if (idx >= 0) all[idx] = JSON.parse(JSON.stringify(this.archive));\n localStorage.setItem(\"patientArchives\", JSON.stringify(all));\n this.$message.success(\"淇濆瓨鎴愬姛\");\n }\n this.editing = !this.editing;\n },\n subTypeTag: function subTypeTag(type) {\n var m = {\n highRisk: \"danger\",\n nutrition: \"warning\",\n learning: \"info\"\n };\n return m[type] || \"\";\n }\n }\n};\nfunction getDefaultGrowthData() {\n return [{\n checkDate: \"2026-07-01\",\n monthAge: \"1鏈圽",\n weight: 4.2,\n height: 54.5,\n headCircum: 37.0,\n weightPercentile: \"P25\",\n heightPercentile: \"P30\",\n evaluation: \"姝e父\",\n doctor: \"寮犲尰鐢焅"\n }, {\n checkDate: \"2026-08-01\",\n monthAge: \"2鏈圽",\n weight: 5.3,\n height: 58.0,\n headCircum: 39.0,\n weightPercentile: \"P35\",\n heightPercentile: \"P40\",\n evaluation: \"姝e父\",\n doctor: \"寮犲尰鐢焅"\n }];\n}\nfunction getDefaultNeuroData() {\n return [{\n checkDate: \"2026-07-01\",\n monthAge: \"1鏈圽",\n muscleTone: \"姝e父\",\n reflex: \"瀛樺湪\",\n gms: \"姝e父鎵姩\",\n nbnaScore: 38,\n evaluation: \"姝e父\",\n doctor: \"鐜嬪尰鐢焅"\n }];\n}\nfunction getDefaultInterventionData() {\n return [{\n date: \"2026-07-01\",\n type: \"鏃╂湡骞查璁粌\",\n content: \"淇崸鎶ご璁粌銆佽瑙夎拷韪缁僜",\n frequency: \"姣忔棩2娆",\n effect: \"鑹ソ\",\n executor: \"搴峰甯堣档\"\n }];\n}\nfunction getDefaultMeasureData() {\n return [{\n checkDate: \"2026-07-05\",\n weight: 28.5,\n height: 132.0,\n bmi: 16.4,\n bmiPercentile: \"P85\",\n waistHip: \"62/74\",\n evaluation: \"瓒呴噸\"\n }];\n}\nfunction getDefaultDietData() {\n return [{\n date: \"2026-07-05\",\n energy: 2200,\n protein: 65,\n fat: 80,\n carbs: 320,\n dietScore: \"65\",\n problem: \"鑳介噺鎽勫叆鍋忛珮銆佽敩鑿滄按鏋滄憚鍏ヤ笉瓒砛"\n }];\n}\nfunction getDefaultPlanData() {\n return [{\n date: \"2026-07-05\",\n target: \"3涓湀鍐匓MI闄嶈嚦P75浠ヤ笅\",\n energyTarget: 1800,\n foodGuide: \"鎺у埗闆堕銆佸鍔犺敩鑿滆嚦姣忔棩300g\",\n exercise: \"姣忔棩杩愬姩60鍒嗛挓\",\n reviewDate: \"2026-10-05\"\n }];\n}\n\n//# sourceURL=webpack:///./src/views/patient/archives/childHealth/detail.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.4.1/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
+eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n__webpack_require__(/*! core-js/modules/es.array.find.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.find.js\");\n__webpack_require__(/*! core-js/modules/es.array.find-index.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.find-index.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.find.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.find.js\");\n__webpack_require__(/*! core-js/modules/es.json.parse.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.parse.js\");\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.stringify.js\");\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.keys.js\");\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.regexp.exec.js\");\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.string.replace.js\");\nvar _EditableTable = _interopRequireDefault(__webpack_require__(/*! ../components/EditableTable.vue */ \"./src/views/patient/archives/components/EditableTable.vue\"));\nvar _InfoField = _interopRequireDefault(__webpack_require__(/*! ./InfoField.vue */ \"./src/views/patient/archives/childHealth/InfoField.vue\"));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = exports.default = {\n name: \"ChildHealthArchiveDetail\",\n components: {\n EditableTable: _EditableTable.default,\n InfoField: _InfoField.default\n },\n data: function data() {\n return {\n loading: false,\n archive: null,\n editing: false,\n activeTab: \"growth\",\n relationOptions: [{\n label: \"鐖朵翰\",\n value: \"father\"\n }, {\n label: \"姣嶄翰\",\n value: \"mother\"\n }, {\n label: \"绁栫埗\",\n value: \"grandfather\"\n }, {\n label: \"绁栨瘝\",\n value: \"grandmother\"\n }, {\n label: \"鍏朵粬\",\n value: \"other\"\n }],\n gradeOptions: [\"浼樼\", \"鑹ソ\", \"涓瓑\", \"涓笅\", \"宸甛"],\n form: {\n assessDate: \"\",\n testName: \"\",\n reading: \"涓瓑\",\n writing: \"涓瓑\",\n math: \"涓瓑\",\n iq: null,\n result: \"\",\n behaviorDate: \"\",\n attention: null,\n hyperactivity: null,\n impulsivity: null,\n emotional: null,\n totalScore: null,\n evaluation: \"姝e父鑼冨洿\",\n trainDate: \"\",\n trainingType: \"\",\n trainContent: \"\",\n duration: 40,\n trainer: \"\",\n progress: \"鑹ソ\"\n },\n growthData: [],\n neuroData: [],\n interventionData: [],\n measureData: [],\n dietData: [],\n planData: [],\n growthColumns: [{\n prop: \"checkDate\",\n label: \"妫�鏌ユ棩鏈焅",\n width: 120,\n type: \"date\"\n }, {\n prop: \"monthAge\",\n label: \"鏈堥緞\",\n width: 80\n }, {\n prop: \"weight\",\n label: \"浣撻噸(kg)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"height\",\n label: \"韬珮(cm)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"headCircum\",\n label: \"澶村洿(cm)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"weightPercentile\",\n label: \"浣撻噸鐧惧垎浣峔",\n width: 110\n }, {\n prop: \"heightPercentile\",\n label: \"韬珮鐧惧垎浣峔",\n width: 110\n }, {\n prop: \"evaluation\",\n label: \"璇勪及缁撴灉\",\n type: \"select\",\n options: [\"姝e父\", \"鍋忕槮\", \"鍋忚儢\", \"鍙戣偛杩熺紦\"]\n }, {\n prop: \"doctor\",\n label: \"妫�鏌ュ尰鐢焅",\n width: 100\n }],\n neuroColumns: [{\n prop: \"checkDate\",\n label: \"璇勪及鏃ユ湡\",\n width: 120,\n type: \"date\"\n }, {\n prop: \"monthAge\",\n label: \"鏈堥緞\",\n width: 70\n }, {\n prop: \"muscleTone\",\n label: \"鑲屽紶鍔沑",\n width: 100\n }, {\n prop: \"reflex\",\n label: \"鍘熷鍙嶅皠\",\n width: 100\n }, {\n prop: \"gms\",\n label: \"GMs璇勪及\",\n width: 120\n }, {\n prop: \"nbnaScore\",\n label: \"NBNA璇勫垎\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"evaluation\",\n label: \"缁煎悎璇勪及\",\n type: \"select\",\n options: [\"姝e父\", \"寮傚父\", \"鍙枒\"]\n }, {\n prop: \"doctor\",\n label: \"璇勪及鍖荤敓\",\n width: 100\n }],\n interventionColumns: [{\n prop: \"date\",\n label: \"鏃ユ湡\",\n width: 120,\n type: \"date\"\n }, {\n prop: \"type\",\n label: \"骞查绫诲瀷\",\n width: 140\n }, {\n prop: \"content\",\n label: \"骞查鍐呭\",\n minWidth: 200\n }, {\n prop: \"frequency\",\n label: \"棰戠巼\",\n width: 120\n }, {\n prop: \"effect\",\n label: \"鏁堟灉璇勪环\",\n width: 100\n }, {\n prop: \"executor\",\n label: \"鎵ц浜篭",\n width: 100\n }],\n measureColumns: [{\n prop: \"checkDate\",\n label: \"妫�鏌ユ棩鏈焅",\n width: 120,\n type: \"date\"\n }, {\n prop: \"weight\",\n label: \"浣撻噸(kg)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"height\",\n label: \"韬珮(cm)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"bmi\",\n label: \"BMI\",\n width: 80,\n type: \"number\"\n }, {\n prop: \"bmiPercentile\",\n label: \"BMI鐧惧垎浣峔",\n width: 110\n }, {\n prop: \"waistHip\",\n label: \"鑵板洿/鑷�鍥碶",\n width: 120\n }, {\n prop: \"evaluation\",\n label: \"钀ュ吇璇勪环\",\n type: \"select\",\n options: [\"姝e父\", \"瓒呴噸\", \"鑲ヨ儢\", \"钀ュ吇涓嶈壇\"]\n }],\n dietColumns: [{\n prop: \"date\",\n label: \"璇勪及鏃ユ湡\",\n width: 120,\n type: \"date\"\n }, {\n prop: \"energy\",\n label: \"鑳介噺(kcal/d)\",\n width: 120,\n type: \"number\"\n }, {\n prop: \"protein\",\n label: \"铔嬬櫧璐�(g/d)\",\n width: 120,\n type: \"number\"\n }, {\n prop: \"fat\",\n label: \"鑴傝偑(g/d)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"carbs\",\n label: \"纰虫按(g/d)\",\n width: 100,\n type: \"number\"\n }, {\n prop: \"dietScore\",\n label: \"鑶抽璇勫垎\",\n width: 100\n }, {\n prop: \"problem\",\n label: \"瀛樺湪闂\",\n minWidth: 160\n }],\n planColumns: [{\n prop: \"date\",\n label: \"鍒跺畾鏃ユ湡\",\n width: 120,\n type: \"date\"\n }, {\n prop: \"target\",\n label: \"骞查鐩爣\",\n minWidth: 200\n }, {\n prop: \"energyTarget\",\n label: \"鑳介噺鐩爣(kcal)\",\n width: 130,\n type: \"number\"\n }, {\n prop: \"foodGuide\",\n label: \"鑶抽鎸囧\",\n minWidth: 200\n }, {\n prop: \"exercise\",\n label: \"杩愬姩寤鸿\",\n minWidth: 180\n }, {\n prop: \"reviewDate\",\n label: \"澶嶆煡鏃ユ湡\",\n width: 120\n }]\n };\n },\n computed: {\n parentInfo: function parentInfo() {\n return this.archive && this.archive.parentInfo ? this.archive.parentInfo : {};\n },\n sourceLabel: function sourceLabel() {\n var _this$archive, _this$archive2;\n var map = {\n standalone: \"鐙珛寤烘。\",\n outpatient: \"闂ㄨ瘖璁板綍\",\n inpatient: \"鍦ㄩ櫌璁板綍\"\n };\n return map[(_this$archive = this.archive) === null || _this$archive === void 0 ? void 0 : _this$archive.sourcePage] || ((_this$archive2 = this.archive) === null || _this$archive2 === void 0 ? void 0 : _this$archive2.sourcePage) || \"-\";\n },\n relationLabel: function relationLabel() {\n var _this = this;\n var r = this.relationOptions.find(function (o) {\n var _this$archive3;\n return o.value === ((_this$archive3 = _this.archive) === null || _this$archive3 === void 0 || (_this$archive3 = _this$archive3.parentInfo) === null || _this$archive3 === void 0 ? void 0 : _this$archive3.relation);\n });\n return r ? r.label : \"-\";\n }\n },\n created: function created() {\n var id = this.$route.query.id;\n if (id) this.loadArchive(id);\n },\n methods: {\n loadArchive: function loadArchive(id) {\n this.loading = true;\n var all = JSON.parse(localStorage.getItem(\"patientArchives\") || \"[]\");\n this.archive = all.find(function (item) {\n return item.id === id;\n }) || null;\n if (this.archive) {\n var _this$archive$archive;\n if (this.archive.subType === 'highrisk') {\n this.activeTab = \"growth\";\n this.growthData = this.archive.growthData || getDefaultGrowthData();\n this.neuroData = this.archive.neuroData || getDefaultNeuroData();\n this.interventionData = this.archive.interventionData || getDefaultInterventionData();\n } else if (this.archive.subType === 'nutrition') {\n this.activeTab = \"measure\";\n this.measureData = this.archive.measureData || getDefaultMeasureData();\n this.dietData = this.archive.dietData || getDefaultDietData();\n this.planData = this.archive.planData || getDefaultPlanData();\n } else if (this.archive.subType === 'learning' && (_this$archive$archive = this.archive.archiveForm) !== null && _this$archive$archive !== void 0 && _this$archive$archive.learningData) {\n Object.assign(this.form, this.archive.archiveForm.learningData);\n }\n }\n this.loading = false;\n },\n toggleEdit: function toggleEdit() {\n var _this2 = this;\n if (this.editing) {\n if (this.archive.subType === 'learning') {\n if (!this.archive.archiveForm) this.archive.archiveForm = {};\n this.archive.archiveForm.learningData = JSON.parse(JSON.stringify(this.form));\n }\n if (this.archive.subType === 'highrisk') {\n this.archive.growthData = JSON.parse(JSON.stringify(this.growthData));\n this.archive.neuroData = JSON.parse(JSON.stringify(this.neuroData));\n this.archive.interventionData = JSON.parse(JSON.stringify(this.interventionData));\n }\n if (this.archive.subType === 'nutrition') {\n this.archive.measureData = JSON.parse(JSON.stringify(this.measureData));\n this.archive.dietData = JSON.parse(JSON.stringify(this.dietData));\n this.archive.planData = JSON.parse(JSON.stringify(this.planData));\n }\n this.archive.updateTime = new Date().toISOString().replace(\"T\", \" \").substring(0, 19);\n var all = JSON.parse(localStorage.getItem(\"patientArchives\") || \"[]\");\n var idx = all.findIndex(function (item) {\n return item.id === _this2.archive.id;\n });\n if (idx >= 0) all[idx] = JSON.parse(JSON.stringify(this.archive));\n localStorage.setItem(\"patientArchives\", JSON.stringify(all));\n this.$message.success(\"淇濆瓨鎴愬姛\");\n }\n this.editing = !this.editing;\n },\n subTypeTag: function subTypeTag(type) {\n var m = {\n highrisk: \"danger\",\n nutrition: \"warning\",\n learning: \"info\"\n };\n return m[type] || \"\";\n }\n }\n};\nfunction getDefaultGrowthData() {\n return [{\n checkDate: \"2026-07-01\",\n monthAge: \"1鏈圽",\n weight: 4.2,\n height: 54.5,\n headCircum: 37.0,\n weightPercentile: \"P25\",\n heightPercentile: \"P30\",\n evaluation: \"姝e父\",\n doctor: \"寮犲尰鐢焅"\n }, {\n checkDate: \"2026-08-01\",\n monthAge: \"2鏈圽",\n weight: 5.3,\n height: 58.0,\n headCircum: 39.0,\n weightPercentile: \"P35\",\n heightPercentile: \"P40\",\n evaluation: \"姝e父\",\n doctor: \"寮犲尰鐢焅"\n }];\n}\nfunction getDefaultNeuroData() {\n return [{\n checkDate: \"2026-07-01\",\n monthAge: \"1鏈圽",\n muscleTone: \"姝e父\",\n reflex: \"瀛樺湪\",\n gms: \"姝e父鎵姩\",\n nbnaScore: 38,\n evaluation: \"姝e父\",\n doctor: \"鐜嬪尰鐢焅"\n }];\n}\nfunction getDefaultInterventionData() {\n return [{\n date: \"2026-07-01\",\n type: \"鏃╂湡骞查璁粌\",\n content: \"淇崸鎶ご璁粌銆佽瑙夎拷韪缁僜",\n frequency: \"姣忔棩2娆",\n effect: \"鑹ソ\",\n executor: \"搴峰甯堣档\"\n }];\n}\nfunction getDefaultMeasureData() {\n return [{\n checkDate: \"2026-07-05\",\n weight: 28.5,\n height: 132.0,\n bmi: 16.4,\n bmiPercentile: \"P85\",\n waistHip: \"62/74\",\n evaluation: \"瓒呴噸\"\n }];\n}\nfunction getDefaultDietData() {\n return [{\n date: \"2026-07-05\",\n energy: 2200,\n protein: 65,\n fat: 80,\n carbs: 320,\n dietScore: \"65\",\n problem: \"鑳介噺鎽勫叆鍋忛珮銆佽敩鑿滄按鏋滄憚鍏ヤ笉瓒砛"\n }];\n}\nfunction getDefaultPlanData() {\n return [{\n date: \"2026-07-05\",\n target: \"3涓湀鍐匓MI闄嶈嚦P75浠ヤ笅\",\n energyTarget: 1800,\n foodGuide: \"鎺у埗闆堕銆佸鍔犺敩鑿滆嚦姣忔棩300g\",\n exercise: \"姣忔棩杩愬姩60鍒嗛挓\",\n reviewDate: \"2026-10-05\"\n }];\n}\n\n//# sourceURL=webpack:///./src/views/patient/archives/childHealth/detail.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.4.1/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -5636,7 +5636,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/toConsumableArray.js */ \"./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/toConsumableArray.js\"));\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.filter.js\");\n__webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.includes.js\");\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.map.js\");\n__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.push.js\");\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.slice.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.filter.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.map.js\");\n__webpack_require__(/*! core-js/modules/es.json.parse.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.parse.js\");\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.stringify.js\");\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.keys.js\");\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.string.includes.js\");\nvar _ArchiveDialog = _interopRequireDefault(__webpack_require__(/*! @/views/patient/archives/components/ArchiveDialog.vue */ \"./src/views/patient/archives/components/ArchiveDialog.vue\"));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = exports.default = {\n name: \"ChildHealthArchive\",\n components: {\n ArchiveDialog: _ArchiveDialog.default\n },\n data: function data() {\n return {\n loading: false,\n showSearch: true,\n multiple: true,\n ids: [],\n dateRange: [],\n total: 0,\n allList: [],\n displayList: [],\n createDialogVisible: false,\n queryParams: {\n pageNum: 1,\n pageSize: 10,\n patname: \"\",\n subType: \"\",\n deptname: \"\"\n }\n };\n },\n created: function created() {\n this.getList();\n },\n methods: {\n getList: function getList() {\n var _this = this;\n this.loading = true;\n var all = JSON.parse(localStorage.getItem(\"patientArchives\") || \"[]\");\n this.allList = all.filter(function (item) {\n return item.mainCategory === \"child\";\n });\n var filtered = (0, _toConsumableArray2.default)(this.allList);\n if (this.queryParams.patname) filtered = filtered.filter(function (item) {\n return item.patname && item.patname.includes(_this.queryParams.patname);\n });\n if (this.queryParams.subType) filtered = filtered.filter(function (item) {\n return item.subType === _this.queryParams.subType;\n });\n if (this.queryParams.deptname) filtered = filtered.filter(function (item) {\n return item.deptname && item.deptname.includes(_this.queryParams.deptname);\n });\n if (this.dateRange && this.dateRange.length === 2) {\n filtered = filtered.filter(function (item) {\n var d = (item.createTime || \"\").substring(0, 10);\n return d >= _this.dateRange[0] && d <= _this.dateRange[1];\n });\n }\n this.total = filtered.length;\n var start = (this.queryParams.pageNum - 1) * this.queryParams.pageSize;\n this.displayList = filtered.slice(start, start + this.queryParams.pageSize);\n this.loading = false;\n },\n subTypeTag: function subTypeTag(type) {\n var map = {\n highRisk: \"danger\",\n nutrition: \"warning\",\n learning: \"info\"\n };\n return map[type] || \"\";\n },\n handleQuery: function handleQuery() {\n this.queryParams.pageNum = 1;\n this.getList();\n },\n resetQuery: function resetQuery() {\n this.dateRange = [];\n this.queryParams = {\n pageNum: 1,\n pageSize: 10,\n patname: \"\",\n subType: \"\",\n deptname: \"\"\n };\n this.getList();\n },\n handleSelectionChange: function handleSelectionChange(s) {\n this.ids = s.map(function (i) {\n return i.id;\n });\n this.multiple = !s.length;\n },\n handleDelete: function handleDelete() {\n var _this2 = this;\n if (this.ids.length === 0) {\n this.$modal.msgWarning(\"璇疯嚦灏戦�夋嫨涓�鏉");\n return;\n }\n this.$modal.confirm(\"纭鍒犻櫎閫変腑妗f锛焅").then(function () {\n var all = JSON.parse(localStorage.getItem(\"patientArchives\") || \"[]\");\n var remaining = all.filter(function (item) {\n return !_this2.ids.includes(item.id);\n });\n localStorage.setItem(\"patientArchives\", JSON.stringify(remaining));\n _this2.$modal.msgSuccess(\"鍒犻櫎鎴愬姛\");\n _this2.getList();\n }).catch(function () {});\n },\n handleSingleDelete: function handleSingleDelete(row) {\n this.ids = [row.id];\n this.handleDelete();\n },\n handleCreateStandalone: function handleCreateStandalone() {\n this.createDialogVisible = true;\n },\n goDetail: function goDetail(row) {\n this.$router.push({\n path: \"/filing/childDetail\",\n query: {\n id: row.id\n }\n });\n }\n }\n};\n\n//# sourceURL=webpack:///./src/views/patient/archives/childHealth/index.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.4.1/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
+eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/toConsumableArray.js */ \"./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/toConsumableArray.js\"));\n__webpack_require__(/*! core-js/modules/es.array.filter.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.filter.js\");\n__webpack_require__(/*! core-js/modules/es.array.includes.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.includes.js\");\n__webpack_require__(/*! core-js/modules/es.array.map.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.map.js\");\n__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.push.js\");\n__webpack_require__(/*! core-js/modules/es.array.slice.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.slice.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.filter.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.filter.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.map.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.map.js\");\n__webpack_require__(/*! core-js/modules/es.json.parse.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.parse.js\");\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.stringify.js\");\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.keys.js\");\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.string.includes.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.string.includes.js\");\nvar _ArchiveDialog = _interopRequireDefault(__webpack_require__(/*! @/views/patient/archives/components/ArchiveDialog.vue */ \"./src/views/patient/archives/components/ArchiveDialog.vue\"));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = exports.default = {\n name: \"ChildHealthArchive\",\n components: {\n ArchiveDialog: _ArchiveDialog.default\n },\n data: function data() {\n return {\n loading: false,\n showSearch: true,\n multiple: true,\n ids: [],\n dateRange: [],\n total: 0,\n allList: [],\n displayList: [],\n createDialogVisible: false,\n queryParams: {\n pageNum: 1,\n pageSize: 10,\n patname: \"\",\n subType: \"\",\n deptname: \"\"\n }\n };\n },\n created: function created() {\n this.getList();\n },\n methods: {\n getList: function getList() {\n var _this = this;\n this.loading = true;\n var all = JSON.parse(localStorage.getItem(\"patientArchives\") || \"[]\");\n this.allList = all.filter(function (item) {\n return item.mainCategory === \"child\";\n });\n var filtered = (0, _toConsumableArray2.default)(this.allList);\n if (this.queryParams.patname) filtered = filtered.filter(function (item) {\n return item.patname && item.patname.includes(_this.queryParams.patname);\n });\n if (this.queryParams.subType) filtered = filtered.filter(function (item) {\n return item.subType === _this.queryParams.subType;\n });\n if (this.queryParams.deptname) filtered = filtered.filter(function (item) {\n return item.deptname && item.deptname.includes(_this.queryParams.deptname);\n });\n if (this.dateRange && this.dateRange.length === 2) {\n filtered = filtered.filter(function (item) {\n var d = (item.createTime || \"\").substring(0, 10);\n return d >= _this.dateRange[0] && d <= _this.dateRange[1];\n });\n }\n this.total = filtered.length;\n var start = (this.queryParams.pageNum - 1) * this.queryParams.pageSize;\n this.displayList = filtered.slice(start, start + this.queryParams.pageSize);\n this.loading = false;\n },\n subTypeTag: function subTypeTag(type) {\n var map = {\n highrisk: \"danger\",\n nutrition: \"warning\",\n learning: \"info\"\n };\n return map[type] || \"\";\n },\n handleQuery: function handleQuery() {\n this.queryParams.pageNum = 1;\n this.getList();\n },\n resetQuery: function resetQuery() {\n this.dateRange = [];\n this.queryParams = {\n pageNum: 1,\n pageSize: 10,\n patname: \"\",\n subType: \"\",\n deptname: \"\"\n };\n this.getList();\n },\n handleSelectionChange: function handleSelectionChange(s) {\n this.ids = s.map(function (i) {\n return i.id;\n });\n this.multiple = !s.length;\n },\n handleDelete: function handleDelete() {\n var _this2 = this;\n if (this.ids.length === 0) {\n this.$modal.msgWarning(\"璇疯嚦灏戦�夋嫨涓�鏉");\n return;\n }\n this.$modal.confirm(\"纭鍒犻櫎閫変腑妗f锛焅").then(function () {\n var all = JSON.parse(localStorage.getItem(\"patientArchives\") || \"[]\");\n var remaining = all.filter(function (item) {\n return !_this2.ids.includes(item.id);\n });\n localStorage.setItem(\"patientArchives\", JSON.stringify(remaining));\n _this2.$modal.msgSuccess(\"鍒犻櫎鎴愬姛\");\n _this2.getList();\n }).catch(function () {});\n },\n handleSingleDelete: function handleSingleDelete(row) {\n this.ids = [row.id];\n this.handleDelete();\n },\n handleCreateStandalone: function handleCreateStandalone() {\n this.createDialogVisible = true;\n },\n goDetail: function goDetail(row) {\n this.$router.push({\n path: \"/filing/childDetail\",\n query: {\n id: row.id\n }\n });\n }\n }\n};\n\n//# sourceURL=webpack:///./src/views/patient/archives/childHealth/index.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.4.1/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -5648,7 +5648,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/objectSpread2.js */ \"./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/objectSpread2.js\"));\n__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.push.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.for-each.js\");\n__webpack_require__(/*! core-js/modules/es.json.parse.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.parse.js\");\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.stringify.js\");\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.keys.js\");\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.regexp.exec.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.regexp.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.string.replace.js\");\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/web.dom-collections.for-each.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default2 = exports.default = {\n name: \"ArchiveDialog\",\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n patients: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n sourcePage: {\n type: String,\n default: \"outpatient\"\n },\n standalone: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n dialogVisible: false,\n mainCategory: \"\",\n subType: \"\",\n submitting: false,\n standalonePatient: {\n patname: \"\",\n sex: 2,\n age: \"\",\n telcode: \"\",\n deptname: \"\",\n diagname: \"\"\n },\n parentInfo: {\n parentName: \"\",\n relation: \"\",\n parentPhone: \"\",\n parentIdCard: \"\",\n address: \"\"\n },\n archiveForm: {\n riskFactor: [],\n birthWeight: null,\n gestationalWeek: null,\n nutritionDiagnosis: \"\",\n learningIssue: \"\",\n gravidity: 1,\n parity: 0,\n edd: \"\",\n lmp: \"\",\n highRiskPregnancy: false,\n menstrualStatus: \"\",\n doctorName: \"\",\n remark: \"\"\n }\n };\n },\n computed: {\n dialogTitle: function dialogTitle() {\n return this.standalone ? \"鏂板缓寤烘。\" : \"鎮h�呭缓妗";\n },\n canSubmit: function canSubmit() {\n if (!this.subType) return false;\n if (this.mainCategory === 'child' && !this.parentInfo.parentName) return false;\n if (this.standalone && !this.standalonePatient.patname) return false;\n return true;\n },\n selectedPatients: function selectedPatients() {\n return this.patients || [];\n }\n },\n watch: {\n visible: function visible(val) {\n this.dialogVisible = val;\n if (val) this.resetForm();\n },\n dialogVisible: function dialogVisible(val) {\n if (!val) this.$emit(\"update:visible\", false);\n }\n },\n methods: {\n resetForm: function resetForm() {\n this.mainCategory = \"\";\n this.subType = \"\";\n this.standalonePatient = {\n patname: \"\",\n sex: 2,\n age: \"\",\n telcode: \"\",\n deptname: \"\",\n diagname: \"\"\n };\n this.parentInfo = {\n parentName: \"\",\n relation: \"\",\n parentPhone: \"\",\n parentIdCard: \"\",\n address: \"\"\n };\n this.archiveForm = {\n riskFactor: [],\n birthWeight: null,\n gestationalWeek: null,\n nutritionDiagnosis: \"\",\n learningIssue: \"\",\n gravidity: 1,\n parity: 0,\n edd: \"\",\n lmp: \"\",\n highRiskPregnancy: false,\n menstrualStatus: \"\",\n doctorName: \"\",\n remark: \"\"\n };\n },\n onMainCategoryChange: function onMainCategoryChange() {\n this.subType = \"\";\n },\n onSubTypeChange: function onSubTypeChange() {},\n getSubTypeLabel: function getSubTypeLabel() {\n var map = {\n highRisk: \"楂樺嵄鍎夸笓妗堢鐞哱",\n nutrition: \"钀ュ吇鎬х柧鐥呬笓妗堢鐞哱",\n learning: \"瀛︿範鍥伴毦涓撴绠$悊\",\n pregnancy: \"瀛曞闅忚\",\n menopause: \"鏇村勾鏈熼殢璁縗"\n };\n return map[this.subType] || \"\";\n },\n getMainCategoryLabel: function getMainCategoryLabel() {\n return this.mainCategory === \"child\" ? \"鍎夸繚绉戝缓妗" : \"濡囦繚绉戝缓妗";\n },\n handleSubmit: function handleSubmit() {\n var _this = this;\n if (!this.subType) {\n this.$message.warning(\"璇烽�夋嫨涓撴绫诲瀷\");\n return;\n }\n if (!this.standalone && this.selectedPatients.length === 0) {\n this.$message.warning(\"璇烽�夋嫨鎮h�匼");\n return;\n }\n this.submitting = true;\n var archives = JSON.parse(localStorage.getItem(\"patientArchives\") || \"[]\");\n var now = new Date().toISOString().replace(\"T\", \" \").substring(0, 19);\n\n // 纭畾鎮h�呭垪琛╘n var patientList = this.standalone ? [(0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.standalonePatient), {}, {\n patid: \"sa_\" + Date.now()\n })] : this.selectedPatients;\n patientList.forEach(function (patient) {\n archives.push({\n id: \"arc_\" + Date.now() + \"_\" + Math.random().toString(36).substr(2, 6),\n patientId: patient.patid || patient.id,\n patname: patient.patname,\n sex: patient.sex,\n age: patient.age,\n telcode: patient.telcode || patient.phone || \"\",\n deptname: patient.deptname || \"\",\n diagname: patient.diagname || \"\",\n inhospno: patient.inhospno || \"\",\n outhospno: patient.outhospno || \"\",\n bedNo: patient.bedNo || \"\",\n drname: patient.drname || \"\",\n nurseName: patient.nurseName || \"\",\n starttime: patient.starttime || patient.admitdate || \"\",\n mainCategory: _this.mainCategory,\n mainCategoryLabel: _this.getMainCategoryLabel(),\n subType: _this.subType,\n subTypeLabel: _this.getSubTypeLabel(),\n archiveForm: JSON.parse(JSON.stringify(_this.archiveForm)),\n parentInfo: _this.mainCategory === 'child' ? JSON.parse(JSON.stringify(_this.parentInfo)) : {},\n sourcePage: _this.standalone ? \"standalone\" : _this.sourcePage,\n status: \"active\",\n createTime: now,\n updateTime: now\n });\n });\n localStorage.setItem(\"patientArchives\", JSON.stringify(archives));\n this.submitting = false;\n this.dialogVisible = false;\n this.$message.success(\"\\u6210\\u529F\\u521B\\u5EFA \".concat(patientList.length, \" \\u6761\\u5EFA\\u6863\\u8BB0\\u5F55\"));\n this.$emit(\"created\");\n\n // 璺宠浆\n var routePath = this.mainCategory === \"child\" ? \"/filing/childHealth\" : \"/filing/maternalHealth\";\n this.$router.push({\n path: routePath\n });\n },\n handleClose: function handleClose() {\n this.resetForm();\n }\n }\n};\n\n//# sourceURL=webpack:///./src/views/patient/archives/components/ArchiveDialog.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.4.1/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
+eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! ./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js */ \"./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/interopRequireDefault.js\").default;\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(/*! ./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/objectSpread2.js */ \"./node_modules/.store/@babel+runtime@7.28.6/node_modules/@babel/runtime/helpers/objectSpread2.js\"));\n__webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.array.push.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.constructor.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.constructor.js\");\n__webpack_require__(/*! core-js/modules/es.iterator.for-each.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.iterator.for-each.js\");\n__webpack_require__(/*! core-js/modules/es.json.parse.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.parse.js\");\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.json.stringify.js\");\n__webpack_require__(/*! core-js/modules/es.object.keys.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.keys.js\");\n__webpack_require__(/*! core-js/modules/es.object.to-string.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.object.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.regexp.exec.js\");\n__webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.regexp.to-string.js\");\n__webpack_require__(/*! core-js/modules/es.string.replace.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/es.string.replace.js\");\n__webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ \"./node_modules/.store/core-js@3.48.0/node_modules/core-js/modules/web.dom-collections.for-each.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default2 = exports.default = {\n name: \"ArchiveDialog\",\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n patients: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n sourcePage: {\n type: String,\n default: \"outpatient\"\n },\n standalone: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n dialogVisible: false,\n mainCategory: \"\",\n subType: \"\",\n submitting: false,\n standalonePatient: {\n patname: \"\",\n sex: 2,\n age: \"\",\n telcode: \"\",\n deptname: \"\",\n diagname: \"\"\n },\n parentInfo: {\n parentName: \"\",\n relation: \"\",\n parentPhone: \"\",\n parentIdCard: \"\",\n address: \"\"\n },\n archiveForm: {\n riskFactor: [],\n birthWeight: null,\n gestationalWeek: null,\n nutritionDiagnosis: \"\",\n learningIssue: \"\",\n gravidity: 1,\n parity: 0,\n edd: \"\",\n lmp: \"\",\n highriskPregnancy: false,\n menstrualStatus: \"\",\n doctorName: \"\",\n remark: \"\"\n }\n };\n },\n computed: {\n dialogTitle: function dialogTitle() {\n return this.standalone ? \"鏂板缓寤烘。\" : \"鎮h�呭缓妗";\n },\n canSubmit: function canSubmit() {\n if (!this.subType) return false;\n if (this.mainCategory === 'child' && !this.parentInfo.parentName) return false;\n if (this.standalone && !this.standalonePatient.patname) return false;\n return true;\n },\n selectedPatients: function selectedPatients() {\n return this.patients || [];\n }\n },\n watch: {\n visible: function visible(val) {\n this.dialogVisible = val;\n if (val) this.resetForm();\n },\n dialogVisible: function dialogVisible(val) {\n if (!val) this.$emit(\"update:visible\", false);\n }\n },\n methods: {\n resetForm: function resetForm() {\n this.mainCategory = \"\";\n this.subType = \"\";\n this.standalonePatient = {\n patname: \"\",\n sex: 2,\n age: \"\",\n telcode: \"\",\n deptname: \"\",\n diagname: \"\"\n };\n this.parentInfo = {\n parentName: \"\",\n relation: \"\",\n parentPhone: \"\",\n parentIdCard: \"\",\n address: \"\"\n };\n this.archiveForm = {\n riskFactor: [],\n birthWeight: null,\n gestationalWeek: null,\n nutritionDiagnosis: \"\",\n learningIssue: \"\",\n gravidity: 1,\n parity: 0,\n edd: \"\",\n lmp: \"\",\n highriskPregnancy: false,\n menstrualStatus: \"\",\n doctorName: \"\",\n remark: \"\"\n };\n },\n onMainCategoryChange: function onMainCategoryChange() {\n this.subType = \"\";\n },\n onSubTypeChange: function onSubTypeChange() {},\n getSubTypeLabel: function getSubTypeLabel() {\n var map = {\n highrisk: \"楂樺嵄鍎夸笓妗堢鐞哱",\n nutrition: \"钀ュ吇鎬х柧鐥呬笓妗堢鐞哱",\n learning: \"瀛︿範鍥伴毦涓撴绠$悊\",\n pregnancy: \"瀛曞闅忚\",\n menopause: \"鏇村勾鏈熼殢璁縗"\n };\n return map[this.subType] || \"\";\n },\n getMainCategoryLabel: function getMainCategoryLabel() {\n return this.mainCategory === \"child\" ? \"鍎夸繚绉戝缓妗" : \"濡囦繚绉戝缓妗";\n },\n handleSubmit: function handleSubmit() {\n var _this = this;\n if (!this.subType) {\n this.$message.warning(\"璇烽�夋嫨涓撴绫诲瀷\");\n return;\n }\n if (!this.standalone && this.selectedPatients.length === 0) {\n this.$message.warning(\"璇烽�夋嫨鎮h�匼");\n return;\n }\n this.submitting = true;\n var archives = JSON.parse(localStorage.getItem(\"patientArchives\") || \"[]\");\n var now = new Date().toISOString().replace(\"T\", \" \").substring(0, 19);\n\n // 纭畾鎮h�呭垪琛╘n var patientList = this.standalone ? [(0, _objectSpread2.default)((0, _objectSpread2.default)({}, this.standalonePatient), {}, {\n patid: \"sa_\" + Date.now()\n })] : this.selectedPatients;\n patientList.forEach(function (patient) {\n archives.push({\n id: \"arc_\" + Date.now() + \"_\" + Math.random().toString(36).substr(2, 6),\n patientId: patient.patid || patient.id,\n patname: patient.patname,\n sex: patient.sex,\n age: patient.age,\n telcode: patient.telcode || patient.phone || \"\",\n deptname: patient.deptname || \"\",\n diagname: patient.diagname || \"\",\n inhospno: patient.inhospno || \"\",\n outhospno: patient.outhospno || \"\",\n bedNo: patient.bedNo || \"\",\n drname: patient.drname || \"\",\n nurseName: patient.nurseName || \"\",\n starttime: patient.starttime || patient.admitdate || \"\",\n mainCategory: _this.mainCategory,\n mainCategoryLabel: _this.getMainCategoryLabel(),\n subType: _this.subType,\n subTypeLabel: _this.getSubTypeLabel(),\n archiveForm: JSON.parse(JSON.stringify(_this.archiveForm)),\n parentInfo: _this.mainCategory === 'child' ? JSON.parse(JSON.stringify(_this.parentInfo)) : {},\n sourcePage: _this.standalone ? \"standalone\" : _this.sourcePage,\n status: \"active\",\n createTime: now,\n updateTime: now\n });\n });\n localStorage.setItem(\"patientArchives\", JSON.stringify(archives));\n this.submitting = false;\n this.dialogVisible = false;\n this.$message.success(\"\\u6210\\u529F\\u521B\\u5EFA \".concat(patientList.length, \" \\u6761\\u5EFA\\u6863\\u8BB0\\u5F55\"));\n this.$emit(\"created\");\n\n // 璺宠浆\n var routePath = this.mainCategory === \"child\" ? \"/filing/childHealth\" : \"/filing/maternalHealth\";\n this.$router.push({\n path: routePath\n });\n },\n handleClose: function handleClose() {\n this.resetForm();\n }\n }\n};\n\n//# sourceURL=webpack:///./src/views/patient/archives/components/ArchiveDialog.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/.store/babel-loader@8.4.1/node_modules/babel-loader/lib!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -8276,7 +8276,7 @@
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.loading,\n expression: \"loading\",\n },\n ],\n staticClass: \"app-container\",\n },\n [\n _vm.archive\n ? [\n _c(\n \"div\",\n { staticClass: \"action-bar\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-back\" },\n on: {\n click: function ($event) {\n return _vm.$router.go(-1)\n },\n },\n },\n [_vm._v(\"杩斿洖\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: {\n type: _vm.editing ? \"success\" : \"primary\",\n icon: _vm.editing ? \"el-icon-check\" : \"el-icon-edit\",\n },\n on: { click: _vm.toggleEdit },\n },\n [_vm._v(_vm._s(_vm.editing ? \"淇濆瓨\" : \"缂栬緫\"))]\n ),\n _c(\n \"el-tag\",\n {\n staticStyle: { \"margin-left\": \"12px\" },\n attrs: { type: _vm.subTypeTag(_vm.archive.subType) },\n },\n [_vm._v(_vm._s(_vm.archive.subTypeLabel))]\n ),\n ],\n 1\n ),\n _c(\n \"el-card\",\n { staticClass: \"info-card\", attrs: { shadow: \"never\" } },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"鎮h�呭熀鏈俊鎭痋")])]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"濮撳悕\", value: _vm.archive.patname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鎬у埆\",\n value: _vm.archive.sex == 1 ? \"鐢穃" : \"濂砛",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"骞撮緞\", value: _vm.archive.age },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"鐢佃瘽\", value: _vm.archive.telcode },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n {\n staticStyle: { \"margin-top\": \"10px\" },\n attrs: { gutter: 20 },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"绉戝\", value: _vm.archive.deptname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"璇婃柇\", value: _vm.archive.diagname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"涓绘不鍖荤敓\",\n value: _vm.archive.drname,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"鏉ユ簮\", value: _vm.sourceLabel },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"瀹堕暱/鐩戞姢浜轰俊鎭痋")])]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"瀹堕暱濮撳悕\",\n value: _vm.parentInfo.parentName,\n editing: _vm.editing,\n },\n model: {\n value: _vm.parentInfo.parentName,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentName\", $$v)\n },\n expression: \"parentInfo.parentName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"涓庡効绔ュ叧绯籠",\n value: _vm.relationLabel,\n editing: _vm.editing,\n type: \"select\",\n options: _vm.relationOptions,\n },\n on: {\n change: function (v) {\n return (_vm.parentInfo.relation = v)\n },\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鑱旂郴鐢佃瘽\",\n value: _vm.parentInfo.parentPhone,\n editing: _vm.editing,\n },\n model: {\n value: _vm.parentInfo.parentPhone,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentPhone\", $$v)\n },\n expression: \"parentInfo.parentPhone\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"韬唤璇佸彿\",\n value: _vm.parentInfo.parentIdCard,\n editing: _vm.editing,\n },\n model: {\n value: _vm.parentInfo.parentIdCard,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentIdCard\", $$v)\n },\n expression: \"parentInfo.parentIdCard\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n {\n staticStyle: { \"margin-top\": \"10px\" },\n attrs: { gutter: 20 },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 12 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鑱旂郴鍦板潃\",\n value: _vm.parentInfo.address,\n editing: _vm.editing,\n },\n model: {\n value: _vm.parentInfo.address,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"address\", $$v)\n },\n expression: \"parentInfo.address\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [\n _c(\"span\", [_vm._v(\"妗f鍩烘湰淇℃伅\")]),\n _c(\"span\", { staticClass: \"header-sub\" }, [\n _vm._v(\n _vm._s(\n _vm.archive.createTime\n ? _vm.archive.createTime.substring(0, 10)\n : \"-\"\n ) + \" 寤烘。\"\n ),\n ]),\n ]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。绫诲瀷\",\n value: _vm.archive.subTypeLabel,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。鍖荤敓\",\n value: _vm.archive.archiveForm.doctorName,\n editing: _vm.editing,\n },\n model: {\n value: _vm.archive.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(\n _vm.archive.archiveForm,\n \"doctorName\",\n $$v\n )\n },\n expression: \"archive.archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。鏃堕棿\",\n value: _vm.archive.createTime,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm.archive.subType === \"highRisk\"\n ? _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"楂樺嵄鍎夸笓妗堢鐞哱")])]\n ),\n _c(\n \"el-tabs\",\n {\n attrs: { type: \"border-card\" },\n model: {\n value: _vm.activeTab,\n callback: function ($$v) {\n _vm.activeTab = $$v\n },\n expression: \"activeTab\",\n },\n },\n [\n _c(\n \"el-tab-pane\",\n { attrs: { label: \"鐢熼暱鍙戣偛鐩戞祴\", name: \"growth\" } },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.growthData,\n editing: _vm.editing,\n columns: _vm.growthColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.growthData = $event\n },\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n { attrs: { label: \"绁炵粡绯荤粺璇勪及\", name: \"neuro\" } },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.neuroData,\n editing: _vm.editing,\n columns: _vm.neuroColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.neuroData = $event\n },\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: { label: \"骞查璁板綍\", name: \"intervention\" },\n },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.interventionData,\n editing: _vm.editing,\n columns: _vm.interventionColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.interventionData = $event\n },\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.archive.subType === \"nutrition\"\n ? _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"钀ュ吇鎬х柧鐥呬笓妗堢鐞哱")])]\n ),\n _c(\n \"el-tabs\",\n {\n attrs: { type: \"border-card\" },\n model: {\n value: _vm.activeTab,\n callback: function ($$v) {\n _vm.activeTab = $$v\n },\n expression: \"activeTab\",\n },\n },\n [\n _c(\n \"el-tab-pane\",\n { attrs: { label: \"浣撴牸娴嬮噺\", name: \"measure\" } },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.measureData,\n editing: _vm.editing,\n columns: _vm.measureColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.measureData = $event\n },\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n { attrs: { label: \"鑶抽璇勪及\", name: \"diet\" } },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.dietData,\n editing: _vm.editing,\n columns: _vm.dietColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.dietData = $event\n },\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n { attrs: { label: \"骞查鏂规\", name: \"plan\" } },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.planData,\n editing: _vm.editing,\n columns: _vm.planColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.planData = $event\n },\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.archive.subType === \"learning\"\n ? _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"瀛︿範鍥伴毦涓撴绠$悊\")])]\n ),\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form,\n \"label-width\": \"130px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"瀛︿範鑳藉姏璇勪及\")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪及鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: { \"value-format\": \"yyyy-MM-dd\" },\n model: {\n value: _vm.form.assessDate,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"assessDate\", $$v)\n },\n expression: \"form.assessDate\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"娴嬭瘎宸ュ叿\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.testName,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"testName\", $$v)\n },\n expression: \"form.testName\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏅哄晢(IQ)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 40, max: 160 },\n model: {\n value: _vm.form.iq,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"iq\", $$v)\n },\n expression: \"form.iq\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"闃呰鑳藉姏\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n model: {\n value: _vm.form.reading,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"reading\", $$v)\n },\n expression: \"form.reading\",\n },\n },\n _vm._l(_vm.gradeOptions, function (o) {\n return _c(\"el-option\", {\n key: o,\n attrs: { label: o, value: o },\n })\n }),\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"涔﹀啓鑳藉姏\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n model: {\n value: _vm.form.writing,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"writing\", $$v)\n },\n expression: \"form.writing\",\n },\n },\n _vm._l(_vm.gradeOptions, function (o) {\n return _c(\"el-option\", {\n key: o,\n attrs: { label: o, value: o },\n })\n }),\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璁$畻鑳藉姏\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n model: {\n value: _vm.form.math,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"math\", $$v)\n },\n expression: \"form.math\",\n },\n },\n _vm._l(_vm.gradeOptions, function (o) {\n return _c(\"el-option\", {\n key: o,\n attrs: { label: o, value: o },\n })\n }),\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"缁煎悎缁撹\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.result,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"result\", $$v)\n },\n expression: \"form.result\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"琛屼负璇勪及\")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪及鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: { \"value-format\": \"yyyy-MM-dd\" },\n model: {\n value: _vm.form.behaviorDate,\n callback: function ($$v) {\n _vm.$set(\n _vm.form,\n \"behaviorDate\",\n $$v\n )\n },\n expression: \"form.behaviorDate\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 4 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"娉ㄦ剰鍔沑" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, max: 36 },\n model: {\n value: _vm.form.attention,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"attention\", $$v)\n },\n expression: \"form.attention\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 4 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶氬姩\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, max: 36 },\n model: {\n value: _vm.form.hyperactivity,\n callback: function ($$v) {\n _vm.$set(\n _vm.form,\n \"hyperactivity\",\n $$v\n )\n },\n expression: \"form.hyperactivity\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 4 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍐插姩\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, max: 36 },\n model: {\n value: _vm.form.impulsivity,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"impulsivity\", $$v)\n },\n expression: \"form.impulsivity\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 4 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎯呯华\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, max: 36 },\n model: {\n value: _vm.form.emotional,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"emotional\", $$v)\n },\n expression: \"form.emotional\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎬诲垎\" } },\n [\n _c(\"el-input-number\", {\n attrs: { disabled: \"\" },\n model: {\n value: _vm.form.totalScore,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"totalScore\", $$v)\n },\n expression: \"form.totalScore\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪环\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n model: {\n value: _vm.form.evaluation,\n callback: function ($$v) {\n _vm.$set(\n _vm.form,\n \"evaluation\",\n $$v\n )\n },\n expression: \"form.evaluation\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"姝e父鑼冨洿\",\n value: \"姝e父鑼冨洿\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"杞诲害寮傚父\",\n value: \"杞诲害寮傚父\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涓害寮傚父\",\n value: \"涓害寮傚父\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"骞查璁粌璁板綍\")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璁粌鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: { \"value-format\": \"yyyy-MM-dd\" },\n model: {\n value: _vm.form.trainDate,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"trainDate\", $$v)\n },\n expression: \"form.trainDate\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璁粌绫诲瀷\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.trainingType,\n callback: function ($$v) {\n _vm.$set(\n _vm.form,\n \"trainingType\",\n $$v\n )\n },\n expression: \"form.trainingType\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏃堕暱(鍒嗛挓)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 10, max: 120 },\n model: {\n value: _vm.form.duration,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"duration\", $$v)\n },\n expression: \"form.duration\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"璁粌鍐呭\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.trainContent,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"trainContent\", $$v)\n },\n expression: \"form.trainContent\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璁粌甯圽" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.trainer,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"trainer\", $$v)\n },\n expression: \"form.trainer\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"杩涘睍\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n model: {\n value: _vm.form.progress,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"progress\", $$v)\n },\n expression: \"form.progress\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鑹ソ\",\n value: \"鑹ソ\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涓�鑸琝",\n value: \"涓�鑸琝",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"缂撴參\",\n value: \"缂撴參\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ]\n : _c(\"div\", { staticClass: \"empty-wrap\" }, [\n _vm._v(\"妗f涓嶅瓨鍦ㄦ垨宸插垹闄"),\n ]),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/patient/archives/childHealth/detail.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%223ec45802-vue-loader-template%22%7D!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.loading,\n expression: \"loading\",\n },\n ],\n staticClass: \"app-container\",\n },\n [\n _vm.archive\n ? [\n _c(\n \"div\",\n { staticClass: \"action-bar\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-back\" },\n on: {\n click: function ($event) {\n return _vm.$router.go(-1)\n },\n },\n },\n [_vm._v(\"杩斿洖\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: {\n type: _vm.editing ? \"success\" : \"primary\",\n icon: _vm.editing ? \"el-icon-check\" : \"el-icon-edit\",\n },\n on: { click: _vm.toggleEdit },\n },\n [_vm._v(_vm._s(_vm.editing ? \"淇濆瓨\" : \"缂栬緫\"))]\n ),\n _c(\n \"el-tag\",\n {\n staticStyle: { \"margin-left\": \"12px\" },\n attrs: { type: _vm.subTypeTag(_vm.archive.subType) },\n },\n [_vm._v(_vm._s(_vm.archive.subTypeLabel))]\n ),\n ],\n 1\n ),\n _c(\n \"el-card\",\n { staticClass: \"info-card\", attrs: { shadow: \"never\" } },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"鎮h�呭熀鏈俊鎭痋")])]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"濮撳悕\", value: _vm.archive.patname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鎬у埆\",\n value: _vm.archive.sex == 1 ? \"鐢穃" : \"濂砛",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"骞撮緞\", value: _vm.archive.age },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"鐢佃瘽\", value: _vm.archive.telcode },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n {\n staticStyle: { \"margin-top\": \"10px\" },\n attrs: { gutter: 20 },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"绉戝\", value: _vm.archive.deptname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"璇婃柇\", value: _vm.archive.diagname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"涓绘不鍖荤敓\",\n value: _vm.archive.drname,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"鏉ユ簮\", value: _vm.sourceLabel },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"瀹堕暱/鐩戞姢浜轰俊鎭痋")])]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"瀹堕暱濮撳悕\",\n value: _vm.parentInfo.parentName,\n editing: _vm.editing,\n },\n model: {\n value: _vm.parentInfo.parentName,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentName\", $$v)\n },\n expression: \"parentInfo.parentName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"涓庡効绔ュ叧绯籠",\n value: _vm.relationLabel,\n editing: _vm.editing,\n type: \"select\",\n options: _vm.relationOptions,\n },\n on: {\n change: function (v) {\n return (_vm.parentInfo.relation = v)\n },\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鑱旂郴鐢佃瘽\",\n value: _vm.parentInfo.parentPhone,\n editing: _vm.editing,\n },\n model: {\n value: _vm.parentInfo.parentPhone,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentPhone\", $$v)\n },\n expression: \"parentInfo.parentPhone\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"韬唤璇佸彿\",\n value: _vm.parentInfo.parentIdCard,\n editing: _vm.editing,\n },\n model: {\n value: _vm.parentInfo.parentIdCard,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentIdCard\", $$v)\n },\n expression: \"parentInfo.parentIdCard\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n {\n staticStyle: { \"margin-top\": \"10px\" },\n attrs: { gutter: 20 },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 12 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鑱旂郴鍦板潃\",\n value: _vm.parentInfo.address,\n editing: _vm.editing,\n },\n model: {\n value: _vm.parentInfo.address,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"address\", $$v)\n },\n expression: \"parentInfo.address\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [\n _c(\"span\", [_vm._v(\"妗f鍩烘湰淇℃伅\")]),\n _c(\"span\", { staticClass: \"header-sub\" }, [\n _vm._v(\n _vm._s(\n _vm.archive.createTime\n ? _vm.archive.createTime.substring(0, 10)\n : \"-\"\n ) + \" 寤烘。\"\n ),\n ]),\n ]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。绫诲瀷\",\n value: _vm.archive.subTypeLabel,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。鍖荤敓\",\n value: _vm.archive.archiveForm.doctorName,\n editing: _vm.editing,\n },\n model: {\n value: _vm.archive.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(\n _vm.archive.archiveForm,\n \"doctorName\",\n $$v\n )\n },\n expression: \"archive.archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。鏃堕棿\",\n value: _vm.archive.createTime,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm.archive.subType === \"highrisk\"\n ? _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"楂樺嵄鍎夸笓妗堢鐞哱")])]\n ),\n _c(\n \"el-tabs\",\n {\n attrs: { type: \"border-card\" },\n model: {\n value: _vm.activeTab,\n callback: function ($$v) {\n _vm.activeTab = $$v\n },\n expression: \"activeTab\",\n },\n },\n [\n _c(\n \"el-tab-pane\",\n { attrs: { label: \"鐢熼暱鍙戣偛鐩戞祴\", name: \"growth\" } },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.growthData,\n editing: _vm.editing,\n columns: _vm.growthColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.growthData = $event\n },\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n { attrs: { label: \"绁炵粡绯荤粺璇勪及\", name: \"neuro\" } },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.neuroData,\n editing: _vm.editing,\n columns: _vm.neuroColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.neuroData = $event\n },\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: { label: \"骞查璁板綍\", name: \"intervention\" },\n },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.interventionData,\n editing: _vm.editing,\n columns: _vm.interventionColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.interventionData = $event\n },\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.archive.subType === \"nutrition\"\n ? _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"钀ュ吇鎬х柧鐥呬笓妗堢鐞哱")])]\n ),\n _c(\n \"el-tabs\",\n {\n attrs: { type: \"border-card\" },\n model: {\n value: _vm.activeTab,\n callback: function ($$v) {\n _vm.activeTab = $$v\n },\n expression: \"activeTab\",\n },\n },\n [\n _c(\n \"el-tab-pane\",\n { attrs: { label: \"浣撴牸娴嬮噺\", name: \"measure\" } },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.measureData,\n editing: _vm.editing,\n columns: _vm.measureColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.measureData = $event\n },\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n { attrs: { label: \"鑶抽璇勪及\", name: \"diet\" } },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.dietData,\n editing: _vm.editing,\n columns: _vm.dietColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.dietData = $event\n },\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n { attrs: { label: \"骞查鏂规\", name: \"plan\" } },\n [\n _c(\"EditableTable\", {\n attrs: {\n data: _vm.planData,\n editing: _vm.editing,\n columns: _vm.planColumns,\n },\n on: {\n \"update:data\": function ($event) {\n _vm.planData = $event\n },\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.archive.subType === \"learning\"\n ? _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"瀛︿範鍥伴毦涓撴绠$悊\")])]\n ),\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form,\n \"label-width\": \"130px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"瀛︿範鑳藉姏璇勪及\")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪及鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: { \"value-format\": \"yyyy-MM-dd\" },\n model: {\n value: _vm.form.assessDate,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"assessDate\", $$v)\n },\n expression: \"form.assessDate\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"娴嬭瘎宸ュ叿\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.testName,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"testName\", $$v)\n },\n expression: \"form.testName\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏅哄晢(IQ)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 40, max: 160 },\n model: {\n value: _vm.form.iq,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"iq\", $$v)\n },\n expression: \"form.iq\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"闃呰鑳藉姏\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n model: {\n value: _vm.form.reading,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"reading\", $$v)\n },\n expression: \"form.reading\",\n },\n },\n _vm._l(_vm.gradeOptions, function (o) {\n return _c(\"el-option\", {\n key: o,\n attrs: { label: o, value: o },\n })\n }),\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"涔﹀啓鑳藉姏\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n model: {\n value: _vm.form.writing,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"writing\", $$v)\n },\n expression: \"form.writing\",\n },\n },\n _vm._l(_vm.gradeOptions, function (o) {\n return _c(\"el-option\", {\n key: o,\n attrs: { label: o, value: o },\n })\n }),\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璁$畻鑳藉姏\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n model: {\n value: _vm.form.math,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"math\", $$v)\n },\n expression: \"form.math\",\n },\n },\n _vm._l(_vm.gradeOptions, function (o) {\n return _c(\"el-option\", {\n key: o,\n attrs: { label: o, value: o },\n })\n }),\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"缁煎悎缁撹\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.result,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"result\", $$v)\n },\n expression: \"form.result\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"琛屼负璇勪及\")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪及鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: { \"value-format\": \"yyyy-MM-dd\" },\n model: {\n value: _vm.form.behaviorDate,\n callback: function ($$v) {\n _vm.$set(\n _vm.form,\n \"behaviorDate\",\n $$v\n )\n },\n expression: \"form.behaviorDate\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 4 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"娉ㄦ剰鍔沑" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, max: 36 },\n model: {\n value: _vm.form.attention,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"attention\", $$v)\n },\n expression: \"form.attention\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 4 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶氬姩\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, max: 36 },\n model: {\n value: _vm.form.hyperactivity,\n callback: function ($$v) {\n _vm.$set(\n _vm.form,\n \"hyperactivity\",\n $$v\n )\n },\n expression: \"form.hyperactivity\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 4 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍐插姩\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, max: 36 },\n model: {\n value: _vm.form.impulsivity,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"impulsivity\", $$v)\n },\n expression: \"form.impulsivity\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 4 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎯呯华\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, max: 36 },\n model: {\n value: _vm.form.emotional,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"emotional\", $$v)\n },\n expression: \"form.emotional\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎬诲垎\" } },\n [\n _c(\"el-input-number\", {\n attrs: { disabled: \"\" },\n model: {\n value: _vm.form.totalScore,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"totalScore\", $$v)\n },\n expression: \"form.totalScore\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪环\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n model: {\n value: _vm.form.evaluation,\n callback: function ($$v) {\n _vm.$set(\n _vm.form,\n \"evaluation\",\n $$v\n )\n },\n expression: \"form.evaluation\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"姝e父鑼冨洿\",\n value: \"姝e父鑼冨洿\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"杞诲害寮傚父\",\n value: \"杞诲害寮傚父\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涓害寮傚父\",\n value: \"涓害寮傚父\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"骞查璁粌璁板綍\")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璁粌鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: { \"value-format\": \"yyyy-MM-dd\" },\n model: {\n value: _vm.form.trainDate,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"trainDate\", $$v)\n },\n expression: \"form.trainDate\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璁粌绫诲瀷\" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.trainingType,\n callback: function ($$v) {\n _vm.$set(\n _vm.form,\n \"trainingType\",\n $$v\n )\n },\n expression: \"form.trainingType\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏃堕暱(鍒嗛挓)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 10, max: 120 },\n model: {\n value: _vm.form.duration,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"duration\", $$v)\n },\n expression: \"form.duration\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"璁粌鍐呭\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.trainContent,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"trainContent\", $$v)\n },\n expression: \"form.trainContent\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璁粌甯圽" } },\n [\n _c(\"el-input\", {\n model: {\n value: _vm.form.trainer,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"trainer\", $$v)\n },\n expression: \"form.trainer\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"杩涘睍\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n model: {\n value: _vm.form.progress,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"progress\", $$v)\n },\n expression: \"form.progress\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鑹ソ\",\n value: \"鑹ソ\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涓�鑸琝",\n value: \"涓�鑸琝",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"缂撴參\",\n value: \"缂撴參\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ]\n : _c(\"div\", { staticClass: \"empty-wrap\" }, [\n _vm._v(\"妗f涓嶅瓨鍦ㄦ垨宸插垹闄"),\n ]),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/patient/archives/childHealth/detail.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%223ec45802-vue-loader-template%22%7D!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -8288,7 +8288,7 @@
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"app-container\" },\n [\n _c(\n \"el-form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showSearch,\n expression: \"showSearch\",\n },\n ],\n ref: \"queryForm\",\n attrs: {\n model: _vm.queryParams,\n size: \"small\",\n inline: true,\n \"label-width\": \"80px\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎮h�呭鍚峔" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"180px\" },\n attrs: { placeholder: \"璇疯緭鍏ュ鍚峔", clearable: \"\" },\n nativeOn: {\n keyup: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.handleQuery($event)\n },\n },\n model: {\n value: _vm.queryParams.patname,\n callback: function ($$v) {\n _vm.$set(_vm.queryParams, \"patname\", $$v)\n },\n expression: \"queryParams.patname\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓撴绫诲瀷\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"180px\" },\n attrs: { placeholder: \"璇烽�夋嫨\", clearable: \"\" },\n model: {\n value: _vm.queryParams.subType,\n callback: function ($$v) {\n _vm.$set(_vm.queryParams, \"subType\", $$v)\n },\n expression: \"queryParams.subType\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: { label: \"楂樺嵄鍎夸笓妗堢鐞哱", value: \"highRisk\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"钀ュ吇鎬х柧鐥呬笓妗堢鐞哱", value: \"nutrition\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"瀛︿範鍥伴毦涓撴绠$悊\", value: \"learning\" },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"绉戝\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"180px\" },\n attrs: { placeholder: \"璇疯緭鍏ョ瀹", clearable: \"\" },\n nativeOn: {\n keyup: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.handleQuery($event)\n },\n },\n model: {\n value: _vm.queryParams.deptname,\n callback: function ($$v) {\n _vm.$set(_vm.queryParams, \"deptname\", $$v)\n },\n expression: \"queryParams.deptname\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"240px\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n type: \"daterange\",\n \"range-separator\": \"-\",\n \"start-placeholder\": \"寮�濮嬫棩鏈焅",\n \"end-placeholder\": \"缁撴潫鏃ユ湡\",\n },\n model: {\n value: _vm.dateRange,\n callback: function ($$v) {\n _vm.dateRange = $$v\n },\n expression: \"dateRange\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: {\n type: \"primary\",\n icon: \"el-icon-search\",\n size: \"medium\",\n },\n on: { click: _vm.handleQuery },\n },\n [_vm._v(\"鎼滅储\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-refresh\", size: \"medium\" },\n on: { click: _vm.resetQuery },\n },\n [_vm._v(\"閲嶇疆\")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { staticClass: \"mb8\", attrs: { gutter: 10 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 1.5 } },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n type: \"primary\",\n plain: \"\",\n icon: \"el-icon-plus\",\n size: \"medium\",\n },\n on: { click: _vm.handleCreateStandalone },\n },\n [_vm._v(\"鏂板缓寤烘。\")]\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 1.5 } },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n type: \"danger\",\n plain: \"\",\n icon: \"el-icon-delete\",\n size: \"medium\",\n disabled: _vm.multiple,\n },\n on: { click: _vm.handleDelete },\n },\n [_vm._v(\"鍒犻櫎\")]\n ),\n ],\n 1\n ),\n _c(\"right-toolbar\", {\n attrs: { showSearch: _vm.showSearch },\n on: {\n \"update:showSearch\": function ($event) {\n _vm.showSearch = $event\n },\n \"update:show-search\": function ($event) {\n _vm.showSearch = $event\n },\n queryTable: _vm.getList,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-table\",\n {\n directives: [\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.loading,\n expression: \"loading\",\n },\n ],\n attrs: { data: _vm.displayList },\n on: { \"selection-change\": _vm.handleSelectionChange },\n },\n [\n _c(\"el-table-column\", {\n attrs: { type: \"selection\", width: \"50\", align: \"center\" },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"鎮h�呭鍚峔",\n align: \"center\",\n prop: \"patname\",\n width: \"100\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"鎬у埆\", align: \"center\", width: \"60\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [_vm._v(_vm._s(scope.row.sex == 1 ? \"鐢穃" : \"濂砛"))]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"骞撮緞\", align: \"center\", prop: \"age\", width: \"60\" },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"鑱旂郴鐢佃瘽\",\n align: \"center\",\n prop: \"telcode\",\n width: \"130\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"瀹堕暱濮撳悕\", align: \"center\", width: \"100\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _vm._v(\n _vm._s(\n scope.row.parentInfo\n ? scope.row.parentInfo.parentName || \"-\"\n : \"-\"\n )\n ),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"瀹堕暱鐢佃瘽\", align: \"center\", width: \"130\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _vm._v(\n _vm._s(\n scope.row.parentInfo\n ? scope.row.parentInfo.parentPhone || \"-\"\n : \"-\"\n )\n ),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"绉戝\",\n align: \"center\",\n prop: \"deptname\",\n width: \"120\",\n \"show-overflow-tooltip\": \"\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"璇婃柇\",\n align: \"center\",\n prop: \"diagname\",\n \"min-width\": \"150\",\n \"show-overflow-tooltip\": \"\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"涓撴绫诲瀷\", align: \"center\", width: \"160\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\n \"el-tag\",\n { attrs: { type: _vm.subTypeTag(scope.row.subType) } },\n [_vm._v(_vm._s(scope.row.subTypeLabel))]\n ),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"寤烘。鍖荤敓\",\n align: \"center\",\n prop: \"archiveForm.doctorName\",\n width: \"100\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"寤烘。鏃堕棿\", align: \"center\", width: \"160\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _vm._v(\n _vm._s(\n scope.row.createTime\n ? scope.row.createTime.substring(0, 10)\n : \"-\"\n )\n ),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"鏉ユ簮\", align: \"center\", width: \"80\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n scope.row.sourcePage === \"standalone\"\n ? _c(\n \"el-tag\",\n { attrs: { type: \"info\", size: \"mini\" } },\n [_vm._v(\"鐙珛\")]\n )\n : _c(\"span\", [\n _vm._v(\n _vm._s(\n scope.row.sourcePage === \"inpatient\"\n ? \"鍦ㄩ櫌\"\n : \"闂ㄨ瘖\"\n )\n ),\n ]),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"鎿嶄綔\",\n align: \"center\",\n fixed: \"right\",\n width: \"120\",\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\", type: \"text\" },\n on: {\n click: function ($event) {\n return _vm.goDetail(scope.row)\n },\n },\n },\n [\n _c(\"span\", { staticClass: \"button-textsc\" }, [\n _c(\"i\", { staticClass: \"el-icon-zoom-in\" }),\n _vm._v(\"鏌ョ湅\"),\n ]),\n ]\n ),\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\", type: \"text\" },\n on: {\n click: function ($event) {\n return _vm.handleSingleDelete(scope.row)\n },\n },\n },\n [\n _c(\"span\", { staticStyle: { color: \"#f56c6c\" } }, [\n _c(\"i\", { staticClass: \"el-icon-delete\" }),\n _vm._v(\"鍒犻櫎\"),\n ]),\n ]\n ),\n ]\n },\n },\n ]),\n }),\n ],\n 1\n ),\n _c(\"pagination\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.total > 0,\n expression: \"total > 0\",\n },\n ],\n attrs: {\n total: _vm.total,\n page: _vm.queryParams.pageNum,\n limit: _vm.queryParams.pageSize,\n },\n on: {\n \"update:page\": function ($event) {\n return _vm.$set(_vm.queryParams, \"pageNum\", $event)\n },\n \"update:limit\": function ($event) {\n return _vm.$set(_vm.queryParams, \"pageSize\", $event)\n },\n pagination: _vm.getList,\n },\n }),\n _c(\"ArchiveDialog\", {\n attrs: { visible: _vm.createDialogVisible, standalone: true },\n on: {\n \"update:visible\": function ($event) {\n _vm.createDialogVisible = $event\n },\n created: _vm.getList,\n },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/patient/archives/childHealth/index.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%223ec45802-vue-loader-template%22%7D!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"app-container\" },\n [\n _c(\n \"el-form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showSearch,\n expression: \"showSearch\",\n },\n ],\n ref: \"queryForm\",\n attrs: {\n model: _vm.queryParams,\n size: \"small\",\n inline: true,\n \"label-width\": \"80px\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎮h�呭鍚峔" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"180px\" },\n attrs: { placeholder: \"璇疯緭鍏ュ鍚峔", clearable: \"\" },\n nativeOn: {\n keyup: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.handleQuery($event)\n },\n },\n model: {\n value: _vm.queryParams.patname,\n callback: function ($$v) {\n _vm.$set(_vm.queryParams, \"patname\", $$v)\n },\n expression: \"queryParams.patname\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓撴绫诲瀷\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"180px\" },\n attrs: { placeholder: \"璇烽�夋嫨\", clearable: \"\" },\n model: {\n value: _vm.queryParams.subType,\n callback: function ($$v) {\n _vm.$set(_vm.queryParams, \"subType\", $$v)\n },\n expression: \"queryParams.subType\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: { label: \"楂樺嵄鍎夸笓妗堢鐞哱", value: \"highrisk\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"钀ュ吇鎬х柧鐥呬笓妗堢鐞哱", value: \"nutrition\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"瀛︿範鍥伴毦涓撴绠$悊\", value: \"learning\" },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"绉戝\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"180px\" },\n attrs: { placeholder: \"璇疯緭鍏ョ瀹", clearable: \"\" },\n nativeOn: {\n keyup: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.handleQuery($event)\n },\n },\n model: {\n value: _vm.queryParams.deptname,\n callback: function ($$v) {\n _vm.$set(_vm.queryParams, \"deptname\", $$v)\n },\n expression: \"queryParams.deptname\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"240px\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n type: \"daterange\",\n \"range-separator\": \"-\",\n \"start-placeholder\": \"寮�濮嬫棩鏈焅",\n \"end-placeholder\": \"缁撴潫鏃ユ湡\",\n },\n model: {\n value: _vm.dateRange,\n callback: function ($$v) {\n _vm.dateRange = $$v\n },\n expression: \"dateRange\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: {\n type: \"primary\",\n icon: \"el-icon-search\",\n size: \"medium\",\n },\n on: { click: _vm.handleQuery },\n },\n [_vm._v(\"鎼滅储\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-refresh\", size: \"medium\" },\n on: { click: _vm.resetQuery },\n },\n [_vm._v(\"閲嶇疆\")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { staticClass: \"mb8\", attrs: { gutter: 10 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 1.5 } },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n type: \"primary\",\n plain: \"\",\n icon: \"el-icon-plus\",\n size: \"medium\",\n },\n on: { click: _vm.handleCreateStandalone },\n },\n [_vm._v(\"鏂板缓寤烘。\")]\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 1.5 } },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n type: \"danger\",\n plain: \"\",\n icon: \"el-icon-delete\",\n size: \"medium\",\n disabled: _vm.multiple,\n },\n on: { click: _vm.handleDelete },\n },\n [_vm._v(\"鍒犻櫎\")]\n ),\n ],\n 1\n ),\n _c(\"right-toolbar\", {\n attrs: { showSearch: _vm.showSearch },\n on: {\n \"update:showSearch\": function ($event) {\n _vm.showSearch = $event\n },\n \"update:show-search\": function ($event) {\n _vm.showSearch = $event\n },\n queryTable: _vm.getList,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-table\",\n {\n directives: [\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.loading,\n expression: \"loading\",\n },\n ],\n attrs: { data: _vm.displayList },\n on: { \"selection-change\": _vm.handleSelectionChange },\n },\n [\n _c(\"el-table-column\", {\n attrs: { type: \"selection\", width: \"50\", align: \"center\" },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"鎮h�呭鍚峔",\n align: \"center\",\n prop: \"patname\",\n width: \"100\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"鎬у埆\", align: \"center\", width: \"60\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [_vm._v(_vm._s(scope.row.sex == 1 ? \"鐢穃" : \"濂砛"))]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"骞撮緞\", align: \"center\", prop: \"age\", width: \"60\" },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"鑱旂郴鐢佃瘽\",\n align: \"center\",\n prop: \"telcode\",\n width: \"130\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"瀹堕暱濮撳悕\", align: \"center\", width: \"100\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _vm._v(\n _vm._s(\n scope.row.parentInfo\n ? scope.row.parentInfo.parentName || \"-\"\n : \"-\"\n )\n ),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"瀹堕暱鐢佃瘽\", align: \"center\", width: \"130\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _vm._v(\n _vm._s(\n scope.row.parentInfo\n ? scope.row.parentInfo.parentPhone || \"-\"\n : \"-\"\n )\n ),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"绉戝\",\n align: \"center\",\n prop: \"deptname\",\n width: \"120\",\n \"show-overflow-tooltip\": \"\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"璇婃柇\",\n align: \"center\",\n prop: \"diagname\",\n \"min-width\": \"150\",\n \"show-overflow-tooltip\": \"\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"涓撴绫诲瀷\", align: \"center\", width: \"160\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\n \"el-tag\",\n { attrs: { type: _vm.subTypeTag(scope.row.subType) } },\n [_vm._v(_vm._s(scope.row.subTypeLabel))]\n ),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"寤烘。鍖荤敓\",\n align: \"center\",\n prop: \"archiveForm.doctorName\",\n width: \"100\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"寤烘。鏃堕棿\", align: \"center\", width: \"160\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _vm._v(\n _vm._s(\n scope.row.createTime\n ? scope.row.createTime.substring(0, 10)\n : \"-\"\n )\n ),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"鏉ユ簮\", align: \"center\", width: \"80\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n scope.row.sourcePage === \"standalone\"\n ? _c(\n \"el-tag\",\n { attrs: { type: \"info\", size: \"mini\" } },\n [_vm._v(\"鐙珛\")]\n )\n : _c(\"span\", [\n _vm._v(\n _vm._s(\n scope.row.sourcePage === \"inpatient\"\n ? \"鍦ㄩ櫌\"\n : \"闂ㄨ瘖\"\n )\n ),\n ]),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"鎿嶄綔\",\n align: \"center\",\n fixed: \"right\",\n width: \"120\",\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\", type: \"text\" },\n on: {\n click: function ($event) {\n return _vm.goDetail(scope.row)\n },\n },\n },\n [\n _c(\"span\", { staticClass: \"button-textsc\" }, [\n _c(\"i\", { staticClass: \"el-icon-zoom-in\" }),\n _vm._v(\"鏌ョ湅\"),\n ]),\n ]\n ),\n _c(\n \"el-button\",\n {\n attrs: { size: \"medium\", type: \"text\" },\n on: {\n click: function ($event) {\n return _vm.handleSingleDelete(scope.row)\n },\n },\n },\n [\n _c(\"span\", { staticStyle: { color: \"#f56c6c\" } }, [\n _c(\"i\", { staticClass: \"el-icon-delete\" }),\n _vm._v(\"鍒犻櫎\"),\n ]),\n ]\n ),\n ]\n },\n },\n ]),\n }),\n ],\n 1\n ),\n _c(\"pagination\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.total > 0,\n expression: \"total > 0\",\n },\n ],\n attrs: {\n total: _vm.total,\n page: _vm.queryParams.pageNum,\n limit: _vm.queryParams.pageSize,\n },\n on: {\n \"update:page\": function ($event) {\n return _vm.$set(_vm.queryParams, \"pageNum\", $event)\n },\n \"update:limit\": function ($event) {\n return _vm.$set(_vm.queryParams, \"pageSize\", $event)\n },\n pagination: _vm.getList,\n },\n }),\n _c(\"ArchiveDialog\", {\n attrs: { visible: _vm.createDialogVisible, standalone: true },\n on: {\n \"update:visible\": function ($event) {\n _vm.createDialogVisible = $event\n },\n created: _vm.getList,\n },\n }),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/patient/archives/childHealth/index.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%223ec45802-vue-loader-template%22%7D!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -8300,7 +8300,7 @@
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"el-dialog\",\n {\n attrs: {\n title: _vm.dialogTitle,\n visible: _vm.dialogVisible,\n width: \"750px\",\n \"close-on-click-modal\": false,\n \"append-to-body\": \"\",\n top: \"3vh\",\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.dialogVisible = $event\n },\n close: _vm.handleClose,\n },\n },\n [\n _vm.selectedPatients.length > 0\n ? _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [\n _vm._v(\n \"宸查�夋偅鑰咃紙\" + _vm._s(_vm.selectedPatients.length) + \"浜猴級\"\n ),\n ]),\n _c(\n \"el-table\",\n {\n attrs: {\n data: _vm.selectedPatients,\n border: \"\",\n size: \"small\",\n \"max-height\": \"180\",\n },\n },\n [\n _c(\"el-table-column\", {\n attrs: {\n prop: \"patname\",\n label: \"濮撳悕\",\n width: \"80\",\n align: \"center\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"鎬у埆\", width: \"60\", align: \"center\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _vm._v(_vm._s(scope.row.sex == 1 ? \"鐢穃" : \"濂砛")),\n ]\n },\n },\n ],\n null,\n false,\n 360429347\n ),\n }),\n _c(\"el-table-column\", {\n attrs: {\n prop: \"age\",\n label: \"骞撮緞\",\n width: \"60\",\n align: \"center\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"deptname\", label: \"绉戝\", align: \"center\" },\n }),\n _c(\"el-table-column\", {\n attrs: {\n prop: \"diagname\",\n label: \"璇婃柇\",\n align: \"center\",\n \"show-overflow-tooltip\": \"\",\n },\n }),\n ],\n 1\n ),\n _c(\"el-divider\"),\n ],\n 1\n )\n : _vm._e(),\n _vm.standalone\n ? _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [\n _vm._v(\"鎮h�呭熀鏈俊鎭痋"),\n ]),\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.standalonePatient,\n \"label-width\": \"100px\",\n size: \"small\",\n inline: \"\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"濮撳悕\", required: \"\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"150px\" },\n attrs: { placeholder: \"璇疯緭鍏" },\n model: {\n value: _vm.standalonePatient.patname,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"patname\", $$v)\n },\n expression: \"standalonePatient.patname\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎬у埆\", required: \"\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"80px\" },\n model: {\n value: _vm.standalonePatient.sex,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"sex\", $$v)\n },\n expression: \"standalonePatient.sex\",\n },\n },\n [\n _c(\"el-option\", { attrs: { value: 1, label: \"鐢穃" } }),\n _c(\"el-option\", { attrs: { value: 2, label: \"濂砛" } }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"骞撮緞\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"80px\" },\n attrs: { placeholder: \"骞撮緞\" },\n model: {\n value: _vm.standalonePatient.age,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"age\", $$v)\n },\n expression: \"standalonePatient.age\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑱旂郴鐢佃瘽\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"150px\" },\n attrs: { placeholder: \"鑱旂郴鐢佃瘽\" },\n model: {\n value: _vm.standalonePatient.telcode,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"telcode\", $$v)\n },\n expression: \"standalonePatient.telcode\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"绉戝\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"150px\" },\n attrs: { placeholder: \"绉戝\" },\n model: {\n value: _vm.standalonePatient.deptname,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"deptname\", $$v)\n },\n expression: \"standalonePatient.deptname\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇婃柇\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n attrs: { placeholder: \"璇婃柇\" },\n model: {\n value: _vm.standalonePatient.diagname,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"diagname\", $$v)\n },\n expression: \"standalonePatient.diagname\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"el-divider\"),\n ],\n 1\n )\n : _vm._e(),\n _vm.mainCategory === \"child\"\n ? _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [\n _vm._v(\"瀹堕暱/鐩戞姢浜轰俊鎭痋"),\n ]),\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.parentInfo,\n \"label-width\": \"100px\",\n size: \"small\",\n inline: \"\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀹堕暱濮撳悕\", required: \"\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"150px\" },\n attrs: { placeholder: \"璇疯緭鍏" },\n model: {\n value: _vm.parentInfo.parentName,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentName\", $$v)\n },\n expression: \"parentInfo.parentName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓庡効绔ュ叧绯籠" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"120px\" },\n model: {\n value: _vm.parentInfo.relation,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"relation\", $$v)\n },\n expression: \"parentInfo.relation\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: { label: \"鐖朵翰\", value: \"father\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"姣嶄翰\", value: \"mother\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"绁栫埗\", value: \"grandfather\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"绁栨瘝\", value: \"grandmother\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"鍏朵粬\", value: \"other\" },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑱旂郴鐢佃瘽\", required: \"\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"150px\" },\n attrs: { placeholder: \"鑱旂郴鐢佃瘽\" },\n model: {\n value: _vm.parentInfo.parentPhone,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentPhone\", $$v)\n },\n expression: \"parentInfo.parentPhone\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"韬唤璇佸彿\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n attrs: { placeholder: \"韬唤璇佸彿\" },\n model: {\n value: _vm.parentInfo.parentIdCard,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentIdCard\", $$v)\n },\n expression: \"parentInfo.parentIdCard\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑱旂郴鍦板潃\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"300px\" },\n attrs: { placeholder: \"鑱旂郴鍦板潃\" },\n model: {\n value: _vm.parentInfo.address,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"address\", $$v)\n },\n expression: \"parentInfo.address\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"el-divider\"),\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [_vm._v(\"閫夋嫨寤烘。绫诲瀷\")]),\n _c(\n \"el-radio-group\",\n {\n attrs: { size: \"medium\" },\n on: { change: _vm.onMainCategoryChange },\n model: {\n value: _vm.mainCategory,\n callback: function ($$v) {\n _vm.mainCategory = $$v\n },\n expression: \"mainCategory\",\n },\n },\n [\n _c(\"el-radio-button\", { attrs: { label: \"child\" } }, [\n _vm._v(\"鍎夸繚绉戝缓妗"),\n ]),\n _c(\"el-radio-button\", { attrs: { label: \"maternal\" } }, [\n _vm._v(\"濡囦繚绉戝缓妗"),\n ]),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm.mainCategory\n ? _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [\n _vm._v(\"閫夋嫨涓撴绫诲瀷\"),\n ]),\n _c(\n \"el-radio-group\",\n {\n attrs: { size: \"small\" },\n on: { change: _vm.onSubTypeChange },\n model: {\n value: _vm.subType,\n callback: function ($$v) {\n _vm.subType = $$v\n },\n expression: \"subType\",\n },\n },\n [\n _vm.mainCategory === \"child\"\n ? [\n _c(\n \"el-radio-button\",\n { attrs: { label: \"highRisk\" } },\n [_vm._v(\"楂樺嵄鍎夸笓妗堢鐞哱")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"nutrition\" } },\n [_vm._v(\"钀ュ吇鎬х柧鐥呬笓妗堢鐞哱")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"learning\" } },\n [_vm._v(\"瀛︿範鍥伴毦涓撴绠$悊\")]\n ),\n ]\n : [\n _c(\n \"el-radio-button\",\n { attrs: { label: \"pregnancy\" } },\n [_vm._v(\"瀛曞闅忚\")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"menopause\" } },\n [_vm._v(\"鏇村勾鏈熼殢璁縗")]\n ),\n ],\n ],\n 2\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.subType\n ? _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [_vm._v(\"寤烘。淇℃伅\")]),\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.archiveForm,\n \"label-width\": \"120px\",\n size: \"small\",\n },\n },\n [\n _vm.mainCategory === \"child\" && _vm.subType === \"highRisk\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"楂樺嵄鍥犵礌\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { multiple: \"\", placeholder: \"鍙閫塡" },\n model: {\n value: _vm.archiveForm.riskFactor,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"riskFactor\", $$v)\n },\n expression: \"archiveForm.riskFactor\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃╀骇/浣庝綋閲峔",\n value: \"preterm\",\n },\n }),\n _c(\"el-option\", {\n attrs: { label: \"绐掓伅鍙瞈", value: \"asphyxia\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"棰呭唴鍑鸿\", value: \"ich\" },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"楂樿儐绾㈢礌琛�鐥嘰",\n value: \"hyperbilirubinemia\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"瀹唴鎰熸煋\",\n value: \"intrauterine\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鍏堝ぉ鐣稿舰\",\n value: \"malformation\",\n },\n }),\n _c(\"el-option\", {\n attrs: { label: \"鍏朵粬\", value: \"other\" },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍑虹敓浣撻噸(g)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 500, max: 6000 },\n model: {\n value: _vm.archiveForm.birthWeight,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"birthWeight\", $$v)\n },\n expression: \"archiveForm.birthWeight\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍑虹敓瀛曞懆\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 22, max: 42, precision: 1 },\n model: {\n value: _vm.archiveForm.gestationalWeek,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"gestationalWeek\",\n $$v\n )\n },\n expression: \"archiveForm.gestationalWeek\",\n },\n }),\n _vm._v(\" 鍛� \"),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鍖荤敓\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"璇疯緭鍏ュ缓妗e尰鐢焅" },\n model: {\n value: _vm.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"doctorName\", $$v)\n },\n expression: \"archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶囨敞\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.archiveForm.remark,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"remark\", $$v)\n },\n expression: \"archiveForm.remark\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n _vm.mainCategory === \"child\" && _vm.subType === \"nutrition\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"钀ュ吇璇婃柇\", required: \"\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"璇烽�夋嫨\" },\n model: {\n value: _vm.archiveForm.nutritionDiagnosis,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"nutritionDiagnosis\",\n $$v\n )\n },\n expression: \"archiveForm.nutritionDiagnosis\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"钀ュ吇涓嶈壇\",\n value: \"malnutrition\",\n },\n }),\n _c(\"el-option\", {\n attrs: { label: \"瓒呴噸\", value: \"overweight\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"鑲ヨ儢\", value: \"obesity\" },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"寰噺鍏冪礌缂轰箯\",\n value: \"micronutrient\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鍠傚吇鍥伴毦\",\n value: \"feeding\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鍖荤敓\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"璇疯緭鍏ュ缓妗e尰鐢焅" },\n model: {\n value: _vm.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"doctorName\", $$v)\n },\n expression: \"archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶囨敞\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.archiveForm.remark,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"remark\", $$v)\n },\n expression: \"archiveForm.remark\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n _vm.mainCategory === \"child\" && _vm.subType === \"learning\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛︿範闂\", required: \"\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"璇烽�夋嫨\" },\n model: {\n value: _vm.archiveForm.learningIssue,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"learningIssue\",\n $$v\n )\n },\n expression: \"archiveForm.learningIssue\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"闃呰闅滅\",\n value: \"dyslexia\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涔﹀啓闅滅\",\n value: \"dysgraphia\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"璁$畻闅滅\",\n value: \"dyscalculia\",\n },\n }),\n _c(\"el-option\", {\n attrs: { label: \"娉ㄦ剰鍔涚己闄穃", value: \"adhd\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"娣峰悎鍨媆", value: \"mixed\" },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鍖荤敓\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"璇疯緭鍏ュ缓妗e尰鐢焅" },\n model: {\n value: _vm.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"doctorName\", $$v)\n },\n expression: \"archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶囨敞\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.archiveForm.remark,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"remark\", $$v)\n },\n expression: \"archiveForm.remark\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n _vm.mainCategory === \"maternal\" && _vm.subType === \"pregnancy\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈鏈堢粡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n type: \"date\",\n \"value-format\": \"yyyy-MM-dd\",\n placeholder: \"閫夋嫨鏃ユ湡\",\n },\n model: {\n value: _vm.archiveForm.lmp,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"lmp\", $$v)\n },\n expression: \"archiveForm.lmp\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 12 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛曞懆\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 1, max: 42, precision: 1 },\n model: {\n value: _vm.archiveForm.gestationalWeek,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"gestationalWeek\",\n $$v\n )\n },\n expression:\n \"archiveForm.gestationalWeek\",\n },\n }),\n _vm._v(\" 鍛╘"),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛曟\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 1, max: 20 },\n model: {\n value: _vm.archiveForm.gravidity,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"gravidity\",\n $$v\n )\n },\n expression: \"archiveForm.gravidity\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"浜ф\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, max: 20 },\n model: {\n value: _vm.archiveForm.parity,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"parity\",\n $$v\n )\n },\n expression: \"archiveForm.parity\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"棰勪骇鏈焅" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n type: \"date\",\n \"value-format\": \"yyyy-MM-dd\",\n placeholder: \"閫夋嫨棰勪骇鏈焅",\n },\n model: {\n value: _vm.archiveForm.edd,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"edd\", $$v)\n },\n expression: \"archiveForm.edd\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"楂樺嵄濡婂\" } },\n [\n _c(\"el-switch\", {\n attrs: {\n \"active-text\": \"鏄痋",\n \"inactive-text\": \"鍚",\n },\n model: {\n value: _vm.archiveForm.highRiskPregnancy,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"highRiskPregnancy\",\n $$v\n )\n },\n expression: \"archiveForm.highRiskPregnancy\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鍖荤敓\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"璇疯緭鍏ュ缓妗e尰鐢焅" },\n model: {\n value: _vm.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"doctorName\", $$v)\n },\n expression: \"archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶囨敞\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.archiveForm.remark,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"remark\", $$v)\n },\n expression: \"archiveForm.remark\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n _vm.mainCategory === \"maternal\" && _vm.subType === \"menopause\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈堢粡鐘舵�乗" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"璇烽�夋嫨\" },\n model: {\n value: _vm.archiveForm.menstrualStatus,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"menstrualStatus\",\n $$v\n )\n },\n expression: \"archiveForm.menstrualStatus\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏈堢粡绱婁贡\",\n value: \"irregular\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"闂粡锛�<12涓湀锛塡",\n value: \"amenorrhea_short\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"缁濈粡锛堚墺12涓湀锛塡",\n value: \"menopause\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"浜哄伐缁濈粡\",\n value: \"surgical\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈鏈堢粡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n type: \"date\",\n \"value-format\": \"yyyy-MM-dd\",\n placeholder: \"閫夋嫨鏃ユ湡\",\n },\n model: {\n value: _vm.archiveForm.lmp,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"lmp\", $$v)\n },\n expression: \"archiveForm.lmp\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鍖荤敓\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"璇疯緭鍏ュ缓妗e尰鐢焅" },\n model: {\n value: _vm.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"doctorName\", $$v)\n },\n expression: \"archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶囨敞\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.archiveForm.remark,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"remark\", $$v)\n },\n expression: \"archiveForm.remark\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n ],\n 2\n ),\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"div\",\n {\n staticClass: \"dialog-footer\",\n attrs: { slot: \"footer\" },\n slot: \"footer\",\n },\n [\n _c(\n \"el-button\",\n {\n on: {\n click: function ($event) {\n _vm.dialogVisible = false\n },\n },\n },\n [_vm._v(\"鍙� 娑圽")]\n ),\n _c(\n \"el-button\",\n {\n attrs: {\n type: \"primary\",\n loading: _vm.submitting,\n disabled: !_vm.canSubmit,\n },\n on: { click: _vm.handleSubmit },\n },\n [_vm._v(\" 纭寤烘。 \")]\n ),\n ],\n 1\n ),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/patient/archives/components/ArchiveDialog.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%223ec45802-vue-loader-template%22%7D!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"el-dialog\",\n {\n attrs: {\n title: _vm.dialogTitle,\n visible: _vm.dialogVisible,\n width: \"750px\",\n \"close-on-click-modal\": false,\n \"append-to-body\": \"\",\n top: \"3vh\",\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.dialogVisible = $event\n },\n close: _vm.handleClose,\n },\n },\n [\n _vm.selectedPatients.length > 0\n ? _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [\n _vm._v(\n \"宸查�夋偅鑰咃紙\" + _vm._s(_vm.selectedPatients.length) + \"浜猴級\"\n ),\n ]),\n _c(\n \"el-table\",\n {\n attrs: {\n data: _vm.selectedPatients,\n border: \"\",\n size: \"small\",\n \"max-height\": \"180\",\n },\n },\n [\n _c(\"el-table-column\", {\n attrs: {\n prop: \"patname\",\n label: \"濮撳悕\",\n width: \"80\",\n align: \"center\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"鎬у埆\", width: \"60\", align: \"center\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _vm._v(_vm._s(scope.row.sex == 1 ? \"鐢穃" : \"濂砛")),\n ]\n },\n },\n ],\n null,\n false,\n 360429347\n ),\n }),\n _c(\"el-table-column\", {\n attrs: {\n prop: \"age\",\n label: \"骞撮緞\",\n width: \"60\",\n align: \"center\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: { prop: \"deptname\", label: \"绉戝\", align: \"center\" },\n }),\n _c(\"el-table-column\", {\n attrs: {\n prop: \"diagname\",\n label: \"璇婃柇\",\n align: \"center\",\n \"show-overflow-tooltip\": \"\",\n },\n }),\n ],\n 1\n ),\n _c(\"el-divider\"),\n ],\n 1\n )\n : _vm._e(),\n _vm.standalone\n ? _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [\n _vm._v(\"鎮h�呭熀鏈俊鎭痋"),\n ]),\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.standalonePatient,\n \"label-width\": \"100px\",\n size: \"small\",\n inline: \"\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"濮撳悕\", required: \"\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"150px\" },\n attrs: { placeholder: \"璇疯緭鍏" },\n model: {\n value: _vm.standalonePatient.patname,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"patname\", $$v)\n },\n expression: \"standalonePatient.patname\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎬у埆\", required: \"\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"80px\" },\n model: {\n value: _vm.standalonePatient.sex,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"sex\", $$v)\n },\n expression: \"standalonePatient.sex\",\n },\n },\n [\n _c(\"el-option\", { attrs: { value: 1, label: \"鐢穃" } }),\n _c(\"el-option\", { attrs: { value: 2, label: \"濂砛" } }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"骞撮緞\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"80px\" },\n attrs: { placeholder: \"骞撮緞\" },\n model: {\n value: _vm.standalonePatient.age,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"age\", $$v)\n },\n expression: \"standalonePatient.age\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑱旂郴鐢佃瘽\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"150px\" },\n attrs: { placeholder: \"鑱旂郴鐢佃瘽\" },\n model: {\n value: _vm.standalonePatient.telcode,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"telcode\", $$v)\n },\n expression: \"standalonePatient.telcode\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"绉戝\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"150px\" },\n attrs: { placeholder: \"绉戝\" },\n model: {\n value: _vm.standalonePatient.deptname,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"deptname\", $$v)\n },\n expression: \"standalonePatient.deptname\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇婃柇\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n attrs: { placeholder: \"璇婃柇\" },\n model: {\n value: _vm.standalonePatient.diagname,\n callback: function ($$v) {\n _vm.$set(_vm.standalonePatient, \"diagname\", $$v)\n },\n expression: \"standalonePatient.diagname\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"el-divider\"),\n ],\n 1\n )\n : _vm._e(),\n _vm.mainCategory === \"child\"\n ? _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [\n _vm._v(\"瀹堕暱/鐩戞姢浜轰俊鎭痋"),\n ]),\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.parentInfo,\n \"label-width\": \"100px\",\n size: \"small\",\n inline: \"\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀹堕暱濮撳悕\", required: \"\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"150px\" },\n attrs: { placeholder: \"璇疯緭鍏" },\n model: {\n value: _vm.parentInfo.parentName,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentName\", $$v)\n },\n expression: \"parentInfo.parentName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓庡効绔ュ叧绯籠" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"120px\" },\n model: {\n value: _vm.parentInfo.relation,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"relation\", $$v)\n },\n expression: \"parentInfo.relation\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: { label: \"鐖朵翰\", value: \"father\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"姣嶄翰\", value: \"mother\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"绁栫埗\", value: \"grandfather\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"绁栨瘝\", value: \"grandmother\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"鍏朵粬\", value: \"other\" },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑱旂郴鐢佃瘽\", required: \"\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"150px\" },\n attrs: { placeholder: \"鑱旂郴鐢佃瘽\" },\n model: {\n value: _vm.parentInfo.parentPhone,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentPhone\", $$v)\n },\n expression: \"parentInfo.parentPhone\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"韬唤璇佸彿\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n attrs: { placeholder: \"韬唤璇佸彿\" },\n model: {\n value: _vm.parentInfo.parentIdCard,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"parentIdCard\", $$v)\n },\n expression: \"parentInfo.parentIdCard\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑱旂郴鍦板潃\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"300px\" },\n attrs: { placeholder: \"鑱旂郴鍦板潃\" },\n model: {\n value: _vm.parentInfo.address,\n callback: function ($$v) {\n _vm.$set(_vm.parentInfo, \"address\", $$v)\n },\n expression: \"parentInfo.address\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"el-divider\"),\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [_vm._v(\"閫夋嫨寤烘。绫诲瀷\")]),\n _c(\n \"el-radio-group\",\n {\n attrs: { size: \"medium\" },\n on: { change: _vm.onMainCategoryChange },\n model: {\n value: _vm.mainCategory,\n callback: function ($$v) {\n _vm.mainCategory = $$v\n },\n expression: \"mainCategory\",\n },\n },\n [\n _c(\"el-radio-button\", { attrs: { label: \"child\" } }, [\n _vm._v(\"鍎夸繚绉戝缓妗"),\n ]),\n _c(\"el-radio-button\", { attrs: { label: \"maternal\" } }, [\n _vm._v(\"濡囦繚绉戝缓妗"),\n ]),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm.mainCategory\n ? _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [\n _vm._v(\"閫夋嫨涓撴绫诲瀷\"),\n ]),\n _c(\n \"el-radio-group\",\n {\n attrs: { size: \"small\" },\n on: { change: _vm.onSubTypeChange },\n model: {\n value: _vm.subType,\n callback: function ($$v) {\n _vm.subType = $$v\n },\n expression: \"subType\",\n },\n },\n [\n _vm.mainCategory === \"child\"\n ? [\n _c(\n \"el-radio-button\",\n { attrs: { label: \"highrisk\" } },\n [_vm._v(\"楂樺嵄鍎夸笓妗堢鐞哱")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"nutrition\" } },\n [_vm._v(\"钀ュ吇鎬х柧鐥呬笓妗堢鐞哱")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"learning\" } },\n [_vm._v(\"瀛︿範鍥伴毦涓撴绠$悊\")]\n ),\n ]\n : [\n _c(\n \"el-radio-button\",\n { attrs: { label: \"pregnancy\" } },\n [_vm._v(\"瀛曞闅忚\")]\n ),\n _c(\n \"el-radio-button\",\n { attrs: { label: \"menopause\" } },\n [_vm._v(\"鏇村勾鏈熼殢璁縗")]\n ),\n ],\n ],\n 2\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.subType\n ? _c(\n \"div\",\n { staticClass: \"archive-section\" },\n [\n _c(\"div\", { staticClass: \"section-title\" }, [_vm._v(\"寤烘。淇℃伅\")]),\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.archiveForm,\n \"label-width\": \"120px\",\n size: \"small\",\n },\n },\n [\n _vm.mainCategory === \"child\" && _vm.subType === \"highrisk\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"楂樺嵄鍥犵礌\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { multiple: \"\", placeholder: \"鍙閫塡" },\n model: {\n value: _vm.archiveForm.riskFactor,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"riskFactor\", $$v)\n },\n expression: \"archiveForm.riskFactor\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃╀骇/浣庝綋閲峔",\n value: \"preterm\",\n },\n }),\n _c(\"el-option\", {\n attrs: { label: \"绐掓伅鍙瞈", value: \"asphyxia\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"棰呭唴鍑鸿\", value: \"ich\" },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"楂樿儐绾㈢礌琛�鐥嘰",\n value: \"hyperbilirubinemia\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"瀹唴鎰熸煋\",\n value: \"intrauterine\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鍏堝ぉ鐣稿舰\",\n value: \"malformation\",\n },\n }),\n _c(\"el-option\", {\n attrs: { label: \"鍏朵粬\", value: \"other\" },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍑虹敓浣撻噸(g)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 500, max: 6000 },\n model: {\n value: _vm.archiveForm.birthWeight,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"birthWeight\", $$v)\n },\n expression: \"archiveForm.birthWeight\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍑虹敓瀛曞懆\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 22, max: 42, precision: 1 },\n model: {\n value: _vm.archiveForm.gestationalWeek,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"gestationalWeek\",\n $$v\n )\n },\n expression: \"archiveForm.gestationalWeek\",\n },\n }),\n _vm._v(\" 鍛� \"),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鍖荤敓\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"璇疯緭鍏ュ缓妗e尰鐢焅" },\n model: {\n value: _vm.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"doctorName\", $$v)\n },\n expression: \"archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶囨敞\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.archiveForm.remark,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"remark\", $$v)\n },\n expression: \"archiveForm.remark\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n _vm.mainCategory === \"child\" && _vm.subType === \"nutrition\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"钀ュ吇璇婃柇\", required: \"\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"璇烽�夋嫨\" },\n model: {\n value: _vm.archiveForm.nutritionDiagnosis,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"nutritionDiagnosis\",\n $$v\n )\n },\n expression: \"archiveForm.nutritionDiagnosis\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"钀ュ吇涓嶈壇\",\n value: \"malnutrition\",\n },\n }),\n _c(\"el-option\", {\n attrs: { label: \"瓒呴噸\", value: \"overweight\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"鑲ヨ儢\", value: \"obesity\" },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"寰噺鍏冪礌缂轰箯\",\n value: \"micronutrient\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鍠傚吇鍥伴毦\",\n value: \"feeding\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鍖荤敓\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"璇疯緭鍏ュ缓妗e尰鐢焅" },\n model: {\n value: _vm.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"doctorName\", $$v)\n },\n expression: \"archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶囨敞\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.archiveForm.remark,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"remark\", $$v)\n },\n expression: \"archiveForm.remark\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n _vm.mainCategory === \"child\" && _vm.subType === \"learning\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛︿範闂\", required: \"\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"璇烽�夋嫨\" },\n model: {\n value: _vm.archiveForm.learningIssue,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"learningIssue\",\n $$v\n )\n },\n expression: \"archiveForm.learningIssue\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"闃呰闅滅\",\n value: \"dyslexia\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涔﹀啓闅滅\",\n value: \"dysgraphia\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"璁$畻闅滅\",\n value: \"dyscalculia\",\n },\n }),\n _c(\"el-option\", {\n attrs: { label: \"娉ㄦ剰鍔涚己闄穃", value: \"adhd\" },\n }),\n _c(\"el-option\", {\n attrs: { label: \"娣峰悎鍨媆", value: \"mixed\" },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鍖荤敓\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"璇疯緭鍏ュ缓妗e尰鐢焅" },\n model: {\n value: _vm.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"doctorName\", $$v)\n },\n expression: \"archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶囨敞\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.archiveForm.remark,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"remark\", $$v)\n },\n expression: \"archiveForm.remark\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n _vm.mainCategory === \"maternal\" && _vm.subType === \"pregnancy\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈鏈堢粡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n type: \"date\",\n \"value-format\": \"yyyy-MM-dd\",\n placeholder: \"閫夋嫨鏃ユ湡\",\n },\n model: {\n value: _vm.archiveForm.lmp,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"lmp\", $$v)\n },\n expression: \"archiveForm.lmp\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 12 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛曞懆\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 1, max: 42, precision: 1 },\n model: {\n value: _vm.archiveForm.gestationalWeek,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"gestationalWeek\",\n $$v\n )\n },\n expression:\n \"archiveForm.gestationalWeek\",\n },\n }),\n _vm._v(\" 鍛╘"),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛曟\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 1, max: 20 },\n model: {\n value: _vm.archiveForm.gravidity,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"gravidity\",\n $$v\n )\n },\n expression: \"archiveForm.gravidity\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"浜ф\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 0, max: 20 },\n model: {\n value: _vm.archiveForm.parity,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"parity\",\n $$v\n )\n },\n expression: \"archiveForm.parity\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"棰勪骇鏈焅" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n type: \"date\",\n \"value-format\": \"yyyy-MM-dd\",\n placeholder: \"閫夋嫨棰勪骇鏈焅",\n },\n model: {\n value: _vm.archiveForm.edd,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"edd\", $$v)\n },\n expression: \"archiveForm.edd\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"楂樺嵄濡婂\" } },\n [\n _c(\"el-switch\", {\n attrs: {\n \"active-text\": \"鏄痋",\n \"inactive-text\": \"鍚",\n },\n model: {\n value: _vm.archiveForm.highriskPregnancy,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"highriskPregnancy\",\n $$v\n )\n },\n expression: \"archiveForm.highriskPregnancy\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鍖荤敓\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"璇疯緭鍏ュ缓妗e尰鐢焅" },\n model: {\n value: _vm.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"doctorName\", $$v)\n },\n expression: \"archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶囨敞\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.archiveForm.remark,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"remark\", $$v)\n },\n expression: \"archiveForm.remark\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n _vm.mainCategory === \"maternal\" && _vm.subType === \"menopause\"\n ? [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈堢粡鐘舵�乗" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"100%\" },\n attrs: { placeholder: \"璇烽�夋嫨\" },\n model: {\n value: _vm.archiveForm.menstrualStatus,\n callback: function ($$v) {\n _vm.$set(\n _vm.archiveForm,\n \"menstrualStatus\",\n $$v\n )\n },\n expression: \"archiveForm.menstrualStatus\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏈堢粡绱婁贡\",\n value: \"irregular\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"闂粡锛�<12涓湀锛塡",\n value: \"amenorrhea_short\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"缁濈粡锛堚墺12涓湀锛塡",\n value: \"menopause\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"浜哄伐缁濈粡\",\n value: \"surgical\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈鏈堢粡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n type: \"date\",\n \"value-format\": \"yyyy-MM-dd\",\n placeholder: \"閫夋嫨鏃ユ湡\",\n },\n model: {\n value: _vm.archiveForm.lmp,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"lmp\", $$v)\n },\n expression: \"archiveForm.lmp\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鍖荤敓\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"璇疯緭鍏ュ缓妗e尰鐢焅" },\n model: {\n value: _vm.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"doctorName\", $$v)\n },\n expression: \"archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶囨敞\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.archiveForm.remark,\n callback: function ($$v) {\n _vm.$set(_vm.archiveForm, \"remark\", $$v)\n },\n expression: \"archiveForm.remark\",\n },\n }),\n ],\n 1\n ),\n ]\n : _vm._e(),\n ],\n 2\n ),\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"div\",\n {\n staticClass: \"dialog-footer\",\n attrs: { slot: \"footer\" },\n slot: \"footer\",\n },\n [\n _c(\n \"el-button\",\n {\n on: {\n click: function ($event) {\n _vm.dialogVisible = false\n },\n },\n },\n [_vm._v(\"鍙� 娑圽")]\n ),\n _c(\n \"el-button\",\n {\n attrs: {\n type: \"primary\",\n loading: _vm.submitting,\n disabled: !_vm.canSubmit,\n },\n on: { click: _vm.handleSubmit },\n },\n [_vm._v(\" 纭寤烘。 \")]\n ),\n ],\n 1\n ),\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/patient/archives/components/ArchiveDialog.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%223ec45802-vue-loader-template%22%7D!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -8360,7 +8360,7 @@
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.loading,\n expression: \"loading\",\n },\n ],\n staticClass: \"app-container\",\n },\n [\n _vm.archive\n ? [\n _c(\n \"div\",\n { staticClass: \"action-bar\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-back\" },\n on: {\n click: function ($event) {\n return _vm.$router.go(-1)\n },\n },\n },\n [_vm._v(\"杩斿洖\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: {\n type: _vm.editing ? \"success\" : \"primary\",\n icon: _vm.editing ? \"el-icon-check\" : \"el-icon-edit\",\n },\n on: { click: _vm.toggleEdit },\n },\n [_vm._v(_vm._s(_vm.editing ? \"淇濆瓨\" : \"缂栬緫\"))]\n ),\n _c(\n \"el-tag\",\n {\n staticStyle: { \"margin-left\": \"12px\" },\n attrs: {\n type:\n _vm.archive.subType === \"pregnancy\"\n ? \"success\"\n : \"warning\",\n },\n },\n [_vm._v(_vm._s(_vm.archive.subTypeLabel))]\n ),\n ],\n 1\n ),\n _c(\n \"el-card\",\n { staticClass: \"info-card\", attrs: { shadow: \"never\" } },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"鎮h�呭熀鏈俊鎭痋")])]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"濮撳悕\", value: _vm.archive.patname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鎬у埆\",\n value: _vm.archive.sex == 1 ? \"鐢穃" : \"濂砛",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"骞撮緞\", value: _vm.archive.age },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"鐢佃瘽\", value: _vm.archive.telcode },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n {\n staticStyle: { \"margin-top\": \"10px\" },\n attrs: { gutter: 20 },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"绉戝\", value: _vm.archive.deptname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"璇婃柇\", value: _vm.archive.diagname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"涓绘不鍖荤敓\",\n value: _vm.archive.drname,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"鏉ユ簮\", value: _vm.sourceLabel },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [\n _c(\"span\", [_vm._v(\"妗f鍩烘湰淇℃伅\")]),\n _c(\"span\", { staticClass: \"header-sub\" }, [\n _vm._v(\n _vm._s(\n _vm.archive.createTime\n ? _vm.archive.createTime.substring(0, 10)\n : \"-\"\n ) + \" 寤烘。\"\n ),\n ]),\n ]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。绫诲瀷\",\n value: _vm.archive.subTypeLabel,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。鍖荤敓\",\n value: _vm.archive.archiveForm.doctorName,\n editing: _vm.editing,\n },\n model: {\n value: _vm.archive.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(\n _vm.archive.archiveForm,\n \"doctorName\",\n $$v\n )\n },\n expression: \"archive.archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。鏃堕棿\",\n value: _vm.archive.createTime,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm.archive.subType === \"pregnancy\"\n ? _c(\n \"el-row\",\n {\n staticStyle: { \"margin-top\": \"10px\" },\n attrs: { gutter: 20 },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"瀛曞懆\",\n value: _vm.archive.archiveForm.gestationalWeek,\n editing: _vm.editing,\n type: \"number\",\n },\n model: {\n value: _vm.archive.archiveForm.gestationalWeek,\n callback: function ($$v) {\n _vm.$set(\n _vm.archive.archiveForm,\n \"gestationalWeek\",\n $$v\n )\n },\n expression:\n \"archive.archiveForm.gestationalWeek\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"瀛曟/浜ф\",\n value:\n \"G\" +\n (_vm.archive.archiveForm.gravidity || 1) +\n \"P\" +\n (_vm.archive.archiveForm.parity || 0),\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"棰勪骇鏈焅",\n value: _vm.archive.archiveForm.edd,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"楂樺嵄濡婂\",\n value: _vm.archive.archiveForm.highRiskPregnancy\n ? \"鏄痋"\n : \"鍚",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.archive.subType === \"menopause\"\n ? _c(\n \"el-row\",\n {\n staticStyle: { \"margin-top\": \"10px\" },\n attrs: { gutter: 20 },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鏈堢粡鐘舵�乗",\n value: _vm.menstrualLabel,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鏈鏈堢粡\",\n value: _vm.archive.archiveForm.lmp,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n _vm.archive.subType === \"pregnancy\"\n ? [\n _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"瀛曞闅忚绠$悊\")])]\n ),\n _c(\n \"el-tabs\",\n {\n attrs: { type: \"border-card\" },\n model: {\n value: _vm.activeTab,\n callback: function ($$v) {\n _vm.activeTab = $$v\n },\n expression: \"activeTab\",\n },\n },\n [\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"瀛曞闅忚绯荤粺闂\",\n name: \"sysQ\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.pregSysQ,\n \"label-width\": \"150px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"濉啓鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.pregSysQ.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛曞懆\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 1, max: 42 },\n model: {\n value:\n _vm.form.pregSysQ.gestWeek,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"gestWeek\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.gestWeek\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"浣撻噸(kg)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.pregSysQ.weight,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"weight\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.weight\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�鍘媆" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"鏀剁缉鍘�/鑸掑紶鍘媆",\n },\n model: {\n value:\n _vm.form.pregSysQ\n .bloodPressure,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"bloodPressure\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.bloodPressure\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀹珮(cm)\" } },\n [\n _c(\"el-input-number\", {\n model: {\n value:\n _vm.form.pregSysQ\n .fundalHeight,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"fundalHeight\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.fundalHeight\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑳庡績(娆�/鍒�)\" } },\n [\n _c(\"el-input-number\", {\n model: {\n value:\n _vm.form.pregSysQ\n .fetalHeart,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"fetalHeart\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.fetalHeart\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"姘磋偪\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregSysQ.edema,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"edema\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.edema\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"+\",\n value: \"+\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"++\",\n value: \"++\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"+++\",\n value: \"+++\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"灏胯泲鐧絓" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregSysQ\n .urineProtein,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"urineProtein\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.urineProtein\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"-\",\n value: \"-\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"卤\",\n value: \"卤\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"+\",\n value: \"+\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"++\",\n value: \"++\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑷鐥囩姸\" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n rows: 2,\n placeholder: \"澶存檿/鐪艰姳/鑳搁椃/鑵圭棝绛塡",\n },\n model: {\n value: _vm.form.pregSysQ.symptoms,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"symptoms\",\n $$v\n )\n },\n expression: \"form.pregSysQ.symptoms\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶勭悊鎰忚\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.pregSysQ.advice,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"advice\",\n $$v\n )\n },\n expression: \"form.pregSysQ.advice\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓嬫闅忚鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"200px\" },\n attrs: { \"value-format\": \"yyyy-MM-dd\" },\n model: {\n value: _vm.form.pregSysQ.nextVisit,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"nextVisit\",\n $$v\n )\n },\n expression: \"form.pregSysQ.nextVisit\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"闅忚鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.pregSysQ.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.pregSysQ.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"涓芥按濡囧辜淇濆仴闄㈠瓡濡囬璇婁俊鎭櫥璁拌〃\",\n name: \"firstVisit\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.pregFirst,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"鍩烘湰淇℃伅\")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value:\n _vm.form.pregFirst.regDate,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"regDate\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.regDate\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓堝か濮撳悕\" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.pregFirst\n .husbandName,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"husbandName\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.husbandName\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓堝か鐢佃瘽\" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.pregFirst\n .husbandPhone,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"husbandPhone\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.husbandPhone\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈鏈堢粡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.pregFirst.lmp,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"lmp\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.lmp\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"棰勪骇鏈焅" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.pregFirst.edd,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"edd\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.edd\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛曟/浜ф\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"G_P_\" },\n model: {\n value: _vm.form.pregFirst.gp,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"gp\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.gp\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"鏃㈠線鍙瞈")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍓栧浜у彶\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregFirst\n .csHistory,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"csHistory\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.csHistory\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: 0,\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏈塡",\n value: 1,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"娴佷骇鍙瞈" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregFirst\n .abortionHistory,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"abortionHistory\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.abortionHistory\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: 0,\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏈塡",\n value: 1,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鐤剧梾鍙瞈" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder:\n \"楂樿鍘�/绯栧翱鐥�/鐢茬姸鑵虹瓑\",\n },\n model: {\n value:\n _vm.form.pregFirst\n .diseaseHistory,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"diseaseHistory\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.diseaseHistory\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"鏈濡婂鎯呭喌\")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"韬珮(cm)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.pregFirst.height,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"height\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.height\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n {\n attrs: { label: \"瀛曞墠浣撻噸(kg)\" },\n },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.pregFirst\n .preWeight,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"preWeight\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.preWeight\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"楂樺嵄鍥犵礌璇勪及\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value:\n _vm.form.pregFirst.riskAssessment,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"riskAssessment\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.riskAssessment\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤哄唽鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.pregFirst.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.pregFirst.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"涓芥按濡囧辜淇濆仴闄㈡棭瀛曢殢璁跨櫥璁拌〃\",\n name: \"earlyFollow\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.pregEarly,\n \"label-width\": \"150px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"闅忚鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value:\n _vm.form.pregEarly.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛曞懆\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 1, max: 14 },\n model: {\n value:\n _vm.form.pregEarly.gestWeek,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"gestWeek\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.gestWeek\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏃╁瓡鍙嶅簲\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregEarly\n .morningSickness,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"morningSickness\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.morningSickness\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"杞诲害\",\n value: \"杞诲害\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涓害\",\n value: \"涓害\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"閲嶅害\",\n value: \"閲嶅害\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"闃撮亾鍑鸿\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregEarly\n .bleeding,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"bleeding\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.bleeding\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏈塡",\n value: \"鏈塡",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑵圭棝\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregEarly\n .abdominalPain,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"abdominalPain\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.abdominalPain\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏈塡",\n value: \"鏈塡",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�甯歌\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"Hb/PLT绛塡",\n },\n model: {\n value:\n _vm.form.pregEarly\n .bloodRoutine,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"bloodRoutine\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.bloodRoutine\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"灏垮父瑙刓" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.pregEarly\n .urineRoutine,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"urineRoutine\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.urineRoutine\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"B瓒呮鏌" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"CRL/NT绛塡",\n },\n model: {\n value:\n _vm.form.pregEarly\n .ultrasound,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"ultrasound\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.ultrasound\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍙堕吀琛ュ厖\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.pregEarly.folicAcid,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"folicAcid\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.folicAcid\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"瑙勫緥鏈嶇敤\",\n value: \"瑙勫緥鏈嶇敤\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鍋跺皵鏈嶇敤\",\n value: \"鍋跺皵鏈嶇敤\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏈湇鐢╘",\n value: \"鏈湇鐢╘",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎸囧鎰忚\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.pregEarly.advice,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"advice\",\n $$v\n )\n },\n expression: \"form.pregEarly.advice\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"闅忚鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.pregEarly.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.pregEarly.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n : _vm._e(),\n _vm.archive.subType === \"menopause\"\n ? [\n _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"鏇村勾鏈熼殢璁跨鐞哱")])]\n ),\n _c(\n \"el-tabs\",\n {\n attrs: { type: \"border-card\" },\n model: {\n value: _vm.activeTab,\n callback: function ($$v) {\n _vm.activeTab = $$v\n },\n expression: \"activeTab\",\n },\n },\n [\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"鏇村勾鏈熼殢璁跨郴缁熼棶棰樿〃\",\n name: \"sysQ\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.menoSysQ,\n \"label-width\": \"150px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"濉啓鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.menoSysQ.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"骞撮緞\" } },\n [\n _c(\"el-input-number\", {\n model: {\n value: _vm.form.menoSysQ.age,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"age\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.age\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈堢粡鎯呭喌\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"鍛ㄦ湡/缁忔湡/缁忛噺\",\n },\n model: {\n value:\n _vm.form.menoSysQ\n .menstruation,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"menstruation\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.menstruation\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈鏈堢粡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.menoSysQ.lmp,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"lmp\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.lmp\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"缁濈粡骞撮緞\" } },\n [\n _c(\"el-input-number\", {\n model: {\n value:\n _vm.form.menoSysQ\n .menopauseAge,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"menopauseAge\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.menopauseAge\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"娼儹鍑烘睏\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ\n .hotFlash,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"hotFlash\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.hotFlash\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶辩湢\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ\n .insomnia,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"insomnia\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.insomnia\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎯呯华娉㈠姩\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ.mood,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"mood\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.mood\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鐤蹭箯\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ.fatigue,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"fatigue\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.fatigue\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍏宠妭鐥沑" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ\n .jointPain,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"jointPain\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.jointPain\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"蹇冩偢\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ\n .palpitation,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"palpitation\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.palpitation\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"闃撮亾骞叉订\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ.dryness,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"dryness\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.dryness\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎬ф鍑忛��\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ.libido,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"libido\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.libido\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍏朵粬鐥囩姸\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value:\n _vm.form.menoSysQ.otherSymptoms,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"otherSymptoms\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.otherSymptoms\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶勭悊鎰忚\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.menoSysQ.advice,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"advice\",\n $$v\n )\n },\n expression: \"form.menoSysQ.advice\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.menoSysQ.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.menoSysQ.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"MHT棣栬瘖鐥呭巻琛╘",\n name: \"mhtFirst\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.mhtFirst,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"灏辫瘖鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.mhtFirst.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓昏瘔\" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.mhtFirst\n .chiefComplaint,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"chiefComplaint\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.chiefComplaint\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"缁濈粡骞撮檺\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.mhtFirst\n .menopauseYears,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"menopauseYears\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.menopauseYears\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"韬珮(cm)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.mhtFirst.height,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"height\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.height\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"浣撻噸(kg)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.mhtFirst.weight,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"weight\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.weight\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"BMI\" } },\n [\n _c(\"el-input-number\", {\n attrs: {\n precision: 1,\n disabled: \"\",\n },\n model: {\n value: _vm.form.mhtFirst.bmi,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"bmi\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.bmi\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�鍘媆" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.mhtFirst\n .bloodPressure,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"bloodPressure\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.bloodPressure\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�绯朶" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.mhtFirst.glucose,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"glucose\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.glucose\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�鑴俓" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"TC/TG/LDL/HDL\",\n },\n model: {\n value:\n _vm.form.mhtFirst.lipid,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"lipid\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.lipid\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏃㈠線鍙瞈" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n rows: 2,\n placeholder:\n \"楂樿鍘�/绯栧翱鐥�/琛�鏍�/涔宠吅鐧�/瀛愬鑲岀槫绛塡",\n },\n model: {\n value: _vm.form.mhtFirst.pastHistory,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"pastHistory\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.pastHistory\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"濡囩妫�鏌" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.mhtFirst.gynExam,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"gynExam\",\n $$v\n )\n },\n expression: \"form.mhtFirst.gynExam\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"涔宠吅妫�鏌" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.mhtFirst.breastExam,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"breastExam\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.breastExam\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"杈呭姪妫�鏌" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n rows: 2,\n placeholder: \"B瓒�/楠ㄥ瘑搴�/婵�绱犳按骞崇瓑\",\n },\n model: {\n value: _vm.form.mhtFirst.auxExam,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"auxExam\",\n $$v\n )\n },\n expression: \"form.mhtFirst.auxExam\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"MHT鏂规\" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n rows: 2,\n placeholder:\n \"鑽墿鍚嶇О/鍓傞噺/鐢ㄦ硶/鐤楃▼\",\n },\n model: {\n value: _vm.form.mhtFirst.mhtPlan,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"mhtPlan\",\n $$v\n )\n },\n expression: \"form.mhtFirst.mhtPlan\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.mhtFirst.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.mhtFirst.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"MHT澶嶈瘖鐥呭巻琛╘",\n name: \"mhtFollow\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.mhtFollow,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶嶈瘖鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value:\n _vm.form.mhtFollow.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鐢ㄨ嵂渚濅粠鎬" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.mhtFollow\n .compliance,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"compliance\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.compliance\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鑹ソ\",\n value: \"鑹ソ\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涓�鑸琝",\n value: \"涓�鑸琝",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"宸甛",\n value: \"宸甛",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鐥囩姸鏀瑰杽\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.mhtFollow\n .symptomImprove,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"symptomImprove\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.symptomImprove\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏄庢樉\",\n value: \"鏄庢樉\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"閮ㄥ垎\",\n value: \"閮ㄥ垎\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏃犲彉鍖朶",\n value: \"鏃犲彉鍖朶",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓嶈壇鍙嶅簲\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder:\n \"濡備钩鎴胯儉鐥�/闃撮亾鍑鸿绛塡",\n },\n model: {\n value:\n _vm.form.mhtFollow\n .sideEffect,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"sideEffect\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.sideEffect\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"闃撮亾鍑鸿\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.mhtFollow\n .bleeding,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"bleeding\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.bleeding\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鐐规淮\",\n value: \"鐐规淮\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"灏戦噺\",\n value: \"灏戦噺\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涓噺\",\n value: \"涓噺\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"浣撻噸(kg)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.mhtFollow.weight,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"weight\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.weight\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�鍘媆" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.mhtFollow\n .bloodPressure,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"bloodPressure\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.bloodPressure\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶嶆煡缁撴灉\" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n rows: 2,\n placeholder:\n \"B瓒�/涔宠吅/婵�绱犵瓑妫�鏌ョ粨鏋淺",\n },\n model: {\n value:\n _vm.form.mhtFollow.reExamResult,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"reExamResult\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.reExamResult\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏂规璋冩暣\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.mhtFollow.planAdjust,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"planAdjust\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.planAdjust\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓嬫澶嶈瘖\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"200px\" },\n attrs: { \"value-format\": \"yyyy-MM-dd\" },\n model: {\n value: _vm.form.mhtFollow.nextVisit,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"nextVisit\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.nextVisit\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.mhtFollow.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.mhtFollow.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"鏀硅壇Kupperman璇勫垎鏍囧噯琛╘",\n name: \"kupperman\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.kupperman,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪及鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value:\n _vm.form.kupperman.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.kupperman,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.kupperman.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"KuppermanScoreTable\", {\n attrs: { editing: _vm.editing },\n model: {\n value: _vm.form.kupperman,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"kupperman\", $$v)\n },\n expression: \"form.kupperman\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"鏇村勾鏈熻瘎鍒嗛噺琛紙MRS锛塡",\n name: \"mrs\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.mrs,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪及鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.mrs.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mrs,\n \"date\",\n $$v\n )\n },\n expression: \"form.mrs.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"MRSScoreTable\", {\n attrs: { editing: _vm.editing },\n model: {\n value: _vm.form.mrs,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"mrs\", $$v)\n },\n expression: \"form.mrs\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"鍖瑰吂鍫$潯鐪犺川閲忚瘎鍒嗛噺琛紙PSQI锛塡",\n name: \"psqi\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.psqi,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪及鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.psqi.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.psqi,\n \"date\",\n $$v\n )\n },\n expression: \"form.psqi.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"PSQIScoreTable\", {\n attrs: { editing: _vm.editing },\n model: {\n value: _vm.form.psqi,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"psqi\", $$v)\n },\n expression: \"form.psqi\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n : _vm._e(),\n ]\n : _c(\"div\", { staticClass: \"empty-wrap\" }, [\n _vm._v(\"妗f涓嶅瓨鍦ㄦ垨宸插垹闄"),\n ]),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/patient/archives/maternalHealth/detail.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%223ec45802-vue-loader-template%22%7D!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n directives: [\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.loading,\n expression: \"loading\",\n },\n ],\n staticClass: \"app-container\",\n },\n [\n _vm.archive\n ? [\n _c(\n \"div\",\n { staticClass: \"action-bar\" },\n [\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-back\" },\n on: {\n click: function ($event) {\n return _vm.$router.go(-1)\n },\n },\n },\n [_vm._v(\"杩斿洖\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: {\n type: _vm.editing ? \"success\" : \"primary\",\n icon: _vm.editing ? \"el-icon-check\" : \"el-icon-edit\",\n },\n on: { click: _vm.toggleEdit },\n },\n [_vm._v(_vm._s(_vm.editing ? \"淇濆瓨\" : \"缂栬緫\"))]\n ),\n _c(\n \"el-tag\",\n {\n staticStyle: { \"margin-left\": \"12px\" },\n attrs: {\n type:\n _vm.archive.subType === \"pregnancy\"\n ? \"success\"\n : \"warning\",\n },\n },\n [_vm._v(_vm._s(_vm.archive.subTypeLabel))]\n ),\n ],\n 1\n ),\n _c(\n \"el-card\",\n { staticClass: \"info-card\", attrs: { shadow: \"never\" } },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"鎮h�呭熀鏈俊鎭痋")])]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"濮撳悕\", value: _vm.archive.patname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鎬у埆\",\n value: _vm.archive.sex == 1 ? \"鐢穃" : \"濂砛",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"骞撮緞\", value: _vm.archive.age },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"鐢佃瘽\", value: _vm.archive.telcode },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n {\n staticStyle: { \"margin-top\": \"10px\" },\n attrs: { gutter: 20 },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"绉戝\", value: _vm.archive.deptname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"璇婃柇\", value: _vm.archive.diagname },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"涓绘不鍖荤敓\",\n value: _vm.archive.drname,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: { label: \"鏉ユ簮\", value: _vm.sourceLabel },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [\n _c(\"span\", [_vm._v(\"妗f鍩烘湰淇℃伅\")]),\n _c(\"span\", { staticClass: \"header-sub\" }, [\n _vm._v(\n _vm._s(\n _vm.archive.createTime\n ? _vm.archive.createTime.substring(0, 10)\n : \"-\"\n ) + \" 寤烘。\"\n ),\n ]),\n ]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。绫诲瀷\",\n value: _vm.archive.subTypeLabel,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。鍖荤敓\",\n value: _vm.archive.archiveForm.doctorName,\n editing: _vm.editing,\n },\n model: {\n value: _vm.archive.archiveForm.doctorName,\n callback: function ($$v) {\n _vm.$set(\n _vm.archive.archiveForm,\n \"doctorName\",\n $$v\n )\n },\n expression: \"archive.archiveForm.doctorName\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"寤烘。鏃堕棿\",\n value: _vm.archive.createTime,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _vm.archive.subType === \"pregnancy\"\n ? _c(\n \"el-row\",\n {\n staticStyle: { \"margin-top\": \"10px\" },\n attrs: { gutter: 20 },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"瀛曞懆\",\n value: _vm.archive.archiveForm.gestationalWeek,\n editing: _vm.editing,\n type: \"number\",\n },\n model: {\n value: _vm.archive.archiveForm.gestationalWeek,\n callback: function ($$v) {\n _vm.$set(\n _vm.archive.archiveForm,\n \"gestationalWeek\",\n $$v\n )\n },\n expression:\n \"archive.archiveForm.gestationalWeek\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"瀛曟/浜ф\",\n value:\n \"G\" +\n (_vm.archive.archiveForm.gravidity || 1) +\n \"P\" +\n (_vm.archive.archiveForm.parity || 0),\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"棰勪骇鏈焅",\n value: _vm.archive.archiveForm.edd,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"楂樺嵄濡婂\",\n value: _vm.archive.archiveForm.highriskPregnancy\n ? \"鏄痋"\n : \"鍚",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _vm.archive.subType === \"menopause\"\n ? _c(\n \"el-row\",\n {\n staticStyle: { \"margin-top\": \"10px\" },\n attrs: { gutter: 20 },\n },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鏈堢粡鐘舵�乗",\n value: _vm.menstrualLabel,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\"InfoField\", {\n attrs: {\n label: \"鏈鏈堢粡\",\n value: _vm.archive.archiveForm.lmp,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n ],\n 1\n ),\n _vm.archive.subType === \"pregnancy\"\n ? [\n _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"瀛曞闅忚绠$悊\")])]\n ),\n _c(\n \"el-tabs\",\n {\n attrs: { type: \"border-card\" },\n model: {\n value: _vm.activeTab,\n callback: function ($$v) {\n _vm.activeTab = $$v\n },\n expression: \"activeTab\",\n },\n },\n [\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"瀛曞闅忚绯荤粺闂\",\n name: \"sysQ\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.pregSysQ,\n \"label-width\": \"150px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"濉啓鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.pregSysQ.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛曞懆\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 1, max: 42 },\n model: {\n value:\n _vm.form.pregSysQ.gestWeek,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"gestWeek\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.gestWeek\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"浣撻噸(kg)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.pregSysQ.weight,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"weight\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.weight\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�鍘媆" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"鏀剁缉鍘�/鑸掑紶鍘媆",\n },\n model: {\n value:\n _vm.form.pregSysQ\n .bloodPressure,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"bloodPressure\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.bloodPressure\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀹珮(cm)\" } },\n [\n _c(\"el-input-number\", {\n model: {\n value:\n _vm.form.pregSysQ\n .fundalHeight,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"fundalHeight\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.fundalHeight\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑳庡績(娆�/鍒�)\" } },\n [\n _c(\"el-input-number\", {\n model: {\n value:\n _vm.form.pregSysQ\n .fetalHeart,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"fetalHeart\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.fetalHeart\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"姘磋偪\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregSysQ.edema,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"edema\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.edema\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"+\",\n value: \"+\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"++\",\n value: \"++\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"+++\",\n value: \"+++\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"灏胯泲鐧絓" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregSysQ\n .urineProtein,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"urineProtein\",\n $$v\n )\n },\n expression:\n \"form.pregSysQ.urineProtein\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"-\",\n value: \"-\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"卤\",\n value: \"卤\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"+\",\n value: \"+\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"++\",\n value: \"++\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑷鐥囩姸\" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n rows: 2,\n placeholder: \"澶存檿/鐪艰姳/鑳搁椃/鑵圭棝绛塡",\n },\n model: {\n value: _vm.form.pregSysQ.symptoms,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"symptoms\",\n $$v\n )\n },\n expression: \"form.pregSysQ.symptoms\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶勭悊鎰忚\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.pregSysQ.advice,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"advice\",\n $$v\n )\n },\n expression: \"form.pregSysQ.advice\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓嬫闅忚鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"200px\" },\n attrs: { \"value-format\": \"yyyy-MM-dd\" },\n model: {\n value: _vm.form.pregSysQ.nextVisit,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"nextVisit\",\n $$v\n )\n },\n expression: \"form.pregSysQ.nextVisit\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"闅忚鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.pregSysQ.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregSysQ,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.pregSysQ.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"涓芥按濡囧辜淇濆仴闄㈠瓡濡囬璇婁俊鎭櫥璁拌〃\",\n name: \"firstVisit\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.pregFirst,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"鍩烘湰淇℃伅\")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤烘。鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value:\n _vm.form.pregFirst.regDate,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"regDate\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.regDate\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓堝か濮撳悕\" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.pregFirst\n .husbandName,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"husbandName\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.husbandName\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓堝か鐢佃瘽\" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.pregFirst\n .husbandPhone,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"husbandPhone\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.husbandPhone\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈鏈堢粡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.pregFirst.lmp,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"lmp\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.lmp\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"棰勪骇鏈焅" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.pregFirst.edd,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"edd\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.edd\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛曟/浜ф\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"G_P_\" },\n model: {\n value: _vm.form.pregFirst.gp,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"gp\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.gp\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"鏃㈠線鍙瞈")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍓栧浜у彶\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregFirst\n .csHistory,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"csHistory\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.csHistory\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: 0,\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏈塡",\n value: 1,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"娴佷骇鍙瞈" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregFirst\n .abortionHistory,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"abortionHistory\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.abortionHistory\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: 0,\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏈塡",\n value: 1,\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鐤剧梾鍙瞈" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder:\n \"楂樿鍘�/绯栧翱鐥�/鐢茬姸鑵虹瓑\",\n },\n model: {\n value:\n _vm.form.pregFirst\n .diseaseHistory,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"diseaseHistory\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.diseaseHistory\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-divider\",\n { attrs: { \"content-position\": \"left\" } },\n [_vm._v(\"鏈濡婂鎯呭喌\")]\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"韬珮(cm)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.pregFirst.height,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"height\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.height\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n {\n attrs: { label: \"瀛曞墠浣撻噸(kg)\" },\n },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.pregFirst\n .preWeight,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"preWeight\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.preWeight\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"楂樺嵄鍥犵礌璇勪及\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value:\n _vm.form.pregFirst.riskAssessment,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"riskAssessment\",\n $$v\n )\n },\n expression:\n \"form.pregFirst.riskAssessment\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"寤哄唽鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.pregFirst.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregFirst,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.pregFirst.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"涓芥按濡囧辜淇濆仴闄㈡棭瀛曢殢璁跨櫥璁拌〃\",\n name: \"earlyFollow\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.pregEarly,\n \"label-width\": \"150px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"闅忚鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value:\n _vm.form.pregEarly.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"瀛曞懆\" } },\n [\n _c(\"el-input-number\", {\n attrs: { min: 1, max: 14 },\n model: {\n value:\n _vm.form.pregEarly.gestWeek,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"gestWeek\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.gestWeek\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏃╁瓡鍙嶅簲\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregEarly\n .morningSickness,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"morningSickness\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.morningSickness\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"杞诲害\",\n value: \"杞诲害\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涓害\",\n value: \"涓害\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"閲嶅害\",\n value: \"閲嶅害\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"闃撮亾鍑鸿\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregEarly\n .bleeding,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"bleeding\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.bleeding\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏈塡",\n value: \"鏈塡",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鑵圭棝\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.pregEarly\n .abdominalPain,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"abdominalPain\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.abdominalPain\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏈塡",\n value: \"鏈塡",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�甯歌\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"Hb/PLT绛塡",\n },\n model: {\n value:\n _vm.form.pregEarly\n .bloodRoutine,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"bloodRoutine\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.bloodRoutine\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"灏垮父瑙刓" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.pregEarly\n .urineRoutine,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"urineRoutine\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.urineRoutine\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"B瓒呮鏌" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"CRL/NT绛塡",\n },\n model: {\n value:\n _vm.form.pregEarly\n .ultrasound,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"ultrasound\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.ultrasound\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍙堕吀琛ュ厖\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.pregEarly.folicAcid,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"folicAcid\",\n $$v\n )\n },\n expression:\n \"form.pregEarly.folicAcid\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"瑙勫緥鏈嶇敤\",\n value: \"瑙勫緥鏈嶇敤\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鍋跺皵鏈嶇敤\",\n value: \"鍋跺皵鏈嶇敤\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏈湇鐢╘",\n value: \"鏈湇鐢╘",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎸囧鎰忚\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.pregEarly.advice,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"advice\",\n $$v\n )\n },\n expression: \"form.pregEarly.advice\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"闅忚鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.pregEarly.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.pregEarly,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.pregEarly.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n : _vm._e(),\n _vm.archive.subType === \"menopause\"\n ? [\n _c(\n \"el-card\",\n {\n staticClass: \"info-card\",\n staticStyle: { \"margin-top\": \"14px\" },\n attrs: { shadow: \"never\" },\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"card-header\",\n attrs: { slot: \"header\" },\n slot: \"header\",\n },\n [_c(\"span\", [_vm._v(\"鏇村勾鏈熼殢璁跨鐞哱")])]\n ),\n _c(\n \"el-tabs\",\n {\n attrs: { type: \"border-card\" },\n model: {\n value: _vm.activeTab,\n callback: function ($$v) {\n _vm.activeTab = $$v\n },\n expression: \"activeTab\",\n },\n },\n [\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"鏇村勾鏈熼殢璁跨郴缁熼棶棰樿〃\",\n name: \"sysQ\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.menoSysQ,\n \"label-width\": \"150px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"濉啓鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.menoSysQ.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"骞撮緞\" } },\n [\n _c(\"el-input-number\", {\n model: {\n value: _vm.form.menoSysQ.age,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"age\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.age\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈堢粡鎯呭喌\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"鍛ㄦ湡/缁忔湡/缁忛噺\",\n },\n model: {\n value:\n _vm.form.menoSysQ\n .menstruation,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"menstruation\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.menstruation\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏈鏈堢粡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.menoSysQ.lmp,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"lmp\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.lmp\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"缁濈粡骞撮緞\" } },\n [\n _c(\"el-input-number\", {\n model: {\n value:\n _vm.form.menoSysQ\n .menopauseAge,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"menopauseAge\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.menopauseAge\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"娼儹鍑烘睏\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ\n .hotFlash,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"hotFlash\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.hotFlash\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶辩湢\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ\n .insomnia,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"insomnia\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.insomnia\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎯呯华娉㈠姩\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ.mood,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"mood\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.mood\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鐤蹭箯\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ.fatigue,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"fatigue\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.fatigue\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍏宠妭鐥沑" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ\n .jointPain,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"jointPain\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.jointPain\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"蹇冩偢\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ\n .palpitation,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"palpitation\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.palpitation\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"闃撮亾骞叉订\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ.dryness,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"dryness\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.dryness\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 6 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鎬ф鍑忛��\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.menoSysQ.libido,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"libido\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.libido\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n value: 0,\n label: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 1,\n label: \"杞籠",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 2,\n label: \"涓璡",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n value: 3,\n label: \"閲峔",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍏朵粬鐥囩姸\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value:\n _vm.form.menoSysQ.otherSymptoms,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"otherSymptoms\",\n $$v\n )\n },\n expression:\n \"form.menoSysQ.otherSymptoms\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶勭悊鎰忚\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.menoSysQ.advice,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"advice\",\n $$v\n )\n },\n expression: \"form.menoSysQ.advice\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.menoSysQ.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.menoSysQ,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.menoSysQ.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"MHT棣栬瘖鐥呭巻琛╘",\n name: \"mhtFirst\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.mhtFirst,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"灏辫瘖鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.mhtFirst.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓昏瘔\" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.mhtFirst\n .chiefComplaint,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"chiefComplaint\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.chiefComplaint\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"缁濈粡骞撮檺\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.mhtFirst\n .menopauseYears,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"menopauseYears\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.menopauseYears\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"韬珮(cm)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.mhtFirst.height,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"height\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.height\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"浣撻噸(kg)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.mhtFirst.weight,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"weight\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.weight\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"BMI\" } },\n [\n _c(\"el-input-number\", {\n attrs: {\n precision: 1,\n disabled: \"\",\n },\n model: {\n value: _vm.form.mhtFirst.bmi,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"bmi\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.bmi\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�鍘媆" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.mhtFirst\n .bloodPressure,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"bloodPressure\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.bloodPressure\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�绯朶" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.mhtFirst.glucose,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"glucose\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.glucose\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�鑴俓" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder: \"TC/TG/LDL/HDL\",\n },\n model: {\n value:\n _vm.form.mhtFirst.lipid,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"lipid\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.lipid\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏃㈠線鍙瞈" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n rows: 2,\n placeholder:\n \"楂樿鍘�/绯栧翱鐥�/琛�鏍�/涔宠吅鐧�/瀛愬鑲岀槫绛塡",\n },\n model: {\n value: _vm.form.mhtFirst.pastHistory,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"pastHistory\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.pastHistory\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"濡囩妫�鏌" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.mhtFirst.gynExam,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"gynExam\",\n $$v\n )\n },\n expression: \"form.mhtFirst.gynExam\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"涔宠吅妫�鏌" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.mhtFirst.breastExam,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"breastExam\",\n $$v\n )\n },\n expression:\n \"form.mhtFirst.breastExam\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"杈呭姪妫�鏌" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n rows: 2,\n placeholder: \"B瓒�/楠ㄥ瘑搴�/婵�绱犳按骞崇瓑\",\n },\n model: {\n value: _vm.form.mhtFirst.auxExam,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"auxExam\",\n $$v\n )\n },\n expression: \"form.mhtFirst.auxExam\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"MHT鏂规\" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n rows: 2,\n placeholder:\n \"鑽墿鍚嶇О/鍓傞噺/鐢ㄦ硶/鐤楃▼\",\n },\n model: {\n value: _vm.form.mhtFirst.mhtPlan,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"mhtPlan\",\n $$v\n )\n },\n expression: \"form.mhtFirst.mhtPlan\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.mhtFirst.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFirst,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.mhtFirst.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"MHT澶嶈瘖鐥呭巻琛╘",\n name: \"mhtFollow\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.mhtFollow,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶嶈瘖鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value:\n _vm.form.mhtFollow.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鐢ㄨ嵂渚濅粠鎬" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.mhtFollow\n .compliance,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"compliance\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.compliance\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鑹ソ\",\n value: \"鑹ソ\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涓�鑸琝",\n value: \"涓�鑸琝",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"宸甛",\n value: \"宸甛",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"鐥囩姸鏀瑰杽\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.mhtFollow\n .symptomImprove,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"symptomImprove\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.symptomImprove\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏄庢樉\",\n value: \"鏄庢樉\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"閮ㄥ垎\",\n value: \"閮ㄥ垎\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鏃犲彉鍖朶",\n value: \"鏃犲彉鍖朶",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓嶈壇鍙嶅簲\" } },\n [\n _c(\"el-input\", {\n attrs: {\n placeholder:\n \"濡備钩鎴胯儉鐥�/闃撮亾鍑鸿绛塡",\n },\n model: {\n value:\n _vm.form.mhtFollow\n .sideEffect,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"sideEffect\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.sideEffect\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"闃撮亾鍑鸿\" } },\n [\n _c(\n \"el-select\",\n {\n staticStyle: {\n width: \"100%\",\n },\n model: {\n value:\n _vm.form.mhtFollow\n .bleeding,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"bleeding\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.bleeding\",\n },\n },\n [\n _c(\"el-option\", {\n attrs: {\n label: \"鏃燶",\n value: \"鏃燶",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"鐐规淮\",\n value: \"鐐规淮\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"灏戦噺\",\n value: \"灏戦噺\",\n },\n }),\n _c(\"el-option\", {\n attrs: {\n label: \"涓噺\",\n value: \"涓噺\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"浣撻噸(kg)\" } },\n [\n _c(\"el-input-number\", {\n attrs: { precision: 1 },\n model: {\n value:\n _vm.form.mhtFollow.weight,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"weight\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.weight\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"琛�鍘媆" } },\n [\n _c(\"el-input\", {\n model: {\n value:\n _vm.form.mhtFollow\n .bloodPressure,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"bloodPressure\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.bloodPressure\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"澶嶆煡缁撴灉\" } },\n [\n _c(\"el-input\", {\n attrs: {\n type: \"textarea\",\n rows: 2,\n placeholder:\n \"B瓒�/涔宠吅/婵�绱犵瓑妫�鏌ョ粨鏋淺",\n },\n model: {\n value:\n _vm.form.mhtFollow.reExamResult,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"reExamResult\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.reExamResult\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鏂规璋冩暣\" } },\n [\n _c(\"el-input\", {\n attrs: { type: \"textarea\", rows: 2 },\n model: {\n value: _vm.form.mhtFollow.planAdjust,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"planAdjust\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.planAdjust\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"涓嬫澶嶈瘖\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"200px\" },\n attrs: { \"value-format\": \"yyyy-MM-dd\" },\n model: {\n value: _vm.form.mhtFollow.nextVisit,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"nextVisit\",\n $$v\n )\n },\n expression:\n \"form.mhtFollow.nextVisit\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"鍖荤敓\" } },\n [\n _c(\"el-input\", {\n staticStyle: { width: \"200px\" },\n model: {\n value: _vm.form.mhtFollow.doctor,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mhtFollow,\n \"doctor\",\n $$v\n )\n },\n expression: \"form.mhtFollow.doctor\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"鏀硅壇Kupperman璇勫垎鏍囧噯琛╘",\n name: \"kupperman\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.kupperman,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪及鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value:\n _vm.form.kupperman.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.kupperman,\n \"date\",\n $$v\n )\n },\n expression:\n \"form.kupperman.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"KuppermanScoreTable\", {\n attrs: { editing: _vm.editing },\n model: {\n value: _vm.form.kupperman,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"kupperman\", $$v)\n },\n expression: \"form.kupperman\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"鏇村勾鏈熻瘎鍒嗛噺琛紙MRS锛塡",\n name: \"mrs\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.mrs,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪及鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.mrs.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.mrs,\n \"date\",\n $$v\n )\n },\n expression: \"form.mrs.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"MRSScoreTable\", {\n attrs: { editing: _vm.editing },\n model: {\n value: _vm.form.mrs,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"mrs\", $$v)\n },\n expression: \"form.mrs\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-tab-pane\",\n {\n attrs: {\n label: \"鍖瑰吂鍫$潯鐪犺川閲忚瘎鍒嗛噺琛紙PSQI锛塡",\n name: \"psqi\",\n },\n },\n [\n _c(\n \"el-form\",\n {\n attrs: {\n model: _vm.form.psqi,\n \"label-width\": \"160px\",\n size: \"small\",\n disabled: !_vm.editing,\n },\n },\n [\n _c(\n \"el-row\",\n { attrs: { gutter: 20 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 8 } },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"璇勪及鏃ユ湡\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"100%\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n },\n model: {\n value: _vm.form.psqi.date,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.psqi,\n \"date\",\n $$v\n )\n },\n expression: \"form.psqi.date\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\"PSQIScoreTable\", {\n attrs: { editing: _vm.editing },\n model: {\n value: _vm.form.psqi,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"psqi\", $$v)\n },\n expression: \"form.psqi\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ]\n : _vm._e(),\n ]\n : _c(\"div\", { staticClass: \"empty-wrap\" }, [\n _vm._v(\"妗f涓嶅瓨鍦ㄦ垨宸插垹闄"),\n ]),\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/patient/archives/maternalHealth/detail.vue?./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%223ec45802-vue-loader-template%22%7D!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/.store/cache-loader@4.1.0/node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options");
/***/ }),
@@ -33446,4 +33446,4 @@
/***/ })
-}]);
\ No newline at end of file
+}]);
diff --git "a/\351\232\217\350\256\277\351\200\232\347\224\250922.zip" b/dist.zip
similarity index 78%
rename from "\351\232\217\350\256\277\351\200\232\347\224\250922.zip"
rename to dist.zip
index ff5a348..88c8eca 100644
--- "a/\351\232\217\350\256\277\351\200\232\347\224\250922.zip"
+++ b/dist.zip
Binary files differ
diff --git a/src/App.vue b/src/App.vue
index 83f295c..fe7e9a8 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -10,6 +10,8 @@
:hide-delay="3000"
primary-color="#1890ff"
/>
+ <!-- 涓磋繎瓒呮椂浠诲姟鐧诲綍鍚庡脊绐楋紙浠呮櫙瀹�/鏂板崕涓ゅ鏈烘瀯瑙﹀彂锛� -->
+ <!-- <NearTimeoutDialog v-if="Assvite" /> -->
</div>
</template>
@@ -21,6 +23,7 @@
components: {
ThemePicker,
Assistant: () => import("./components/Assistant"),
+ NearTimeoutDialog: () => import("./components/NearTimeoutDialog"),
},
data() {
return {
diff --git a/src/api/AiCentre/index.js b/src/api/AiCentre/index.js
index 9af0b74..af49283 100644
--- a/src/api/AiCentre/index.js
+++ b/src/api/AiCentre/index.js
@@ -12,3 +12,4 @@
export * from "./satisfactionse";
export * from "./satisfaction";
export * from "./phoneCall";
+export * from "./nearTimeout";
diff --git a/src/api/AiCentre/nearTimeout.js b/src/api/AiCentre/nearTimeout.js
new file mode 100644
index 0000000..11dd575
--- /dev/null
+++ b/src/api/AiCentre/nearTimeout.js
@@ -0,0 +1,87 @@
+// 涓磋繎瓒呮椂浠诲姟 鈥斺�� 鎺ュ彛鏆傛湭灏辩华锛屽厛鐢� mock 鏁版嵁锛屽悗缁浛鎹负鐪熷疄鎺ュ彛鍗冲彲
+// 鍙e緞锛氬簲闅忚鏃ユ湡(visitTime)鍦ㄦ湭鏉�24灏忔椂鍐呭埌鏈燂紝涓斾换鍔′粛澶勪簬寰呴殢璁�(sendstate == 2)
+
+const mockList = [
+ {
+ id: 1001,
+ taskid: "RW20261014001",
+ patid: "P10001",
+ type: 1,
+ taskName: "鍑洪櫌闅忚",
+ sendname: "寮犱紵",
+ leavediagname: "鎬ユ�ч槕灏剧値",
+ sendstate: 2, // 寰呴殢璁�
+ visitTime: "2026-10-14 18:30:00",
+ phone: "13800001111",
+ deptname: "鏅绉�",
+ leavehospitaldistrictname: "鏅涓�鐥呭尯",
+ visitCount: 1,
+ },
+ {
+ id: 1002,
+ taskid: "RW20261014002",
+ patid: "P10002",
+ type: 1,
+ taskName: "鏈悗闅忚",
+ sendname: "鐜嬭姵",
+ leavediagname: "鑳嗗泭缁撶煶浼磋儐鍥婄値",
+ sendstate: 2,
+ visitTime: "2026-10-14 21:00:00",
+ phone: "13800002222",
+ deptname: "鑲濊儐澶栫",
+ leavehospitaldistrictname: "鑲濊儐澶栫鐥呭尯",
+ visitCount: 1,
+ },
+ {
+ id: 1003,
+ taskid: "RW20261015003",
+ patid: "P10003",
+ type: 1,
+ taskName: "鍑洪櫌闅忚",
+ sendname: "鏉庡己",
+ leavediagname: "2鍨嬬硸灏跨梾",
+ sendstate: 2,
+ visitTime: "2026-10-15 09:00:00",
+ phone: "13800003333",
+ deptname: "鍐呭垎娉岀",
+ leavehospitaldistrictname: "鍐呭垎娉岀鐥呭尯",
+ visitCount: 1,
+ },
+ {
+ id: 1004,
+ taskid: "RW20261015004",
+ patid: "P10004",
+ type: 1,
+ taskName: "鍑洪櫌闅忚",
+ sendname: "璧垫晱",
+ leavediagname: "楂樿鍘嬬梾",
+ sendstate: 2,
+ visitTime: "2026-10-15 11:30:00",
+ phone: "13800004444",
+ deptname: "蹇冭绠″唴绉�",
+ leavehospitaldistrictname: "蹇冭绠″唴绉戠梾鍖�",
+ visitCount: 1,
+ },
+];
+
+// 鏌ヨ涓磋繎瓒呮椂浠诲姟鏁伴噺
+export function getNearTimeoutCount(data) {
+ // TODO: 鏇挎崲涓虹湡瀹炴帴鍙o紝渚嬪锛�
+ // return request({
+ // url: "/smartor/serviceSubtask/getNearTimeoutCount",
+ // method: "post",
+ // data: data,
+ // });
+ return Promise.resolve(mockList.length);
+}
+
+// 鏌ヨ涓磋繎瓒呮椂浠诲姟鍒楄〃
+export function getNearTimeoutList(data) {
+ // TODO: 鏇挎崲涓虹湡瀹炴帴鍙o紝渚嬪锛�
+ // return request({
+ // url: "/smartor/serviceSubtask/getNearTimeoutList",
+ // method: "post",
+ // data: data,
+ // });
+ return Promise.resolve({ rows: mockList, total: mockList.length });
+}
diff --git a/src/api/patient/archive.js b/src/api/patient/archive.js
new file mode 100644
index 0000000..aa54b34
--- /dev/null
+++ b/src/api/patient/archive.js
@@ -0,0 +1,442 @@
+import request from '@/utils/request'
+
+/**
+ * 濡囧辜妗f鎺ュ彛锛堝绉� / 鍎跨锛�
+ * 鏂囨。锛氥�婂淇濇帴鍙f枃妗c��2026-10-11锛堝叡 8 涓帴鍙o級
+ * 搴撹〃锛�
+ * 濡囩涓昏〃 pat_maternity_archive /smartor/maternityArchive
+ * 濡囩璇︽儏 pat_maternity_archive_detail /smartor/maternityArchiveDetail
+ * 鍎跨涓昏〃 pat_child_archive /smartor/childArchive
+ * 鍎跨璇︽儏 pat_child_archive_detail /smartor/childArchiveDetail
+ *
+ * 涓庢棫鐗堢殑宸紓锛堥噸鐐癸級锛�
+ * 1. 鏂板 / 淇敼鍚堝苟涓轰竴涓帴鍙� insertOrUpdateXxx锛岃姹備綋鏄�屼富琛ㄥ瓧娈� + 璇︽儏琛ㄥ瓧娈点�嶆墎骞虫贩鍚堬紝
+ * 涓�娆¤皟鐢ㄥ悓鏃剁淮鎶や袱寮犺〃锛岃繑鍥� data 涓轰富琛� ID锛堟棫鐗� add 涓嶈繑鍥炰富閿紝闇�瑕佸弽鏌ワ級銆�
+ * 2. 鍒犻櫎鏀逛负 POST batchDelete锛屾寜涓昏〃 ID 鎵归噺鍒狅紝璇︽儏琛ㄥ湪鍚屼竴浜嬪姟閲岄�昏緫鍒犻櫎銆�
+ * 3. 璇︽儏鏌ヨ GET /xxxDetail/getInfo/{archiveid}锛岃矾寰勫弬鏁版槸銆愪富琛� ID銆戯紝
+ * 杩斿洖鐨勯偅鏉¤鎯呰褰曢噷锛歞ata.id 鏄�愯鎯呰〃涓婚敭銆戯紝data.archiveid 鏄�愪富琛� ID銆戙��
+ *
+ * 鈿狅笍 id 涓� archiveid 鏄袱涓嫭绔嬪瓧娈碉紝浠讳綍鏃跺�欓兘涓嶈兘浜掔浉璧嬪�硷細
+ * insertOrUpdate 璇锋眰浣撻噷 id = 璇︽儏琛ㄤ富閿紝archiveid = 涓昏〃 ID锛�
+ * 涓昏〃琛屽彧鏈� id锛堝垪琛ㄦ帴鍙d笉杩斿洖 archiveid锛夛紝璇︽儏琛� id 涓� archiveid 鍚屾椂瀛樺湪銆�
+ * 鍒ゆ柇涓�琛屾槸涓昏〃琛岃繕鏄鎯呰锛屽繀椤荤敱璋冪敤鏂规樉寮忓0鏄庯紝涓嶈兘闈犮�屾湁娌℃湁 archiveid銆嶇寽銆�
+ *
+ * 閫氱敤绾﹀畾锛�
+ * 1. 璇锋眰浣� Content-Type: application/json銆�
+ * 2. 鏃ユ湡瀛楁缁熶竴 yyyy-MM-dd HH:mm:ss銆�
+ * 3. 寤烘。鏃堕棿鑼冨洿鐢� params.beginTime / params.endTime锛坹yyy-MM-dd锛夈��
+ * 4. orgid / campusid 鐢卞悗绔寜鐧诲綍鐢ㄦ埛鑷姩娉ㄥ叆锛屽墠绔笉鐢ㄤ紶銆�
+ * 5. 閲忚〃 / 鍙紪杈戣〃鏍兼暟鎹瓨璇︽儏琛� TEXT 瀛楁锛圝SON 瀛楃涓诧級銆�
+ */
+
+/* ==================== 妯″潡璺緞 ==================== */
+const BASE = {
+ maternity: '/smartor/maternityArchive',
+ maternityDetail: '/smartor/maternityArchiveDetail',
+ child: '/smartor/childArchive',
+ childDetail: '/smartor/childArchiveDetail'
+}
+
+/* ==================== 妗f绫诲瀷缂栫爜 ====================
+ * 娉ㄦ剰锛氬绉戜笌鍎跨鍚勮嚜浠� 1 寮�濮嬬紪鍙凤紝涓嶈兘璺ㄧ娣风敤銆�
+ * 濡囩锛�1-鏃╁瓡鍏崇埍 2-鍥寸粷缁忔湡MHI
+ * 鍎跨锛�1-钀ュ吇鎬х柧鐥� 2-瀛︿範鍥伴毦 3-楂樺嵄鍎夸笓妗�
+ * key 涓� views/patient/archives/types.js 鐨� ARCHIVE_TYPES[].key 淇濇寔涓�鑷�
+ */
+export const ARCHIVE_TYPE_CODE = {
+ pregnancy: { module: 'maternity', archiveType: '1', label: '鏃╁瓡鍏崇埍' },
+ menopause: { module: 'maternity', archiveType: '2', label: '鍥寸粷缁忔湡MHI' },
+ nutrition: { module: 'child', archiveType: '1', label: '钀ュ吇鎬х柧鐥�' },
+ learning: { module: 'child', archiveType: '2', label: '瀛︿範鍥伴毦' },
+ highrisk: { module: 'child', archiveType: '3', label: '楂樺嵄鍎夸笓妗�' }
+}
+
+// 涓昏〃妯″潡 -> 璇︽儏琛ㄦā鍧�
+const DETAIL_MODULE = { maternity: 'maternityDetail', child: 'childDetail' }
+
+/**
+ * 鐢变笓妗� key 瑙f瀽鍑烘墍灞炴ā鍧椼�佹。妗堢被鍨嬬紪鐮佷笌鎺ュ彛鍓嶇紑
+ * @param {String} typeKey pregnancy|menopause|nutrition|learning|highrisk
+ */
+export function resolveTarget(typeKey) {
+ const t = ARCHIVE_TYPE_CODE[typeKey]
+ if (!t) return null
+ const detailModule = DETAIL_MODULE[t.module]
+ return {
+ ...t,
+ detailModule,
+ base: BASE[t.module],
+ detailBase: BASE[detailModule]
+ }
+}
+
+/**
+ * 鍙嶆煡锛氭ā鍧� + 妗f绫诲瀷缂栫爜 -> 涓撴 key
+ * @param {String} module maternity|child
+ * @param {String|Number} archiveType 1|2|3
+ */
+export function resolveKey(module, archiveType) {
+ const keys = Object.keys(ARCHIVE_TYPE_CODE)
+ for (let i = 0; i < keys.length; i++) {
+ const t = ARCHIVE_TYPE_CODE[keys[i]]
+ if (t.module === module && String(t.archiveType) === String(archiveType)) return keys[i]
+ }
+ return ''
+}
+
+/* ==================== 鏃ユ湡宸ュ叿 ==================== */
+
+/** 褰撳墠鏃堕棿 yyyy-MM-dd HH:mm:ss */
+export function nowDateTime() {
+ const d = new Date()
+ const p = (n) => String(n).padStart(2, '0')
+ return `${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())} ${p(d.getHours())}:${p(d.getMinutes())}:${p(d.getSeconds())}`
+}
+
+/** 浠婂ぉ yyyy-MM-dd */
+export function today() {
+ const d = new Date()
+ const p = (n) => String(n).padStart(2, '0')
+ return `${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())}`
+}
+
+/** 鏃ユ湡琛ユ垚 yyyy-MM-dd HH:mm:ss锛堝悗绔� DATETIME 鍒楄姹傚畬鏁存椂闂存牸寮忥級 */
+export function toDateTime(val) {
+ if (!val) return ''
+ // 鍏煎 2026/08/25 杩欑被鏂滄潬鏍煎紡
+ const s = String(val).trim().replace('T', ' ').replace(/\//g, '-')
+ // 鍙湁鏃ユ湡锛�2026-08-25 -> 2026-08-25 00:00:00
+ if (/^\d{4}-\d{2}-\d{2}$/.test(s)) return s + ' 00:00:00'
+ // 缂虹锛�2026-08-25 09:30 -> 2026-08-25 09:30:00
+ if (/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/.test(s)) return s + ':00'
+ return s.substring(0, 19)
+}
+
+/** 闇�瑕佽ˉ鍏ㄦ椂鍒嗙鐨勬棩鏈熷瓧娈� */
+export const DATE_FIELDS = [
+ 'birthdate',
+ 'diagTime',
+ 'archiveTime',
+ 'plannedFollowTime',
+ 'dueDate',
+ 'lastMenstrualTime'
+]
+
+/** 鎶� payload 閲岀殑鏃ユ湡瀛楁缁熶竴琛ユ垚 yyyy-MM-dd HH:mm:ss */
+export function normalizeDates(payload = {}) {
+ DATE_FIELDS.forEach((k) => {
+ if (payload[k]) payload[k] = toDateTime(payload[k])
+ })
+ return payload
+}
+
+/** 鐢卞嚭鐢熸棩鏈熺畻骞撮緞 */
+export function calcAge(birth) {
+ if (!birth) return ''
+ const b = new Date(String(birth).substring(0, 10).replace(/-/g, '/'))
+ if (isNaN(b.getTime())) return ''
+ const now = new Date()
+ let age = now.getFullYear() - b.getFullYear()
+ const m = now.getMonth() - b.getMonth()
+ if (m < 0 || (m === 0 && now.getDate() < b.getDate())) age--
+ return age < 0 ? '' : age
+}
+
+/* ==================== 璇︽儏琛� TEXT 瀛楁锛堝瓨 JSON锛� ====================
+ * 鍓嶇椤甸潰鎸夈�屼笓妗� + tab/鍖哄潡銆嶆妸瀵硅薄鎴栨暟缁勫杩涘搴斿瓧娈�
+ */
+export const FORM_FIELD_BY_TAB = {
+ // 鏃╁瓡鍏崇埍
+ pregnancy: {
+ followupCycle: 'followupPeriod', // 闅忚鍛ㄦ湡锛圗ditableTable 鏁扮粍锛�
+ followup: 'epEarlyPregnancyFollowupForm' // 鏃╁瓡闅忚琛�
+ },
+ // 鍥寸粷缁忔湡MHI
+ menopause: {
+ sysQ: 'mhiMenopauseFollowupSystemIssuesForm', // 鏇村勾鏈熼殢璁跨郴缁熼棶棰樿〃
+ mhtFirst: 'mhiMhtInitialVisitMedicalRecordForm', // MHT棣栬瘖鐥呭巻琛�
+ mhtFollow: 'mhiMhtFollowUpMedicalRecordForm', // MHT澶嶈瘖鐥呭巻琛�
+ kupperman: 'mhiModifiedKuppermanScoringScaleForm', // 鏀硅壇Kupperman璇勫垎鏍囧噯琛�
+ mrs: 'mhiMenopauseRatingScaleForm', // 鏇村勾鏈熻瘎瀹氶噺琛紙MRS锛�
+ psqi: 'mhiPittsburghSleepQualityIndexForm' // 鍖瑰吂鍫$潯鐪犺川閲忔寚鏁伴噺琛紙PSQI锛�
+ },
+ // 楂樺嵄鍎夸笓妗�
+ highrisk: {
+ growth: 'hrcGrowthDevelopmentMonitoring', // 鐢熼暱鍙戣偛鐩戞祴
+ neuro: 'hrcNeurologicalEvaluation', // 绁炵粡绯荤粺璇勪及
+ intervention: 'hrcInterventionRecords' // 骞查璁板綍
+ },
+ // 钀ュ吇鎬х柧鐥�
+ nutrition: {
+ measure: 'ndPhysicalMeasurements', // 浣撴牸娴嬮噺
+ diet: 'ndDietaryAssessment', // 鑶抽璇勪及
+ plan: 'ndInterventionProgram' // 骞查鏂规
+ },
+ // 瀛︿範鍥伴毦锛堥〉闈笂鏄竴鏁翠釜 form锛岃惤搴撻渶鎷嗘垚 4 涓� TEXT 瀛楁锛�
+ learning: {
+ appointment: 'appointmentSituation', // 棰勭害鎯呭喌锛坅rchive.appointmentStatus锛�
+ ability: 'ldLearningAbilityAssessment', // 瀛︿範鑳藉姏璇勪及
+ behavior: 'ldBehavioralAssessment', // 琛屼负璇勪及
+ train: 'ldInterventionTrainingRecord' // 骞查璁粌璁板綍
+ }
+}
+
+/* ==================== 瀛楁瀵圭収锛堝墠绔� -> 鍚庣锛� ====================
+ * 鍓嶇鐜版湁妗f瀵硅薄娌跨敤 views/patient/archives/types.js 鐨勫懡鍚嶏紝
+ * 涓庡悗绔� VO 椹煎嘲鍛藉悕涓嶄竴鑷达紝鎻愪氦/鍥炴樉鏃剁敤 toApiFields / fromApiFields 杞崲銆�
+ * 娉ㄦ剰锛氬墠绔� age 瀛楁鍚庣鏃犲搴斿垪锛堢敱 birthdate 鎺ㄧ畻锛夛紝涓嶅弬涓庢彁浜ゃ��
+ */
+export const FIELD_MAP = {
+ // 鎮h�� / 妗f閫氱敤
+ patid: 'patid',
+ patname: 'patname',
+ sex: 'sex',
+ telcode: 'phone',
+ idcardno: 'idcardno',
+ birthday: 'birthdate',
+ diagnosisDate: 'diagTime',
+ createTime: 'archiveTime',
+ outhospno: 'outhospno',
+ inhospno: 'inhospno',
+ serialnum: 'serialnum',
+ deptcode: 'deptcode',
+ deptname: 'deptname',
+ wardcode: 'wardcode',
+ wardname: 'wardname',
+ icd10code: 'icd10code',
+ diagname: 'diagname',
+ // 鍖荤敓涓庣櫥璁�
+ attendingDoctor: 'doctorName',
+ managingDoctor: 'managementDoctorName',
+ registrant: 'registerUser',
+ closeStatus: 'closeStatus',
+ // 濡囩
+ pregnancyStatus: 'pregnancySituation',
+ followupCycles: 'followupCycleTimes',
+ lmp: 'lastMenstrualTime',
+ // 鍎跨
+ birthWeight: 'birthWeight',
+ gestationalWeek: 'gestationalWeek',
+ highriskCategory: 'highRiskChildType',
+ highriskName: 'highRiskChildName',
+ nutritionCode: 'nutritionIcd10Code',
+ nutritionName: 'nutritionDiagName',
+ appointmentStatus: 'appointmentSituation',
+ followupDate: 'plannedFollowTime'
+}
+
+// 瀹堕暱 / 鐩戞姢浜猴紙鍓嶇 parentInfo 瀛愬璞� -> 璇︽儏琛ㄥ瓧娈碉級
+export const PARENT_FIELD_MAP = {
+ parentName: 'parentname',
+ relation: 'parentRelation',
+ parentPhone: 'parentPhone',
+ parentIdCard: 'parentIdcardno',
+ address: 'parentAddress'
+}
+
+/** 鎸� FIELD_MAP 鎶婂墠绔璞¤浆鎴愬悗绔瓧娈碉紙鍙浆鎹㈡湁鍊肩殑閿級 */
+export function toApiFields(obj = {}) {
+ const out = {}
+ Object.keys(FIELD_MAP).forEach((k) => {
+ const v = obj[k]
+ if (v !== undefined && v !== null && v !== '') out[FIELD_MAP[k]] = v
+ })
+ return out
+}
+
+/** 鎸� FIELD_MAP 鍙嶅悜鎶婂悗绔鏁版嵁杞垚鍓嶇瀛楁锛堜繚鐣欐湭鏄犲皠瀛楁锛� */
+export function fromApiFields(row = {}) {
+ const reverse = {}
+ Object.keys(FIELD_MAP).forEach((k) => {
+ reverse[FIELD_MAP[k]] = k
+ })
+ const out = { ...row }
+ Object.keys(row).forEach((k) => {
+ if (reverse[k] && reverse[k] !== k) {
+ out[reverse[k]] = row[k]
+ }
+ })
+ return out
+}
+
+/** 瀹堕暱淇℃伅杞崲 */
+export function toApiParent(parentInfo = {}) {
+ const out = {}
+ Object.keys(PARENT_FIELD_MAP).forEach((k) => {
+ const v = parentInfo[k]
+ if (v !== undefined && v !== null && v !== '') out[PARENT_FIELD_MAP[k]] = v
+ })
+ return out
+}
+
+/* ==================== JSON 鎵撳寘 / 瑙e寘 ====================
+ * 鍚庣 TEXT 瀛楁瀛� JSON 瀛楃涓诧紝鍓嶇缁熶竴鐢ㄨ繖涓や釜鏂规硶鍑哄叆
+ */
+export function packJson(value) {
+ if (value === null || value === undefined) return ''
+ if (typeof value === 'string') return value
+ try {
+ return JSON.stringify(value)
+ } catch (e) {
+ return ''
+ }
+}
+
+export function unpackJson(text, fallback) {
+ const def = fallback === undefined ? {} : fallback
+ if (!text) return def
+ if (typeof text !== 'string') return text
+ try {
+ return JSON.parse(text)
+ } catch (e) {
+ return def
+ }
+}
+
+/**
+ * 瀛︿範鍥伴毦锛氶〉闈笂涓�鏁翠釜 form 鎷嗘垚鍚庣 4 涓� TEXT 瀛楁
+ * @param {Object} form 椤甸潰 form锛堝涔犺兘鍔涜瘎浼� / 琛屼负璇勪及 / 骞查璁粌璁板綍 娣峰湪涓�璧凤級
+ * @param {String} appointmentStatus 棰勭害鎯呭喌
+ */
+export function splitLearningForm(form = {}, appointmentStatus = '') {
+ const f = FORM_FIELD_BY_TAB.learning
+ return {
+ [f.appointment]: packJson({ appointmentStatus: appointmentStatus }),
+ [f.ability]: packJson({
+ assessDate: form.assessDate,
+ testName: form.testName,
+ iq: form.iq,
+ reading: form.reading,
+ writing: form.writing,
+ math: form.math,
+ result: form.result
+ }),
+ [f.behavior]: packJson({
+ behaviorDate: form.behaviorDate,
+ attention: form.attention,
+ hyperactivity: form.hyperactivity,
+ impulsivity: form.impulsivity,
+ emotional: form.emotional,
+ totalScore: form.totalScore,
+ evaluation: form.evaluation
+ }),
+ [f.train]: packJson({
+ trainDate: form.trainDate,
+ trainingType: form.trainingType,
+ duration: form.duration,
+ trainContent: form.trainContent,
+ trainer: form.trainer,
+ progress: form.progress
+ })
+ }
+}
+
+/**
+ * 鍒楄〃鏌ヨ锛氳嚜鍔ㄨˉ涓婃。妗堢被鍨嬬紪鐮�
+ * @param {String} typeKey 涓撴 key
+ * @param {Object} params 鍏跺畠鏌ヨ鏉′欢
+ */
+export function buildListQuery(typeKey, params = {}) {
+ const t = resolveTarget(typeKey)
+ const q = { ...params }
+ if (t && q.archiveType == null) q.archiveType = t.archiveType
+ return q
+}
+
+/* ==================== 涓�銆佸绉戞。妗� ==================== */
+
+/** 鏌ヨ濡囩妗f鍒楄〃 POST /selectPatMaternityArchiveList */
+export function listMaternityArchive(params) {
+ return request({
+ url: BASE.maternity + '/selectPatMaternityArchiveList',
+ method: 'post',
+ data: params
+ })
+}
+
+/**
+ * 鏂板鎴栦慨鏀瑰绉戞。妗� POST /insertOrUpdateMaternityArchive
+ * 璇锋眰浣撲负涓昏〃 + 璇︽儏琛ㄥ瓧娈垫墎骞虫贩鍚堬紱杩斿洖 data 涓哄绉戞。妗堜富琛� ID
+ */
+export function saveMaternityArchive(data) {
+ return request({
+ url: BASE.maternity + '/insertOrUpdateMaternityArchive',
+ method: 'post',
+ data: data
+ })
+}
+
+/** 鎵归噺鍒犻櫎濡囩妗f锛堝惈璇︽儏锛塒OST /batchDelete锛宐ody 涓轰富琛� ID 鏁扮粍 */
+export function batchDeleteMaternityArchive(ids) {
+ return request({
+ url: BASE.maternity + '/batchDelete',
+ method: 'post',
+ data: Array.isArray(ids) ? ids : String(ids).split(',')
+ })
+}
+
+/** 鑾峰彇濡囩妗f璇︽儏 GET /maternityArchiveDetail/getInfo/{archiveid}锛坅rchiveid 涓轰富琛� ID锛� */
+export function getMaternityArchiveDetail(archiveId) {
+ return request({
+ url: BASE.maternityDetail + '/getInfo/' + archiveId,
+ method: 'get'
+ })
+}
+
+/* ==================== 浜屻�佸効绉戞。妗� ==================== */
+
+/** 鏌ヨ鍎跨妗f鍒楄〃 POST /selectPatChildArchiveList */
+export function listChildArchive(params) {
+ return request({
+ url: BASE.child + '/selectPatChildArchiveList',
+ method: 'post',
+ data: params
+ })
+}
+
+/**
+ * 鏂板鎴栦慨鏀瑰効绉戞。妗� POST /insertOrUpdateChildArchive
+ * 璇锋眰浣撲负涓昏〃 + 璇︽儏琛ㄥ瓧娈垫墎骞虫贩鍚堬紱杩斿洖 data 涓哄効绉戞。妗堜富琛� ID
+ */
+export function saveChildArchive(data) {
+ return request({
+ url: BASE.child + '/insertOrUpdateChildArchive',
+ method: 'post',
+ data: data
+ })
+}
+
+/** 鎵归噺鍒犻櫎鍎跨妗f锛堝惈璇︽儏锛塒OST /batchDelete锛宐ody 涓轰富琛� ID 鏁扮粍 */
+export function batchDeleteChildArchive(ids) {
+ return request({
+ url: BASE.child + '/batchDelete',
+ method: 'post',
+ data: Array.isArray(ids) ? ids : String(ids).split(',')
+ })
+}
+
+/** 鑾峰彇鍎跨妗f璇︽儏 GET /childArchiveDetail/getInfo/{archiveid}锛坅rchiveid 涓轰富琛� ID锛� */
+export function getChildArchiveDetail(archiveId) {
+ return request({
+ url: BASE.childDetail + '/getInfo/' + archiveId,
+ method: 'get'
+ })
+}
+
+/* ==================== 鎸変笓妗堣仛鍚堢殑璋冪敤鍏ュ彛 ====================
+ * 椤甸潰涓嶆兂鍒ゆ柇濡囩 / 鍎跨鏃讹紝鐩存帴鐢ㄨ繖涓�缁�
+ * 渚嬶細archiveApi('pregnancy').list({ pageNum: 1, pageSize: 10 })
+ * archiveApi('pregnancy').save(payload) // 鏂板鎴栨洿鏂帮紝杩斿洖涓昏〃 ID
+ */
+export function archiveApi(typeKey) {
+ const t = resolveTarget(typeKey)
+ if (!t) throw new Error('鏈煡鐨勬。妗堜笓妗堢被鍨嬶細' + typeKey)
+ const isChild = t.module === 'child'
+ return {
+ target: t,
+ list: isChild ? listChildArchive : listMaternityArchive,
+ save: isChild ? saveChildArchive : saveMaternityArchive,
+ batchDelete: isChild ? batchDeleteChildArchive : batchDeleteMaternityArchive,
+ getDetail: isChild ? getChildArchiveDetail : getMaternityArchiveDetail
+ }
+}
diff --git a/src/components/Assistant/index.vue b/src/components/Assistant/index.vue
index 18d0aa5..44da194 100644
--- a/src/components/Assistant/index.vue
+++ b/src/components/Assistant/index.vue
@@ -68,7 +68,10 @@
v-for="(item, index) in statsItems"
:key="index"
class="stat-item"
- :class="{ 'stat-item-highlight': item.highlight }"
+ :class="{
+ 'stat-item-highlight': item.highlight,
+ 'stat-item-top': item.id === 'myTasks',
+ }"
@click="handleItemClick(item)"
>
<div class="stat-icon">
@@ -102,6 +105,16 @@
<path
d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"
/>
+ </svg>
+ <svg
+ v-else-if="item.icon === 'IconClock'"
+ viewBox="0 0 24 24"
+ fill="none"
+ stroke="currentColor"
+ stroke-width="2"
+ >
+ <circle cx="12" cy="12" r="9" />
+ <path d="M12 7v5l3 3" />
</svg>
</div>
<div class="stat-info">
@@ -384,6 +397,7 @@
import {
getCurrentUserServiceSubtaskCount,
sendMsg,
+ getNearTimeoutCount,
} from "@/api/AiCentre/index";
import {
listSmstemplet,
@@ -481,6 +495,16 @@
// 缁熻鏁版嵁
statsItems: [
{
+ id: "myTasks",
+ label: "鎴戠殑浠诲姟",
+ value: "0",
+ unread: 0,
+ urltype: 5,
+ icon: "IconTask",
+ url: "/followvisit/discharge",
+ trend: { type: "stable", arrow: "", value: "" },
+ },
+ {
id: "pending",
label: "寰呴殢璁�",
value: "0",
@@ -512,12 +536,12 @@
trend: { type: "up", arrow: "", value: "" },
},
{
- id: "myTasks",
- label: "鎴戠殑浠诲姟",
+ id: "nearTimeout",
+ label: "涓磋繎瓒呮椂浠诲姟",
value: "0",
unread: 0,
urltype: 5,
- icon: "IconTask",
+ icon: "IconClock",
url: "/followvisit/discharge",
trend: { type: "stable", arrow: "", value: "" },
},
@@ -815,6 +839,13 @@
},
handleItemClick(item) {
+ // 涓磋繎瓒呮椂浠诲姟锛氭墦寮�鐧诲綍鍚庡脊绐楋紝鑰岄潪璺宠浆鍒楄〃椤�
+ if (item.id === "nearTimeout") {
+ this.$root.$emit("open-near-timeout");
+ this.toggleExpand();
+ return;
+ }
+
if (item.url) {
console.log(item.url, "item.url");
@@ -942,6 +973,11 @@
// 妯℃嫙鏁版嵁鏇存柊
const mockData = {
+ myTasks: {
+ value: "156",
+ unread: null,
+ trend: { type: "stable", arrow: "鈫�", value: "0" },
+ },
pending: {
value: "128",
unread: null,
@@ -957,8 +993,8 @@
unread: null,
trend: { type: "up", arrow: "鈫�", value: "3" },
},
- myTasks: {
- value: "156",
+ nearTimeout: {
+ value: "0",
unread: null,
trend: { type: "stable", arrow: "鈫�", value: "0" },
},
@@ -968,6 +1004,8 @@
mockData.failed.value = response.failedVisitCount;
mockData.abnormal.value = response.abnormalVisitCount;
mockData.myTasks.value = response.allVisitCount;
+ // 涓磋繎瓒呮椂浠诲姟鏁伴噺锛堟帴鍙f湭灏辩华锛屽厛鐢� mock锛�
+ mockData.nearTimeout.value = await getNearTimeoutCount();
this.statsItems = this.statsItems.map((item) => {
const data = mockData[item.id] || {};
return {
@@ -1227,6 +1265,18 @@
background: linear-gradient(to bottom right, #f0f9ff, #f8fafc);
}
+.stat-item-top {
+ grid-column: 1 / -1;
+ display: flex;
+ align-items: center;
+ flex-direction: row;
+ gap: 16px;
+}
+
+.stat-item-top .stat-icon {
+ margin-bottom: 0;
+}
+
.stat-icon {
width: 32px;
height: 32px;
diff --git a/src/components/NearTimeoutDialog/index.vue b/src/components/NearTimeoutDialog/index.vue
new file mode 100644
index 0000000..652b3e1
--- /dev/null
+++ b/src/components/NearTimeoutDialog/index.vue
@@ -0,0 +1,181 @@
+<template>
+ <el-dialog
+ title="涓磋繎瓒呮椂浠诲姟"
+ :visible.sync="visible"
+ width="78%"
+ :close-on-click-modal="false"
+ append-to-body
+ class="near-timeout-dialog"
+ >
+ <el-alert
+ v-if="taskList.length > 0"
+ type="warning"
+ :closable="false"
+ show-icon
+ :title="'鍏辨湁 ' + taskList.length + ' 鏉′换鍔″湪鏈潵48灏忔椂鍐呭埌鏈燂紝璇峰強鏃跺鐞�'"
+ />
+
+ <el-table
+ v-loading="loading"
+ :data="taskList"
+ border
+ stripe
+ class="near-timeout-table"
+ style="width: 100%"
+ >
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ prop="taskName"
+ min-width="140"
+ show-overflow-tooltip
+ align="center"
+ />
+ <el-table-column label="濮撳悕" prop="sendname" width="90" align="center" />
+ <el-table-column
+ label="璇婃柇鍚嶇О"
+ prop="leavediagname"
+ min-width="140"
+ show-overflow-tooltip
+ align="center"
+ />
+ <el-table-column label="闅忚鐘舵��" width="100" align="center">
+ <template slot-scope="scope">
+ <el-tag
+ v-if="scope.row.sendstate == 2"
+ type="primary"
+ :disable-transitions="false"
+ >寰呴殢璁�</el-tag
+ >
+ <el-tag v-else type="info" :disable-transitions="false">--</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="搴旈殢璁挎棩鏈�" width="150" align="center">
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.visitTime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="绉戝" prop="deptname" width="120" align="center" />
+ <el-table-column
+ label="鐥呭尯"
+ prop="leavehospitaldistrictname"
+ width="140"
+ align="center"
+ />
+ <el-table-column label="鑱旂郴鐢佃瘽" prop="phone" width="130" align="center" />
+ <el-table-column label="鎿嶄綔" width="110" align="center" fixed="right">
+ <template slot-scope="scope">
+ <el-button size="medium" type="text" @click="handleDetail(scope.row)">
+ <i class="el-icon-s-order"></i>鏌ョ湅璇︽儏
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="visible = false">鍏� 闂�</el-button>
+ </div>
+ </el-dialog>
+</template>
+
+<script>
+import { getNearTimeoutList } from "@/api/AiCentre/index";
+
+// 鐧诲綍鍚庤嚜鍔ㄥ脊鍑轰复杩戣秴鏃朵换鍔$殑鏈烘瀯鐧藉悕鍗�
+const TARGET_ORGS = ["鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�", "娴欐睙鐪佹柊鍗庡尰闄�"];
+
+export default {
+ name: "NearTimeoutDialog",
+ data() {
+ return {
+ visible: false,
+ loading: false,
+ taskList: [],
+ };
+ },
+ computed: {
+ isTargetOrg() {
+ const orgname = localStorage.getItem("orgname") || "";
+ return TARGET_ORGS.indexOf(orgname) !== -1;
+ },
+ },
+ mounted() {
+ // 渚涢殢璁垮伐浣滃彴鍗$墖鐐瑰嚮鎵撳紑
+ this.$root.$on("open-near-timeout", this.open);
+
+ // 鐧诲綍鍚庯紙闈炵櫥褰曢〉锛夎嚜鍔ㄥ脊鍑�
+ if (this.isTargetOrg) {
+ this.open();
+ }
+ },
+ beforeDestroy() {
+ this.$root.$off("open-near-timeout", this.open);
+ },
+ methods: {
+ async open() {
+ if (!this.isTargetOrg) {
+ this.$modal.msgWarning("褰撳墠鏈烘瀯鏆傛湭寮�閫氫复杩戣秴鏃朵换鍔�");
+ return;
+ }
+ this.visible = true;
+ await this.loadList();
+ },
+ async loadList() {
+ this.loading = true;
+ try {
+ const res = await getNearTimeoutList({ pageNum: 1, pageSize: 100 });
+ this.taskList = res.rows || [];
+ } catch (e) {
+ console.error("鍔犺浇涓磋繎瓒呮椂浠诲姟澶辫触:", e);
+ this.taskList = [];
+ } finally {
+ this.loading = false;
+ }
+ },
+ // 璺宠浆璇︽儏椤碉紙涓庡嚭闄㈤殢璁垮垪琛� Seedetails 淇濇寔涓�鑷达級
+ handleDetail(row) {
+ let type = "";
+ if (row.type == 1) {
+ type = 1;
+ }
+ this.$router.push({
+ path: "/followvisit/record/detailpage/",
+ query: {
+ taskid: row.taskid,
+ patid: row.patid,
+ id: row.id,
+ Voicetype: type,
+ visitCount: row.visitCount || 1,
+ },
+ });
+ this.visible = false;
+ },
+ formatTime(value) {
+ if (value === null || value === undefined || value === "") {
+ return "";
+ }
+ if (typeof value === "number") {
+ const d = new Date(value);
+ const pad = (n) => (n < 10 ? "0" + n : "" + n);
+ return (
+ d.getFullYear() +
+ "-" +
+ pad(d.getMonth() + 1) +
+ "-" +
+ pad(d.getDate()) +
+ " " +
+ pad(d.getHours()) +
+ ":" +
+ pad(d.getMinutes())
+ );
+ }
+ return String(value);
+ },
+ },
+};
+</script>
+
+<style scoped>
+.near-timeout-table {
+ margin-top: 12px;
+}
+</style>
diff --git a/src/views/Satisfaction/configurationmyd/batch.vue b/src/views/Satisfaction/configurationmyd/batch.vue
index 59ada45..7f7efc7 100644
--- a/src/views/Satisfaction/configurationmyd/batch.vue
+++ b/src/views/Satisfaction/configurationmyd/batch.vue
@@ -266,7 +266,7 @@
<el-dialog
title="澶勭悊寮傚父鍙嶉"
:visible.sync="processDialogVisible"
- width="60%"
+ width="80%"
top="6vh"
center
>
@@ -276,6 +276,7 @@
<el-form
:model="processForm"
:rules="processRules"
+ :validate-on-rule-change="false"
ref="processForm"
label-width="100px"
size="medium"
@@ -295,6 +296,7 @@
v-model="processForm.handleFlag"
placeholder="璇烽�夋嫨澶勭悊鐘舵��"
style="width: 100%"
+ @change="handleFlagChange('single', $event)"
>
<el-option label="宸插鐞�" :value="'1'" />
<el-option label="鍙栨秷澶勭悊" :value="'0'" />
@@ -326,6 +328,7 @@
placeholder="璇烽�夋嫨澶勭悊缁撴灉"
style="width: 100%"
:disabled="processForm.handleFlag !== '1'"
+ @change="handleResultChange('single')"
>
<el-option label="宸茶В鍐�" value="resolved" />
<el-option label="宸茶В閲�" value="explained" />
@@ -404,7 +407,7 @@
v-model="processForm.flowDepts"
multiple
filterable
- collapse-tags
+
placeholder="璇烽�夋嫨娴佽浆绉戝"
style="width: 100%"
@change="onFlowDeptChange"
@@ -412,24 +415,8 @@
<el-option
v-for="dept in deptList"
:key="dept.deptCode"
- :label="dept.label"
+ :label="dept.label + '锛�' + dept.deptCode + '锛�'"
:value="dept.deptCode"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="娴佽浆绉戝code">
- <el-select
- v-model="processForm.flowDeptCodes"
- multiple
- disabled
- placeholder="閫夋嫨绉戝鍚庤嚜鍔ㄧ敓鎴�"
- style="width: 100%"
- >
- <el-option
- v-for="code in processForm.flowDeptCodes"
- :key="code"
- :label="code"
- :value="code"
/>
</el-select>
</el-form-item>
@@ -438,7 +425,7 @@
v-model="processForm.pushUsers"
multiple
filterable
- collapse-tags
+
placeholder="璇烽�夋嫨鎺ㄩ�佽礋璐d汉"
style="width: 100%"
@change="onPushUserChange"
@@ -535,7 +522,8 @@
>
<el-form
:model="batchProcessForm"
- :rules="processRules"
+ :rules="batchProcessRules"
+ :validate-on-rule-change="false"
ref="batchProcessForm"
label-width="100px"
size="medium"
@@ -543,8 +531,10 @@
<el-form-item label="澶勭悊鐘舵��" prop="handleFlag">
<el-select
v-model="batchProcessForm.handleFlag"
+ clearable
placeholder="璇烽�夋嫨澶勭悊鐘舵��"
style="width: 100%"
+ @change="handleFlagChange('batch', $event)"
>
<el-option label="宸插鐞�" :value="'1'" />
<el-option label="鍙栨秷澶勭悊" :value="'0'" />
@@ -554,6 +544,7 @@
<el-form-item label="鎶ュ绉戝" prop="ccdepts">
<el-select
v-model="batchProcessForm.ccdepts"
+ clearable
placeholder="璇烽�夋嫨鎶ュ绉戝"
multiple
filterable
@@ -573,9 +564,11 @@
<el-form-item label="澶勭悊缁撴灉" prop="handleresult">
<el-select
v-model="batchProcessForm.handleresult"
+ clearable
placeholder="璇烽�夋嫨澶勭悊缁撴灉"
style="width: 100%"
:disabled="batchProcessForm.handleFlag !== '1'"
+ @change="handleResultChange('batch')"
>
<el-option label="宸茶В鍐�" value="resolved" />
<el-option label="宸茶В閲�" value="explained" />
@@ -682,7 +675,7 @@
todeptcode: "",
handleFlag: "",
templateType: null,
- scriptids: null,
+ scriptids: [],
pageNum: 1,
pageSize: 10,
},
@@ -734,42 +727,6 @@
processed: 0,
total: 0,
},
- processRules: {
- handleFlag: [
- { required: true, message: "璇烽�夋嫨澶勭悊鐘舵��", trigger: "change" },
- ],
- handleresult: [
- {
- required: true,
- message: "璇烽�夋嫨澶勭悊缁撴灉",
- trigger: "change",
- validator: (rule, value, callback) => {
- if (this.processForm.handleFlag === "1" && !value) {
- callback(new Error("璇烽�夋嫨澶勭悊缁撴灉"));
- } else {
- callback();
- }
- },
- },
- ],
- handledesc: [
- {
- required: true,
- message: "璇疯緭鍏ュ鐞嗚鏄�",
- trigger: "blur",
- validator: (rule, value, callback) => {
- if (
- this.processForm.handleFlag === "1" &&
- (!value || value.trim().length < 3)
- ) {
- callback(new Error("澶勭悊璇存槑鑷冲皯3涓瓧绗�"));
- } else {
- callback();
- }
- },
- },
- ],
- },
// 鎵归噺澶勭悊瀵硅瘽妗�
batchDialogVisible: false,
@@ -783,20 +740,9 @@
},
created() {
- // 浠庤矾鐢卞弬鏁拌幏鍙栭棶棰業D
- this.filterParams.scriptids =
- this.$route.query.questionId || this.$route.query.questionIds || null;
- // if (this.$route.query.questionId) {
- // } else if (this.$route.query.questionIds) {
- // console.log(
- // this.$route.query.questionIds,
- // "this.$route.query.questionIds"
- // );
-
+ // 浠庤矾鐢卞弬鏁拌幏鍙栭棶棰業D闆嗗悎锛坰criptids 涓烘暟缁勫舰寮忥級
+ this.filterParams.scriptids = this.resolveScriptids();
this.filterParams.templateType = Number(this.$route.query.type) || null;
-
- // this.filterParams.scriptid = null;
- // }
this.hasQualityPermission = this.checkQualityPermission();
},
@@ -806,7 +752,89 @@
this.getUserOptions();
},
+ computed: {
+ // 鍗曟潯澶勭悊琛ㄥ崟鏍¢獙瑙勫垯
+ processRules() {
+ return this.buildProcessRules(
+ () => this.processForm.handleFlag,
+ () => this.processForm.handleresult
+ );
+ },
+ // 鎵归噺澶勭悊琛ㄥ崟鏍¢獙瑙勫垯
+ batchProcessRules() {
+ return this.buildProcessRules(
+ () => this.batchProcessForm.handleFlag,
+ () => this.batchProcessForm.handleresult
+ );
+ },
+ },
+
methods: {
+ // 鐢熸垚澶勭悊琛ㄥ崟鏍¢獙瑙勫垯
+ // 澶勭悊缁撴灉锛氬鐞嗙姸鎬佷负銆屽凡澶勭悊銆嶆椂蹇呭~
+ // 澶勭悊璇存槑锛氬鐞嗙粨鏋滀负銆屽凡瑙e喅銆嶆椂蹇呭~锛屽叾浠栨儏鍐典笉蹇呭~锛堜絾浠嶅彲濉啓锛�
+ buildProcessRules(getFlag, getResult) {
+ return {
+ handleFlag: [
+ { required: true, message: "璇烽�夋嫨澶勭悊鐘舵��", trigger: "change" },
+ ],
+ handleresult: [
+ {
+ required: true,
+ trigger: "change",
+ validator: (rule, value, callback) => {
+ if (getFlag() === "1" && !value) {
+ callback(new Error("璇烽�夋嫨澶勭悊缁撴灉"));
+ } else {
+ callback();
+ }
+ },
+ },
+ ],
+ handledesc: [
+ {
+ required: true,
+ trigger: "blur",
+ validator: (rule, value, callback) => {
+ if (
+ getResult() === "resolved" &&
+ (!value || String(value).trim().length < 3)
+ ) {
+ callback(
+ new Error("澶勭悊缁撴灉涓恒�屽凡瑙e喅銆嶆椂锛屽鐞嗚鏄庤嚦灏戝~鍐�3涓瓧绗�")
+ );
+ } else {
+ callback();
+ }
+ },
+ },
+ ],
+ };
+ },
+
+ // 鍒囨崲澶勭悊鐘舵�佹椂锛氶潪銆屽凡澶勭悊銆嶆竻绌轰粠灞炲瓧娈靛苟娓呮帀鏃х殑鏍¢獙鎻愮ず
+ // 锛堟鏃朵笁涓帶浠跺浜� disabled锛岀敤鎴锋棤娉曚慨鏀癸紝鐣欐畫鍊间細琚彁浜ゆ垚鑴忔暟鎹級
+ handleFlagChange(type, val) {
+ const isBatch = type === "batch";
+ const form = isBatch ? this.batchProcessForm : this.processForm;
+ const refName = isBatch ? "batchProcessForm" : "processForm";
+ if (val !== "1") {
+ form.ccdepts = [];
+ form.handleresult = "";
+ form.handledesc = "";
+ }
+ const ref = this.$refs[refName];
+ if (ref) ref.clearValidate(["handleresult", "handledesc"]);
+ },
+
+ // 鍒囨崲澶勭悊缁撴灉鏃讹細鍙竻鎺夊鐞嗚鏄庣殑鏃ф牎楠屾彁绀猴紝涓嶆竻绌哄凡濉唴瀹�
+ // 锛堥潪銆屽凡瑙e喅銆嶆椂璇存槑涓嶆槸蹇呭~锛屼絾鐢ㄦ埛浠嶅彲鑷効濉啓锛�
+ handleResultChange(type) {
+ const refName = type === "batch" ? "batchProcessForm" : "processForm";
+ const ref = this.$refs[refName];
+ if (ref) ref.clearValidate(["handledesc"]);
+ },
+
// 鏍煎紡鍖栨棩鏈熸椂闂�
formatDateTime(dateTime) {
if (!dateTime) return "";
@@ -840,7 +868,7 @@
},
/** 鏌ヨ鐢ㄦ埛鍒楄〃锛堟祦杞礋璐d汉鍊欓�夛級 */
getUserOptions() {
- listUser({ pageNum: 1, pageSize: 999 })
+ listUser({ pageNum: 1, pageSize: 19999 })
.then((res) => {
if (res.code == 200) {
this.userList = res.rows || [];
@@ -932,6 +960,14 @@
});
},
+ // 瑙f瀽璺敱涓殑 scriptids锛堝吋瀹规暟缁� / 閫楀彿鍒嗛殧瀛楃涓诧紝缁熶竴杩斿洖鏁扮粍锛�
+ resolveScriptids() {
+ const raw = this.$route.query.scriptids;
+ if (Array.isArray(raw)) return raw;
+ if (raw) return String(raw).split(",");
+ return [];
+ },
+
// 鏋勫缓鏌ヨ鍙傛暟
buildQueryParams() {
const params = {
@@ -951,11 +987,8 @@
params.templateType = this.filterParams.templateType;
}
- // if (this.filterParams.scriptid) {
- // params.scriptid = this.filterParams.scriptid;
- // }
- if (this.filterParams.scriptids) {
- params.scriptids = this.filterParams.scriptids.split(",");
+ if (this.filterParams.scriptids && this.filterParams.scriptids.length) {
+ params.scriptids = this.filterParams.scriptids;
}
return params;
@@ -997,10 +1030,8 @@
this.filterParams = {
todeptcode: "",
handleFlag: "",
- scriptids:
- this.$route.query.questionId || this.$route.query.questionIds || null,
+ scriptids: this.resolveScriptids(),
templateType: Number(this.$route.query.type) || null,
-
pageNum: 1,
pageSize: 10,
};
@@ -1357,7 +1388,7 @@
};
// 鎺у埗骞跺彂鏁�
- const CONCURRENT_LIMIT = 10; // 鍚屾椂鏈�澶�3涓姹�
+ const CONCURRENT_LIMIT = 10; // 鍚屾椂鏈�澶� 10 涓姹�
const totalCount = this.selectedExceptionIds.length;
const results = [];
let successCount = 0;
@@ -1406,11 +1437,12 @@
console.error(`澶勭悊璁板綍 ${result.id} 澶辫触:`, result.error);
}
});
- // 鏇存柊杩涘害
- this.batchProgress.processed = i + 1;
- this.batchProgress.percentage = Math.round(
- ((i + 1) / totalCount) * 100
- );
+ // 鏇存柊杩涘害锛歩 鏄壒娆¤捣濮嬬储寮曪紙姝ラ暱涓� CONCURRENT_LIMIT锛夛紝
+ // 蹇呴』鍔犱笂鏈壒瀹為檯鏉℃暟锛屽惁鍒欒繘搴﹀彧浼氭寜鎵规暟閫掑锛堝 25 鏉″彧鍒� 84%锛�
+ this.batchProgress.processed = i + batchIds.length;
+ this.batchProgress.percentage = totalCount
+ ? Math.round(((i + batchIds.length) / totalCount) * 100)
+ : 100;
// 鏄剧ず杩涘害
console.log(
`杩涘害: ${Math.min(
diff --git a/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue b/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue
index 57dbaae..436d46e 100644
--- a/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue
+++ b/src/views/Satisfaction/configurationmyd/components/DetailsAnomaly.vue
@@ -82,7 +82,7 @@
<el-col :span="16" v-if="currentRecord.handledesc">
<div class="info-item">
<span class="label">澶勭悊璇存槑锛�</span>
- <span class="value">{{ currentRecord.handledesc }}</span>
+ <span class="value">{{ formatHandledesc(currentRecord.handledesc) }}</span>
</div>
</el-col>
<el-col :span="24" v-if="currentRecord.finaloption">
@@ -107,7 +107,7 @@
<el-col :span="8" v-if="currentRecord.ccdepts">
<div class="info-item">
<span class="label">鎶勯�佺瀹わ細</span>
- <span class="value">{{ currentRecord.ccdepts }}</span>
+ <span class="value">{{ getDeptArray(currentRecord.ccdepts).join('銆�') }}</span>
</div>
</el-col>
</el-row>
@@ -306,7 +306,7 @@
</div>
<div v-if="record.handledesc" class="process-remark">
<span class="label">澶勭悊璇存槑锛�</span>
- <span class="content">{{ record.handledesc }}</span>
+ <span class="content">{{ formatHandledesc(record.handledesc) }}</span>
</div>
<div v-if="record.finaloption" class="process-remark">
<span class="label">鏈�缁堟剰瑙侊細</span>
@@ -661,10 +661,31 @@
return map[handleresult] || handleresult;
},
- // 鑾峰彇绉戝鏁扮粍
+ // 鑾峰彇绉戝鏁扮粍锛氬皢閫楀彿鍒嗛殧鐨勭瀹� code 鏄犲皠涓恒�岀瀹ゅ悕锛坈ode锛夈��
getDeptArray(ccdepts) {
if (!ccdepts) return [];
- return ccdepts.split(',');
+ return String(ccdepts)
+ .split(',')
+ .map((code) => {
+ const dept = this.deptList.find((item) => item.deptCode === code);
+ return dept ? `${dept.label}锛�${code}锛塦 : code;
+ });
+ },
+
+ // 瑙f瀽 handledesc锛氭祦杞椂瀛樼殑鏄� JSON锛屽彇鍏朵腑 desc 鍘熸枃锛涘惁鍒欏師鏍疯繑鍥�
+ formatHandledesc(val) {
+ if (!val) return '';
+ if (typeof val !== 'string') return val;
+ const trimmed = val.trim();
+ if (trimmed.startsWith('{')) {
+ try {
+ const obj = JSON.parse(trimmed);
+ if (obj && obj.desc != null) return obj.desc;
+ } catch (e) {
+ // 闈炲悎娉� JSON锛屾寜鍘熸枃鏈繑鍥�
+ }
+ }
+ return val;
},
// 鎾斁闊抽
diff --git a/src/views/Satisfaction/configurationmyd/dispose.vue b/src/views/Satisfaction/configurationmyd/dispose.vue
index 4c39707..300a12c 100644
--- a/src/views/Satisfaction/configurationmyd/dispose.vue
+++ b/src/views/Satisfaction/configurationmyd/dispose.vue
@@ -94,7 +94,7 @@
:disabled="selectedIds.length === 0"
@click="handleBatchProcess"
>
- 鎵归噺澶勭悊 ({{ selectedIds.length }})
+ 鎵归噺澶勭悊
</el-button>
<el-button type="info" icon="el-icon-download" @click="handleExport">
瀵煎嚭寮傚父鏁版嵁
@@ -585,11 +585,11 @@
return;
}
- // 璺宠浆鍒版壒閲忓鐞嗛〉闈�
+ // 璺宠浆鍒版壒閲忓鐞嗛〉闈紙scriptids 浠ラ泦鍚堝舰寮忎紶閫掞級
this.$router.push({
path: "/Intelligentcenter/batch",
query: {
- questionIds: this.selectedIds.join(","),
+ scriptids: this.selectedIds,
type: this.queryParams.templateType,
},
});
@@ -606,17 +606,22 @@
this.$message.success("鏁版嵁宸插埛鏂�");
},
- // 澶勭悊閫夋嫨鍙樺寲
+ // 澶勭悊閫夋嫨鍙樺寲锛氭瘡琛� scriptids 鏄泦鍚堬紝闇�鎵佸钩鍖栧悎骞朵负涓�涓暟缁�
handleSelectionChange(selection) {
- this.selectedIds = selection.map((item) => item.scriptid);
+ this.selectedIds = selection.reduce(
+ (acc, item) => acc.concat(item.scriptids || []),
+ []
+ );
},
// 澶勭悊鍗曚釜棰樼洰鎵归噺澶勭悊
handleBatchQuestion(row) {
+ console.log(row);
+
this.$router.push({
path: "/Intelligentcenter/batch",
query: {
- questionId: row.scriptid,
+ scriptids: row.scriptids,
type: this.queryParams.templateType,
},
});
diff --git a/src/views/Satisfaction/sfstatistics/components/FollowupStatistics.vue b/src/views/Satisfaction/sfstatistics/components/FollowupStatistics.vue
index f0534c0..3f1c13d 100644
--- a/src/views/Satisfaction/sfstatistics/components/FollowupStatistics.vue
+++ b/src/views/Satisfaction/sfstatistics/components/FollowupStatistics.vue
@@ -374,23 +374,23 @@
// 鏈嶅姟绫诲瀷閫夐」
options: [
- // {
- // value: 6,
- // label: "浣忛櫌婊℃剰搴�",
- // raw: {
- // cssClass: "",
- // listClass: "",
- // },
- // },
+ {
+ value: 6,
+ label: "浣忛櫌婊℃剰搴�",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
- // {
- // value: 14,
- // label: "闂ㄨ瘖婊℃剰搴�",
- // raw: {
- // cssClass: "",
- // listClass: "",
- // },
- // },
+ {
+ value: 14,
+ label: "闂ㄨ瘖婊℃剰搴�",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
],
// 琛ㄦ牸鏁版嵁
diff --git a/src/views/Satisfaction/sfstatistics/components/SatisfactionStatistics.vue b/src/views/Satisfaction/sfstatistics/components/SatisfactionStatistics.vue
index 9ec0011..5646d6b 100644
--- a/src/views/Satisfaction/sfstatistics/components/SatisfactionStatistics.vue
+++ b/src/views/Satisfaction/sfstatistics/components/SatisfactionStatistics.vue
@@ -106,13 +106,13 @@
<h3 class="chart-title">{{ getChartTitle() }}</h3>
<div class="statistic-info">
<div class="statistic-item">
- <span class="statistic-label">鍙戦�侀棶鍗锋�婚噺锛�</span>
+ <span class="statistic-label">鍙戦�侀鐩�婚噺锛�</span>
<span class="statistic-value">{{
totalSendCount.toLocaleString()
}}</span>
</div>
<div class="statistic-item">
- <span class="statistic-label">鍥炴敹闂嵎鎬婚噺锛�</span>
+ <span class="statistic-label">鍥炴敹棰樼洰鎬婚噺锛�</span>
<span class="statistic-value">{{
totalReceiveCount.toLocaleString()
}}</span>
@@ -294,7 +294,7 @@
</el-table>
<!-- 缁煎悎寰楀垎琛� -->
- <div class="summary-row">
+ <!-- <div class="summary-row">
<div class="summary-content">
<div class="summary-item">
<span class="label">鎬荤瓟棰樹汉鏁帮細</span>
@@ -307,7 +307,7 @@
}}</span>
</div>
</div>
- </div>
+ </div> -->
<!-- 鍒嗛〉 -->
<div
@@ -2081,7 +2081,7 @@
const num = parseFloat(value);
if (isNaN(num)) return "-";
// 濡傛灉鍊煎皬浜�1锛岃涓烘槸灏忔暟姣斾緥锛岄渶瑕佷箻浠�100
- const percentValue = num < 1 ? num * 100 : num;
+ const percentValue = num <= 1 ? num * 100 : num;
return `${percentValue.toFixed(2)}%`;
},
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index cb22dd1..af3f348 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -2245,7 +2245,8 @@
});
}
} else {
- location.reload();
+ // location.reload();
+ this.$router.go(-1);
}
},
// 鐢佃瘽============================
diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 069c195..ecd3c83 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -387,15 +387,20 @@
</el-dialog>
<!-- 浠诲姟鎵ц璇︽儏寮圭獥 -->
<el-dialog
- title="浠诲姟鎵ц璇︽儏"
:visible.sync="countDialogVisible"
width="600px"
:before-close="handleCountClose"
>
+ <span slot="title" class="count-dialog-title">浠诲姟鎵ц璇︽儏</span>
<div v-loading="countLoading" class="count-detail">
<div class="count-task-name">浠诲姟鍚嶇О锛歿{ countTaskName || "-" }}</div>
- <div class="count-grid">
- <div v-for="f in countFields" :key="f.key" class="count-item">
+ <div v-for="(row, ri) in countRows" :key="ri" class="count-grid">
+ <div
+ v-for="f in row"
+ :key="f.key"
+ class="count-item"
+ :style="countItemStyle(f)"
+ >
<span class="count-label">{{ f.label }}</span>
<span class="count-value">{{ countVal(f) }}</span>
</div>
@@ -477,18 +482,11 @@
countTaskName: "",
countData: {},
countFields: [
- { key: "total", label: "浠诲姟鎬婚噺" },
- { key: "blq", label: "寰呴鍙�" },
- { key: "wfs", label: "鏈彂閫�" },
- { key: "yfs", label: "宸插彂閫�", altKey: "ysf" },
- { key: "fssb", label: "鍙戦�佸け璐�" },
- { key: "dsf", label: "寰呴殢璁�" },
- { key: "xsf", label: "闇�闅忚" },
- { key: "wxsf", label: "鏃犻渶闅忚" },
- { key: "wzx", label: "鏈墽琛�" },
- { key: "ywc", label: "宸插畬鎴�" },
- { key: "yc", label: "寮傚父" },
- { key: "jg", label: "璀﹀憡" },
+ { key: "total", label: "鎬婚噺", color: "#67afab", bg: "#e6f4f3" },
+ { key: "dsf", label: "寰呴殢璁�", color: "#409eff", bg: "#ecf5ff" },
+ { key: "ywc", label: "宸插畬鎴�", color: "#67c23a", bg: "#f0f9eb" },
+ { key: "yc", label: "寮傚父", color: "#f56c6c", bg: "#fef0f0" },
+ { key: "jg", label: "璀﹀憡", color: "#e6a23c", bg: "#fdf6ec" },
],
// 鏃ユ湡鑼冨洿
dateRange: [],
@@ -698,6 +696,18 @@
};
},
watch: {},
+ computed: {
+ // 浠诲姟鎵ц璇︽儏锛氭寜涓よ鍒嗙粍锛屽�间负 0 鐨勯」涓嶅睍绀�
+ countRows() {
+ const row1 = this.countFields
+ .slice(0, 3)
+ .filter((f) => this.countNum(f) !== 0);
+ const row2 = this.countFields
+ .slice(3)
+ .filter((f) => this.countNum(f) !== 0);
+ return [row1, row2].filter((r) => r.length > 0);
+ },
+ },
created() {
this.orgname = localStorage.getItem("orgname");
if (this.orgname == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌") {
@@ -1238,6 +1248,8 @@
},
// 鏌ョ湅浠诲姟鎵ц璇︽儏锛坈ountByCondition 鐩存帴杩斿洖鑱氬悎 Map锛�
showCountDetail(row) {
+ console.log(11);
+
this.countTaskName = row.taskName || "";
this.countData = {};
this.countDialogVisible = true;
@@ -1269,6 +1281,17 @@
if (f.altKey && d[f.altKey] != null && d[f.altKey] !== "")
return d[f.altKey];
return 0;
+ },
+ // 缁熻鍊艰浆涓烘暟瀛楋紙鐢ㄤ簬鍒ゆ柇鏄惁涓� 0锛�
+ countNum(f) {
+ return Number(this.countVal(f)) || 0;
+ },
+ // 姣忛」鐨勮儗鏅壊涓庡瓧浣撻鑹�
+ countItemStyle(f) {
+ return {
+ background: f.bg || "#f5f7fa",
+ color: f.color || "#303133",
+ };
},
handleCountClose() {
this.countDialogVisible = false;
@@ -1437,33 +1460,40 @@
}
}
+.count-dialog-title {
+ font-size: 16px;
+ font-weight: 600;
+ color: #67afab;
+}
.count-detail {
.count-task-name {
font-size: 14px;
- color: #303133;
+ color: #67afab;
font-weight: 600;
margin-bottom: 16px;
}
.count-grid {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
+ display: flex;
gap: 12px;
+ margin-bottom: 12px;
+ &:last-child {
+ margin-bottom: 0;
+ }
}
.count-item {
+ flex: 1;
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 14px;
- background: #f5f7fa;
border-radius: 4px;
.count-label {
font-size: 13px;
- color: #606266;
+ opacity: 0.9;
}
.count-value {
font-size: 16px;
font-weight: 600;
- color: #303133;
}
}
}
diff --git a/src/views/login.vue b/src/views/login.vue
index ae3f1a4..c166a26 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -155,6 +155,7 @@
immediate: true,
},
},
+
created() {
this.getorganization();
this.getCode();
@@ -162,6 +163,12 @@
// if (localStorage.getItem('orgid')) {
// this.loginForm.orgid = localStorage.getItem('orgid');
// }
+ },
+ computed: {
+ isAdmin() {
+ const roles = this.$store.getters.roles || [];
+ return roles.includes("mydstaff");
+ }
},
methods: {
getCode() {
@@ -249,13 +256,23 @@
.then((res) => {
if (this.loginForm.username == "admin") {
this.$router.push({ path: "/index" }).catch(() => {});
+ } else if (this.isAdmin) {
+ console.log(1);
+
+ this.$router
+ .push({ path: "/Intelligentcenter/dispose" })
+ .catch(() => {});
} else {
+ console.log(2);
+
this.$router
.push({ path: "/followvisit/discharge" })
.catch(() => {});
}
})
.catch(() => {
+ console.log(3);
+
this.loading = false;
if (this.captchaEnabled) {
this.getCode();
@@ -264,6 +281,7 @@
}
});
},
+
},
};
</script>
@@ -333,7 +351,7 @@
width: 100%;
text-align: center;
font-size: 13px;
- color: #3664D9;
+ color: #3664d9;
z-index: 10;
}
@@ -361,18 +379,18 @@
.tech-label,
.tech-name,
.hotline {
- color: #3664D9;;
+ color: #3664d9;
font-size: 13px;
}
.tech-name {
- color: #3664D9;;
+ color: #3664d9;
font-weight: 500;
}
.hotline {
font-size: 12px;
- color: #3664D9;;
+ color: #3664d9;
}
.login-code-img {
height: 38px;
diff --git a/src/views/patient/archives/apiAdapter.js b/src/views/patient/archives/apiAdapter.js
new file mode 100644
index 0000000..3b1ec81
--- /dev/null
+++ b/src/views/patient/archives/apiAdapter.js
@@ -0,0 +1,602 @@
+/**
+ * 寤烘。妯″潡 鎺ュ彛閫傞厤灞傦紙2026-10-11 鏂扮増鎺ュ彛锛�
+ * ------------------------------------------------------------------
+ * 鏂扮増鍚庣鎶娿�屾柊澧� / 淇敼銆嶅悎骞舵垚涓�涓� insertOrUpdate 鎺ュ彛锛岃姹備綋鏄�
+ * 涓昏〃瀛楁 + 璇︽儏琛ㄥ瓧娈电殑鎵佸钩娣峰悎锛屼竴娆¤皟鐢ㄥ悓鏃剁淮鎶や袱寮犺〃锛屽苟杩斿洖涓昏〃 ID銆�
+ * 鍥犳杩欓噷涓嶅啀鍋氥�屼富琛ㄤ竴娆¤姹� + 璇︽儏琛ㄤ竴娆¤姹傘�嶇殑鎷嗗垎锛屽彧璐熻矗锛�
+ * 1. 鍓嶇鍗曚竴妗f瀵硅薄 <-> 鍚庣鎵佸钩瀛楁鐨勮浆鎹�
+ * 2. 閲忚〃 / 鍙紪杈戣〃鏍兼暟鎹殑 JSON 鎵撳寘涓庤В鍖�
+ *
+ * 瀵瑰鍑芥暟绛惧悕涓庢棫鐗堜繚鎸佷竴鑷达紝椤甸潰鏃犻渶鏀瑰姩銆�
+ */
+
+import {
+ ARCHIVE_TYPE_CODE,
+ resolveTarget,
+ resolveKey,
+ toApiFields,
+ fromApiFields,
+ toApiParent,
+ packJson,
+ unpackJson,
+ splitLearningForm,
+ normalizeDates,
+ FORM_FIELD_BY_TAB,
+ archiveApi,
+ nowDateTime,
+ today,
+ toDateTime,
+ calcAge,
+} from "@/api/patient/archive";
+import { getTypeByKey } from "./types";
+
+/* ==================== 鍐呴儴宸ュ叿 ==================== */
+
+function pick(obj, keys) {
+ const out = {};
+ keys.forEach((k) => {
+ const v = obj && obj[k];
+ if (v !== undefined && v !== null && v !== "") out[k] = v;
+ });
+ return out;
+}
+
+/** 鍚庣瀛楁 -> 鍓嶇瀛楁锛堝垪琛ㄨ銆佽鎯呰褰曞叡鐢級
+ * 娉ㄦ剰锛歛ppointmentSituation 涓嶅湪杩欓噷锛屽畠瀛樼殑鏄� JSON 涓诧紝鐢� parseAppointmentStatus 鍗曠嫭瑙f瀽
+ */
+const API_TO_FRONT = {
+ highRiskChildType: "highriskCategory",
+ highRiskChildName: "highriskName",
+ nutritionIcd10Code: "nutritionCode",
+ nutritionDiagName: "nutritionName",
+ plannedFollowTime: "followupDate",
+ birthWeight: "birthWeight",
+ gestationalWeek: "gestationalWeek",
+ pregnancySituation: "pregnancyStatus",
+ followupCycleTimes: "followupCycles",
+};
+
+/**
+ * 瑙f瀽銆岄绾︽儏鍐点��
+ * 鍚庣杩欎釜瀛楁瀛樼殑鏄� JSON 涓诧細{"appointmentStatus":"鏃犻绾�"}锛�
+ * 鐩存帴閾哄埌鍒楄〃涓婁細鎶婃暣涓� JSON 鏄剧ず鍑烘潵锛岃繖閲岀粺涓�鍙栭噷闈㈢殑 appointmentStatus銆�
+ * 宸茬粡鏄函鏂囨湰鏃跺師鏍疯繑鍥烇紝瑙f瀽涓嶅嚭鍐呭鍒欒繑鍥炵┖銆�
+ */
+function parseAppointmentStatus(val) {
+ if (val === undefined || val === null || val === "") return "";
+ if (typeof val !== "string") return val.appointmentStatus || "";
+ const s = val.trim();
+ if (s.charAt(0) !== "{") return s;
+ try {
+ const o = JSON.parse(s);
+ return (o && o.appointmentStatus) || "";
+ } catch (e) {
+ return "";
+ }
+}
+
+/* ------------------------------------------------------------------
+ * 妯″潡鍚嶅彛寰勪笉涓�鑷寸殑缁熶竴鍏ュ彛
+ * 椤甸潰锛坱ypes.js锛夌敤 maternal|child锛屾帴鍙e眰锛圓RCHIVE_TYPE_CODE锛夌敤 maternity|child銆�
+ * 涓よ竟涓嶇粺涓�浼氬鑷� resolveKey 鍖归厤涓嶄笂锛屽垪琛ㄩ〉鎵�鏈変笓妗堥兘璇嗗埆涓嶅嚭鏉ャ��
+ */
+function innerModule(module) {
+ return module === "child" ? "child" : "maternity";
+}
+
+/** 鎺ュ彛灞傛ā鍧楀悕 -> 椤甸潰鍙e緞 */
+function frontModule(module) {
+ return module === "child" ? "child" : "maternal";
+}
+
+/** 璇︽儏琛ㄥ啑浣欑殑鎮h�呭熀鏈俊鎭� -> 鍓嶇瀵硅薄 */
+function applyCommonFields(target, row) {
+ const front = fromApiFields(row);
+ Object.keys(front).forEach((k) => {
+ // id / detailId / subType 灞炰簬楠ㄦ灦鑷韩鐨勫瓧娈碉紝涓嶈兘琚師濮嬭鏁版嵁瑕嗙洊
+ if (k === "id" || k === "detailId" || k === "subType") return;
+ const v = front[k];
+ if (v !== undefined && v !== null && v !== "") target[k] = v;
+ });
+ Object.keys(API_TO_FRONT).forEach((apiKey) => {
+ const v = row[apiKey];
+ if (v !== undefined && v !== null && v !== "") target[API_TO_FRONT[apiKey]] = v;
+ });
+ if (row.appointmentSituation) {
+ target.appointmentStatus = parseAppointmentStatus(row.appointmentSituation);
+ }
+ if (row.birthdate) target.age = calcAge(row.birthdate);
+ if (row.parentname || row.parentPhone || row.parentRelation) {
+ target.parentInfo = Object.assign({}, target.parentInfo, {
+ parentName: row.parentname || "",
+ relation: row.parentRelation || "",
+ parentPhone: row.parentPhone || "",
+ parentIdCard: row.parentIdcardno || "",
+ address: row.parentAddress || "",
+ });
+ }
+ if (row.sourceType === "1" || row.sourceType === 1) target.sourcePage = "outpatient";
+ return target;
+}
+
+/**
+ * 鍚庣琛� -> 鍓嶇妗f瀵硅薄楠ㄦ灦
+ *
+ * 鈿狅笍 id 涓� archiveid 鏄袱涓嫭绔嬪瓧娈碉紝涓嶈兘浜掔浉璧嬪�硷紝蹇呴』鐢辫皟鐢ㄦ柟鏄惧紡澹版槑杩欎竴琛屾潵鑷摢寮犺〃锛�
+ * from='main' 涓昏〃琛岋紙鍒楄〃鎺ュ彛杩斿洖锛夛細row.id 鏄富琛ㄤ富閿紝娌℃湁 archiveid
+ * from='detail' 璇︽儏琛岋紙璇︽儏鎺ュ彛杩斿洖锛夛細row.id 鏄鎯呰〃涓婚敭锛宺ow.archiveid 鏄富琛� ID
+ *
+ * 鍓嶇瀵硅薄涓婏細
+ * archive.id 姘歌繙 = 涓昏〃涓婚敭
+ * archive.detailId 姘歌繙 = 璇︽儏琛ㄤ富閿紙鍙湁璇︽儏琛屾墠鏈夛級
+ *
+ * @param {Object} row 鍚庣琛�
+ * @param {String} typeKey 涓撴 key
+ * @param {String} module maternity|child
+ * @param {String} from main|detail 杩欎竴琛岀殑鏉ユ簮琛�
+ */
+function skeletonFrom(row, typeKey, module, from) {
+ const t = ARCHIVE_TYPE_CODE[typeKey] || {};
+ const typeCfg = getTypeByKey(typeKey) || {};
+ const isDetail = from === "detail";
+ const archive = {
+ // 涓昏〃涓婚敭锛氫富琛ㄨ鐩存帴鍙� row.id锛涜鎯呰鍙栧閿� row.archiveid
+ id: isDetail ? row.archiveid : row.id,
+ // 璇︽儏琛ㄤ富閿細鍙湁璇︽儏琛屾墠鏈夛紝涓昏〃琛岋紙鍒楄〃锛夋嬁涓嶅埌锛屼繚鎸佷负绌�
+ detailId: isDetail ? row.id : "",
+ subType: typeKey,
+ subTypeLabel: typeCfg.subTypeLabel || t.label || "",
+ mainCategory: frontModule(module),
+ mainCategoryLabel: frontModule(module) === "child" ? "鍎夸繚绉戝缓妗�" : "濡囦繚绉戝缓妗�",
+ sourcePage: "",
+ parentInfo: {},
+ archiveForm: {},
+ };
+ return applyCommonFields(archive, row);
+}
+
+/** 鍒楄〃琛岋紙涓昏〃琛岋級 -> 鍓嶇妗f瀵硅薄 */
+function normalizeRow(row, module) {
+ const inner = innerModule(module);
+ const key = resolveKey(inner, row.archiveType) || "";
+ return skeletonFrom(row, key, inner, "main");
+}
+
+/* ------------------------------------------------------------------
+ * 涓昏〃琛岀紦瀛�
+ * 鍒楄〃鎺ュ彛鍙繑鍥炰富琛ㄨ锛堜笉鍚鎯呬富閿級锛岃鎯呮帴鍙f寜涓昏〃 ID 鏌ワ紝涓よ�呯敤涓昏〃 id 灏辫兘涓茶捣鏉ャ��
+ * 鎶婂垪琛ㄨ鎸変富琛� id 鏆傚瓨鍒� sessionStorage锛実etArchive 鍙栦笉鍒拌鎯呮椂鐢ㄥ畠鍏滃簳锛�
+ * 鑷冲皯鑳芥妸濮撳悕銆佹�у埆銆佽瘖鏂�佽仈绯绘柟寮忚繖浜涗富琛ㄥ瓧娈垫樉绀哄嚭鏉ワ紝鑰屼笉鏄竴鐗囩┖鐧姐��
+ */
+const ROW_PREFIX = "archiveRow:";
+
+function cacheRows(rows = []) {
+ try {
+ rows.forEach((r) => {
+ // 鍒楄〃琛屾槸涓昏〃琛岋紝涓婚敭鍙 row.id锛涗笉瑕佺敤 archiveid 鍏滃簳锛屼富琛ㄨ鏍规湰娌℃湁杩欎釜瀛楁
+ const id = r.id;
+ if (id) sessionStorage.setItem(ROW_PREFIX + id, JSON.stringify(r));
+ });
+ } catch (e) {
+ /* 蹇界暐闅愮妯″紡绛夊啓鍏ュ紓甯� */
+ }
+}
+
+function readRow(id) {
+ if (!id) return null;
+ try {
+ return JSON.parse(sessionStorage.getItem(ROW_PREFIX + id) || "null");
+ } catch (e) {
+ return null;
+ }
+}
+
+/* ------------------------------------------------------------------
+ * 鏂板缓鑽夌缂撳瓨
+ * 璇︽儏鎺ュ彛鎸夈�愪富琛� ID銆戞煡璇紝浣� insertOrUpdate 鍒氳繑鍥炰富琛� ID 鏃跺悗绔鎯呰鍙兘杩樻病钀藉ソ锛�
+ * 鏂板缓瀹岀珛鍒昏烦璇︽儏椤垫湁姒傜巼鍙栦笉鍒拌鎯呰褰曘�傝繖閲屾妸鏂板缓鏃剁殑妗f瀵硅薄鏆傚瓨鍒�
+ * sessionStorage锛実etArchive 鍙栦笉鍒拌鎯呮椂鐢ㄥ畠鍏滃簳锛岄伩鍏嶈鎯呴〉涓�鐗囩┖鐧姐��
+ * 淇濆瓨鎴愬姛鍚庢竻闄ゃ��
+ */
+const DRAFT_PREFIX = "archiveDraft:";
+
+function saveDraft(id, archive) {
+ if (!id) return;
+ try {
+ sessionStorage.setItem(DRAFT_PREFIX + id, JSON.stringify(archive));
+ } catch (e) {
+ /* 蹇界暐闅愮妯″紡绛夊啓鍏ュ紓甯� */
+ }
+}
+
+function readDraft(id) {
+ if (!id) return null;
+ try {
+ return JSON.parse(sessionStorage.getItem(DRAFT_PREFIX + id) || "null");
+ } catch (e) {
+ return null;
+ }
+}
+
+function clearDraft(id) {
+ if (!id) return;
+ try {
+ sessionStorage.removeItem(DRAFT_PREFIX + id);
+ } catch (e) {
+ /* ignore */
+ }
+}
+
+/* ==================== 鍓嶇瀵硅薄 -> 鎵佸钩 payload ==================== */
+
+/**
+ * 鏋勯�� insertOrUpdate 鐨勮姹備綋锛堜富琛� + 璇︽儏琛ㄥ瓧娈垫墎骞虫贩鍚堬級
+ * @param {Object} archive 鍓嶇妗f瀵硅薄
+ * @param {Object} t resolveTarget 缁撴灉
+ * @param {Boolean} forUpdate 鏄惁鏇存柊锛堝甫 archiveid / id锛�
+ */
+export function buildPayload(archive, t, forUpdate) {
+ const key = archive.subType;
+ const F = FORM_FIELD_BY_TAB[key] || {};
+ const payload = toApiFields(archive);
+
+ payload.archiveType = t.archiveType;
+ if (forUpdate) {
+ // 鎵佸钩璇锋眰浣撻噷杩欎袱涓瓧娈靛悇鑷唬琛ㄤ竴寮犺〃鐨勪富閿紝鍊兼潵婧愪笉鍚岋紝涓嶈兘浜掔浉椤舵浛锛�
+ // archiveid = 涓昏〃 ID锛堟潵鑷� archive.id锛�
+ // id = 璇︽儏琛ㄤ富閿紙鏉ヨ嚜 archive.detailId锛屽垪琛ㄦ帴鍙d笉杩斿洖锛屽彇涓嶅埌灏变笉浼狅紝鍚庣鎸夋柊澧炲鐞嗭級
+ if (archive.id) payload.archiveid = archive.id;
+ if (archive.detailId) payload.id = archive.detailId;
+ }
+ if (archive.sourcePage === "outpatient") payload.sourceType = "1";
+
+ // 鍐椾綑鐨勬偅鑰呭熀鏈俊鎭細璇︽儏琛ㄤ篃瀛樹竴浠�
+ const common = pick(archive, [
+ "outhospno", "inhospno", "serialnum", "patid", "patname", "sex",
+ "deptcode", "deptname", "wardcode", "wardname",
+ "icd10code", "diagname", "idcardno",
+ ]);
+ Object.assign(payload, common, {
+ birthdate: toDateTime(archive.birthday),
+ diagTime: toDateTime(archive.diagnosisDate),
+ archiveTime: toDateTime(archive.createTime),
+ doctorName: archive.attendingDoctor || "",
+ managementDoctorName: archive.managingDoctor || "",
+ registerUser: archive.registrant || "",
+ closeStatus: archive.closeStatus == null ? "0" : String(archive.closeStatus),
+ });
+
+ if (key === "pregnancy") {
+ const p = archive.pregFormData || {};
+ const reg = p.registration || {};
+ const preg = p.pregnancy || {};
+ const fv = p.firstVisit || {};
+ Object.assign(payload, {
+ lastMenstrualTime: toDateTime(fv.lmp),
+ firstDoctorName: fv.firstDoctor || "",
+ contactPhone: fv.contactPhone || fv.selfPhone || "",
+ address: fv.address || "",
+ pregnancySituation: archive.pregnancyStatus || "",
+ specificSituation: packJson(preg.details || []),
+ handleSuggestion: packJson(preg.hint || []),
+ isRecordEstablished: reg.isRegistered === "鏄�" ? "1" : reg.isRegistered === "鍚�" ? "0" : "",
+ dueDate: toDateTime(reg.edd),
+ followupPeriod: packJson(p.followupCycle || []),
+ [F.followup]: packJson(p),
+ });
+ } else if (key === "menopause") {
+ const f = archive.formData || {};
+ Object.assign(payload, {
+ [F.sysQ]: packJson(f.menoSysQ || {}),
+ [F.mhtFirst]: packJson(f.mhtFirst || {}),
+ [F.mhtFollow]: packJson(f.mhtFollow || {}),
+ [F.kupperman]: packJson(f.kupperman || {}),
+ [F.mrs]: packJson(f.mrs || {}),
+ [F.psqi]: packJson(f.psqi || {}),
+ });
+ } else if (key === "highrisk") {
+ Object.assign(payload, toApiParent(archive.parentInfo || {}), {
+ highRiskChildType: archive.highriskCategory || "",
+ highRiskChildName: archive.highriskName || "",
+ plannedFollowTime: toDateTime(archive.followupDate),
+ [F.growth]: packJson(archive.growthData || []),
+ [F.neuro]: packJson(archive.neuroData || []),
+ [F.intervention]: packJson(archive.interventionData || []),
+ });
+ } else if (key === "nutrition") {
+ Object.assign(payload, toApiParent(archive.parentInfo || {}), {
+ nutritionDiagName: archive.nutritionName || "",
+ nutritionIcd10Code: archive.nutritionCode || "",
+ [F.measure]: packJson(archive.measureData || []),
+ [F.diet]: packJson(archive.dietData || []),
+ [F.plan]: packJson(archive.planData || []),
+ });
+ } else if (key === "learning") {
+ const ld =
+ (archive.archiveForm && archive.archiveForm.learningData) || archive.archiveForm || {};
+ Object.assign(
+ payload,
+ toApiParent(archive.parentInfo || {}),
+ splitLearningForm(ld, archive.appointmentStatus || "")
+ );
+ }
+
+ delete payload.age;
+ return normalizeDates(payload);
+}
+
+/* ==================== 璇︽儏璁板綍 -> 椤甸潰琛ㄥ崟鏁版嵁 ==================== */
+
+/** 鎶婅鎯呰〃 TEXT 瀛楁杩樺師鎴愰〉闈㈣〃鍗曟暟鎹� */
+function applyDetailToForms(archive, detail) {
+ const key = archive.subType;
+ const F = FORM_FIELD_BY_TAB[key] || {};
+
+ if (key === "pregnancy") {
+ const early = unpackJson(detail.epEarlyPregnancyFollowupForm, null);
+ archive.pregFormData = early || {};
+ if (!archive.pregFormData.followupCycle) {
+ archive.pregFormData.followupCycle = unpackJson(detail.followupPeriod, []);
+ }
+ if (!archive.pregFormData.pregnancy) {
+ archive.pregFormData.pregnancy = {
+ status: "",
+ details: unpackJson(detail.specificSituation, []),
+ hint: unpackJson(detail.handleSuggestion, []),
+ };
+ }
+ if (!archive.pregFormData.registration) archive.pregFormData.registration = {};
+ if (detail.isRecordEstablished != null && detail.isRecordEstablished !== "") {
+ archive.pregFormData.registration.isRegistered =
+ detail.isRecordEstablished === "1" ? "鏄�" : "鍚�";
+ }
+ if (detail.dueDate && !archive.pregFormData.registration.edd) {
+ archive.pregFormData.registration.edd = String(detail.dueDate).substring(0, 10);
+ }
+ if (detail.lastMenstrualTime && !archive.pregFormData.firstVisit) {
+ archive.pregFormData.firstVisit = {
+ lmp: String(detail.lastMenstrualTime).substring(0, 10),
+ };
+ }
+ } else if (key === "menopause") {
+ archive.formData = {
+ menoSysQ: unpackJson(detail.mhiMenopauseFollowupSystemIssuesForm, {}),
+ mhtFirst: unpackJson(detail.mhiMhtInitialVisitMedicalRecordForm, {}),
+ mhtFollow: unpackJson(detail.mhiMhtFollowUpMedicalRecordForm, {}),
+ kupperman: unpackJson(detail.mhiModifiedKuppermanScoringScaleForm, {}),
+ mrs: unpackJson(detail.mhiMenopauseRatingScaleForm, {}),
+ psqi: unpackJson(detail.mhiPittsburghSleepQualityIndexForm, {}),
+ };
+ } else if (key === "highrisk") {
+ archive.growthData = unpackJson(detail.hrcGrowthDevelopmentMonitoring, []);
+ archive.neuroData = unpackJson(detail.hrcNeurologicalEvaluation, []);
+ archive.interventionData = unpackJson(detail.hrcInterventionRecords, []);
+ } else if (key === "nutrition") {
+ archive.measureData = unpackJson(detail.ndPhysicalMeasurements, []);
+ archive.dietData = unpackJson(detail.ndDietaryAssessment, []);
+ archive.planData = unpackJson(detail.ndInterventionProgram, []);
+ } else if (key === "learning") {
+ const appt = unpackJson(detail.appointmentSituation, {});
+ const ability = unpackJson(detail.ldLearningAbilityAssessment, {});
+ const behavior = unpackJson(detail.ldBehavioralAssessment, {});
+ const train = unpackJson(detail.ldInterventionTrainingRecord, {});
+ archive.appointmentStatus = appt.appointmentStatus || "";
+ archive.archiveForm = {
+ learningData: Object.assign({}, ability, behavior, train),
+ };
+ }
+}
+
+/* ==================== 鏌ヨ ==================== */
+
+/**
+ * 鍒嗛〉鏌ヨ鏌愪笓妗堟。妗堬紙鑷姩甯︿笂 archiveType锛�
+ * @param {String} typeKey 涓撴 key
+ * @param {Object} params 鏌ヨ鏉′欢锛屾敮鎸� params.beginTime / params.endTime
+ * @returns Promise<{ rows, total }>
+ */
+export function listArchives(typeKey, params = {}) {
+ const t = resolveTarget(typeKey);
+ if (!t) return Promise.resolve({ rows: [], total: 0 });
+ const api = archiveApi(typeKey);
+ const query = Object.assign({}, params, { archiveType: t.archiveType });
+ return api.list(query).then((res) => {
+ const rows = res.rows || [];
+ cacheRows(rows);
+ return {
+ rows: rows.map((r) => normalizeRow(r, t.module)),
+ total: res.total || 0,
+ };
+ });
+}
+
+/**
+ * 鎸夌瀹ゆ煡璇㈠叏閮ㄤ笓妗堬紙濡囦繚 / 鍎夸繚鎬诲垪琛ㄩ〉鐢紝涓嶅甫 archiveType锛�
+ * @param {String} module maternal|child
+ */
+export function listArchivesByModule(module, params = {}) {
+ const isChild = innerModule(module) === "child";
+ // 涓や釜妯″潡鍏辩敤涓�涓帶鍒跺櫒锛屽彇浠讳竴涓撴 key 鍙槸涓轰簡鎷垮埌鎺ュ彛
+ const api = archiveApi(isChild ? "highrisk" : "pregnancy");
+ return api.list(Object.assign({}, params)).then((res) => {
+ const rows = res.rows || [];
+ cacheRows(rows);
+ return {
+ rows: rows.map((r) => normalizeRow(r, module)),
+ total: res.total || 0,
+ };
+ });
+}
+
+/**
+ * 鏌ヨ鍗曚釜妗f璇︽儏锛岃繑鍥炲墠绔畬鏁村璞�
+ * @param {String} typeKey 涓撴 key
+ * @param {String|Number} id 涓昏〃 ID锛堣鎯呮帴鍙� getInfo/{archiveid} 灏辨槸鎸夊畠鏌ョ殑锛�
+ * @param {String|Number} [detailId] 宸插簾寮冿紝淇濈暀鍙负鍏煎鏃ц皟鐢紝涓嶅啀鍙備笌璇锋眰
+ * @returns Promise<鍓嶇妗f瀵硅薄 | null>
+ */
+export function getArchive(typeKey, id, detailId) {
+ const t = resolveTarget(typeKey);
+ if (!t || !id) return Promise.resolve(null);
+ const api = archiveApi(typeKey);
+
+ return api
+ .getDetail(id)
+ .then((res) => {
+ const detail = res.data || res;
+ if (!detail || !detail.id) return fallbackArchive(typeKey, id, t);
+ // 璇︽儏璁板綍閲岀殑 archiveid 蹇呴』绛変簬褰撳墠涓昏〃 id锛屽惁鍒欒鏄庢暟鎹覆浜嗭紝瀹佸彲涓嶈
+ if (detail.archiveid != null && String(detail.archiveid) !== String(id)) {
+ console.warn(
+ "[archive] 璇︽儏璁板綍涓庝富琛� id 涓嶅尮閰嶏紝宸插拷鐣ヨ鎯呮暟鎹細",
+ { archiveid: detail.archiveid, expectId: id }
+ );
+ return fallbackArchive(typeKey, id, t);
+ }
+ // 璇︽儏琛岋細row.id 鏄鎯呬富閿� -> detailId锛宺ow.archiveid 鏄富琛� ID -> id
+ const archive = skeletonFrom(detail, typeKey, t.module, "detail");
+ applyDetailToForms(archive, detail);
+ return archive;
+ })
+ .catch(() => fallbackArchive(typeKey, id, t));
+}
+
+/** 璇︽儏鍙栦笉鍒版椂鐨勫厹搴曪細鏂板缓鑽夌 > 涓昏〃琛岀紦瀛� > 浠呭甫涓昏〃 id 鐨勭┖妗f */
+function fallbackArchive(typeKey, id, t) {
+ const cached = readDraft(id);
+ if (cached && cached.subType === typeKey) {
+ return Object.assign(emptyArchive(typeKey, id, t), cached, { id });
+ }
+ const row = readRow(id);
+ if (row) return skeletonFrom(row, typeKey, t.module, "main");
+ return emptyArchive(typeKey, id, t);
+}
+
+/** 璇︽儏鍙栦笉鍒版椂鐨勫厹搴曪細鍙甫涓昏〃 id 鐨勭┖妗f锛岄〉闈粛鍙~鍐欏苟淇濆瓨 */
+function emptyArchive(typeKey, id, t) {
+ const typeCfg = getTypeByKey(typeKey) || {};
+ return {
+ id,
+ detailId: "",
+ subType: typeKey,
+ subTypeLabel: typeCfg.subTypeLabel || t.label || "",
+ mainCategory: frontModule(t.module),
+ mainCategoryLabel: frontModule(t.module) === "child" ? "鍎夸繚绉戝缓妗�" : "濡囦繚绉戝缓妗�",
+ sourcePage: "",
+ parentInfo: {},
+ archiveForm: {},
+ };
+}
+
+/* ==================== 鏂板 ==================== */
+
+/**
+ * 鐢变竴鏉℃偅鑰呰褰曪紙闂ㄨ瘖 / 浣忛櫌 / 鐙珛褰曞叆锛夊缓妗�
+ * @param {Object} patient 鎮h�呰褰�
+ * @param {String} typeKey 涓撴 key
+ * @param {String} sourcePage outpatient|inpatient|standalone
+ * @returns Promise<鍓嶇妗f瀵硅薄>
+ */
+export function createArchive(patient, typeKey, sourcePage) {
+ const t = resolveTarget(typeKey);
+ if (!t) return Promise.reject(new Error("鏈煡鐨勬。妗堜笓妗堢被鍨嬶細" + typeKey));
+ const api = archiveApi(typeKey);
+ const now = nowDateTime();
+
+ const draft = {
+ subType: typeKey,
+ patid: patient.patid || patient.id || "",
+ patname: patient.patname || patient.name || "",
+ sex: patient.sex,
+ telcode: patient.telcode || patient.phone || "",
+ idcardno: patient.idcardno || "",
+ birthday: patient.birthday || patient.birthdate || patient.goday || "",
+ // 闂ㄨ瘖/浣忛櫌璁板綍閲岃瘖鏂棩鏈熷瓧娈靛悕涓嶇粺涓�锛坅dmitdate / diagTime / diagnosisDate锛夛紝涓斿彲鑳藉彧鏈夋棩鏈�
+ diagnosisDate: patient.diagnosisDate || patient.diagTime || patient.admitdate || "",
+ createTime: now,
+ outhospno: patient.outhospno || "",
+ inhospno: patient.inhospno || "",
+ serialnum: patient.serialnum || "",
+ deptcode: patient.deptcode || "",
+ deptname: patient.deptname || "",
+ wardcode: patient.wardcode || "",
+ wardname: patient.wardname || "",
+ icd10code: patient.icd10code || "",
+ diagname: patient.diagname || "",
+ attendingDoctor: patient.drname || "",
+ registrant: localStorage.getItem("YongHuXM") || "",
+ closeStatus: "0",
+ sourcePage: sourcePage || "outpatient",
+ parentInfo: {},
+ archiveForm: {},
+ };
+
+ const payload = buildPayload(draft, t, false);
+ return api.save(payload).then((res) => {
+ const newId = res && res.data != null ? res.data : "";
+ const typeCfg = getTypeByKey(typeKey) || {};
+ const archive = Object.assign({}, draft, {
+ id: newId,
+ detailId: "",
+ subTypeLabel: typeCfg.subTypeLabel || t.label,
+ mainCategory: frontModule(t.module),
+ mainCategoryLabel: frontModule(t.module) === "child" ? "鍎夸繚绉戝缓妗�" : "濡囦繚绉戝缓妗�",
+ age: calcAge(draft.birthday),
+ });
+ saveDraft(newId, archive);
+ return archive;
+ });
+}
+
+/* ==================== 淇濆瓨 / 缁撴 / 鍒犻櫎 ==================== */
+
+/**
+ * 淇濆瓨妗f锛氫竴娆� insertOrUpdate 鍚屾椂鏇存柊涓昏〃涓庤鎯呰〃
+ * @param {Object} archive 鍓嶇妗f瀵硅薄
+ * @param {Boolean} onlyCloseStatus 浠呮洿鏂扮粨妗堢姸鎬�
+ */
+export function saveArchive(archive, onlyCloseStatus) {
+ const key = archive.subType;
+ const t = resolveTarget(key);
+ if (!t || !archive.id) return Promise.reject(new Error("妗f缂哄皯 subType 鎴� id"));
+ const api = archiveApi(key);
+
+ if (onlyCloseStatus) {
+ return api.save({ archiveid: archive.id, archiveType: t.archiveType, closeStatus: "1" });
+ }
+ return api.save(buildPayload(archive, t, true)).then((res) => {
+ clearDraft(archive.id);
+ return res;
+ });
+}
+
+/** 缁撴 */
+export function closeArchive(archive) {
+ return saveArchive(archive, true);
+}
+
+/**
+ * 鍒犻櫎妗f锛堜富琛ㄩ�昏緫鍒犻櫎锛岃鎯呰〃鍦ㄥ悓涓�浜嬪姟閲屼竴璧峰垹锛�
+ * @param {String} typeKey 涓撴 key
+ * @param {Array} ids 涓昏〃 id 鏁扮粍
+ */
+export function removeArchives(typeKey, ids) {
+ const t = resolveTarget(typeKey);
+ if (!t || !ids || !ids.length) return Promise.resolve();
+ return archiveApi(typeKey).batchDelete(ids);
+}
+
+/** 鍒犻櫎妗f锛堟寜琛屾暟缁勶紝鑷姩鎸変笓妗堝垎缁勶級 */
+export function removeArchiveList(rows = []) {
+ const groups = {};
+ rows.forEach((r) => {
+ const key = r.subType || "";
+ if (!key) return;
+ (groups[key] = groups[key] || []).push(r.id);
+ });
+ return Promise.all(
+ Object.keys(groups).map((key) => removeArchives(key, groups[key]))
+ );
+}
+
+export { calcAge, nowDateTime, today, toDateTime };
diff --git a/src/views/patient/archives/childHealth/detail.vue b/src/views/patient/archives/childHealth/detail.vue
index be662b4..2c13ee6 100644
--- a/src/views/patient/archives/childHealth/detail.vue
+++ b/src/views/patient/archives/childHealth/detail.vue
@@ -60,9 +60,20 @@
</div>
<el-form :model="archive" label-width="110px" size="small" :disabled="!editing">
<el-row :gutter="20">
+ <el-col :span="8"><el-form-item label="韬唤璇佸彿"><el-input v-model="archive.idcardno" class="w-md" placeholder="杈撳叆鍚堟硶韬唤璇佸彿鍚庤嚜鍔ㄥ甫鍑哄嚭鐢熸棩鏈熶笌骞撮緞" /></el-form-item></el-col>
+ </el-row>
+ <el-row :gutter="20">
<el-col :span="8"><el-form-item label="鍑虹敓鏃ユ湡"><el-date-picker v-model="archive.birthday" value-format="yyyy-MM-dd" class="w-md" /></el-form-item></el-col>
- <el-col :span="8"><el-form-item label="鍑虹敓浣撻噸"><el-input v-model="archive.birthWeight" class="w-xs" /></el-form-item></el-col>
- <el-col :span="8"><el-form-item label="鍑虹敓瀛曞懆"><el-input v-model="archive.gestationalWeek" class="w-xs" /></el-form-item></el-col>
+ <el-col :span="8"><el-form-item label="鍑虹敓浣撻噸">
+ <el-input v-model="archive.birthWeight" class="w-xs">
+ <template slot="append">kg</template>
+ </el-input>
+ </el-form-item></el-col>
+ <el-col :span="8"><el-form-item label="鍑虹敓瀛曞懆">
+ <el-input v-model="archive.gestationalWeek" class="w-xs">
+ <template slot="append">鍛�</template>
+ </el-input>
+ </el-form-item></el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8"><el-form-item label="璇婃柇鏃ユ湡"><el-date-picker v-model="archive.diagnosisDate" value-format="yyyy-MM-dd" class="w-md" /></el-form-item></el-col>
@@ -76,11 +87,11 @@
</el-card>
<!-- 楂樺嵄鍎夸笓妗� 鈫� 鍙紪杈戣〃鏍� -->
- <el-card v-if="archive.subType === 'highRisk'" class="info-card" shadow="never" style="margin-top:14px">
+ <el-card v-if="archive.subType === 'highrisk'" class="info-card" shadow="never" style="margin-top:14px">
<div slot="header" class="card-header"><span>楂樺嵄鍎夸笓妗堢鐞�</span></div>
<el-form :model="archive" label-width="110px" size="small" :disabled="!editing" inline>
- <el-form-item label="楂樺嵄鍎垮垎绫�"><el-input v-model="archive.highRiskCategory" class="w-md" /></el-form-item>
- <el-form-item label="楂樺嵄鍎垮悕绉�"><el-input v-model="archive.highRiskName" class="w-lg" /></el-form-item>
+ <el-form-item label="楂樺嵄鍎垮垎绫�"><el-input v-model="archive.highriskCategory" class="w-md" /></el-form-item>
+ <el-form-item label="楂樺嵄鍎垮悕绉�"><el-input v-model="archive.highriskName" class="w-lg" /></el-form-item>
<el-form-item label="鎷熼殢璁挎棩鏈�"><el-date-picker v-model="archive.followupDate" value-format="yyyy-MM-dd" class="w-md" /></el-form-item>
</el-form>
<el-tabs v-model="activeTab" type="border-card">
@@ -177,7 +188,7 @@
import EditableTable from "../components/EditableTable.vue";
import InfoField from "./InfoField.vue";
import ServiceRecords from "../components/ServiceRecords.vue";
-import { loadArchives, saveArchives } from "../types";
+import { getArchive, saveArchive, closeArchive, calcAge } from "../apiAdapter";
export default {
name: "ChildHealthArchiveDetail",
@@ -195,37 +206,37 @@
growthData: [], neuroData: [], interventionData: [],
measureData: [], dietData: [], planData: [],
growthColumns: [
- { prop:"checkDate", label:"妫�鏌ユ棩鏈�", width:120, type:"date" },{ prop:"monthAge", label:"鏈堥緞", width:80 },
+ { prop:"checkDate", label:"妫�鏌ユ棩鏈�", width:180, type:"date" },{ prop:"monthAge", label:"鏈堥緞", width:80 },
{ prop:"weight", label:"浣撻噸(kg)", width:100, type:"number" },{ prop:"height", label:"韬珮(cm)", width:100, type:"number" },
{ prop:"headCircum", label:"澶村洿(cm)", width:100, type:"number" },{ prop:"weightPercentile", label:"浣撻噸鐧惧垎浣�", width:110 },
{ prop:"heightPercentile", label:"韬珮鐧惧垎浣�", width:110 },{ prop:"evaluation", label:"璇勪及缁撴灉", type:"select", options:["姝e父","鍋忕槮","鍋忚儢","鍙戣偛杩熺紦"] },
{ prop:"doctor", label:"妫�鏌ュ尰鐢�", width:100 },
],
neuroColumns: [
- { prop:"checkDate", label:"璇勪及鏃ユ湡", width:120, type:"date" },{ prop:"monthAge", label:"鏈堥緞", width:70 },
+ { prop:"checkDate", label:"璇勪及鏃ユ湡", width:180, type:"date" },{ prop:"monthAge", label:"鏈堥緞", width:70 },
{ prop:"muscleTone", label:"鑲屽紶鍔�", width:100 },{ prop:"reflex", label:"鍘熷鍙嶅皠", width:100 },
{ prop:"gms", label:"GMs璇勪及", width:120 },{ prop:"nbnaScore", label:"NBNA璇勫垎", width:100, type:"number" },
{ prop:"evaluation", label:"缁煎悎璇勪及", type:"select", options:["姝e父","寮傚父","鍙枒"] },{ prop:"doctor", label:"璇勪及鍖荤敓", width:100 },
],
interventionColumns: [
- { prop:"date", label:"鏃ユ湡", width:120, type:"date" },{ prop:"type", label:"骞查绫诲瀷", width:140 },
+ { prop:"date", label:"鏃ユ湡", width:180, type:"date" },{ prop:"type", label:"骞查绫诲瀷", width:140 },
{ prop:"content", label:"骞查鍐呭", minWidth:200 },{ prop:"frequency", label:"棰戠巼", width:120 },
{ prop:"effect", label:"鏁堟灉璇勪环", width:100 },{ prop:"executor", label:"鎵ц浜�", width:100 },
],
measureColumns: [
- { prop:"checkDate", label:"妫�鏌ユ棩鏈�", width:120, type:"date" },{ prop:"weight", label:"浣撻噸(kg)", width:100, type:"number" },
+ { prop:"checkDate", label:"妫�鏌ユ棩鏈�", width:180, type:"date" },{ prop:"weight", label:"浣撻噸(kg)", width:100, type:"number" },
{ prop:"height", label:"韬珮(cm)", width:100, type:"number" },{ prop:"bmi", label:"BMI", width:80, type:"number" },
{ prop:"bmiPercentile", label:"BMI鐧惧垎浣�", width:110 },{ prop:"waistHip", label:"鑵板洿/鑷�鍥�", width:120 },
{ prop:"evaluation", label:"钀ュ吇璇勪环", type:"select", options:["姝e父","瓒呴噸","鑲ヨ儢","钀ュ吇涓嶈壇"] },
],
dietColumns: [
- { prop:"date", label:"璇勪及鏃ユ湡", width:120, type:"date" },{ prop:"energy", label:"鑳介噺(kcal/d)", width:120, type:"number" },
+ { prop:"date", label:"璇勪及鏃ユ湡", width:180, type:"date" },{ prop:"energy", label:"鑳介噺(kcal/d)", width:120, type:"number" },
{ prop:"protein", label:"铔嬬櫧璐�(g/d)", width:120, type:"number" },{ prop:"fat", label:"鑴傝偑(g/d)", width:100, type:"number" },
{ prop:"carbs", label:"纰虫按(g/d)", width:100, type:"number" },{ prop:"dietScore", label:"鑶抽璇勫垎", width:100 },
{ prop:"problem", label:"瀛樺湪闂", minWidth:160 },
],
planColumns: [
- { prop:"date", label:"鍒跺畾鏃ユ湡", width:120, type:"date" },{ prop:"target", label:"骞查鐩爣", minWidth:200 },
+ { prop:"date", label:"鍒跺畾鏃ユ湡", width:180, type:"date" },{ prop:"target", label:"骞查鐩爣", minWidth:200 },
{ prop:"energyTarget", label:"鑳介噺鐩爣(kcal)", width:130, type:"number" },{ prop:"foodGuide", label:"鑶抽鎸囧", minWidth:200 },
{ prop:"exercise", label:"杩愬姩寤鸿", minWidth:180 },{ prop:"reviewDate", label:"澶嶆煡鏃ユ湡", width:120 },
],
@@ -238,40 +249,81 @@
return map[this.archive?.sourcePage] || this.archive?.sourcePage || "-";
},
},
+ watch: {
+ // 韬唤璇佸彿濉畬鏁村悗锛岃嚜鍔ㄦ妸鍑虹敓鏃ユ湡涓庡勾榫勮ˉ涓婏紙鍙ˉ绌哄瓧娈碉級
+ "archive.idcardno"(val) { this.fillBirthdayFromIdcard(val); },
+ },
created() {
const id = this.$route.query.id;
- if (id) this.loadArchive(id, this.$route.query.edit == 1);
+ const typeKey = this.$route.query.type;
+ if (id) this.loadArchive(id, typeKey, this.$route.query.edit == 1, this.$route.query.detailId);
},
methods: {
- loadArchive(id, autoEdit) {
- this.loading = true;
- this.archive = loadArchives().find((item) => item.id === id) || null;
- if (this.archive) {
- if (!this.archive.parentInfo) this.archive.parentInfo = {};
- if (this.archive.subType === 'highRisk') {
- this.activeTab = "growth";
- this.growthData = this.archive.growthData || getDefaultGrowthData();
- this.neuroData = this.archive.neuroData || getDefaultNeuroData();
- this.interventionData = this.archive.interventionData || getDefaultInterventionData();
- } else if (this.archive.subType === 'nutrition') {
- this.activeTab = "measure";
- this.measureData = this.archive.measureData || getDefaultMeasureData();
- this.dietData = this.archive.dietData || getDefaultDietData();
- this.planData = this.archive.planData || getDefaultPlanData();
- } else if (this.archive.subType === 'learning' && this.archive.archiveForm?.learningData) {
- Object.assign(this.form, this.archive.archiveForm.learningData);
- }
+ /**
+ * 浠庤韩浠借瘉鍙疯В鏋愬嚭鐢熸棩鏈� yyyy-MM-dd
+ * 18 浣嶏細绗� 7-14 浣嶆槸 yyyyMMdd锛�15 浣嶈�佽韩浠借瘉锛氱 7-12 浣嶆槸 yyMMdd锛屽墠闈㈣ˉ 19
+ * 鏍煎紡涓嶅鎴栨棩鏈熶笉瀛樺湪锛堝 20260231锛夎繑鍥炵┖
+ */
+ parseIdcardBirth(id) {
+ if (!id) return "";
+ const s = String(id).trim().toUpperCase();
+ let y, m, d;
+ if (/^\d{17}[\dX]$/.test(s)) {
+ y = s.substring(6, 10); m = s.substring(10, 12); d = s.substring(12, 14);
+ } else if (/^\d{15}$/.test(s)) {
+ y = "19" + s.substring(6, 8); m = s.substring(8, 10); d = s.substring(10, 12);
+ } else {
+ return "";
}
- if (autoEdit) this.editing = true;
- this.loading = false;
+ const pad = (n) => String(n).padStart(2, "0");
+ const dt = new Date(Number(y), Number(m) - 1, Number(d));
+ if (isNaN(dt.getTime())) return "";
+ // 鎷掔粷 2 鏈� 31 鏃ヨ繖绫讳笉瀛樺湪鐨勬棩鏈�
+ if (dt.getFullYear() !== Number(y) || pad(dt.getMonth() + 1) !== m || pad(dt.getDate()) !== d) return "";
+ return y + "-" + m + "-" + d;
+ },
+ /** 韬唤璇佸悎娉曟椂琛ラ綈鍑虹敓鏃ユ湡涓庡勾榫勶紝宸茬粡鏈夊�肩殑瀛楁涓嶅姩 */
+ fillBirthdayFromIdcard(id) {
+ if (!this.archive) return;
+ const birth = this.parseIdcardBirth(id);
+ if (!birth) return;
+ if (!this.archive.birthday) this.archive.birthday = birth;
+ if (!this.archive.age) this.archive.age = calcAge(birth);
+ },
+ loadArchive(id, typeKey, autoEdit, detailId) {
+ this.loading = true;
+ getArchive(typeKey, id, detailId)
+ .then((archive) => {
+ this.archive = archive || null;
+ if (this.archive) {
+ if (!this.archive.parentInfo) this.archive.parentInfo = {};
+ if (this.archive.subType === 'highrisk') {
+ this.activeTab = "growth";
+ this.growthData = this.archive.growthData || getDefaultGrowthData();
+ this.neuroData = this.archive.neuroData || getDefaultNeuroData();
+ this.interventionData = this.archive.interventionData || getDefaultInterventionData();
+ } else if (this.archive.subType === 'nutrition') {
+ this.activeTab = "measure";
+ this.measureData = this.archive.measureData || getDefaultMeasureData();
+ this.dietData = this.archive.dietData || getDefaultDietData();
+ this.planData = this.archive.planData || getDefaultPlanData();
+ } else if (this.archive.subType === 'learning' && this.archive.archiveForm && this.archive.archiveForm.learningData) {
+ Object.assign(this.form, this.archive.archiveForm.learningData);
+ }
+ }
+ if (autoEdit) this.editing = true;
+ })
+ .catch(() => { this.archive = null; })
+ .finally(() => { this.loading = false; });
},
toggleEdit() {
if (this.editing) {
+ // 鍏堟妸椤甸潰琛ㄥ崟鍥炲~鍒版。妗堝璞★紝鍐嶆暣浣撴彁浜�
if (this.archive.subType === 'learning') {
if (!this.archive.archiveForm) this.archive.archiveForm = {};
this.archive.archiveForm.learningData = JSON.parse(JSON.stringify(this.form));
}
- if (this.archive.subType === 'highRisk') {
+ if (this.archive.subType === 'highrisk') {
this.archive.growthData = JSON.parse(JSON.stringify(this.growthData));
this.archive.neuroData = JSON.parse(JSON.stringify(this.neuroData));
this.archive.interventionData = JSON.parse(JSON.stringify(this.interventionData));
@@ -281,27 +333,31 @@
this.archive.dietData = JSON.parse(JSON.stringify(this.dietData));
this.archive.planData = JSON.parse(JSON.stringify(this.planData));
}
- this.archive.updateTime = new Date().toISOString().replace("T"," ").substring(0,19);
- const all = loadArchives();
- const idx = all.findIndex(item => item.id === this.archive.id);
- if (idx >= 0) all[idx] = JSON.parse(JSON.stringify(this.archive));
- saveArchives(all);
- this.$message.success("淇濆瓨鎴愬姛");
+ this.loading = true;
+ saveArchive(this.archive)
+ .then(() => {
+ this.$message.success("淇濆瓨鎴愬姛");
+ this.editing = false;
+ })
+ .catch(() => {})
+ .finally(() => { this.loading = false; });
+ return;
}
- this.editing = !this.editing;
+ this.editing = true;
},
handleCloseCase() {
this.$modal.confirm("纭灏嗚妗f缁撴锛�").then(() => {
- this.archive.closeStatus = 1;
- this.archive.updateTime = new Date().toISOString().replace("T"," ").substring(0,19);
- const all = loadArchives();
- const idx = all.findIndex(item => item.id === this.archive.id);
- if (idx >= 0) all[idx] = JSON.parse(JSON.stringify(this.archive));
- saveArchives(all);
- this.$message.success("宸茬粨妗�");
+ this.loading = true;
+ return closeArchive(this.archive)
+ .then(() => {
+ this.archive.closeStatus = 1;
+ this.$message.success("宸茬粨妗�");
+ })
+ .catch(() => {})
+ .finally(() => { this.loading = false; });
}).catch(() => {});
},
- subTypeTag(type) { const m={highRisk:"danger",nutrition:"warning",learning:"info"}; return m[type]||""; },
+ subTypeTag(type) { const m={highrisk:"danger",nutrition:"warning",learning:"info"}; return m[type]||""; },
},
};
@@ -340,7 +396,7 @@
<style lang="scss" scoped>
// 杈撳叆妗嗗搴︼紙鎸夊瓧娈甸暱鐭尯鍒嗭級
-.w-xs { width: 90px; }
+.w-xs { width: 120px; }
.w-sm { width: 150px; }
.w-md { width: 200px; }
.w-lg { width: 280px; }
diff --git a/src/views/patient/archives/childHealth/index.vue b/src/views/patient/archives/childHealth/index.vue
index 546b5c9..75df597 100644
--- a/src/views/patient/archives/childHealth/index.vue
+++ b/src/views/patient/archives/childHealth/index.vue
@@ -6,7 +6,7 @@
</el-form-item>
<el-form-item label="涓撴绫诲瀷">
<el-select v-model="queryParams.subType" placeholder="璇烽�夋嫨" clearable style="width:180px">
- <el-option label="楂樺嵄鍎夸笓妗堢鐞�" value="highRisk" />
+ <el-option label="楂樺嵄鍎夸笓妗堢鐞�" value="highrisk" />
<el-option label="钀ュ吇鎬х柧鐥呬笓妗堢鐞�" value="nutrition" />
<el-option label="瀛︿範鍥伴毦涓撴绠$悊" value="learning" />
</el-select>
@@ -56,7 +56,7 @@
<el-tag :type="subTypeTag(scope.row.subType)">{{ scope.row.subTypeLabel }}</el-tag>
</template>
</el-table-column>
- <el-table-column label="寤烘。鍖荤敓" align="center" prop="archiveForm.doctorName" width="100" />
+ <el-table-column label="鐧昏浜哄憳" align="center" prop="registrant" width="100" />
<el-table-column label="寤烘。鏃堕棿" align="center" width="160">
<template slot-scope="scope">{{ scope.row.createTime ? scope.row.createTime.substring(0, 10) : '-' }}</template>
</el-table-column>
@@ -88,13 +88,17 @@
<script>
import ArchiveDialog from "@/views/patient/archives/components/ArchiveDialog.vue";
+import { listArchivesByModule, removeArchiveList } from "../apiAdapter";
+
+// 鍎跨涓撴 key -> 鍚庣 archiveType锛�1-钀ュ吇鎬х柧鐥� 2-瀛︿範鍥伴毦 3-楂樺嵄鍎夸笓妗堬級
+const CHILD_TYPE_CODE = { nutrition: "1", learning: "2", highrisk: "3" };
export default {
name: "ChildHealthArchive",
components: { ArchiveDialog },
data() {
return {
- loading: false, showSearch: true, multiple: true, ids: [], dateRange: [], total: 0, allList: [], displayList: [],
+ loading: false, showSearch: true, multiple: true, ids: [], selectedRows: [], dateRange: [], total: 0, allList: [], displayList: [],
createDialogVisible: false,
queryParams: { pageNum: 1, pageSize: 10, patname: "", subType: "", deptname: "" },
};
@@ -103,39 +107,41 @@
methods: {
getList() {
this.loading = true;
- const all = JSON.parse(localStorage.getItem("patientArchives") || "[]");
- this.allList = all.filter((item) => item.mainCategory === "child");
- let filtered = [...this.allList];
- if (this.queryParams.patname) filtered = filtered.filter((item) => item.patname && item.patname.includes(this.queryParams.patname));
- if (this.queryParams.subType) filtered = filtered.filter((item) => item.subType === this.queryParams.subType);
- if (this.queryParams.deptname) filtered = filtered.filter((item) => item.deptname && item.deptname.includes(this.queryParams.deptname));
+ const params = { pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize };
+ if (this.queryParams.patname) params.patname = this.queryParams.patname;
+ if (this.queryParams.deptname) params.deptname = this.queryParams.deptname;
+ if (this.queryParams.subType) params.archiveType = CHILD_TYPE_CODE[this.queryParams.subType] || "";
if (this.dateRange && this.dateRange.length === 2) {
- filtered = filtered.filter((item) => {
- const d = (item.createTime || "").substring(0, 10);
- return d >= this.dateRange[0] && d <= this.dateRange[1];
- });
+ params.params = { beginTime: this.dateRange[0], endTime: this.dateRange[1] };
}
- this.total = filtered.length;
- const start = (this.queryParams.pageNum - 1) * this.queryParams.pageSize;
- this.displayList = filtered.slice(start, start + this.queryParams.pageSize);
- this.loading = false;
+ listArchivesByModule("child", params)
+ .then((res) => {
+ this.allList = res.rows || [];
+ this.displayList = this.allList;
+ this.total = res.total || 0;
+ })
+ .catch(() => { this.displayList = []; this.total = 0; })
+ .finally(() => { this.loading = false; });
},
- subTypeTag(type) { const map = { highRisk: "danger", nutrition: "warning", learning: "info" }; return map[type] || ""; },
+ subTypeTag(type) { const map = { highrisk: "danger", nutrition: "warning", learning: "info" }; return map[type] || ""; },
handleQuery() { this.queryParams.pageNum = 1; this.getList(); },
resetQuery() { this.dateRange = []; this.queryParams = { pageNum: 1, pageSize: 10, patname: "", subType: "", deptname: "" }; this.getList(); },
- handleSelectionChange(s) { this.ids = s.map(i => i.id); this.multiple = !s.length; },
+ handleSelectionChange(s) {
+ this.selectedRows = s;
+ this.ids = s.map(i => i.id);
+ this.multiple = !s.length;
+ },
handleDelete() {
if (this.ids.length === 0) { this.$modal.msgWarning("璇疯嚦灏戦�夋嫨涓�鏉�"); return; }
this.$modal.confirm("纭鍒犻櫎閫変腑妗f锛�").then(() => {
- const all = JSON.parse(localStorage.getItem("patientArchives") || "[]");
- const remaining = all.filter((item) => !this.ids.includes(item.id));
- localStorage.setItem("patientArchives", JSON.stringify(remaining));
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); this.getList();
+ return removeArchiveList(this.selectedRows).then(() => {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); this.getList();
+ });
}).catch(() => {});
},
- handleSingleDelete(row) { this.ids = [row.id]; this.handleDelete(); },
+ handleSingleDelete(row) { this.selectedRows = [row]; this.ids = [row.id]; this.handleDelete(); },
handleCreateStandalone() { this.createDialogVisible = true; },
- goDetail(row) { this.$router.push({ path: "/filing/childDetail", query: { id: row.id } }); },
+ goDetail(row) { this.$router.push({ path: "/filing/childDetail", query: { id: row.id, type: row.subType, detailId: row.detailId || "" } }); },
},
};
</script>
diff --git a/src/views/patient/archives/components/ArchiveDialog.vue b/src/views/patient/archives/components/ArchiveDialog.vue
index 3b54e85..030464a 100644
--- a/src/views/patient/archives/components/ArchiveDialog.vue
+++ b/src/views/patient/archives/components/ArchiveDialog.vue
@@ -67,7 +67,8 @@
</template>
<script>
-import { ARCHIVE_TYPES, loadArchives, saveArchives, buildArchiveRecord } from "../types";
+import { ARCHIVE_TYPES } from "../types";
+import { createArchive } from "../apiAdapter";
export default {
name: "ArchiveDialog",
@@ -117,20 +118,25 @@
const patientList = this.standalone ? [this.standalonePatient] : this.selectedPatients;
const sourcePage = this.standalone ? "standalone" : this.sourcePage;
- const records = patientList.map((p) => buildArchiveRecord(p, this.subType, sourcePage));
- saveArchives([...loadArchives(), ...records]);
-
- this.submitting = false;
- this.dialogVisible = false;
- this.$message.success(`鎴愬姛鍒涘缓 ${records.length} 鏉″缓妗h褰昤);
- this.$emit("created");
-
- // 杩涘叆璇︽儏椤碉紙缂栬緫鎬侊級
- const first = records[0];
const type = ARCHIVE_TYPES.find((t) => t.key === this.subType);
- if (first && type) {
- this.$router.push({ path: type.detailRoute, query: { id: first.id, edit: 1 } });
- }
+
+ Promise.all(patientList.map((p) => createArchive(p, this.subType, sourcePage)))
+ .then((records) => {
+ this.submitting = false;
+ this.dialogVisible = false;
+ this.$message.success(`鎴愬姛鍒涘缓 ${records.length} 鏉″缓妗h褰昤);
+ this.$emit("created");
+
+ // 杩涘叆璇︽儏椤碉紙缂栬緫鎬侊級
+ const first = records[0];
+ if (first && type && first.id) {
+ this.$router.push({ path: type.detailRoute, query: { id: first.id, type: this.subType, edit: 1 } });
+ }
+ })
+ .catch(() => {
+ this.submitting = false;
+ this.$message.error("寤烘。澶辫触锛岃绋嶅悗閲嶈瘯");
+ });
},
handleClose() { this.resetForm(); },
},
diff --git a/src/views/patient/archives/components/ArchiveList.vue b/src/views/patient/archives/components/ArchiveList.vue
index 8dac4b7..f2aed0a 100644
--- a/src/views/patient/archives/components/ArchiveList.vue
+++ b/src/views/patient/archives/components/ArchiveList.vue
@@ -64,7 +64,8 @@
<script>
import OutpatientPicker from "./OutpatientPicker.vue";
-import { getTypeByKey, loadArchives, saveArchives } from "../types";
+import { getTypeByKey } from "../types";
+import { listArchives, removeArchives } from "../apiAdapter";
export default {
name: "ArchiveList",
@@ -88,20 +89,25 @@
methods: {
getList() {
this.loading = true;
- const all = loadArchives().filter((item) => item.subType === this.type);
- let filtered = [...all];
- if (this.queryParams.patname) filtered = filtered.filter((i) => i.patname && i.patname.includes(this.queryParams.patname));
- if (this.queryParams.diagname) filtered = filtered.filter((i) => i.diagname && i.diagname.includes(this.queryParams.diagname));
+ const params = {
+ pageNum: this.queryParams.pageNum,
+ pageSize: this.queryParams.pageSize,
+ };
+ if (this.queryParams.patname) params.patname = this.queryParams.patname;
+ if (this.queryParams.diagname) params.diagname = this.queryParams.diagname;
if (this.dateRange && this.dateRange.length === 2) {
- filtered = filtered.filter((i) => {
- const d = (i.createTime || "").substring(0, 10);
- return d >= this.dateRange[0] && d <= this.dateRange[1];
- });
+ params.params = { beginTime: this.dateRange[0], endTime: this.dateRange[1] };
}
- this.total = filtered.length;
- const start = (this.queryParams.pageNum - 1) * this.queryParams.pageSize;
- this.displayList = filtered.slice(start, start + this.queryParams.pageSize);
- this.loading = false;
+ listArchives(this.type, params)
+ .then((res) => {
+ this.displayList = res.rows || [];
+ this.total = res.total || 0;
+ })
+ .catch(() => {
+ this.displayList = [];
+ this.total = 0;
+ })
+ .finally(() => { this.loading = false; });
},
handleQuery() { this.queryParams.pageNum = 1; this.getList(); },
resetQuery() {
@@ -113,20 +119,20 @@
handleDelete() {
if (this.ids.length === 0) { this.$modal.msgWarning("璇疯嚦灏戦�夋嫨涓�鏉�"); return; }
this.$modal.confirm("纭鍒犻櫎閫変腑妗f锛�").then(() => {
- const remaining = loadArchives().filter((item) => !this.ids.includes(item.id));
- saveArchives(remaining);
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- this.getList();
+ return removeArchives(this.type, this.ids).then(() => {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ this.getList();
+ });
}).catch(() => {});
},
handleSingleDelete(row) { this.ids = [row.id]; this.handleDelete(); },
handleCreate() { this.pickerVisible = true; },
onPicked(record) {
this.getList();
- this.$router.push({ path: this.typeConfig.detailRoute, query: { id: record.id, edit: 1 } });
+ this.$router.push({ path: this.typeConfig.detailRoute, query: { id: record.id, type: this.type, detailId: record.detailId || "", edit: 1 } });
},
goDetail(row) {
- this.$router.push({ path: this.typeConfig.detailRoute, query: { id: row.id } });
+ this.$router.push({ path: this.typeConfig.detailRoute, query: { id: row.id, type: this.type, detailId: row.detailId || "" } });
},
getProp(obj, path) {
if (!path) return "";
diff --git a/src/views/patient/archives/components/EditableTable.vue b/src/views/patient/archives/components/EditableTable.vue
index 3591c6e..970ec14 100644
--- a/src/views/patient/archives/components/EditableTable.vue
+++ b/src/views/patient/archives/components/EditableTable.vue
@@ -66,6 +66,9 @@
editing: { type: Boolean, default: false },
columns: { type: Array, default: () => [] },
tableKey: { type: String, default: "" },
+ // 闇�瑕佽嚜鍔ㄨ繛缁紪鍙风殑鍒� prop锛堝 seq锛夈�傛柊澧炶銆佸垹闄よ鍚庨兘浼氭寜琛屽簭閲嶆帓锛�
+ // 閬垮厤鍑虹幇 1銆�3銆�4 杩欑鏂彿銆備笉浼犲垯涓嶅鐞嗐��
+ autoSeq: { type: String, default: "" },
},
data() {
return {
@@ -80,19 +83,36 @@
methods: {
addRow() {
const row = {};
- this.columns.forEach(col => {
- if (col.type === 'number') row[col.prop] = null;
- else if (col.type === 'date') row[col.prop] = '';
- else row[col.prop] = '';
+ this.columns.forEach((col) => {
+ // 鍒椾笂閰嶄簡 default 灏变紭鍏堢敤瀹冿紙鍙互鏄�硷紝涔熷彲浠ユ槸 (index, rows) => value锛�
+ if (col.default !== undefined) {
+ row[col.prop] =
+ typeof col.default === "function"
+ ? col.default(this.localData.length, this.localData)
+ : col.default;
+ } else if (col.type === "number") {
+ row[col.prop] = null;
+ } else {
+ row[col.prop] = "";
+ }
});
this.localData.push(row);
+ this.renumber();
},
deleteRows() {
// remove by reference
- this.localData = this.localData.filter(row => !this.selectedRows.includes(row));
+ this.localData = this.localData.filter((row) => !this.selectedRows.includes(row));
this.selectedRows = [];
+ this.renumber();
this.$emit("update:data", this.localData);
},
+ /** 鎸夎搴忛噸鍐� autoSeq 鍒楃殑搴忓彿锛�1銆�2銆�3...锛� */
+ renumber() {
+ if (!this.autoSeq) return;
+ this.localData.forEach((row, i) => {
+ row[this.autoSeq] = String(i + 1);
+ });
+ },
onSelect(rows) { this.selectedRows = rows; },
tagType(v) {
if (!v) return '';
diff --git a/src/views/patient/archives/components/OutpatientPicker.vue b/src/views/patient/archives/components/OutpatientPicker.vue
index 290ef91..53a1513 100644
--- a/src/views/patient/archives/components/OutpatientPicker.vue
+++ b/src/views/patient/archives/components/OutpatientPicker.vue
@@ -61,7 +61,7 @@
<script>
import { listPatouthosp } from "@/api/smartor/patouthosp";
-import { loadArchives, saveArchives, buildArchiveRecord } from "../types";
+import { createArchive } from "../apiAdapter";
import store from "@/store";
export default {
@@ -124,12 +124,14 @@
},
handleConfirm() {
if (!this.currentRow) return;
- const record = buildArchiveRecord(this.currentRow, this.type, this.sourcePage);
- const all = loadArchives();
- all.push(record);
- saveArchives(all);
- this.dialogVisible = false;
- this.$emit("picked", record);
+ this.loading = true;
+ createArchive(this.currentRow, this.type, this.sourcePage || "outpatient")
+ .then((record) => {
+ this.dialogVisible = false;
+ this.$emit("picked", record);
+ })
+ .catch(() => {})
+ .finally(() => { this.loading = false; });
},
handleClose() {
this.currentRow = null;
diff --git a/src/views/patient/archives/highRisk/index.vue b/src/views/patient/archives/highRisk/index.vue
index 7c78b9e..2efa7e3 100644
--- a/src/views/patient/archives/highRisk/index.vue
+++ b/src/views/patient/archives/highRisk/index.vue
@@ -1,5 +1,5 @@
<template>
- <ArchiveList type="highRisk" />
+ <ArchiveList type="highrisk" />
</template>
<script>
diff --git a/src/views/patient/archives/maternalHealth/KuppermanScoreTable.vue b/src/views/patient/archives/maternalHealth/KuppermanScoreTable.vue
index af18f04..e2852bc 100644
--- a/src/views/patient/archives/maternalHealth/KuppermanScoreTable.vue
+++ b/src/views/patient/archives/maternalHealth/KuppermanScoreTable.vue
@@ -1,50 +1,144 @@
<template>
- <div>
- <el-table :data="items" border size="small">
- <el-table-column prop="symptom" label="鐥囩姸" width="160" />
- <el-table-column label="绋嬪害" align="center" width="120">
- <template slot-scope="scope">
- <el-select v-if="editing" v-model="scope.row.degree" size="small">
- <el-option v-for="o in degrees" :key="o.v" :label="o.l" :value="o.v" />
- </el-select>
- <span v-else>{{ degLabel(scope.row.degree) }}</span>
- </template>
+ <div class="scale-wrap">
+ <div class="scale-title">鏀硅壇 Kupperman 璇勫垎鏍囧噯</div>
+
+ <!-- 绾歌川琛ㄨ〃澶达細鎮h�呭熀鏈俊鎭� -->
+ <el-descriptions :column="3" border size="small" class="scale-head">
+ <el-descriptions-item label="濮撳悕">{{ patient.name || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="鎬у埆">{{ patient.sex || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="骞撮緞">{{ patient.age || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="绉戝">{{ patient.dept || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="涓村簥璇婃柇">{{ patient.diagnosis || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="璇勪及鏃ユ湡">
+ <el-date-picker v-if="editing" v-model="local.date" value-format="yyyy-MM-dd" size="mini" style="width:160px" placeholder="閫夋嫨鏃ユ湡" />
+ <span v-else>{{ local.date || "-" }}</span>
+ </el-descriptions-item>
+ </el-descriptions>
+
+ <div class="scale-tip">鎸囧璇細鐥囩姸绋嬪害鎸� 0=鏃犮��1=杞汇��2=涓��3=閲� 璇勫垎锛屽悇椤瑰緱鍒� = 绋嬪害 脳 绯绘暟銆�</div>
+
+ <!-- 绾歌川琛ㄤ富浣擄細鐥囩姸 + 绯绘暟 + 0~3 绋嬪害 + 璇勫垎 -->
+ <el-table :data="items" border size="small" class="kup-table">
+ <el-table-column type="index" label="搴忓彿" width="60" align="center" />
+ <el-table-column prop="symptom" label="鐥囩姸" min-width="160" />
+ <el-table-column prop="factorLabel" label="绯绘暟" width="70" align="center" />
+ <el-table-column label="0 鏃�" align="center" width="80">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="0"> </el-radio><span v-else>{{ local[scope.row.key] === 0 ? "鉁�" : "" }}</span></template>
</el-table-column>
- <el-table-column prop="score" label="璇勫垎" align="center" width="100" />
+ <el-table-column label="1 杞�" align="center" width="80">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="1"> </el-radio><span v-else>{{ local[scope.row.key] === 1 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="2 涓�" align="center" width="80">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="2"> </el-radio><span v-else>{{ local[scope.row.key] === 2 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="3 閲�" align="center" width="80">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="3"> </el-radio><span v-else>{{ local[scope.row.key] === 3 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="璇勫垎" align="center" width="80">
+ <template slot-scope="scope">{{ (Number(local[scope.row.key]) || 0) * scope.row.factor }}</template>
+ </el-table-column>
</el-table>
- <div style="margin-top:10px;font-size:14px">鎬诲垎锛歿{ totalScore }} 绋嬪害锛歿{ severity }}</div>
+
+ <!-- 缁撴灉 -->
+ <el-descriptions :column="3" border size="small" class="scale-result">
+ <el-descriptions-item label="Kupperman 鎬诲垎"><b :class="levelClass">{{ totalScore }}</b> 鍒�</el-descriptions-item>
+ <el-descriptions-item label="绋嬪害">{{ severity }}</el-descriptions-item>
+ <el-descriptions-item label="璇勫垎浜哄憳">
+ <el-input v-if="editing" v-model="local.evaluator" size="mini" style="width:160px" placeholder="璇疯緭鍏�" />
+ <span v-else>{{ local.evaluator || "-" }}</span>
+ </el-descriptions-item>
+ </el-descriptions>
+ <div class="kup-range">绋嬪害鍒嗙骇锛氣墹6 姝e父锛�7~15 杞诲害锛�16~30 涓害锛�>30 閲嶅害锛涘悇椤瑰緱鍒� = 绋嬪害 脳 绯绘暟</div>
</div>
</template>
+
<script>
+const KUP_ITEMS = [
+ { key: "kup_0", symptom: "娼儹鍑烘睏", factor: 4 },
+ { key: "kup_1", symptom: "鎰熻寮傚父", factor: 2 },
+ { key: "kup_2", symptom: "澶辩湢", factor: 2 },
+ { key: "kup_3", symptom: "鎯呯华娉㈠姩", factor: 2 },
+ { key: "kup_4", symptom: "鎶戦儊鐤戝績", factor: 1 },
+ { key: "kup_5", symptom: "鐪╂檿", factor: 1 },
+ { key: "kup_6", symptom: "鐤蹭箯", factor: 1 },
+ { key: "kup_7", symptom: "楠ㄥ叧鑺傜棝", factor: 1 },
+ { key: "kup_8", symptom: "澶寸棝", factor: 1 },
+ { key: "kup_9", symptom: "蹇冩偢", factor: 1 },
+ { key: "kup_10", symptom: "鐨偆铓佽蛋鎰�", factor: 1 },
+ { key: "kup_11", symptom: "鎬х敓娲�", factor: 2 },
+ { key: "kup_12", symptom: "娉屽翱绯荤棁鐘�", factor: 2 },
+];
+
+const KEYS = KUP_ITEMS.map((i) => i.key);
+
export default {
- name:"KuppermanScoreTable",
- props:{ value:{ type:Object, default:()=>({}) }, editing:Boolean },
- data(){ return { degrees:[{v:0,l:"鏃�"},{v:1,l:"杞�"},{v:2,l:"涓�"},{v:3,l:"閲�"}] }; },
- computed:{
- items(){
- const list = [
- { symptom:"娼儹鍑烘睏",factor:4 },{ symptom:"鎰熻寮傚父",factor:2 },{ symptom:"澶辩湢",factor:2 },
- { symptom:"鎯呯华娉㈠姩",factor:2 },{ symptom:"鎶戦儊",factor:1 },{ symptom:"鐪╂檿",factor:1 },
- { symptom:"鐤蹭箯",factor:1 },{ symptom:"鍏宠妭鐥�",factor:1 },{ symptom:"澶寸棝",factor:1 },
- { symptom:"蹇冩偢",factor:1 },{ symptom:"鐨偆铓佽蛋鎰�",factor:1 },{ symptom:"鎬х敓娲�",factor:2 },{ symptom:"娉屽翱绯绘劅鏌�",factor:2 },
- ];
- return list.map(item => {
- const v = this.value[item.symptom]||0;
- return { ...item, degree:v, score:item.factor * v };
- });
+ name: "KuppermanScoreTable",
+ props: {
+ value: { type: Object, default: () => ({}) },
+ patient: { type: Object, default: () => ({}) },
+ editing: Boolean,
+ },
+ data() {
+ return {
+ items: KUP_ITEMS.map((i) => Object.assign({}, i, { factorLabel: "脳" + i.factor })),
+ local: this.normalize(this.value),
+ };
+ },
+ computed: {
+ totalScore() {
+ return KUP_ITEMS.reduce((s, i) => s + (Number(this.local[i.key]) || 0) * i.factor, 0);
},
- totalScore(){ return this.items.reduce((s,i)=>s+i.score,0); },
- severity(){ const t=this.totalScore; return t<=6?"姝e父":t<=15?"杞诲害":t<=30?"涓害":"閲嶅害"; },
+ severity() {
+ const t = this.totalScore;
+ if (t <= 6) return "姝e父";
+ if (t <= 15) return "杞诲害";
+ if (t <= 30) return "涓害";
+ return "閲嶅害";
+ },
+ levelClass() {
+ const t = this.totalScore;
+ return t <= 6 ? "lv-good" : t <= 15 ? "lv-mid" : t <= 30 ? "lv-warn" : "lv-bad";
+ },
},
- watch:{
- items:{ deep:true, handler(v){
- const obj = { ...this.value, kuppermanTotal:this.totalScore, kuppermanSeverity:this.severity };
- v.forEach(i=>{ obj[i.symptom]=i.degree; });
- this.$emit('input',obj);
- }},
+ watch: {
+ value: {
+ deep: true,
+ handler(v) {
+ const n = this.normalize(v);
+ if (JSON.stringify(n) !== JSON.stringify(this.local)) this.local = n;
+ },
+ },
+ local: {
+ deep: true,
+ handler(v) {
+ const out = this.buildOut(v);
+ if (JSON.stringify(out) !== JSON.stringify(this.value)) this.$emit("input", out);
+ },
+ },
},
- methods:{
- degLabel(v){ const r=this.degrees.find(d=>d.v===v); return r?r.l:"-"; },
+ methods: {
+ normalize(v) {
+ const src = v || {};
+ const out = { date: src.date || "", evaluator: src.evaluator || "" };
+ KEYS.forEach((k) => { out[k] = Number(src[k]) || 0; });
+ return out;
+ },
+ buildOut(v) {
+ return Object.assign({}, v, { kuppermanTotal: this.totalScore, kuppermanSeverity: this.severity });
+ },
},
};
</script>
+
+<style scoped>
+.scale-title { margin-bottom: 10px; font-size: 16px; font-weight: 700; text-align: center; color: #303133; }
+.scale-head { margin-bottom: 10px; }
+.scale-tip { margin-bottom: 10px; padding: 6px 10px; font-size: 13px; color: #606266; line-height: 1.6; background: #f8f9fb; border-left: 3px solid #c0c4cc; }
+.kup-table { margin-bottom: 12px; }
+.scale-result { margin-top: 6px; }
+.kup-range { margin-top: 8px; font-size: 12px; color: #909399; }
+.lv-good { color: #67c23a; }
+.lv-mid { color: #409eff; }
+.lv-warn { color: #e6a23c; }
+.lv-bad { color: #f56c6c; }
+</style>
diff --git a/src/views/patient/archives/maternalHealth/MRSScoreTable.vue b/src/views/patient/archives/maternalHealth/MRSScoreTable.vue
index 39b2d05..3554193 100644
--- a/src/views/patient/archives/maternalHealth/MRSScoreTable.vue
+++ b/src/views/patient/archives/maternalHealth/MRSScoreTable.vue
@@ -1,37 +1,139 @@
<template>
- <div>
- <el-table :data="items" border size="small">
- <el-table-column prop="item" label="鏉$洰" width="220" />
- <el-table-column label="璇勫垎" align="center" width="120">
- <template slot-scope="scope">
- <el-select v-if="editing" v-model="scope.row.score" size="small">
- <el-option v-for="s in scoreOptions" :key="s" :label="s" :value="s" />
- </el-select>
- <span v-else>{{ scope.row.score }}</span>
- </template>
+ <div class="scale-wrap">
+ <div class="scale-title">鏇村勾鏈熻瘎瀹氶噺琛紙MRS锛�</div>
+
+ <!-- 绾歌川琛ㄨ〃澶达細鎮h�呭熀鏈俊鎭� -->
+ <el-descriptions :column="3" border size="small" class="scale-head">
+ <el-descriptions-item label="濮撳悕">{{ patient.name || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="鎬у埆">{{ patient.sex || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="骞撮緞">{{ patient.age || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="绉戝">{{ patient.dept || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="涓村簥璇婃柇">{{ patient.diagnosis || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="璇勪及鏃ユ湡">
+ <el-date-picker v-if="editing" v-model="local.date" value-format="yyyy-MM-dd" size="mini" style="width:160px" placeholder="閫夋嫨鏃ユ湡" />
+ <span v-else>{{ local.date || "-" }}</span>
+ </el-descriptions-item>
+ </el-descriptions>
+
+ <div class="scale-tip">鎸囧璇細璇锋牴鎹偍杩� 1 涓湀鐨勬儏鍐碉紝瀵逛笅鍒楀悇椤圭棁鐘剁殑涓ラ噸绋嬪害杩涜璇勫垎锛�0 鍒� = 鏃犵棁鐘讹紝4 鍒� = 鍗佸垎涓ラ噸锛夈��</div>
+
+ <!-- 绾歌川琛ㄤ富浣擄細鐥囩姸鏉$洰 + 0~4 鎵撳垎鏍� -->
+ <el-table :data="items" border size="small" class="mrs-table">
+ <el-table-column type="index" label="搴忓彿" width="60" align="center" />
+ <el-table-column prop="label" label="鐥囩姸" min-width="220" />
+ <el-table-column label="0 鏃犵棁鐘�" align="center" width="90">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="0"> </el-radio><span v-else>{{ local[scope.row.key] === 0 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="1 杞诲井" align="center" width="90">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="1"> </el-radio><span v-else>{{ local[scope.row.key] === 1 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="2 涓瓑" align="center" width="90">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="2"> </el-radio><span v-else>{{ local[scope.row.key] === 2 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="3 涓ラ噸" align="center" width="90">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="3"> </el-radio><span v-else>{{ local[scope.row.key] === 3 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="4 鍗佸垎涓ラ噸" align="center" width="100">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="4"> </el-radio><span v-else>{{ local[scope.row.key] === 4 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="寰楀垎" align="center" width="70">
+ <template slot-scope="scope">{{ Number(local[scope.row.key]) || 0 }}</template>
</el-table-column>
</el-table>
- <div style="margin-top:10px;font-size:14px">MRS鎬诲垎锛歿{ totalScore }}</div>
+
+ <!-- 缁撴灉 -->
+ <el-descriptions :column="3" border size="small" class="scale-result">
+ <el-descriptions-item label="MRS 鎬诲垎"><b :class="levelClass">{{ totalScore }}</b> 鍒�</el-descriptions-item>
+ <el-descriptions-item label="绋嬪害">{{ severity }}</el-descriptions-item>
+ <el-descriptions-item label="璇勫垎浜哄憳">
+ <el-input v-if="editing" v-model="local.evaluator" size="mini" style="width:160px" placeholder="璇疯緭鍏�" />
+ <span v-else>{{ local.evaluator || "-" }}</span>
+ </el-descriptions-item>
+ </el-descriptions>
+ <div class="mrs-range">绋嬪害鍒嗙骇锛�0~4 鏃犵棁鐘�/鏋佽交寰紝5~8 杞诲害锛�9~15 涓害锛屸墺16 閲嶅害</div>
</div>
</template>
+
<script>
+const MRS_ITEMS = [
+ { key: "mrs_0", label: "1. 鐕ョ儹銆佹祦姹�" },
+ { key: "mrs_1", label: "2. 蹇冭剰涓嶉��" },
+ { key: "mrs_2", label: "3. 鐫$湢澶卞父" },
+ { key: "mrs_3", label: "4. 鎯呯华浣庤惤" },
+ { key: "mrs_4", label: "5. 鏄撴��" },
+ { key: "mrs_5", label: "6. 鐒﹁檻" },
+ { key: "mrs_6", label: "7. 韬綋鎴栫簿绁炵柌鎯�" },
+ { key: "mrs_7", label: "8. 鎬х敓娲婚棶棰�" },
+ { key: "mrs_8", label: "9. 鑶�鑳变笉閫�" },
+ { key: "mrs_9", label: "10. 闃撮亾骞叉订" },
+ { key: "mrs_10", label: "11. 鍏宠妭鍜岃倢鑲変笉閫�" },
+];
+
+const KEYS = MRS_ITEMS.map((i) => i.key);
+
export default {
- name:"MRSScoreTable",
- props:{ value:{ type:Object, default:()=>({}) }, editing:Boolean },
- data(){ return { scoreOptions:[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1] }; },
- computed:{
- items(){
- const names=["娼儹鍑烘睏","蹇冭剰涓嶉��","鐫$湢闅滅","鎯呯华鎶戦儊","鏄撴縺鎯�","鐒﹁檻","浣撳姏/绮惧姏涓嬮檷","鎬у姛鑳�","娉屽翱绯荤棁鐘�","闃撮亾骞叉订","鍏宠妭鑲岃倝涓嶉��"];
- return names.map((n,i)=>({ item:n, key:'mrs_'+i, score:this.value['mrs_'+i]||0 }));
- },
- totalScore(){ return this.items.reduce((s,i)=>s+i.score,0).toFixed(1); },
+ name: "MRSScoreTable",
+ props: {
+ value: { type: Object, default: () => ({}) },
+ patient: { type: Object, default: () => ({}) },
+ editing: Boolean,
},
- watch:{
- items:{ deep:true, handler(v){
- const obj={...this.value, mrsTotal:this.totalScore};
- v.forEach(i=>{ obj[i.key]=i.score; });
- this.$emit('input',obj);
- }},
+ data() {
+ return { items: MRS_ITEMS, local: this.normalize(this.value) };
+ },
+ computed: {
+ totalScore() { return KEYS.reduce((s, k) => s + (Number(this.local[k]) || 0), 0); },
+ severity() {
+ const t = this.totalScore;
+ if (t <= 4) return "鏃犵棁鐘�/鏋佽交寰�";
+ if (t <= 8) return "杞诲害";
+ if (t <= 15) return "涓害";
+ return "閲嶅害";
+ },
+ levelClass() {
+ const t = this.totalScore;
+ return t <= 4 ? "lv-good" : t <= 8 ? "lv-mid" : t <= 15 ? "lv-warn" : "lv-bad";
+ },
+ },
+ watch: {
+ value: {
+ deep: true,
+ handler(v) {
+ const n = this.normalize(v);
+ if (JSON.stringify(n) !== JSON.stringify(this.local)) this.local = n;
+ },
+ },
+ local: {
+ deep: true,
+ handler(v) {
+ const out = this.buildOut(v);
+ if (JSON.stringify(out) !== JSON.stringify(this.value)) this.$emit("input", out);
+ },
+ },
+ },
+ methods: {
+ normalize(v) {
+ const src = v || {};
+ const out = { date: src.date || "", evaluator: src.evaluator || "" };
+ KEYS.forEach((k) => { out[k] = Number(src[k]) || 0; });
+ return out;
+ },
+ buildOut(v) {
+ return Object.assign({}, v, { mrsTotal: this.totalScore, mrsSeverity: this.severity });
+ },
},
};
</script>
+
+<style scoped>
+.scale-title { margin-bottom: 10px; font-size: 16px; font-weight: 700; text-align: center; color: #303133; }
+.scale-head { margin-bottom: 10px; }
+.scale-tip { margin-bottom: 10px; padding: 6px 10px; font-size: 13px; color: #606266; line-height: 1.6; background: #f8f9fb; border-left: 3px solid #c0c4cc; }
+.mrs-table { margin-bottom: 12px; }
+.scale-result { margin-top: 6px; }
+.mrs-range { margin-top: 8px; font-size: 12px; color: #909399; }
+.lv-good { color: #67c23a; }
+.lv-mid { color: #409eff; }
+.lv-warn { color: #e6a23c; }
+.lv-bad { color: #f56c6c; }
+</style>
diff --git a/src/views/patient/archives/maternalHealth/PSQIScoreTable.vue b/src/views/patient/archives/maternalHealth/PSQIScoreTable.vue
index f9f8a83..93ab77a 100644
--- a/src/views/patient/archives/maternalHealth/PSQIScoreTable.vue
+++ b/src/views/patient/archives/maternalHealth/PSQIScoreTable.vue
@@ -1,37 +1,386 @@
<template>
- <div>
- <el-table :data="items" border size="small">
- <el-table-column prop="item" label="鏉$洰" width="280" />
- <el-table-column label="璇勫垎" align="center" width="120">
- <template slot-scope="scope">
- <el-select v-if="editing" v-model="scope.row.score" size="small">
- <el-option v-for="s in [0,1,2,3]" :key="s" :label="s" :value="s" />
- </el-select>
- <span v-else>{{ scope.row.score }}</span>
- </template>
- </el-table-column>
+ <div class="scale-wrap">
+ <div class="scale-title">鍖瑰吂鍫$潯鐪犺川閲忔寚鏁伴噺琛紙PSQI锛�</div>
+
+ <!-- 绾歌川琛ㄨ〃澶达細鎮h�呭熀鏈俊鎭� -->
+ <el-descriptions :column="3" border size="small" class="scale-head">
+ <el-descriptions-item label="濮撳悕">{{ patient.name || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="鎬у埆">{{ patient.sex || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="骞撮緞">{{ patient.age || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="绉戝">{{ patient.dept || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="涓村簥璇婃柇">{{ patient.diagnosis || "-" }}</el-descriptions-item>
+ <el-descriptions-item label="璇勪及鏃ユ湡">
+ <el-date-picker v-if="editing" v-model="local.date" value-format="yyyy-MM-dd" size="mini" style="width:160px" placeholder="閫夋嫨鏃ユ湡" />
+ <span v-else>{{ local.date || "-" }}</span>
+ </el-descriptions-item>
+ </el-descriptions>
+
+ <div class="scale-tip">鎸囧璇細涓嬮潰涓�浜涢棶棰樹笌鎮ㄨ繎 1 涓湀鐨勭潯鐪犵姸鍐垫湁鍏筹紝璇烽�夋嫨鎴栧~鍐欐渶绗﹀悎鎮ㄨ繎 1 涓湀瀹為檯鎯呭喌鐨勭瓟妗堛��</div>
+
+ <div class="q-list">
+ <div class="q-item">
+ <div class="q-text">1. 杩�1涓湀锛屾櫄涓婁笂搴婄潯瑙夐�氬父鍦� ____ 鐐归挓</div>
+ <div class="q-body">
+ <el-time-picker v-if="editing" v-model="local.q1BedTime" value-format="HH:mm" format="HH:mm" size="small" placeholder="閫夋嫨鏃堕棿" style="width:130px" />
+ <span v-else class="q-value">{{ local.q1BedTime || "鈥�" }}</span>
+ </div>
+ </div>
+
+ <div class="q-item">
+ <div class="q-text">2. 杩�1涓湀锛屼粠涓婂簥鍒板叆鐫¢�氬父闇�瑕� ____ 鍒嗛挓</div>
+ <div class="q-body">
+ <el-radio-group v-if="editing" v-model="local.q2Latency">
+ <el-radio :label="0">鈮�15鍒嗛挓</el-radio>
+ <el-radio :label="1">16~30鍒嗛挓</el-radio>
+ <el-radio :label="2">31~60鍒嗛挓</el-radio>
+ <el-radio :label="3">鈮�61鍒嗛挓</el-radio>
+ </el-radio-group>
+ <span v-else class="q-value">{{ latencyLabel }}</span>
+ </div>
+ </div>
+
+ <div class="q-item">
+ <div class="q-text">3. 杩�1涓湀锛岄�氬父鏃╀笂 ____ 鐐硅捣搴�</div>
+ <div class="q-body">
+ <el-time-picker v-if="editing" v-model="local.q3WakeTime" value-format="HH:mm" format="HH:mm" size="small" placeholder="閫夋嫨鏃堕棿" style="width:130px" />
+ <span v-else class="q-value">{{ local.q3WakeTime || "鈥�" }}</span>
+ </div>
+ </div>
+
+ <div class="q-item">
+ <div class="q-text">4. 杩�1涓湀锛屾瘡鏅氬疄闄呯潯鐪犳椂闂� ____ 灏忔椂</div>
+ <div class="q-body">
+ <el-input-number v-if="editing" v-model="local.q4Hours" :min="0" :max="24" :step="0.5" :precision="1" size="small" controls-position="right" style="width:130px" />
+ <span v-else class="q-value">{{ local.q4Hours === null || local.q4Hours === "" ? "鈥�" : local.q4Hours + " 灏忔椂" }}</span>
+ <span class="q-hint">锛�>7h 璁�0鍒嗭紝6~7h 璁�1鍒嗭紝5~6h 璁�2鍒嗭紝<5h 璁�3鍒嗭級</span>
+ </div>
+ </div>
+
+ <div class="q-item">
+ <div class="q-text">5. 杩�1涓湀锛屽洜涓嬪垪鎯呭喌褰卞搷鐫$湢鑰岀儲鎭�</div>
+ <div class="q-body">
+ <el-table :data="q5Items" border size="small" class="q-sub-table">
+ <el-table-column prop="label" label="鎯呭喌" min-width="220" />
+ <el-table-column label="鏃�" align="center" width="90">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="0"> </el-radio><span v-else>{{ local[scope.row.key] === 0 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="涓嶈冻1娆�/鍛�" align="center" width="110">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="1"> </el-radio><span v-else>{{ local[scope.row.key] === 1 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="1~2娆�/鍛�" align="center" width="110">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="2"> </el-radio><span v-else>{{ local[scope.row.key] === 2 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="鈮�3娆�/鍛�" align="center" width="100">
+ <template slot-scope="scope"><el-radio v-if="editing" v-model="local[scope.row.key]" :label="3"> </el-radio><span v-else>{{ local[scope.row.key] === 3 ? "鉁�" : "" }}</span></template>
+ </el-table-column>
+ <el-table-column label="寰楀垎" align="center" width="70">
+ <template slot-scope="scope">{{ local[scope.row.key] || 0 }}</template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+
+ <div class="q-item">
+ <div class="q-text">6. 杩�1涓湀锛屾�荤殑鏉ヨ鎮ㄨ涓鸿嚜宸辩殑鐫$湢璐ㄩ噺</div>
+ <div class="q-body">
+ <el-radio-group v-if="editing" v-model="local.q6Quality">
+ <el-radio :label="0">寰堝ソ</el-radio>
+ <el-radio :label="1">杈冨ソ</el-radio>
+ <el-radio :label="2">杈冨樊</el-radio>
+ <el-radio :label="3">寰堝樊</el-radio>
+ </el-radio-group>
+ <span v-else class="q-value">{{ qualityLabel }}</span>
+ </div>
+ </div>
+
+ <div class="q-item">
+ <div class="q-text">7. 杩�1涓湀锛屾偍浣跨敤鍌湢鑽墿鐨勬儏鍐�</div>
+ <div class="q-body">
+ <el-radio-group v-if="editing" v-model="local.q7Medication">
+ <el-radio :label="0">鏃�</el-radio>
+ <el-radio :label="1">灏戜簬1娆�/鍛�</el-radio>
+ <el-radio :label="2">1~2娆�/鍛�</el-radio>
+ <el-radio :label="3">3娆℃垨浠ヤ笂/鍛�</el-radio>
+ </el-radio-group>
+ <span v-else class="q-value">{{ medicationLabel }}</span>
+ </div>
+ </div>
+
+ <div class="q-item">
+ <div class="q-text">8. 杩�1涓湀锛屾偍甯告劅鍒板洶鍊﹀悧</div>
+ <div class="q-body">
+ <el-radio-group v-if="editing" v-model="local.q8Sleepy">
+ <el-radio :label="0">娌℃湁</el-radio>
+ <el-radio :label="1">鍋跺皵锛堝皯浜�1娆�/鍛級</el-radio>
+ <el-radio :label="2">鏈夋椂锛�1~2娆�/鍛級</el-radio>
+ <el-radio :label="3">缁忓父锛�3娆℃垨浠ヤ笂/鍛級</el-radio>
+ </el-radio-group>
+ <span v-else class="q-value">{{ freqLabel(local.q8Sleepy) }}</span>
+ </div>
+ </div>
+
+ <div class="q-item">
+ <div class="q-text">9. 杩�1涓湀锛屾偍鍋氫簨鎯呯殑绮惧姏涓嶈冻鍚�</div>
+ <div class="q-body">
+ <el-radio-group v-if="editing" v-model="local.q9Energy">
+ <el-radio :label="0">娌℃湁</el-radio>
+ <el-radio :label="1">鍋跺皵锛堝皯浜�1娆�/鍛級</el-radio>
+ <el-radio :label="2">鏈夋椂锛�1~2娆�/鍛級</el-radio>
+ <el-radio :label="3">缁忓父锛�3娆℃垨浠ヤ笂/鍛級</el-radio>
+ </el-radio-group>
+ <span v-else class="q-value">{{ freqLabel(local.q9Energy) }}</span>
+ </div>
+ </div>
+ </div>
+
+ <!-- 璁″垎琛� -->
+ <div class="sec-title">璁″垎琛�</div>
+ <el-table :data="components" border size="small" class="score-table">
+ <el-table-column prop="name" label="鎴愬垎" width="70" align="center" />
+ <el-table-column prop="title" label="鍐呭" min-width="240" />
+ <el-table-column prop="score" label="璇勫垎" width="70" align="center" />
</el-table>
- <div style="margin-top:10px;font-size:14px">PSQI鎬诲垎锛歿{ totalScore }} 璇勪环锛歿{ evaluation }}</div>
+
+ <!-- 缁撴灉 -->
+ <el-descriptions :column="2" border size="small" class="scale-result">
+ <el-descriptions-item label="PSQI 鎬诲垎"><b :class="totalClass">{{ totalScore }}</b> 鍒�</el-descriptions-item>
+ <el-descriptions-item label="璇勪环">{{ evaluation }}</el-descriptions-item>
+ <el-descriptions-item label="鐫$湢鏁堢巼">
+ <span v-if="efficiency !== null">{{ efficiency }}%锛堝湪搴� {{ fmtHours(hoursInBed) }} 灏忔椂 / 瀹為檯鐫$湢 {{ sleepHours }} 灏忔椂锛�</span>
+ <span v-else class="muted">濉啓鏉$洰 1銆�3銆�4 鍚庤嚜鍔ㄨ绠�</span>
+ </el-descriptions-item>
+ <el-descriptions-item label="璇勫垎浜哄憳">
+ <el-input v-if="editing" v-model="local.evaluator" size="mini" style="width:160px" placeholder="璇疯緭鍏�" />
+ <span v-else>{{ local.evaluator || "-" }}</span>
+ </el-descriptions-item>
+ </el-descriptions>
</div>
</template>
+
<script>
+const FREQ_OPTIONS = [
+ { v: 0, l: "鏃�" },
+ { v: 1, l: "涓嶈冻1娆�/鍛�" },
+ { v: 2, l: "1~2娆�/鍛�" },
+ { v: 3, l: "鈮�3娆�/鍛�" },
+];
+
+const LATENCY_OPTIONS = [
+ { v: 0, l: "鈮�15鍒嗛挓" },
+ { v: 1, l: "16~30鍒嗛挓" },
+ { v: 2, l: "31~60鍒嗛挓" },
+ { v: 3, l: "鈮�61鍒嗛挓" },
+];
+
+const QUALITY_OPTIONS = [
+ { v: 0, l: "寰堝ソ" },
+ { v: 1, l: "杈冨ソ" },
+ { v: 2, l: "杈冨樊" },
+ { v: 3, l: "寰堝樊" },
+];
+
+const MEDICATION_OPTIONS = [
+ { v: 0, l: "鏃�" },
+ { v: 1, l: "灏戜簬1娆�/鍛�" },
+ { v: 2, l: "1~2娆�/鍛�" },
+ { v: 3, l: "3娆℃垨浠ヤ笂/鍛�" },
+];
+
+const Q5_ITEMS = [
+ { key: "q5a", label: "a. 鍏ョ潯鍥伴毦锛�30鍒嗛挓鍐呬笉鑳藉叆鐫★級" },
+ { key: "q5b", label: "b. 澶滈棿鏄撻啋鎴栨棭閱�" },
+ { key: "q5c", label: "c. 澶滈棿鍘诲帟鎵�" },
+ { key: "q5d", label: "d. 鍛煎惛涓嶇晠" },
+ { key: "q5e", label: "e. 鍜冲椊鎴栭季澹伴珮" },
+ { key: "q5f", label: "f. 鎰熻鍐�" },
+ { key: "q5g", label: "g. 鎰熻鐑�" },
+ { key: "q5h", label: "h. 鍋氬櫓姊�" },
+ { key: "q5i", label: "i. 鐤肩棝涓嶉��" },
+ { key: "q5j", label: "j. 鍏跺畠褰卞搷鐫$湢鐨勪簨鎯�" },
+];
+
+// 鏉$洰4 鎵嬪~灏忔椂鏁� 鈫� 鐫$湢鏃堕暱鎴愬垎 C 鐨勫垎妗i槇鍊�
+const SCORE_C_RULES = [
+ { test: (h) => h > 7, score: 0 },
+ { test: (h) => h > 6, score: 1 },
+ { test: (h) => h >= 5, score: 2 },
+ { test: () => true, score: 3 },
+];
+
+const FIELDS = [
+ "date", "q1BedTime", "q2Latency", "q3WakeTime", "q4Hours",
+ "q5a", "q5b", "q5c", "q5d", "q5e", "q5f", "q5g", "q5h", "q5i", "q5j",
+ "q6Quality", "q7Medication", "q8Sleepy", "q9Energy",
+];
+
export default {
- name:"PSQIScoreTable",
- props:{ value:{ type:Object, default:()=>({}) }, editing:Boolean },
- computed:{
- items(){
- const names=["涓昏鐫$湢璐ㄩ噺","鍏ョ潯鏃堕棿(鍒嗛挓)","鐫$湢鏃堕暱(灏忔椂)","鐫$湢鏁堢巼(%)","鐫$湢闅滅","鍌湢鑽墿浣跨敤","鏃ラ棿鍔熻兘闅滅"];
- return names.map((n,i)=>({ item:n, key:'psqi_'+i, score:this.value['psqi_'+i]||0 }));
- },
- totalScore(){ return this.items.reduce((s,i)=>s+i.score,0); },
- evaluation(){ const t=this.totalScore; return t<=5?"鐫$湢璐ㄩ噺鑹ソ":t<=10?"鐫$湢璐ㄩ噺涓�鑸�":t<=15?"鐫$湢璐ㄩ噺杈冨樊":"鐫$湢璐ㄩ噺寰堝樊"; },
+ name: "PSQIScoreTable",
+ props: {
+ value: { type: Object, default: () => ({}) },
+ patient: { type: Object, default: () => ({}) },
+ editing: Boolean,
},
- watch:{
- items:{ deep:true, handler(v){
- const obj={...this.value, psqiTotal:this.totalScore, psqiEvaluation:this.evaluation};
- v.forEach(i=>{ obj[i.key]=i.score; });
- this.$emit('input',obj);
- }},
+ data() {
+ return { q5Items: Q5_ITEMS, local: this.normalize(this.value) };
+ },
+ computed: {
+ hoursInBed() {
+ const bed = this.parseTime(this.local.q1BedTime);
+ const wake = this.parseTime(this.local.q3WakeTime);
+ if (bed === null || wake === null) return null;
+ let diff = wake - bed;
+ if (diff <= 0) diff += 24;
+ return diff;
+ },
+ // 瀹為檯鐫$湢灏忔椂鏁帮紙鏉$洰4 鎵嬪~锛�
+ sleepHours() {
+ const h = Number(this.local.q4Hours);
+ return h > 0 ? h : null;
+ },
+ efficiency() {
+ if (this.hoursInBed === null || this.hoursInBed <= 0) return null;
+ const sh = this.sleepHours;
+ if (sh === null) return null;
+ return Math.round((sh / this.hoursInBed) * 100);
+ },
+ scoreA() { return this.num("q6Quality"); },
+ scoreB() { return this.mapSum(this.num("q2Latency") + this.num("q5a"), [1, 3, 5]); },
+ scoreC() {
+ const sh = this.sleepHours;
+ if (sh === null) return null;
+ const rule = SCORE_C_RULES.find((r) => r.test(sh));
+ return rule ? rule.score : 3;
+ },
+ scoreD() {
+ const e = this.efficiency;
+ if (e === null) return null;
+ if (e > 85) return 0;
+ if (e >= 75) return 1;
+ if (e >= 65) return 2;
+ return 3;
+ },
+ scoreE() {
+ const sum = ["q5b", "q5c", "q5d", "q5e", "q5f", "q5g", "q5h", "q5i", "q5j"]
+ .reduce((s, k) => s + this.num(k), 0);
+ return this.mapSum(sum, [1, 10, 19]);
+ },
+ scoreF() { return this.num("q7Medication"); },
+ scoreG() { return this.mapSum(this.num("q8Sleepy") + this.num("q9Energy"), [1, 3, 5]); },
+ components() {
+ return [
+ { name: "A", title: "涓昏鐫$湢璐ㄩ噺锛堟潯鐩�6锛�", score: this.disp(this.scoreA) },
+ { name: "B", title: "鍏ョ潯鏃堕棿锛堟潯鐩�2 + 鏉$洰5a锛�", score: this.disp(this.scoreB) },
+ { name: "C", title: "鐫$湢鏃堕暱锛堟潯鐩�4 瀹為檯鐫$湢灏忔椂鏁帮級", score: this.disp(this.scoreC) },
+ { name: "D", title: "鐫$湢鏁堢巼锛堝疄闄呯潯鐪犳椂闂� 梅 鍦ㄥ簥鏃堕棿锛�", score: this.disp(this.scoreD) },
+ { name: "E", title: "鐫$湢闅滅锛堟潯鐩�5b~5j 绱锛�", score: this.disp(this.scoreE) },
+ { name: "F", title: "鍌湢鑽墿浣跨敤锛堟潯鐩�7锛�", score: this.disp(this.scoreF) },
+ { name: "G", title: "鏃ラ棿鍔熻兘闅滅锛堟潯鐩�8 + 鏉$洰9锛�", score: this.disp(this.scoreG) },
+ ];
+ },
+ totalScore() {
+ return [this.scoreA, this.scoreB, this.scoreC, this.scoreD, this.scoreE, this.scoreF, this.scoreG]
+ .reduce((s, v) => s + (Number(v) || 0), 0);
+ },
+ evaluation() {
+ const t = this.totalScore;
+ if (t <= 5) return "鐫$湢璐ㄩ噺寰堝ソ";
+ if (t <= 10) return "鐫$湢璐ㄩ噺杩樿";
+ if (t <= 15) return "鐫$湢璐ㄩ噺涓�鑸�";
+ return "鐫$湢璐ㄩ噺寰堝樊";
+ },
+ totalClass() {
+ const t = this.totalScore;
+ return t <= 5 ? "lv-good" : t <= 10 ? "lv-mid" : t <= 15 ? "lv-warn" : "lv-bad";
+ },
+ latencyLabel() { return this.labelOf(LATENCY_OPTIONS, this.local.q2Latency); },
+ qualityLabel() { return this.labelOf(QUALITY_OPTIONS, this.local.q6Quality); },
+ medicationLabel() { return this.labelOf(MEDICATION_OPTIONS, this.local.q7Medication); },
+ },
+ watch: {
+ value: {
+ deep: true,
+ handler(v) {
+ const n = this.normalize(v);
+ if (JSON.stringify(n) !== JSON.stringify(this.local)) this.local = n;
+ },
+ },
+ local: {
+ deep: true,
+ handler(v) {
+ const out = this.buildOut(v);
+ if (JSON.stringify(out) !== JSON.stringify(this.value)) this.$emit("input", out);
+ },
+ },
+ },
+ methods: {
+ num(key) { return Number(this.local[key]) || 0; },
+ // 鏈~鍐欑殑鎴愬垎鏄剧ず鍗犱綅绗︼紝涓嶅弬涓庢�诲垎
+ disp(v) { return v === null || v === undefined ? "-" : v; },
+ // 鎸夐槇鍊兼妸绱鍒嗚浆鎹负 0~3 鐨勬垚鍒嗗垎
+ mapSum(sum, thresholds) {
+ if (sum < thresholds[0]) return 0;
+ if (sum < thresholds[1]) return 1;
+ if (sum < thresholds[2]) return 2;
+ return 3;
+ },
+ parseTime(str) {
+ if (!str) return null;
+ const m = String(str).match(/^(\d{1,2}):(\d{2})$/);
+ if (!m) return null;
+ const h = Number(m[1]), mi = Number(m[2]);
+ if (h > 23 || mi > 59) return null;
+ return h + mi / 60;
+ },
+ fmtHours(v) {
+ if (v === null || v === undefined) return "-";
+ return Number.isInteger(v) ? String(v) : v.toFixed(1);
+ },
+ labelOf(list, v) {
+ const o = list.find((x) => x.v === (Number(v) || 0));
+ return o ? o.l : "-";
+ },
+ freqLabel(v) { return this.labelOf(FREQ_OPTIONS, v); },
+ normalize(v) {
+ const src = v || {};
+ const out = { evaluator: src.evaluator || "" };
+ FIELDS.forEach((k) => {
+ if (k === "date" || k === "q1BedTime" || k === "q3WakeTime") {
+ out[k] = src[k] === undefined || src[k] === null ? "" : src[k];
+ } else {
+ out[k] = src[k] === undefined || src[k] === null ? 0 : src[k];
+ }
+ });
+ return out;
+ },
+ buildOut(v) {
+ return Object.assign({}, v, {
+ psqiA: this.scoreA, psqiB: this.scoreB, psqiC: this.scoreC, psqiD: this.scoreD,
+ psqiE: this.scoreE, psqiF: this.scoreF, psqiG: this.scoreG,
+ psqiEfficiency: this.efficiency,
+ psqiTotal: this.totalScore,
+ psqiEvaluation: this.evaluation,
+ });
+ },
},
};
</script>
+
+<style scoped>
+.scale-title { margin-bottom: 10px; font-size: 16px; font-weight: 700; text-align: center; color: #303133; }
+.scale-head { margin-bottom: 10px; }
+.scale-tip { margin-bottom: 10px; padding: 6px 10px; font-size: 13px; color: #606266; line-height: 1.6; background: #f8f9fb; border-left: 3px solid #c0c4cc; }
+.q-item { padding: 8px 0; border-bottom: 1px dashed #ebeef5; }
+.q-text { font-size: 13px; color: #303133; font-weight: 600; }
+.q-body { margin-top: 6px; padding-left: 12px; }
+.q-value { font-size: 13px; color: #409eff; font-weight: 600; }
+.q-hint { margin-left: 10px; font-size: 12px; color: #909399; }
+.q-sub-table { margin: 4px 0 6px; }
+.sec-title { margin: 14px 0 8px; font-size: 14px; font-weight: 700; color: #303133; border-left: 3px solid #409eff; padding-left: 8px; }
+.score-table { margin-bottom: 12px; }
+.scale-result { margin-top: 6px; }
+.muted { color: #909399; font-size: 12px; }
+.lv-good { color: #67c23a; }
+.lv-mid { color: #409eff; }
+.lv-warn { color: #e6a23c; }
+.lv-bad { color: #f56c6c; }
+</style>
diff --git a/src/views/patient/archives/maternalHealth/detail.vue b/src/views/patient/archives/maternalHealth/detail.vue
index 4d0d7db..c654b43 100644
--- a/src/views/patient/archives/maternalHealth/detail.vue
+++ b/src/views/patient/archives/maternalHealth/detail.vue
@@ -15,6 +15,7 @@
<el-tabs v-model="mainTab" type="border-card">
<el-tab-pane label="妗f璇︽儏" name="detail">
+ <div v-if="archive.subType === 'pregnancy'" class="page-title">瀛曞棣栬瘖淇℃伅鐧昏</div>
<!-- 鎮h�呭熀鏈俊鎭� -->
<el-card class="info-card" shadow="never">
<div slot="header" class="card-header"><span>鎮h�呭熀鏈俊鎭�</span></div>
@@ -66,6 +67,9 @@
<el-col :span="8"><el-form-item label="璇婃柇鍚嶇О"><el-input v-model="pregForm.firstVisit.diagname" class="w-full" /></el-form-item></el-col>
<el-col :span="16"><el-form-item label="灞呬綇鍦板潃"><el-input v-model="pregForm.firstVisit.address" class="w-full" /></el-form-item></el-col>
</el-row>
+ <el-row :gutter="20">
+ <el-col :span="8"><el-form-item label="鏈鏈堢粡"><el-date-picker v-model="pregForm.firstVisit.lmp" value-format="yyyy-MM-dd" class="w-md" @change="onLmpChange" /></el-form-item></el-col>
+ </el-row>
</el-form>
</div>
@@ -84,19 +88,18 @@
<el-col :span="8">
<div class="cascade-col">
<div class="cascade-label">鍏蜂綋鎯呭喌</div>
- <el-checkbox-group v-model="pregForm.pregnancy.details" :disabled="!pregForm.pregnancy.status">
- <el-checkbox v-for="d in pregnancySubOptions" :key="d" :label="d">{{ d }}</el-checkbox>
+ <el-checkbox-group v-model="pregForm.pregnancy.details" @change="onDetailsChange">
+ <el-checkbox v-for="d in PREGNANCY_DETAIL_OPTIONS" :key="d" :label="d">{{ d }}</el-checkbox>
</el-checkbox-group>
- <div v-if="!pregForm.pregnancy.status" class="cascade-empty">璇峰厛閫夋嫨濡婂鎯呭喌</div>
</div>
</el-col>
<el-col :span="8">
<div class="cascade-col">
<div class="cascade-label">澶勭悊寤鸿</div>
- <el-checkbox-group v-model="pregForm.pregnancy.hint" :disabled="!pregForm.pregnancy.status">
+ <el-checkbox-group v-model="pregForm.pregnancy.hint" :disabled="!pregForm.pregnancy.details.length" @change="onHintChange">
<el-checkbox v-for="h in pregnancyHintOptions" :key="h" :label="h">{{ h }}</el-checkbox>
</el-checkbox-group>
- <div v-if="!pregForm.pregnancy.status" class="cascade-empty">璇峰厛閫夋嫨濡婂鎯呭喌</div>
+ <div v-if="!pregForm.pregnancy.details.length" class="cascade-empty">璇峰厛閫夋嫨鍏蜂綋鎯呭喌</div>
</div>
</el-col>
</el-row>
@@ -117,8 +120,19 @@
<el-col :span="8"><el-form-item label="棰勪骇鏈�"><el-date-picker v-model="pregForm.registration.edd" value-format="yyyy-MM-dd" class="w-md" /></el-form-item></el-col>
<el-col :span="8"><el-form-item label="璁板綍鑰�"><el-input v-model="pregForm.registration.recorder" class="w-sm" /></el-form-item></el-col>
</el-row>
- <el-form-item v-if="pregForm.registration.isRegistered === '鍚�'" label="鏈缓妗e師鍥�">
- <el-input v-model="pregForm.registration.unregisteredReason" type="textarea" :rows="2" class="w-lg" />
+ <el-form-item v-if="pregForm.registration.isRegistered === '鍚�'" label="鏈缓鍐屽師鍥�">
+ <el-checkbox-group v-model="pregForm.registration.unregisteredReasons">
+ <el-checkbox v-for="r in UNREGISTERED_REASONS" :key="r" :label="r">{{ r }}</el-checkbox>
+ </el-checkbox-group>
+ <el-input
+ v-if="pregForm.registration.unregisteredReasons.includes('鍏朵粬鐗规畩鍥犵礌')"
+ v-model="pregForm.registration.unregisteredReasonOther"
+ type="textarea"
+ :rows="2"
+ class="w-lg"
+ style="margin-top:8px"
+ placeholder="璇峰~鍐欏叾浠栫壒娈婂洜绱�"
+ />
</el-form-item>
</el-form>
</el-card>
@@ -146,102 +160,16 @@
</el-form>
</el-card>
- <!-- ===== 瀛曞闅忚锛氭棭瀛曢殢璁胯〃 + 璇勫垎琛紙閫変腑銆岀粡鍜ㄨ鎸囧鍚庣户缁濞犲苟鍦ㄤ骇绉戝缓妗c�嶅悗鍑虹幇锛� ===== -->
- <template v-if="archive.subType === 'pregnancy' && showFollowUp">
- <el-card class="info-card" shadow="never" style="margin-top:14px">
- <div slot="header" class="card-header"><span>鏃╁瓡闅忚琛�</span></div>
- <el-form :model="pregForm.earlyFollow" label-width="140px" size="small" :disabled="!editing">
- <el-row :gutter="20">
- <el-col :span="8"><el-form-item label="濮撳悕"><el-input v-model="pregForm.earlyFollow.name" class="w-sm" /></el-form-item></el-col>
- <el-col :span="8"><el-form-item label="骞撮緞"><el-input v-model="pregForm.earlyFollow.age" class="w-xs" /></el-form-item></el-col>
- <el-col :span="8"><el-form-item label="灏辫瘖鍙�"><el-input v-model="pregForm.earlyFollow.visitNo" class="w-sm" /></el-form-item></el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="8"><el-form-item label="鑱旂郴鏂瑰紡(寰俊)"><el-input v-model="pregForm.earlyFollow.wechat" class="w-sm" /></el-form-item></el-col>
- <el-col :span="8"><el-form-item label="鎴风睄"><el-input v-model="pregForm.earlyFollow.household" class="w-sm" /></el-form-item></el-col>
- <el-col :span="8"><el-form-item label="瀛曚骇鍙�"><el-input v-model="pregForm.earlyFollow.gravidaPara" placeholder="G_P_" class="w-xs" /></el-form-item></el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="8"><el-form-item label="濠氬Щ鐘跺喌">
- <el-select v-model="pregForm.earlyFollow.maritalStatus" class="w-sm">
- <el-option label="鏈" value="鏈" /><el-option label="宸插" value="宸插" /><el-option label="涓嶈" value="涓嶈" />
- </el-select>
- </el-form-item></el-col>
- <el-col :span="8"><el-form-item label="寤鸿〃鏃ユ湡"><el-date-picker v-model="pregForm.earlyFollow.buildDate" value-format="yyyy-MM-dd" class="w-md" /></el-form-item></el-col>
- <el-col :span="8"><el-form-item label="棰勪骇鏈�"><el-date-picker v-model="pregForm.earlyFollow.edd" value-format="yyyy-MM-dd" class="w-md" /></el-form-item></el-col>
- </el-row>
- <el-form-item label="璁″垝娴佷骇涓昏鍘熷洜(鍙閫�)">
- <el-checkbox-group v-model="pregForm.earlyFollow.abortionReasons">
- <el-checkbox label="宸叉湁澶氬" /><el-checkbox label="缁忔祹鍥犵礌" /><el-checkbox label="鑽墿鏆撮湶" />
- <el-checkbox label="鏈揪缁撳骞撮緞" /><el-checkbox label="韬綋鍥犵礌" /><el-checkbox label="瀹跺涵鏀寔涓嶈冻" />
- <el-checkbox label="鑷韩涓嶆効鐢熻偛" /><el-checkbox label="鍏朵粬" />
- </el-checkbox-group>
- <el-input v-if="pregForm.earlyFollow.abortionReasons.includes('鍏朵粬')" v-model="pregForm.earlyFollow.otherReason" placeholder="鍏朵粬鍘熷洜" class="w-md" style="margin-top:8px" />
- </el-form-item>
- <el-form-item label="缁х画濡婂">
- <el-radio-group v-model="pregForm.earlyFollow.continuePregnancy">
- <el-radio label="鏄�">鏄�</el-radio><el-radio label="鍚�">鍚�</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-row :gutter="20">
- <el-col :span="16"><el-form-item label="鏃╁瓡寤哄唽鍗曚綅"><el-input v-model="pregForm.earlyFollow.registrationUnit" class="w-full" /></el-form-item></el-col>
- </el-row>
- </el-form>
-
- <div class="sub-section">
- <div class="sub-title">杈呭鍐呭</div>
- <el-table :data="pregForm.counseling" border size="small">
- <el-table-column label="杈呭娆℃暟" width="120" align="center">
- <template slot-scope="scope">{{ ['绗竴娆¤緟瀵�','绗簩娆¤緟瀵�','绗笁娆¤緟瀵�','绗洓娆¤緟瀵�'][scope.$index] }}</template>
- </el-table-column>
- <el-table-column label="杈呭鏃ユ湡" width="160" align="center">
- <template slot-scope="scope">
- <el-date-picker v-if="editing" v-model="scope.row.date" value-format="yyyy-MM-dd" size="small" style="width:100%" />
- <span v-else>{{ scope.row.date || '-' }}</span>
- </template>
- </el-table-column>
- <el-table-column label="杈呭鍐呭" align="center">
- <template slot-scope="scope">
- <el-input v-if="editing" v-model="scope.row.content" size="small" />
- <span v-else>{{ scope.row.content || '-' }}</span>
- </template>
- </el-table-column>
- <el-table-column label="杈呭浜哄憳" width="140" align="center">
- <template slot-scope="scope">
- <el-input v-if="editing" v-model="scope.row.person" size="small" />
- <span v-else>{{ scope.row.person || '-' }}</span>
- </template>
- </el-table-column>
- </el-table>
- </div>
-
- <div class="sub-section">
- <div class="sub-title">璇勫垎琛�</div>
- <el-form :model="pregForm.score" label-width="140px" size="small" :disabled="!editing" inline>
- <el-form-item label="璇勫垎鎬诲垎"><el-input-number v-model="pregForm.score.total" :controls="false" style="width:140px" /></el-form-item>
- <el-form-item label="璇勪及缁撴灉"><el-input v-model="pregForm.score.result" class="w-lg" /></el-form-item>
- </el-form>
- </div>
- </el-card>
-
- <!-- 闅忚鍛ㄦ湡 -->
+ <!-- 闅忚鍛ㄦ湡锛堟棤璁烘槸鍚﹀缓绔嬫棭瀛曢殢璁胯〃鍧囨樉绀猴級 -->
+ <template v-if="archive.subType === 'pregnancy'">
<el-card class="info-card" shadow="never" style="margin-top:14px">
<div slot="header" class="card-header"><span>闅忚鍛ㄦ湡</span></div>
- <EditableTable :data.sync="pregForm.followupCycle" :editing="editing" :columns="followupColumns" />
- </el-card>
-
- <!-- 褰撳墠鎮h�呴殢璁胯褰曡〃 -->
- <el-card class="info-card" shadow="never" style="margin-top:14px">
- <div slot="header" class="card-header"><span>褰撳墠鎮h�呴殢璁胯褰曡〃</span></div>
- <el-table :data="currentFollowRecords" border size="small">
- <el-table-column type="index" label="搴忓彿" width="60" align="center" />
- <el-table-column prop="planDate" label="鎷熼殢璁挎棩鏈�" width="130" align="center" />
- <el-table-column prop="status" label="鐘跺喌" width="100" align="center" />
- <el-table-column prop="method" label="闅忚鏂瑰紡" width="110" align="center" />
- <el-table-column prop="situation" label="闅忚鎯呭喌" align="center" show-overflow-tooltip />
- <el-table-column prop="followDate" label="闅忚鏃ユ湡" width="130" align="center" />
- <el-table-column prop="staff" label="闅忚浜哄憳" width="110" align="center" />
- </el-table>
+ <EditableTable
+ :data.sync="pregForm.followupCycle"
+ :editing="editing"
+ :columns="followupColumns"
+ auto-seq="seq"
+ />
</el-card>
</template>
@@ -328,28 +256,98 @@
</el-tab-pane>
<el-tab-pane label="鏀硅壇Kupperman璇勫垎鏍囧噯琛�" name="kupperman">
- <el-form :model="form.kupperman" label-width="160px" size="small" :disabled="!editing">
- <el-row :gutter="20"><el-col :span="8"><el-form-item label="璇勪及鏃ユ湡"><el-date-picker v-model="form.kupperman.date" value-format="yyyy-MM-dd" class="w-md" /></el-form-item></el-col></el-row>
- <KuppermanScoreTable v-model="form.kupperman" :editing="editing" />
- </el-form>
+ <KuppermanScoreTable v-model="form.kupperman" :patient="patientInfo" :editing="editing" />
</el-tab-pane>
<el-tab-pane label="鏇村勾鏈熻瘎鍒嗛噺琛紙MRS锛�" name="mrs">
- <el-form :model="form.mrs" label-width="160px" size="small" :disabled="!editing">
- <el-row :gutter="20"><el-col :span="8"><el-form-item label="璇勪及鏃ユ湡"><el-date-picker v-model="form.mrs.date" value-format="yyyy-MM-dd" class="w-md" /></el-form-item></el-col></el-row>
- <MRSScoreTable v-model="form.mrs" :editing="editing" />
- </el-form>
+ <MRSScoreTable v-model="form.mrs" :patient="patientInfo" :editing="editing" />
</el-tab-pane>
<el-tab-pane label="鍖瑰吂鍫$潯鐪犺川閲忚瘎鍒嗛噺琛紙PSQI锛�" name="psqi">
- <el-form :model="form.psqi" label-width="160px" size="small" :disabled="!editing">
- <el-row :gutter="20"><el-col :span="8"><el-form-item label="璇勪及鏃ユ湡"><el-date-picker v-model="form.psqi.date" value-format="yyyy-MM-dd" class="w-md" /></el-form-item></el-col></el-row>
- <PSQIScoreTable v-model="form.psqi" :editing="editing" />
- </el-form>
+ <PSQIScoreTable v-model="form.psqi" :patient="patientInfo" :editing="editing" />
</el-tab-pane>
</el-tabs>
</el-card>
</template>
+ </el-tab-pane>
+
+ <!-- ===== 鏃╁瓡闅忚琛紙鐙珛 tab锛岄�変腑銆岀户缁濞犲苟鍦ㄤ骇绉戝缓妗c�嶅苟纭鍚庢樉绀猴級 ===== -->
+ <el-tab-pane v-if="archive.subType === 'pregnancy' && showFollowUp" label="鏃╁瓡闅忚琛�" name="followup">
+ <el-card class="info-card" shadow="never" style="margin-top:14px">
+ <div slot="header" class="card-header"><span>鏃╁瓡闅忚琛�</span></div>
+ <el-form :model="pregForm.earlyFollow" label-width="140px" size="small" :disabled="!editing">
+ <el-row :gutter="20">
+ <el-col :span="8"><el-form-item label="濮撳悕"><el-input v-model="pregForm.earlyFollow.name" class="w-sm" /></el-form-item></el-col>
+ <el-col :span="8"><el-form-item label="骞撮緞"><el-input v-model="pregForm.earlyFollow.age" class="w-xs" /></el-form-item></el-col>
+ <el-col :span="8"><el-form-item label="灏辫瘖鍙�"><el-input v-model="pregForm.earlyFollow.visitNo" class="w-sm" /></el-form-item></el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="8"><el-form-item label="鑱旂郴鏂瑰紡(寰俊)"><el-input v-model="pregForm.earlyFollow.wechat" class="w-sm" /></el-form-item></el-col>
+ <el-col :span="8"><el-form-item label="鎴风睄"><el-input v-model="pregForm.earlyFollow.household" class="w-sm" /></el-form-item></el-col>
+ <el-col :span="8"><el-form-item label="瀛曚骇鍙�"><el-input v-model="pregForm.earlyFollow.gravidaPara" placeholder="G_P_" class="w-xs" /></el-form-item></el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="8"><el-form-item label="濠氬Щ鐘跺喌">
+ <el-select v-model="pregForm.earlyFollow.maritalStatus" class="w-sm">
+ <el-option label="鏈" value="鏈" /><el-option label="宸插" value="宸插" /><el-option label="涓嶈" value="涓嶈" />
+ </el-select>
+ </el-form-item></el-col>
+ <el-col :span="8"><el-form-item label="寤鸿〃鏃ユ湡"><el-date-picker v-model="pregForm.earlyFollow.buildDate" value-format="yyyy-MM-dd" class="w-md" /></el-form-item></el-col>
+ <el-col :span="8"><el-form-item label="棰勪骇鏈�"><el-date-picker v-model="pregForm.earlyFollow.edd" value-format="yyyy-MM-dd" class="w-md" /></el-form-item></el-col>
+ </el-row>
+ <el-form-item label="璁″垝娴佷骇涓昏鍘熷洜(鍙閫�)">
+ <el-checkbox-group v-model="pregForm.earlyFollow.abortionReasons">
+ <el-checkbox label="宸叉湁澶氬" /><el-checkbox label="缁忔祹鍥犵礌" /><el-checkbox label="鑽墿鏆撮湶" />
+ <el-checkbox label="鏈揪缁撳骞撮緞" /><el-checkbox label="韬綋鍥犵礌" /><el-checkbox label="瀹跺涵鏀寔涓嶈冻" />
+ <el-checkbox label="鑷韩涓嶆効鐢熻偛" /><el-checkbox label="鍏朵粬" />
+ </el-checkbox-group>
+ <el-input v-if="pregForm.earlyFollow.abortionReasons.includes('鍏朵粬')" v-model="pregForm.earlyFollow.otherReason" placeholder="鍏朵粬鍘熷洜" class="w-md" style="margin-top:8px" />
+ </el-form-item>
+ <el-form-item label="缁х画濡婂">
+ <el-radio-group v-model="pregForm.earlyFollow.continuePregnancy">
+ <el-radio label="鏄�">鏄�</el-radio><el-radio label="鍚�">鍚�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-row :gutter="20">
+ <el-col :span="16"><el-form-item label="鏃╁瓡寤哄唽鍗曚綅"><el-input v-model="pregForm.earlyFollow.registrationUnit" class="w-full" /></el-form-item></el-col>
+ </el-row>
+ </el-form>
+
+ <div class="sub-section">
+ <div class="sub-title">杈呭鍐呭</div>
+ <el-table :data="pregForm.counseling" border size="small">
+ <el-table-column label="杈呭娆℃暟" width="120" align="center">
+ <template slot-scope="scope">{{ ['绗竴娆¤緟瀵�','绗簩娆¤緟瀵�','绗笁娆¤緟瀵�','绗洓娆¤緟瀵�'][scope.$index] }}</template>
+ </el-table-column>
+ <el-table-column label="杈呭鏃ユ湡" width="160" align="center">
+ <template slot-scope="scope">
+ <el-date-picker v-if="editing" v-model="scope.row.date" value-format="yyyy-MM-dd" size="small" style="width:100%" />
+ <span v-else>{{ scope.row.date || '-' }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="杈呭鍐呭" align="center">
+ <template slot-scope="scope">
+ <el-input v-if="editing" v-model="scope.row.content" size="small" />
+ <span v-else>{{ scope.row.content || '-' }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="杈呭浜哄憳" width="140" align="center">
+ <template slot-scope="scope">
+ <el-input v-if="editing" v-model="scope.row.person" size="small" />
+ <span v-else>{{ scope.row.person || '-' }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+
+ <div class="sub-section">
+ <div class="sub-title">璇勫垎琛�</div>
+ <el-form :model="pregForm.score" label-width="140px" size="small" :disabled="!editing" inline>
+ <el-form-item label="璇勫垎鎬诲垎"><el-input-number v-model="pregForm.score.total" :controls="false" style="width:140px" /></el-form-item>
+ <el-form-item label="璇勪及缁撴灉"><el-input v-model="pregForm.score.result" class="w-lg" /></el-form-item>
+ </el-form>
+ </div>
+ </el-card>
</el-tab-pane>
<el-tab-pane label="鏈嶅姟璁板綍" name="service">
@@ -368,7 +366,7 @@
import KuppermanScoreTable from "./KuppermanScoreTable.vue";
import MRSScoreTable from "./MRSScoreTable.vue";
import PSQIScoreTable from "./PSQIScoreTable.vue";
-import { loadArchives, saveArchives } from "../types";
+import { getArchive, saveArchive, closeArchive, calcAge } from "../apiAdapter";
const PREGNANCY_OPTIONS = {
planBirth: { label: "棣栬瘖鎷熺敓鑲�", details: ["鍏堝厗娴佷骇"], hints: ["鍖诲澶勭疆鍚庣户缁濞犲苟鍦ㄤ骇绉戝缓妗�"] },
@@ -376,24 +374,48 @@
planAbortion: { label: "棣栬瘖鎷熶汉宸ユ祦浜�", details: ["鑽墿娴佷骇", "鎵嬫湳娴佷骇"], hints: ["缁忓挩璇㈡寚瀵煎悗缁х画濡婂骞跺湪浜х寤烘。"] },
};
+// 濡婂鎯呭喌-鍏蜂綋鎯呭喌鍏ㄩ噺閫夐」锛堜笉鍐嶉殢濡婂鎯呭喌鍙樺寲锛�
+const PREGNANCY_DETAIL_OPTIONS = ["鍏堝厗娴佷骇", "鑷劧娴佷骇", "鑳氳儙鍋滆偛", "鑽墿娴佷骇", "鎵嬫湳娴佷骇"];
+
+// 鍏蜂綋鎯呭喌 鈫� 澶勭悊寤鸿 鏄犲皠锛堝鐞嗗缓璁彲閫夐」闅忔墍閫夊叿浣撴儏鍐靛彉鍔級
+const PREGNANCY_DETAIL_HINTS = {
+ "鍏堝厗娴佷骇": ["鍖诲澶勭疆鍚庣户缁濞犲苟鍦ㄤ骇绉戝缓妗�"],
+ "鑷劧娴佷骇": ["涓哄コ鎬у啀娆″濞犳彁渚涘瀛曟寚瀵�"],
+ "鑳氳儙鍋滆偛": ["涓哄コ鎬у啀娆″濞犳彁渚涘瀛曟寚瀵�"],
+ "鑽墿娴佷骇": ["缁忓挩璇㈡寚瀵煎悗缁х画濡婂骞跺湪浜х寤烘。"],
+ "鎵嬫湳娴佷骇": ["缁忓挩璇㈡寚瀵煎悗缁х画濡婂骞跺湪浜х寤烘。"],
+};
+
+// 鏄惁寤哄唽=鍚� 鏃剁殑鏈缓鍐屽師鍥狅紙鍙閫夛紝鏈�鍚庝竴椤光�滃叾浠栫壒娈婂洜绱犫�濆彲琛ュ厖杈撳叆锛�
+const UNREGISTERED_REASONS = [
+ "鎷熺粓姝㈠濞狅紝涓嶅缓鍐�",
+ "濡婂寮傚父锛氳儦鑳庡仠鑲层�佸紓浣嶅濞犮�侀毦鍏嶆祦浜с�佽嚜鐒舵祦浜�",
+ "鍏堝厗娴佷骇锛岀梾鎯呬笉绋冲畾锛屾殏缂撳缓鍐�",
+ "鍚堝苟鍐呭绉戝熀纭�鐤剧梾锛岃瘎浼版殏涓嶅疁缁х画濡婂",
+ "鎮h�呬釜浜哄強瀹跺涵鍥犵礌锛屾殏涓嶅缓鍐�",
+ "妗f涓庡氨璇婃祦杞洜绱狅細宸插湪澶栭櫌寤哄唽鎴栬姹傚洖灞炲湴绠¤緰鍦板缓鍐�",
+ "鍏朵粬鐗规畩鍥犵礌",
+];
+
export default {
name: "MaternalHealthArchiveDetail",
components: { InfoField, EditableTable, ServiceRecords, KuppermanScoreTable, MRSScoreTable, PSQIScoreTable },
data() {
return {
- PREGNANCY_OPTIONS,
+ PREGNANCY_OPTIONS, PREGNANCY_DETAIL_OPTIONS, PREGNANCY_DETAIL_HINTS, UNREGISTERED_REASONS,
loading: false, archive: null, editing: true, activeTab: "sysQ", mainTab: "detail",
followupColumns: [
{ prop: "seq", label: "搴忓彿", width: 60 },
- { prop: "planDate", label: "鎷熼殢璁挎棩鏈�", width: 130, type: "date" },
- { prop: "status", label: "鐘跺喌", width: 100, type: "select", options: ["宸插畬鎴�", "鏈畬鎴�"] },
+ { prop: "planDate", label: "鎷熼殢璁挎棩鏈�", width: 180, type: "date" },
+ // 鏂板涓�琛屾椂鐘跺喌榛樿銆屾湭瀹屾垚銆嶏紝搴忓彿鐢� EditableTable 鐨� auto-seq 鑷姩濉厖
+ { prop: "status", label: "鐘跺喌", width: 130, type: "select", options: ["宸插畬鎴�", "鏈畬鎴�"], default: "鏈畬鎴�" },
{ prop: "method", label: "闅忚鏂瑰紡", width: 110 },
{ prop: "situation", label: "闅忚鎯呭喌", minWidth: 160 },
{ prop: "followDate", label: "闅忚鏃ユ湡", width: 130, type: "date" },
{ prop: "staff", label: "闅忚浜哄憳", width: 110 },
],
pregForm: {
- firstVisit: { visitNo: "", selfPhone: "", wardName: "", contactPhone: "", idcardno: "", address: "", diagname: "", firstDoctor: "" },
+ firstVisit: { visitNo: "", selfPhone: "", wardName: "", contactPhone: "", idcardno: "", address: "", diagname: "", firstDoctor: "", lmp: "" },
pregnancy: { status: "", details: [], hint: [] },
earlyFollow: { name: "", age: "", visitNo: "", wechat: "", household: "", gravidaPara: "", maritalStatus: "", buildDate: "", abortionReasons: [], otherReason: "", continuePregnancy: "", edd: "", registrationUnit: "" },
counseling: [
@@ -401,91 +423,217 @@
{ date: "", content: "", person: "" }, { date: "", content: "", person: "" },
],
score: { total: null, result: "" },
- registration: { isRegistered: "", unregisteredReason: "", edd: "", recorder: "" },
+ registration: { isRegistered: "", unregisteredReasons: [], unregisteredReasonOther: "", edd: "", recorder: "" },
followupCycle: [],
+ showFollowUp: false,
},
form: {
menoSysQ: { date:"", age:null, menstruation:"", lmp:"", menopauseAge:null, hotFlash:0, insomnia:0, mood:0, fatigue:0, jointPain:0, palpitation:0, dryness:0, libido:0, otherSymptoms:"", advice:"", doctor:"" },
mhtFirst: { date:"", chiefComplaint:"", menopauseYears:null, height:null, weight:null, bmi:null, bloodPressure:"", glucose:null, lipid:"", pastHistory:"", gynExam:"", breastExam:"", auxExam:"", mhtPlan:"", doctor:"" },
mhtFollow: { date:"", compliance:"鑹ソ", symptomImprove:"閮ㄥ垎", sideEffect:"", bleeding:"鏃�", weight:null, bloodPressure:"", reExamResult:"", planAdjust:"", nextVisit:"", doctor:"" },
- kupperman: { date:"", 娼儹鍑烘睏:0,鎰熻寮傚父:0,澶辩湢:0,鎯呯华娉㈠姩:0,鎶戦儊:0,鐪╂檿:0,鐤蹭箯:0,鍏宠妭鐥�:0,澶寸棝:0,蹇冩偢:0,鐨偆铓佽蛋鎰�:0,鎬х敓娲�:0,娉屽翱绯绘劅鏌�:0 },
- mrs: { date:"" },
- psqi: { date:"" },
+ kupperman: { date:"", evaluator:"", kup_0:0,kup_1:0,kup_2:0,kup_3:0,kup_4:0,kup_5:0,kup_6:0,kup_7:0,kup_8:0,kup_9:0,kup_10:0,kup_11:0,kup_12:0 },
+ mrs: { date:"", evaluator:"", mrs_0:0,mrs_1:0,mrs_2:0,mrs_3:0,mrs_4:0,mrs_5:0,mrs_6:0,mrs_7:0,mrs_8:0,mrs_9:0,mrs_10:0 },
+ psqi: { date:"", evaluator:"", q1BedTime:"", q2Latency:0, q3WakeTime:"", q4Hours:null, q5a:0,q5b:0,q5c:0,q5d:0,q5e:0,q5f:0,q5g:0,q5h:0,q5i:0,q5j:0, q6Quality:0, q7Medication:0, q8Sleepy:0, q9Energy:0 },
},
};
},
computed: {
sourceLabel() { const m={standalone:"鐙珛寤烘。",outpatient:"闂ㄨ瘖璁板綍",inpatient:"鍦ㄩ櫌璁板綍"}; return m[this.archive?.sourcePage]||this.archive?.sourcePage||"-"; },
- pregnancySubOptions() {
- const opt = PREGNANCY_OPTIONS[this.pregForm.pregnancy.status];
- return opt ? opt.details : [];
+ // 閲忚〃绾歌川琛ㄨ〃澶存墍鐢ㄧ殑鎮h�呭熀鏈俊鎭�
+ patientInfo() {
+ const a = this.archive || {};
+ return {
+ name: a.patname || "",
+ // 涓庨」鐩粺涓�绾﹀畾涓�鑷达細sex == 1 涓虹敺锛屽叾浣欎负濂�
+ sex: a.sex === undefined || a.sex === null || a.sex === "" ? "" : a.sex == 1 ? "鐢�" : "濂�",
+ age: a.age || "",
+ dept: a.deptname || "",
+ diagnosis: a.diagname || "",
+ };
},
pregnancyHintOptions() {
- const opt = PREGNANCY_OPTIONS[this.pregForm.pregnancy.status];
- return opt ? opt.hints : [];
+ // 澶勭悊寤鸿鍙�夐」闅忔墍閫夈�屽叿浣撴儏鍐点�嶅彉鍔�
+ const set = {};
+ (this.pregForm.pregnancy.details || []).forEach((d) => {
+ (PREGNANCY_DETAIL_HINTS[d] || []).forEach((h) => { set[h] = true; });
+ });
+ return Object.keys(set);
},
showFollowUp() {
- return this.pregForm.pregnancy.status === "planAbortion" &&
- this.pregForm.pregnancy.hint.includes("缁忓挩璇㈡寚瀵煎悗缁х画濡婂骞跺湪浜х寤烘。");
+ return !!this.pregForm.showFollowUp;
},
- currentFollowRecords() {
- return (this.pregForm.followupCycle || []).filter((r) => r.status === "宸插畬鎴�");
- },
+ },
+ watch: {
+ // 韬唤璇佸彿濉畬鏁村悗锛岃嚜鍔ㄦ妸鍑虹敓鏃ユ湡涓庡勾榫勮ˉ涓婏紙鍙ˉ绌哄瓧娈碉級
+ "archive.idcardno"(val) { this.fillBirthdayFromIdcard(val); },
+ "pregForm.firstVisit.idcardno"(val) { this.fillBirthdayFromIdcard(val); },
},
created() {
const id = this.$route.query.id;
- if (id) this.loadArchive(id, this.$route.query.edit == 1);
+ const typeKey = this.$route.query.type;
+ // detailId锛氳鎯呰〃涓婚敭銆傚悗绔垪琛ㄦ帴鍙f殏鏈繑鍥烇紝鍏堟寜璺敱鍙傛暟閫忎紶锛屾湭鏉ュ彲鐩存帴鎷间笂
+ if (id) this.loadArchive(id, typeKey, this.$route.query.edit == 1, this.$route.query.detailId);
},
methods: {
- loadArchive(id, autoEdit) {
- this.loading = true;
- this.archive = loadArchives().find((item) => item.id === id) || null;
- if (this.archive) {
- if (this.archive.subType === "pregnancy") {
- if (this.archive.pregFormData) {
- const saved = JSON.parse(JSON.stringify(this.archive.pregFormData));
- this.pregForm = Object.assign({}, this.pregForm, saved);
- if (!this.pregForm.pregnancy) this.pregForm.pregnancy = { status: "", details: [], hint: [] };
- }
- } else if (this.archive.subType === "menopause") {
- if (this.archive.formData) {
- Object.keys(this.form).forEach((k) => {
- if (this.archive.formData[k]) Object.assign(this.form[k], this.archive.formData[k]);
- });
- }
- }
+ /**
+ * 浠庤韩浠借瘉鍙疯В鏋愬嚭鐢熸棩鏈� yyyy-MM-dd
+ * 18 浣嶏細绗� 7-14 浣嶆槸 yyyyMMdd锛�15 浣嶈�佽韩浠借瘉锛氱 7-12 浣嶆槸 yyMMdd锛屽墠闈㈣ˉ 19
+ * 鏍煎紡涓嶅鎴栨棩鏈熶笉瀛樺湪锛堝 20260231锛夎繑鍥炵┖
+ */
+ parseIdcardBirth(id) {
+ if (!id) return "";
+ const s = String(id).trim().toUpperCase();
+ let y, m, d;
+ if (/^\d{17}[\dX]$/.test(s)) {
+ y = s.substring(6, 10); m = s.substring(10, 12); d = s.substring(12, 14);
+ } else if (/^\d{15}$/.test(s)) {
+ y = "19" + s.substring(6, 8); m = s.substring(8, 10); d = s.substring(10, 12);
+ } else {
+ return "";
}
- if (autoEdit) this.editing = true;
- this.loading = false;
+ const pad = (n) => String(n).padStart(2, "0");
+ const dt = new Date(Number(y), Number(m) - 1, Number(d));
+ if (isNaN(dt.getTime())) return "";
+ // 鎷掔粷 2 鏈� 31 鏃ヨ繖绫讳笉瀛樺湪鐨勬棩鏈�
+ if (dt.getFullYear() !== Number(y) || pad(dt.getMonth() + 1) !== m || pad(dt.getDate()) !== d) return "";
+ return y + "-" + m + "-" + d;
+ },
+ /** 韬唤璇佸悎娉曟椂琛ラ綈鍑虹敓鏃ユ湡涓庡勾榫勶紝宸茬粡鏈夊�肩殑瀛楁涓嶅姩 */
+ fillBirthdayFromIdcard(id) {
+ if (!this.archive) return;
+ const birth = this.parseIdcardBirth(id);
+ if (!birth) return;
+ if (!this.archive.birthday) this.archive.birthday = birth;
+ if (!this.archive.age) this.archive.age = calcAge(birth);
+ },
+ loadArchive(id, typeKey, autoEdit, detailId) {
+ this.loading = true;
+ getArchive(typeKey, id, detailId)
+ .then((archive) => {
+ this.archive = archive || null;
+ if (this.archive) {
+ if (this.archive.subType === "pregnancy") {
+ if (this.archive.pregFormData) {
+ const saved = JSON.parse(JSON.stringify(this.archive.pregFormData));
+ this.pregForm = Object.assign({}, this.pregForm, saved);
+ if (!this.pregForm.pregnancy) this.pregForm.pregnancy = { status: "", details: [], hint: [] };
+ if (!this.pregForm.registration) this.pregForm.registration = { isRegistered: "", unregisteredReasons: [], unregisteredReasonOther: "", edd: "", recorder: "" };
+ if (!Array.isArray(this.pregForm.registration.unregisteredReasons)) this.pregForm.registration.unregisteredReasons = [];
+ // 鏈鏈堢粡锛氫粠鐥呭巻/妗f鑷姩鎶撳彇锛屽苟鑷姩璁$畻棰勪骇鏈�
+ if (!this.pregForm.firstVisit.lmp && this.archive.lmp) {
+ this.pregForm.firstVisit.lmp = this.archive.lmp;
+ if (!this.pregForm.registration.edd) this.pregForm.registration.edd = this.calcEdd(this.archive.lmp);
+ }
+ if (!saved.hasOwnProperty("showFollowUp")) {
+ // 鍏煎鏃ф暟鎹細宸叉湁鏃╁瓡闅忚琛ㄥ唴瀹瑰垯榛樿鏄剧ず
+ const ef = saved.earlyFollow || {};
+ this.pregForm.showFollowUp = !!(ef.name || ef.visitNo || ef.buildDate || ef.edd);
+ }
+ }
+ } else if (this.archive.subType === "menopause") {
+ if (this.archive.formData) {
+ Object.keys(this.form).forEach((k) => {
+ if (this.archive.formData[k]) Object.assign(this.form[k], this.archive.formData[k]);
+ });
+ }
+ }
+ }
+ if (autoEdit) this.editing = true;
+ })
+ .catch(() => { this.archive = null; })
+ .finally(() => { this.loading = false; });
},
onPregnancyStatusChange() {
- this.pregForm.pregnancy.details = [];
- this.pregForm.pregnancy.hint = [];
const opt = PREGNANCY_OPTIONS[this.pregForm.pregnancy.status];
if (this.archive) this.archive.pregnancyStatus = opt ? opt.label : "";
},
+ onDetailsChange() {
+ // 澶勭悊寤鸿闅忓叿浣撴儏鍐靛彉鍔紝鍓旈櫎宸蹭笉鍐嶉�傜敤鐨勫凡閫夐」
+ const valid = this.pregnancyHintOptions;
+ this.pregForm.pregnancy.hint = (this.pregForm.pregnancy.hint || []).filter((h) => valid.includes(h));
+ },
+ calcEdd(lmp) {
+ if (!lmp) return "";
+ const d = new Date(String(lmp).replace(/-/g, "/"));
+ if (isNaN(d.getTime())) return "";
+ const m = d.getMonth() + 1; // 1-12
+ let y = d.getFullYear();
+ // 鏈鏈堢粡锛氭湀浠�>3 鍑�3锛堣法骞达級锛屸墹3 鍔�9锛涙棩鏈�+7
+ const eddMonth = m > 3 ? m - 3 : m + 9;
+ if (m > 3) y += 1;
+ const edd = new Date(y, eddMonth - 1, d.getDate() + 7);
+ const pad = (n) => String(n).padStart(2, "0");
+ return edd.getFullYear() + "-" + pad(edd.getMonth() + 1) + "-" + pad(edd.getDate());
+ },
+ onLmpChange(val) {
+ this.pregForm.registration.edd = this.calcEdd(val);
+ },
+ hasFollowupHint(hints) {
+ return (hints || []).some((h) => h && h.indexOf("缁х画濡婂骞跺湪浜х寤烘。") > -1);
+ },
+ onHintChange(val) {
+ if (this.hasFollowupHint(val) && !this.pregForm.showFollowUp) {
+ this.$modal.confirm("鏄惁鍒涘缓鏃╁瓡闅忚琛紵").then(() => {
+ this.pregForm.showFollowUp = true;
+ // 鏂板缓闅忚琛ㄦ椂鎶婃。妗堥噷宸叉湁鐨勫熀纭�淇℃伅甯﹁繃鏉ワ紝閬垮厤閲嶅褰曞叆
+ this.fillEarlyFollowDefaults();
+ this.$message.success("宸插垱寤烘棭瀛曢殢璁胯〃");
+ }).catch(() => {});
+ }
+ },
+ /**
+ * 鐢ㄦ。妗堜俊鎭濉棭瀛曢殢璁胯〃鐨勫熀纭�瀛楁
+ * 鍙~绌哄瓧娈碉紝涓嶈鐩栫敤鎴峰凡缁忓~杩囩殑鍐呭
+ */
+ fillEarlyFollowDefaults() {
+ const a = this.archive || {};
+ if (!this.pregForm.earlyFollow) {
+ this.pregForm.earlyFollow = { name: "", age: "", visitNo: "", wechat: "", household: "", gravidaPara: "", maritalStatus: "", buildDate: "", abortionReasons: [], otherReason: "", continuePregnancy: "", edd: "", registrationUnit: "" };
+ }
+ const ef = this.pregForm.earlyFollow;
+ const put = (key, val) => {
+ if (val === undefined || val === null || val === "") return;
+ if (ef[key] === undefined || ef[key] === null || ef[key] === "") ef[key] = val;
+ };
+ put("name", a.patname); // 濮撳悕
+ put("age", a.age); // 骞撮緞锛堢敱鍑虹敓鏃ユ湡鎺ㄧ畻锛�
+ put("visitNo", a.outhospno || a.serialnum); // 灏辫瘖鍙凤紙闂ㄨ瘖鍙� / 娴佹按鍙凤級
+ put("edd", this.pregForm.registration && this.pregForm.registration.edd); // 棰勪骇鏈燂紙妗f閲屽凡鎸夋湯娆℃湀缁忕畻濂斤級
+ put("buildDate", this.todayStr()); // 寤鸿〃鏃ユ湡榛樿浠婂ぉ
+ },
+ /** 浠婂ぉ yyyy-MM-dd */
+ todayStr() {
+ const d = new Date();
+ const pad = (n) => String(n).padStart(2, "0");
+ return d.getFullYear() + "-" + pad(d.getMonth() + 1) + "-" + pad(d.getDate());
+ },
toggleEdit() {
if (this.editing) {
+ // 鍏堟妸椤甸潰琛ㄥ崟鍥炲~鍒版。妗堝璞★紝鍐嶆暣浣撴彁浜�
if (this.archive.subType === "pregnancy") this.archive.pregFormData = JSON.parse(JSON.stringify(this.pregForm));
if (this.archive.subType === "menopause") this.archive.formData = JSON.parse(JSON.stringify(this.form));
- this.archive.updateTime = new Date().toISOString().replace("T", " ").substring(0, 19);
- const all = loadArchives();
- const idx = all.findIndex((item) => item.id === this.archive.id);
- if (idx >= 0) all[idx] = JSON.parse(JSON.stringify(this.archive));
- saveArchives(all);
- this.$message.success("淇濆瓨鎴愬姛");
+ this.loading = true;
+ saveArchive(this.archive)
+ .then(() => {
+ this.$message.success("淇濆瓨鎴愬姛");
+ this.editing = false;
+ })
+ .catch(() => {})
+ .finally(() => { this.loading = false; });
+ return;
}
- this.editing = !this.editing;
+ this.editing = true;
},
handleCloseCase() {
this.$modal.confirm("纭灏嗚妗f缁撴锛熺粨妗堝悗鍙湪鍒楄〃椤垫煡鐪嬬粨妗堢姸鎬併��").then(() => {
- this.archive.closeStatus = 1;
- this.archive.updateTime = new Date().toISOString().replace("T", " ").substring(0, 19);
- const all = loadArchives();
- const idx = all.findIndex((item) => item.id === this.archive.id);
- if (idx >= 0) all[idx] = JSON.parse(JSON.stringify(this.archive));
- saveArchives(all);
- this.$message.success("宸茬粨妗�");
+ this.loading = true;
+ return closeArchive(this.archive)
+ .then(() => {
+ this.archive.closeStatus = 1;
+ this.$message.success("宸茬粨妗�");
+ })
+ .catch(() => {})
+ .finally(() => { this.loading = false; });
}).catch(() => {});
},
},
@@ -506,6 +654,14 @@
.info-card { margin-bottom: 0; }
.card-header { display: flex; justify-content: space-between; align-items: center; font-size: 16px; font-weight: 600; }
.header-sub { font-size: 13px; color: #909399; font-weight: normal; }
+.page-title {
+ margin: 0 0 14px;
+ padding-left: 12px;
+ font-size: 17px;
+ font-weight: 600;
+ color: #303133;
+ border-left: 4px solid $primary;
+}
.empty-wrap { text-align: center; padding: 100px 0; color: #c0c4cc; font-size: 16px; }
// 钃濊壊鍒嗗壊绾� + 灏忔爣棰�
diff --git a/src/views/patient/archives/maternalHealth/index.vue b/src/views/patient/archives/maternalHealth/index.vue
index c8bf90a..27328c4 100644
--- a/src/views/patient/archives/maternalHealth/index.vue
+++ b/src/views/patient/archives/maternalHealth/index.vue
@@ -48,13 +48,13 @@
<el-tag :type="scope.row.subType === 'pregnancy' ? 'success' : 'warning'">{{ scope.row.subTypeLabel }}</el-tag>
</template>
</el-table-column>
- <el-table-column label="瀛曞懆" align="center" width="70">
- <template slot-scope="scope">{{ scope.row.subType === 'pregnancy' ? (scope.row.archiveForm.gestationalWeek || '-') : '-' }}</template>
+ <el-table-column label="濡婂鎯呭喌" align="center" width="120" show-overflow-tooltip>
+ <template slot-scope="scope">{{ scope.row.subType === 'pregnancy' ? (scope.row.pregnancyStatus || '-') : '-' }}</template>
</el-table-column>
- <el-table-column label="KMI璇勫垎" align="center" width="90">
- <template slot-scope="scope">{{ scope.row.subType === 'menopause' ? (scope.row.archiveForm.kmiScore || '-') : '-' }}</template>
+ <el-table-column label="闅忚鍛ㄦ湡" align="center" width="110" show-overflow-tooltip>
+ <template slot-scope="scope">{{ scope.row.subType === 'menopause' ? (scope.row.followupCycles || '-') : '-' }}</template>
</el-table-column>
- <el-table-column label="寤烘。鍖荤敓" align="center" prop="archiveForm.doctorName" width="100" />
+ <el-table-column label="鐧昏浜哄憳" align="center" prop="registrant" width="100" />
<el-table-column label="寤烘。鏃堕棿" align="center" width="160">
<template slot-scope="scope">{{ scope.row.createTime ? scope.row.createTime.substring(0, 10) : '-' }}</template>
</el-table-column>
@@ -85,13 +85,14 @@
<script>
import ArchiveDialog from "@/views/patient/archives/components/ArchiveDialog.vue";
+import { listArchivesByModule, removeArchiveList } from "../apiAdapter";
export default {
name: "MaternalHealthArchive",
components: { ArchiveDialog },
data() {
return {
- loading: false, showSearch: true, multiple: true, ids: [], dateRange: [], total: 0, allList: [], displayList: [],
+ loading: false, showSearch: true, multiple: true, ids: [], selectedRows: [], dateRange: [], total: 0, allList: [], displayList: [],
createDialogVisible: false,
queryParams: { pageNum: 1, pageSize: 10, patname: "", subType: "", deptname: "" },
};
@@ -100,38 +101,43 @@
methods: {
getList() {
this.loading = true;
- const all = JSON.parse(localStorage.getItem("patientArchives") || "[]");
- this.allList = all.filter((item) => item.mainCategory === "maternal");
- let filtered = [...this.allList];
- if (this.queryParams.patname) filtered = filtered.filter((item) => item.patname && item.patname.includes(this.queryParams.patname));
- if (this.queryParams.subType) filtered = filtered.filter((item) => item.subType === this.queryParams.subType);
- if (this.queryParams.deptname) filtered = filtered.filter((item) => item.deptname && item.deptname.includes(this.queryParams.deptname));
- if (this.dateRange && this.dateRange.length === 2) {
- filtered = filtered.filter((item) => {
- const d = (item.createTime || "").substring(0, 10);
- return d >= this.dateRange[0] && d <= this.dateRange[1];
- });
+ const params = { pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize };
+ if (this.queryParams.patname) params.patname = this.queryParams.patname;
+ if (this.queryParams.deptname) params.deptname = this.queryParams.deptname;
+ // 涓撴绫诲瀷锛氳浆鎴愬悗绔� archiveType锛堝绉� 1-鏃╁瓡鍏崇埍 2-鍥寸粷缁忔湡MHI锛�
+ if (this.queryParams.subType) {
+ params.archiveType = this.queryParams.subType === "pregnancy" ? "1" : "2";
}
- this.total = filtered.length;
- const start = (this.queryParams.pageNum - 1) * this.queryParams.pageSize;
- this.displayList = filtered.slice(start, start + this.queryParams.pageSize);
- this.loading = false;
+ if (this.dateRange && this.dateRange.length === 2) {
+ params.params = { beginTime: this.dateRange[0], endTime: this.dateRange[1] };
+ }
+ listArchivesByModule("maternal", params)
+ .then((res) => {
+ this.allList = res.rows || [];
+ this.displayList = this.allList;
+ this.total = res.total || 0;
+ })
+ .catch(() => { this.displayList = []; this.total = 0; })
+ .finally(() => { this.loading = false; });
},
handleQuery() { this.queryParams.pageNum = 1; this.getList(); },
resetQuery() { this.dateRange = []; this.queryParams = { pageNum: 1, pageSize: 10, patname: "", subType: "", deptname: "" }; this.getList(); },
- handleSelectionChange(s) { this.ids = s.map(i => i.id); this.multiple = !s.length; },
+ handleSelectionChange(s) {
+ this.selectedRows = s;
+ this.ids = s.map(i => i.id);
+ this.multiple = !s.length;
+ },
handleDelete() {
if (this.ids.length === 0) { this.$modal.msgWarning("璇疯嚦灏戦�夋嫨涓�鏉�"); return; }
this.$modal.confirm("纭鍒犻櫎閫変腑妗f锛�").then(() => {
- const all = JSON.parse(localStorage.getItem("patientArchives") || "[]");
- const remaining = all.filter((item) => !this.ids.includes(item.id));
- localStorage.setItem("patientArchives", JSON.stringify(remaining));
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); this.getList();
+ return removeArchiveList(this.selectedRows).then(() => {
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); this.getList();
+ });
}).catch(() => {});
},
- handleSingleDelete(row) { this.ids = [row.id]; this.handleDelete(); },
+ handleSingleDelete(row) { this.selectedRows = [row]; this.ids = [row.id]; this.handleDelete(); },
handleCreateStandalone() { this.createDialogVisible = true; },
- goDetail(row) { this.$router.push({ path: "/filing/maternalDetail", query: { id: row.id } }); },
+ goDetail(row) { this.$router.push({ path: "/filing/maternalDetail", query: { id: row.id, type: row.subType, detailId: row.detailId || "" } }); },
},
};
</script>
diff --git a/src/views/patient/archives/types.js b/src/views/patient/archives/types.js
index 3f91f1b..cef20c4 100644
--- a/src/views/patient/archives/types.js
+++ b/src/views/patient/archives/types.js
@@ -52,12 +52,12 @@
],
},
{
- key: "highRisk",
+ key: "highrisk",
category: "child",
entryLabel: "楂樺嵄鍎夸笓妗�",
label: "楂樺嵄鍎夸笓妗�",
subTypeLabel: "楂樺嵄鍎夸笓妗堢鐞�",
- route: "/filing/highRisk",
+ route: "/filing/highrisk",
detailRoute: "/filing/childDetail",
columns: [
{ label: "鍎跨濮撳悕", prop: "patname" },
@@ -70,8 +70,8 @@
{ label: "鎬у埆", prop: "sex", type: "sex" },
{ label: "鍑虹敓鏃ユ湡", prop: "birthday", type: "date" },
{ label: "鍑虹敓浣撻噸", prop: "birthWeight" },
- { label: "楂樺嵄鍎垮垎绫�", prop: "highRiskCategory" },
- { label: "楂樺嵄鍎垮悕绉�", prop: "highRiskName" },
+ { label: "楂樺嵄鍎垮垎绫�", prop: "highriskCategory" },
+ { label: "楂樺嵄鍎垮悕绉�", prop: "highriskName" },
{ label: "鐧昏浜哄憳", prop: "registrant" },
],
},
@@ -122,6 +122,8 @@
return ARCHIVE_TYPES.find((t) => t.key === key);
}
+// 浠ヤ笅 loadArchives / saveArchives / buildArchiveRecord 涓烘棭鏈� localStorage mock 瀹炵幇锛�
+// 寤烘。妯″潡宸叉暣浣撴敼璧扮湡瀹炴帴鍙o紙瑙� ../apiAdapter.js锛夛紝姝ゅ浠呬繚鐣欍�佷笉鍐嶈璋冪敤锛岃鍕垮湪鏂颁唬鐮佷腑浣跨敤銆�
// 璇诲彇 localStorage 妗f鍒楄〃
export function loadArchives() {
try {
@@ -175,9 +177,10 @@
managingDoctor: "",
registrant: localStorage.getItem("YongHuXM") || "",
pregnancyStatus: "",
+ lmp: patient.lmp || patient.lastMenstrualPeriod || "",
followupCycles: "",
- highRiskCategory: "",
- highRiskName: "",
+ highriskCategory: "",
+ highriskName: "",
nutritionName: "",
appointmentStatus: "",
followupDate: "",
diff --git a/src/views/patient/patient/behospitalized.vue b/src/views/patient/patient/behospitalized.vue
index b099067..555eb68 100644
--- a/src/views/patient/patient/behospitalized.vue
+++ b/src/views/patient/patient/behospitalized.vue
@@ -860,6 +860,10 @@
this.queryParams.leaveldeptcodes.push(code);
this.queryParams.leavehospitaldistrictcodes = [];
this.queryParams.searchscope = 1;
+ } else if (type == 2) {
+ this.queryParams.leavehospitaldistrictcodes.push(code);
+ this.queryParams.leaveldeptcodes = [];
+ this.queryParams.searchscope = 2;
} else if (type == 3) {
this.queryParams.leaveldeptcodes = store.getters.belongDepts.map(
(obj) => obj.deptCode
diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index 88aa5db..ff60b58 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -1100,7 +1100,7 @@
allhosp: "0",
pageSize: 10,
notrequiredFlag: 0,
- searchscope: 2,
+ // searchscope: 2,
scopetype: [],
leaveldeptcodes: [],
leavehospitaldistrictcodes: [],
@@ -1312,7 +1312,7 @@
allhosp: "0",
pageSize: 10,
notrequiredFlag: 0,
- searchscope: 2,
+ // searchscope: 2,
scopetype: [],
leaveldeptcodes: [],
leavehospitaldistrictcodes: [],
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index c19b83e..ec22748 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -332,6 +332,35 @@
></el-col>
</el-row>
+ <!-- 缂欎簯鍘夸汉姘戝尰闄細瓒呮椂鏈畬鎴愭槸鍚﹀啀娆¢殢璁� / 鍐嶆闅忚鍏宠仈浠诲姟 -->
+ <el-row v-if="form.appltype == 1 && orgname == '缂欎簯鍘夸汉姘戝尰闄�'">
+ <el-col :span="12">
+ <el-form-item label="瓒呮椂鏈畬鎴愭槸鍚﹀啀娆¢殢璁�">
+ <el-radio-group v-model="form.nexttaskflag">
+ <el-radio label="1">鏄�</el-radio>
+ <el-radio label="0">鍚�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍐嶆闅忚鍏宠仈浠诲姟">
+ <el-input
+ style="width: 300px"
+ :disabled="true"
+ v-model="nextTaskName"
+ placeholder="璇风偣鍑诲彸渚ч�夋嫨浠诲姟"
+ />
+ <el-button
+ style="margin-left: 10px"
+ type="primary"
+ icon="el-icon-edit"
+ circle
+ @click="openNextTaskDialog"
+ ></el-button>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
<!-- 鐥呭尯鍏宠仈 -->
<el-row v-if="form.appltype == 2">
<el-col :span="20"
@@ -1330,6 +1359,68 @@
</div>
</div>
</el-drawer>
+ <!-- 閫夋嫨鍐嶆闅忚鍏宠仈浠诲姟 -->
+ <el-dialog
+ title="閫夋嫨浠诲姟"
+ :visible.sync="nextTaskDialogVisible"
+ width="60%"
+ :close-on-click-modal="false"
+ >
+ <el-form :inline="true" size="small">
+ <el-form-item label="浠诲姟鍚嶇О">
+ <el-input
+ v-model="nextTaskQuery.taskName"
+ placeholder="璇疯緭鍏ヤ换鍔″悕绉�"
+ @keyup.enter.native="handleNextTaskQuery"
+ ></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button
+ type="primary"
+ icon="el-icon-search"
+ @click="handleNextTaskQuery"
+ >鎼滅储</el-button
+ >
+ <el-button icon="el-icon-refresh" @click="resetNextTaskQuery"
+ >閲嶇疆</el-button
+ >
+ </el-form-item>
+ </el-form>
+ <el-table :data="nextTaskList" border v-loading="nextTaskLoading">
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ prop="taskName"
+ show-overflow-tooltip
+ />
+ <el-table-column
+ label="浠诲姟鎻忚堪"
+ prop="taskDesc"
+ show-overflow-tooltip
+ />
+ <el-table-column
+ label="鏈嶅姟椤圭洰"
+ prop="templatename"
+ show-overflow-tooltip
+ />
+ <el-table-column label="鎿嶄綔" width="100" align="center">
+ <template slot-scope="scope">
+ <el-button type="text" @click="selectNextTask(scope.row)"
+ >閫夋嫨</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ v-show="nextTaskTotal > 0"
+ :total="nextTaskTotal"
+ :page.sync="nextTaskQuery.pageNum"
+ :limit.sync="nextTaskQuery.pageSize"
+ @pagination="getNextTaskList"
+ />
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="nextTaskDialogVisible = false">鍙� 娑�</el-button>
+ </span>
+ </el-dialog>
<Optional-Form
ref="child"
:dialogVisiblepatient="dialogVisiblepatientjb"
@@ -1368,8 +1459,10 @@
rwztaskdepthospgetsonlist,
rwztaskdiaggetlist,
taskopergetlist,
+ getTasklist,
} from "@/api/AiCentre/index";
import { listMedication } from "@/api/knowledge/drug";
+import { getIvrtask } from "@/api/smartor/ivrtask";
import OptionalForm from "@/components/OptionalForm";
import SFtable from "@/components/SFtable";
import SortCheckbox from "@/components/SortCheckbox";
@@ -1566,6 +1659,8 @@
orgname: localStorage.getItem("orgname"),
form: {
patTaskRelevances: [],
+ nexttaskflag: "0",
+ nexttaskid: null,
sendType: 1,
longTask: 0,
templatename: "",
@@ -1637,6 +1732,13 @@
queryParamsdept: {},
quote: false,
serviceType: null,
+ // 鍐嶆闅忚鍏宠仈浠诲姟锛堢紮浜戝幙浜烘皯鍖婚櫌锛�
+ nextTaskDialogVisible: false,
+ nextTaskLoading: false,
+ nextTaskList: [],
+ nextTaskTotal: 0,
+ nextTaskQuery: { pageNum: 1, pageSize: 10, taskName: "" },
+ nextTaskName: "",
// 妯℃澘鎼滅储
templateOptions: [],
templateLoading: false,
@@ -1802,6 +1904,8 @@
Getdetails() {
this.form = {
patTaskRelevances: [],
+ nexttaskflag: "0",
+ nexttaskid: null,
sendType: 1,
sendDay: 5,
templatename: "",
@@ -1831,6 +1935,14 @@
Questionnairetaskgetson({ taskid: this.id }).then((res) => {
if (res.code == 200) {
this.form = res.data;
+ // 鍥炴樉鍐嶆闅忚鍏宠仈浠诲姟
+ if (this.form.nexttaskflag == null) this.form.nexttaskflag = "0";
+ this.nextTaskName = "";
+ if (this.form.nexttaskid) {
+ getIvrtask(this.form.nexttaskid).then((r) => {
+ this.nextTaskName = (r.data && r.data.taskName) || "";
+ });
+ }
// 濡傛灉杩斿洖浜� serviceTaskScheduleVO锛岃В鏋愭槑缁嗕腑鐨� content
if (
this.form.serviceTaskScheduleVO &&
@@ -1933,6 +2045,9 @@
this.time2 = "";
this.time3 = "";
this.time4 = "";
+ this.form.nexttaskflag = "0";
+ this.form.nexttaskid = null;
+ this.nextTaskName = "";
// 閲嶇疆浠诲姟缁�
this.form.serviceTaskScheduleVO = {
scheduleStyle: 0,
@@ -2284,6 +2399,42 @@
);
},
+ // ---------- 鍐嶆闅忚鍏宠仈浠诲姟 ----------
+ openNextTaskDialog() {
+ this.nextTaskQuery = { pageNum: 1, pageSize: 10, taskName: "" };
+ this.nextTaskDialogVisible = true;
+ this.getNextTaskList();
+ },
+ getNextTaskList() {
+ this.nextTaskLoading = true;
+ getTasklist({
+ pageNum: this.nextTaskQuery.pageNum,
+ pageSize: this.nextTaskQuery.pageSize,
+ taskName: this.nextTaskQuery.taskName || undefined,
+ })
+ .then((res) => {
+ this.nextTaskList = res.rows || [];
+ this.nextTaskTotal = res.total || 0;
+ this.nextTaskLoading = false;
+ })
+ .catch(() => {
+ this.nextTaskLoading = false;
+ });
+ },
+ handleNextTaskQuery() {
+ this.nextTaskQuery.pageNum = 1;
+ this.getNextTaskList();
+ },
+ resetNextTaskQuery() {
+ this.nextTaskQuery = { pageNum: 1, pageSize: 10, taskName: "" };
+ this.getNextTaskList();
+ },
+ selectNextTask(row) {
+ this.form.nexttaskid = row.taskid;
+ this.nextTaskName = row.taskName;
+ this.nextTaskDialogVisible = false;
+ },
+
// ---------- 鎮h�呴�夋嫨 ----------
handleAddpatient(row) {
this.allpids = [];
diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index e189c1c..d8d60eb 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -330,6 +330,35 @@
></el-col>
</el-row>
+ <!-- 缂欎簯鍘夸汉姘戝尰闄細瓒呮椂鏈畬鎴愭槸鍚﹀啀娆¢殢璁� / 鍐嶆闅忚鍏宠仈浠诲姟 -->
+ <el-row v-if="form.appltype == 1 && orgname == '缂欎簯鍘夸汉姘戝尰闄�'">
+ <el-col :span="12">
+ <el-form-item label="瓒呮椂鏈畬鎴愭槸鍚﹀啀娆¢殢璁�">
+ <el-radio-group v-model="form.nexttaskflag">
+ <el-radio label="1">鏄�</el-radio>
+ <el-radio label="0">鍚�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍐嶆闅忚鍏宠仈浠诲姟">
+ <el-input
+ style="width: 300px"
+ :disabled="true"
+ v-model="nextTaskName"
+ placeholder="璇风偣鍑诲彸渚ч�夋嫨浠诲姟"
+ />
+ <el-button
+ style="margin-left: 10px"
+ type="primary"
+ icon="el-icon-edit"
+ circle
+ @click="openNextTaskDialog"
+ ></el-button>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
<!-- 鐥呭尯鍏宠仈 -->
<el-row v-if="form.appltype == 2">
<el-col :span="20"
@@ -1337,6 +1366,68 @@
</div>
</div>
</el-drawer>
+ <!-- 閫夋嫨鍐嶆闅忚鍏宠仈浠诲姟 -->
+ <el-dialog
+ title="閫夋嫨浠诲姟"
+ :visible.sync="nextTaskDialogVisible"
+ width="60%"
+ :close-on-click-modal="false"
+ >
+ <el-form :inline="true" size="small">
+ <el-form-item label="浠诲姟鍚嶇О">
+ <el-input
+ v-model="nextTaskQuery.taskName"
+ placeholder="璇疯緭鍏ヤ换鍔″悕绉�"
+ @keyup.enter.native="handleNextTaskQuery"
+ ></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button
+ type="primary"
+ icon="el-icon-search"
+ @click="handleNextTaskQuery"
+ >鎼滅储</el-button
+ >
+ <el-button icon="el-icon-refresh" @click="resetNextTaskQuery"
+ >閲嶇疆</el-button
+ >
+ </el-form-item>
+ </el-form>
+ <el-table :data="nextTaskList" border v-loading="nextTaskLoading">
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ prop="taskName"
+ show-overflow-tooltip
+ />
+ <el-table-column
+ label="浠诲姟鎻忚堪"
+ prop="taskDesc"
+ show-overflow-tooltip
+ />
+ <el-table-column
+ label="鏈嶅姟椤圭洰"
+ prop="templatename"
+ show-overflow-tooltip
+ />
+ <el-table-column label="鎿嶄綔" width="100" align="center">
+ <template slot-scope="scope">
+ <el-button type="text" @click="selectNextTask(scope.row)"
+ >閫夋嫨</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ v-show="nextTaskTotal > 0"
+ :total="nextTaskTotal"
+ :page.sync="nextTaskQuery.pageNum"
+ :limit.sync="nextTaskQuery.pageSize"
+ @pagination="getNextTaskList"
+ />
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="nextTaskDialogVisible = false">鍙� 娑�</el-button>
+ </span>
+ </el-dialog>
<Optional-Form
ref="child"
:dialogVisiblepatient="dialogVisiblepatientjb"
@@ -1375,8 +1466,10 @@
rwztaskdiaggetlist,
taskmedicallist,
getQtemplatelist,
+ getTasklist,
} from "@/api/AiCentre/index";
import { listMedication } from "@/api/knowledge/drug";
+import { getIvrtask } from "@/api/smartor/ivrtask";
import { deptTreeSelect } from "@/api/system/user";
import OptionalForm from "@/components/OptionalForm";
import SortCheckbox from "@/components/SortCheckbox";
@@ -1577,6 +1670,8 @@
SelectPatientslist: [],
form: {
patTaskRelevances: [],
+ nexttaskflag: "0",
+ nexttaskid: null,
sendType: 3,
longTask: 0,
templatename: "",
@@ -1650,6 +1745,14 @@
belongDepts: [],
quote: false,
serviceType: null,
+ // 鍐嶆闅忚鍏宠仈浠诲姟锛堢紮浜戝幙浜烘皯鍖婚櫌锛�
+ orgname: localStorage.getItem("orgname"),
+ nextTaskDialogVisible: false,
+ nextTaskLoading: false,
+ nextTaskList: [],
+ nextTaskTotal: 0,
+ nextTaskQuery: { pageNum: 1, pageSize: 10, taskName: "" },
+ nextTaskName: "",
// 妯℃澘鎼滅储
templateOptions: [],
templateLoading: false,
@@ -1825,6 +1928,8 @@
Getdetails() {
this.form = {
patTaskRelevances: [],
+ nexttaskflag: "0",
+ nexttaskid: null,
sendType: 1,
sendDay: 5,
templatename: "",
@@ -1854,6 +1959,14 @@
getTaskInfo({ taskid: this.id }).then((res) => {
if (res.code == 200) {
this.form = res.data;
+ // 鍥炴樉鍐嶆闅忚鍏宠仈浠诲姟
+ if (this.form.nexttaskflag == null) this.form.nexttaskflag = "0";
+ this.nextTaskName = "";
+ if (this.form.nexttaskid) {
+ getIvrtask(this.form.nexttaskid).then((r) => {
+ this.nextTaskName = (r.data && r.data.taskName) || "";
+ });
+ }
// 濡傛灉杩斿洖浜� serviceTaskScheduleVO锛屽垯瑙f瀽鏄庣粏涓殑 content
if (
this.form.serviceTaskScheduleVO &&
@@ -1958,6 +2071,9 @@
this.time2 = "";
this.time3 = "";
this.time4 = "";
+ this.form.nexttaskflag = "0";
+ this.form.nexttaskid = null;
+ this.nextTaskName = "";
// 閲嶇疆浠诲姟缁�
this.form.serviceTaskScheduleVO = {
scheduleStyle: 0,
@@ -2306,6 +2422,42 @@
);
},
+ // ---------- 鍐嶆闅忚鍏宠仈浠诲姟 ----------
+ openNextTaskDialog() {
+ this.nextTaskQuery = { pageNum: 1, pageSize: 10, taskName: "" };
+ this.nextTaskDialogVisible = true;
+ this.getNextTaskList();
+ },
+ getNextTaskList() {
+ this.nextTaskLoading = true;
+ getTasklist({
+ pageNum: this.nextTaskQuery.pageNum,
+ pageSize: this.nextTaskQuery.pageSize,
+ taskName: this.nextTaskQuery.taskName || undefined,
+ })
+ .then((res) => {
+ this.nextTaskList = res.rows || [];
+ this.nextTaskTotal = res.total || 0;
+ this.nextTaskLoading = false;
+ })
+ .catch(() => {
+ this.nextTaskLoading = false;
+ });
+ },
+ handleNextTaskQuery() {
+ this.nextTaskQuery.pageNum = 1;
+ this.getNextTaskList();
+ },
+ resetNextTaskQuery() {
+ this.nextTaskQuery = { pageNum: 1, pageSize: 10, taskName: "" };
+ this.getNextTaskList();
+ },
+ selectNextTask(row) {
+ this.form.nexttaskid = row.taskid;
+ this.nextTaskName = row.taskName;
+ this.nextTaskDialogVisible = false;
+ },
+
// ---------- 鎮h�呴�夋嫨 ----------
handleAddpatient(row) {
this.allpids = [];
diff --git a/src/views/sfstatistics/percentage/components/CombinedFollowUp.vue b/src/views/sfstatistics/percentage/components/CombinedFollowUp.vue
index 540e2d0..ebdec78 100644
--- a/src/views/sfstatistics/percentage/components/CombinedFollowUp.vue
+++ b/src/views/sfstatistics/percentage/components/CombinedFollowUp.vue
@@ -26,8 +26,19 @@
>
<el-table-column label="" align="center" width="96" fixed="left">
<template slot="header">
- <div style="display: flex; justify-content: space-between; align-items: center;">
- <el-button type="primary" size="mini" icon="el-icon-download" @click="exportDoctorTable(props.row)">
+ <div
+ style="
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ "
+ >
+ <el-button
+ type="primary"
+ size="mini"
+ icon="el-icon-download"
+ @click="exportDoctorTable(props.row)"
+ >
瀵煎嚭
</el-button>
</div>
@@ -35,108 +46,317 @@
</el-table-column>
<el-table-column label="鍖荤敓濮撳悕" prop="drname" align="center" />
- <el-table-column label="绉戝" prop="deptname" align="center" width="120" />
+ <el-table-column
+ label="绉戝"
+ prop="deptname"
+ align="center"
+ width="120"
+ />
<!-- 鍩虹鍒� -->
- <el-table-column label="鍑洪櫌浜烘" prop="dischargeCount" align="center">
+ <el-table-column
+ label="鍑洪櫌浜烘"
+ prop="dischargeCount"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'dischargeCountInfo', '鍑洪櫌鎮h�呭垪琛�', '1')">
- <span class="button-zx">{{ scope.row.dischargeCount }}</span>
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'dischargeCountInfo',
+ '鍑洪櫌鎮h�呭垪琛�',
+ '1'
+ )
+ "
+ >
+ <span class="button-zx">{{
+ scope.row.dischargeCount
+ }}</span>
</el-button>
</template>
</el-table-column>
<!-- 棣栨闅忚锛堝尰鐢燂級 -->
- <el-table-column label="棣栨鏃犻渶闅忚" prop="nonFollowUp" align="center">
+ <el-table-column
+ label="棣栨鏃犻渶闅忚"
+ prop="nonFollowUp"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'nonFollowUpInfo', '棣栨鏃犻渶闅忚鍒楄〃', '1')">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'nonFollowUpInfo',
+ '棣栨鏃犻渶闅忚鍒楄〃',
+ '1'
+ )
+ "
+ >
<span class="button-zx">{{ scope.row.nonFollowUp }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="棣栨搴旈殢璁�" prop="followUpNeeded" align="center">
+ <el-table-column
+ label="棣栨搴旈殢璁�"
+ prop="followUpNeeded"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'followUpNeededInfo', '棣栨搴旈殢璁垮垪琛�', '1')">
- <span class="button-zx">{{ scope.row.followUpNeeded }}</span>
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'followUpNeededInfo',
+ '棣栨搴旈殢璁垮垪琛�',
+ '1'
+ )
+ "
+ >
+ <span class="button-zx">{{
+ scope.row.followUpNeeded
+ }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="棣栨闇�闅忚" prop="needFollowUp" align="center">
+ <el-table-column
+ label="棣栨闇�闅忚"
+ prop="needFollowUp"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'needFollowUpInfo', '棣栨闇�闅忚鍒楄〃', '1')">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'needFollowUpInfo',
+ '棣栨闇�闅忚鍒楄〃',
+ '1'
+ )
+ "
+ >
<span class="button-zx">{{ scope.row.needFollowUp }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="棣栨寰呴殢璁�" prop="pendingFollowUp" align="center">
+ <el-table-column
+ label="棣栨寰呴殢璁�"
+ prop="pendingFollowUp"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'pendingFollowUpInfo', '棣栨寰呴殢璁垮垪琛�', '1')">
- <span class="button-zx">{{ scope.row.pendingFollowUp }}</span>
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'pendingFollowUpInfo',
+ '棣栨寰呴殢璁垮垪琛�',
+ '1'
+ )
+ "
+ >
+ <span class="button-zx">{{
+ scope.row.pendingFollowUp
+ }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="棣栨瀹屾垚" prop="followUpSuccess" align="center">
+ <el-table-column
+ label="棣栨瀹屾垚"
+ prop="followUpSuccess"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'followUpSuccessInfo', '棣栨瀹屾垚鍒楄〃', '1')">
- <span class="button-zx">{{ scope.row.followUpSuccess }}</span>
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'followUpSuccessInfo',
+ '棣栨瀹屾垚鍒楄〃',
+ '1'
+ )
+ "
+ >
+ <span class="button-zx">{{
+ scope.row.followUpSuccess
+ }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="棣栨澶辫触" prop="followUpFail" align="center">
+ <el-table-column
+ label="棣栨澶辫触"
+ prop="followUpFail"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'followUpFailInfo', '棣栨澶辫触鍒楄〃', '1')">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'followUpFailInfo',
+ '棣栨澶辫触鍒楄〃',
+ '1'
+ )
+ "
+ >
<span class="button-zx">{{ scope.row.followUpFail }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column v-if="orgname != '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'" label="棣栨鎴愬姛鐜�" prop="successRate" align="center" :render-header="Tooltipcgl">
+ <el-table-column
+ v-if="orgname != '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'"
+ label="棣栨鎴愬姛鐜�"
+ prop="successRate"
+ align="center"
+ :render-header="Tooltipcgl"
+ >
<template slot-scope="scope">
- <span>{{ calculateSuccessRate(scope.row.followUpSuccess, scope.row.needFollowUp, scope.row.pendingFollowUp) }}</span>
+ <span>{{
+ calculateSuccessRate(
+ scope.row.followUpSuccess,
+ scope.row.needFollowUp,
+ scope.row.pendingFollowUp
+ )
+ }}</span>
</template>
</el-table-column>
<!-- 鍐嶆闅忚锛堝尰鐢燂級 -->
- <el-table-column label="鍐嶆闇�闅忚" prop="needFollowUpAgain" align="center">
+ <el-table-column
+ label="鍐嶆闇�闅忚"
+ prop="needFollowUpAgain"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'needFollowUpAgainInfo', '鍐嶆闇�闅忚鍒楄〃', '1')">
- <span class="button-zx">{{ scope.row.needFollowUpAgain }}</span>
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'needFollowUpAgainInfo',
+ '鍐嶆闇�闅忚鍒楄〃',
+ '1'
+ )
+ "
+ >
+ <span class="button-zx">{{
+ scope.row.needFollowUpAgain
+ }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="鍐嶆寰呴殢璁�" prop="pendingFollowUpAgain" align="center">
+ <el-table-column
+ label="鍐嶆寰呴殢璁�"
+ prop="pendingFollowUpAgain"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'pendingFollowUpAgainInfo', '鍐嶆寰呴殢璁垮垪琛�', '1')">
- <span class="button-zx">{{ scope.row.pendingFollowUpAgain }}</span>
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'pendingFollowUpAgainInfo',
+ '鍐嶆寰呴殢璁垮垪琛�',
+ '1'
+ )
+ "
+ >
+ <span class="button-zx">{{
+ scope.row.pendingFollowUpAgain
+ }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="鍐嶆瀹屾垚" prop="followUpSuccessAgain" align="center">
+ <el-table-column
+ label="鍐嶆瀹屾垚"
+ prop="followUpSuccessAgain"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'followUpSuccessAgainInfo', '鍐嶆瀹屾垚鍒楄〃', '1')">
- <span class="button-zx">{{ scope.row.followUpSuccessAgain }}</span>
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'followUpSuccessAgainInfo',
+ '鍐嶆瀹屾垚鍒楄〃',
+ '1'
+ )
+ "
+ >
+ <span class="button-zx">{{
+ scope.row.followUpSuccessAgain
+ }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="鍐嶆澶辫触" prop="followUpFailAgain" align="center">
+ <el-table-column
+ label="鍐嶆澶辫触"
+ prop="followUpFailAgain"
+ align="center"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'followUpFailAgainInfo', '鍐嶆澶辫触鍒楄〃', '1')">
- <span class="button-zx">{{ scope.row.followUpFailAgain }}</span>
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'followUpFailAgainInfo',
+ '鍐嶆澶辫触鍒楄〃',
+ '1'
+ )
+ "
+ >
+ <span class="button-zx">{{
+ scope.row.followUpFailAgain
+ }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column v-if="orgname != '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'" label="鍐嶆鎴愬姛鐜�" prop="successRateAgain" align="center" :render-header="Tooltipcgl">
+ <el-table-column
+ v-if="orgname != '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'"
+ label="鍐嶆鎴愬姛鐜�"
+ prop="successRateAgain"
+ align="center"
+ :render-header="Tooltipcgl"
+ >
<template slot-scope="scope">
- <span>{{ calculateSuccessRate(scope.row.followUpSuccessAgain, scope.row.needFollowUpAgain, scope.row.pendingFollowUpAgain) }}</span>
+ <span>{{
+ calculateSuccessRate(
+ scope.row.followUpSuccessAgain,
+ scope.row.needFollowUpAgain,
+ scope.row.pendingFollowUpAgain
+ )
+ }}</span>
</template>
</el-table-column>
<!-- 鏂板璁$畻鎸囨爣锛堝尰鐢燂級 -->
- <el-table-column label="闅忚鐜�" align="center" prop="followUpRate" :render-header="TooltipFollowUpRate">
+ <el-table-column
+ label="闅忚鐜�"
+ align="center"
+ prop="followUpRate"
+ :render-header="TooltipFollowUpRate"
+ >
<template slot-scope="scope">
<span>{{ calculateFollowUpRate(scope.row) }}</span>
</template>
</el-table-column>
- <el-table-column label="鎺ㄩ�佺巼" align="center" prop="pushRate" :render-header="TooltipPushRate">
+ <el-table-column
+ label="鎺ㄩ�佺巼"
+ align="center"
+ prop="pushRate"
+ :render-header="TooltipPushRate"
+ >
<template slot-scope="scope">
<span>{{ calculatePushRate(scope.row) }}</span>
</template>
@@ -168,110 +388,280 @@
<!-- 鍑洪櫌浜烘 -->
<el-table-column label="鍑洪櫌浜烘" align="center" prop="dischargeCount">
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'dischargeCountInfo', '鍑洪櫌鎮h�呭垪琛�')">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'dischargeCountInfo',
+ '鍑洪櫌鎮h�呭垪琛�'
+ )
+ "
+ >
<span class="button-zx">{{ scope.row.dischargeCount }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="鏃犻渶闅忚" align="center" prop="nonFollowUp">
- <template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'nonFollowUpInfo', '棣栨鏃犻渶闅忚鍒楄〃')">
- <span class="button-zx">{{ scope.row.nonFollowUp }}</span>
- </el-button>
- </template>
- </el-table-column>
- <el-table-column label="搴旈殢璁�" align="center" prop="followUpNeeded">
- <template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'followUpNeededInfo', '棣栨搴旈殢璁垮垪琛�')">
- <span class="button-zx">{{ scope.row.followUpNeeded }}</span>
- </el-button>
- </template>
- </el-table-column>
+ <el-table-column label="鏃犻渶闅忚" align="center" prop="nonFollowUp">
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'nonFollowUpInfo',
+ '棣栨鏃犻渶闅忚鍒楄〃'
+ )
+ "
+ >
+ <span class="button-zx">{{ scope.row.nonFollowUp }}</span>
+ </el-button>
+ </template>
+ </el-table-column>
+ <el-table-column label="搴旈殢璁�" align="center" prop="followUpNeeded">
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'followUpNeededInfo',
+ '棣栨搴旈殢璁垮垪琛�'
+ )
+ "
+ >
+ <span class="button-zx">{{ scope.row.followUpNeeded }}</span>
+ </el-button>
+ </template>
+ </el-table-column>
<!-- ===== 棣栨闅忚 ===== -->
<el-table-column align="center" label="棣栨闅忚">
-
<el-table-column label="闇�闅忚" align="center" prop="needFollowUp">
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'needFollowUpInfo', '棣栨闇�闅忚鍒楄〃')">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'needFollowUpInfo',
+ '棣栨闇�闅忚鍒楄〃'
+ )
+ "
+ >
<span class="button-zx">{{ scope.row.needFollowUp }}</span>
</el-button>
</template>
</el-table-column>
<el-table-column label="寰呴殢璁�" align="center" prop="pendingFollowUp">
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'pendingFollowUpInfo', '棣栨寰呴殢璁垮垪琛�')">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'pendingFollowUpInfo',
+ '棣栨寰呴殢璁垮垪琛�'
+ )
+ "
+ >
<span class="button-zx">{{ scope.row.pendingFollowUp }}</span>
</el-button>
</template>
</el-table-column>
<el-table-column label="瀹屾垚" align="center" prop="followUpSuccess">
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'followUpSuccessInfo', '棣栨瀹屾垚鍒楄〃')">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'followUpSuccessInfo',
+ '棣栨瀹屾垚鍒楄〃'
+ )
+ "
+ >
<span class="button-zx">{{ scope.row.followUpSuccess }}</span>
</el-button>
</template>
</el-table-column>
<el-table-column label="澶辫触" align="center" prop="followUpFail">
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'followUpFailInfo', '棣栨澶辫触鍒楄〃')">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'followUpFailInfo',
+ '棣栨澶辫触鍒楄〃'
+ )
+ "
+ >
<span class="button-zx">{{ scope.row.followUpFail }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column v-if="orgname != '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'" label="鎴愬姛鐜�" align="center" prop="successRate" :render-header="Tooltipcgl">
+ <el-table-column
+ v-if="orgname != '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'"
+ label="鎴愬姛鐜�"
+ align="center"
+ prop="successRate"
+ :render-header="Tooltipcgl"
+ >
<template slot-scope="scope">
- <span>{{ calculateSuccessRate(scope.row.followUpSuccess, scope.row.needFollowUp, scope.row.pendingFollowUp) }}</span>
+ <span>{{
+ calculateSuccessRate(
+ scope.row.followUpSuccess,
+ scope.row.needFollowUp,
+ scope.row.pendingFollowUp
+ )
+ }}</span>
</template>
</el-table-column>
</el-table-column>
<!-- ===== 鍐嶆闅忚 ===== -->
<el-table-column align="center" label="鍐嶆闅忚">
- <el-table-column label="闇�闅忚" align="center" prop="needFollowUpAgain">
+ <el-table-column
+ label="闇�闅忚"
+ align="center"
+ prop="needFollowUpAgain"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'needFollowUpAgainInfo', '鍐嶆闇�闅忚鍒楄〃')">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'needFollowUpAgainInfo',
+ '鍐嶆闇�闅忚鍒楄〃'
+ )
+ "
+ >
<span class="button-zx">{{ scope.row.needFollowUpAgain }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="寰呴殢璁�" align="center" prop="pendingFollowUpAgain">
+ <el-table-column
+ label="寰呴殢璁�"
+ align="center"
+ prop="pendingFollowUpAgain"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'pendingFollowUpAgainInfo', '鍐嶆寰呴殢璁垮垪琛�')">
- <span class="button-zx">{{ scope.row.pendingFollowUpAgain }}</span>
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'pendingFollowUpAgainInfo',
+ '鍐嶆寰呴殢璁垮垪琛�'
+ )
+ "
+ >
+ <span class="button-zx">{{
+ scope.row.pendingFollowUpAgain
+ }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column label="瀹屾垚" align="center" prop="followUpSuccessAgain">
+ <el-table-column
+ label="瀹屾垚"
+ align="center"
+ prop="followUpSuccessAgain"
+ >
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'followUpSuccessAgainInfo', '鍐嶆瀹屾垚鍒楄〃')">
- <span class="button-zx">{{ scope.row.followUpSuccessAgain }}</span>
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'followUpSuccessAgainInfo',
+ '鍐嶆瀹屾垚鍒楄〃'
+ )
+ "
+ >
+ <span class="button-zx">{{
+ scope.row.followUpSuccessAgain
+ }}</span>
</el-button>
</template>
</el-table-column>
<el-table-column label="澶辫触" align="center" prop="followUpFailAgain">
<template slot-scope="scope">
- <el-button type="text" @click="handleViewDetails(scope.row, 'followUpFailAgainInfo', '鍐嶆澶辫触鍒楄〃')">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'followUpFailAgainInfo',
+ '鍐嶆澶辫触鍒楄〃'
+ )
+ "
+ >
<span class="button-zx">{{ scope.row.followUpFailAgain }}</span>
</el-button>
</template>
</el-table-column>
- <el-table-column v-if="orgname != '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'" label="鎴愬姛鐜�" align="center" prop="successRateAgain" :render-header="Tooltipcgl">
+ <el-table-column
+ v-if="orgname != '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'"
+ label="鎴愬姛鐜�"
+ align="center"
+ prop="successRateAgain"
+ :render-header="Tooltipcgl"
+ >
<template slot-scope="scope">
- <span>{{ calculateSuccessRate(scope.row.followUpSuccessAgain, scope.row.needFollowUpAgain, scope.row.pendingFollowUpAgain) }}</span>
+ <span>{{
+ calculateSuccessRate(
+ scope.row.followUpSuccessAgain,
+ scope.row.needFollowUpAgain,
+ scope.row.pendingFollowUpAgain
+ )
+ }}</span>
</template>
</el-table-column>
</el-table-column>
<!-- ===== 鏂板璁$畻鎸囨爣 ===== -->
- <el-table-column label="闅忚鐜�" align="center" prop="followUpRate" :render-header="TooltipFollowUpRate">
+ <el-table-column
+ label="闅忚鐜�"
+ align="center"
+ prop="followUpRate"
+ :render-header="TooltipFollowUpRate"
+ >
<template slot-scope="scope">
<span>{{ calculateFollowUpRate(scope.row) }}</span>
</template>
</el-table-column>
- <el-table-column label="鎺ㄩ�佺巼" align="center" prop="pushRate" :render-header="TooltipPushRate">
+ <el-table-column
+ label="鎺ㄩ�佺巼"
+ align="center"
+ prop="pushRate"
+ :render-header="TooltipPushRate"
+ >
<template slot-scope="scope">
<span>{{ calculatePushRate(scope.row) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="宸叉嫧閫�"
+ align="center"
+ prop="manuallyCalled"
+ :render-header="TooltipPushRate"
+ >
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ @click="
+ handleViewDetails(
+ scope.row,
+ 'manuallyCalledInfo',
+ '宸叉嫧閫氬垪琛�',
+ '1'
+ )
+ "
+ >
+ <span class="button-zx">{{ scope.row.manuallyCalled }}</span>
+ </el-button>
</template>
</el-table-column>
</el-table>
@@ -325,9 +715,10 @@
const params = {
...this.queryParams,
// 涓嶄紶 visitCount锛屽悗绔繑鍥炲寘鍚娆″拰鍐嶆鐨勬暟鎹�
- leavehospitaldistrictcodes: this.queryParams.leavehospitaldistrictcodes.includes("all")
- ? this.getAllWardCodes()
- : this.queryParams.leavehospitaldistrictcodes,
+ leavehospitaldistrictcodes:
+ this.queryParams.leavehospitaldistrictcodes.includes("all")
+ ? this.getAllWardCodes()
+ : this.queryParams.leavehospitaldistrictcodes,
deptcodes: this.queryParams.deptcodes.includes("all")
? this.getAllDeptCodes()
: this.queryParams.deptcodes,
@@ -351,20 +742,64 @@
},
getAllWardCodes() {
- return this.flatArrayhospit.filter((item) => item.value !== "all").map((item) => item.value);
+ return this.flatArrayhospit
+ .filter((item) => item.value !== "all")
+ .map((item) => item.value);
},
getAllDeptCodes() {
- return this.flatArraydept.filter((item) => item.value !== "all").map((item) => item.value);
+ return this.flatArraydept
+ .filter((item) => item.value !== "all")
+ .map((item) => item.value);
},
// ===================== 鎺掑簭 =====================
customSort(data) {
const order = [
- "涓�", "浜�", "涓�", "鍥�", "浜�", "鍏�", "涓�", "鍏�", "涔�", "鍗�",
- "鍗佷竴", "鍗佷簩", "鍗佷笁", "鍗佸洓", "鍗佷簲", "鍗佸叚", "鍗佷竷", "鍗佸叓", "鍗佷節", "浜屽崄",
- "浜屽崄涓�", "浜屽崄浜�", "浜屽崄涓�", "浜屽崄鍥�", "浜屽崄浜�", "浜屽崄鍏�", "浜屽崄涓�", "浜屽崄鍏�", "浜屽崄涔�", "涓夊崄",
- "涓夊崄涓�", "涓夊崄浜�", "涓夊崄涓�", "涓夊崄鍥�", "涓夊崄浜�", "涓夊崄鍏�", "涓夊崄涓�", "涓夊崄鍏�", "涓夊崄涔�", "鍥涘崄",
- "鍥涘崄涓�", "鍥涘崄浜�", "鍥涘崄涓�", "鍥涘崄鍥�", "鍥涘崄浜�",
+ "涓�",
+ "浜�",
+ "涓�",
+ "鍥�",
+ "浜�",
+ "鍏�",
+ "涓�",
+ "鍏�",
+ "涔�",
+ "鍗�",
+ "鍗佷竴",
+ "鍗佷簩",
+ "鍗佷笁",
+ "鍗佸洓",
+ "鍗佷簲",
+ "鍗佸叚",
+ "鍗佷竷",
+ "鍗佸叓",
+ "鍗佷節",
+ "浜屽崄",
+ "浜屽崄涓�",
+ "浜屽崄浜�",
+ "浜屽崄涓�",
+ "浜屽崄鍥�",
+ "浜屽崄浜�",
+ "浜屽崄鍏�",
+ "浜屽崄涓�",
+ "浜屽崄鍏�",
+ "浜屽崄涔�",
+ "涓夊崄",
+ "涓夊崄涓�",
+ "涓夊崄浜�",
+ "涓夊崄涓�",
+ "涓夊崄鍥�",
+ "涓夊崄浜�",
+ "涓夊崄鍏�",
+ "涓夊崄涓�",
+ "涓夊崄鍏�",
+ "涓夊崄涔�",
+ "鍥涘崄",
+ "鍥涘崄涓�",
+ "鍥涘崄浜�",
+ "鍥涘崄涓�",
+ "鍥涘崄鍥�",
+ "鍥涘崄浜�",
];
return data.sort((a, b) => {
const getIndex = (name) => {
@@ -383,7 +818,9 @@
const indexA = getIndex(a.leavehospitaldistrictname);
const indexB = getIndex(b.leavehospitaldistrictname);
if (indexA === -1 && indexB === -1) {
- return (a.leavehospitaldistrictname || "").localeCompare(b.leavehospitaldistrictname || "");
+ return (a.leavehospitaldistrictname || "").localeCompare(
+ b.leavehospitaldistrictname || ""
+ );
}
if (indexA === -1) return 1;
if (indexB === -1) return -1;
@@ -396,22 +833,60 @@
const a = aRow.leavehospitaldistrictname;
const b = bRow.leavehospitaldistrictname;
const chineseNumMap = {
- 涓�: 1, 浜�: 2, 涓�: 3, 鍥�: 4, 浜�: 5,
- 鍏�: 6, 涓�: 7, 鍏�: 8, 涔�: 9, 鍗�: 10,
- 鍗佷竴: 11, 鍗佷簩: 12, 鍗佷笁: 13, 鍗佸洓: 14, 鍗佷簲: 15,
- 鍗佸叚: 16, 鍗佷竷: 17, 鍗佸叓: 18, 鍗佷節: 19, 浜屽崄: 20,
- 浜屽崄涓�: 21, 浜屽崄浜�: 22, 浜屽崄涓�: 23, 浜屽崄鍥�: 24, 浜屽崄浜�: 25,
- 浜屽崄鍏�: 26, 浜屽崄涓�: 27, 浜屽崄鍏�: 28, 浜屽崄涔�: 29, 涓夊崄: 30,
- 涓夊崄涓�: 31, 涓夊崄浜�: 32, 涓夊崄涓�: 33, 涓夊崄鍥�: 34, 涓夊崄浜�: 35,
- 涓夊崄鍏�: 36, 涓夊崄涓�: 37, 涓夊崄鍏�: 38, 涓夊崄涔�: 39, 鍥涘崄: 40,
- 鍥涘崄涓�: 41, 鍥涘崄浜�: 42, 鍥涘崄涓�: 43, 鍥涘崄鍥�: 44, 鍥涘崄浜�: 45,
+ 涓�: 1,
+ 浜�: 2,
+ 涓�: 3,
+ 鍥�: 4,
+ 浜�: 5,
+ 鍏�: 6,
+ 涓�: 7,
+ 鍏�: 8,
+ 涔�: 9,
+ 鍗�: 10,
+ 鍗佷竴: 11,
+ 鍗佷簩: 12,
+ 鍗佷笁: 13,
+ 鍗佸洓: 14,
+ 鍗佷簲: 15,
+ 鍗佸叚: 16,
+ 鍗佷竷: 17,
+ 鍗佸叓: 18,
+ 鍗佷節: 19,
+ 浜屽崄: 20,
+ 浜屽崄涓�: 21,
+ 浜屽崄浜�: 22,
+ 浜屽崄涓�: 23,
+ 浜屽崄鍥�: 24,
+ 浜屽崄浜�: 25,
+ 浜屽崄鍏�: 26,
+ 浜屽崄涓�: 27,
+ 浜屽崄鍏�: 28,
+ 浜屽崄涔�: 29,
+ 涓夊崄: 30,
+ 涓夊崄涓�: 31,
+ 涓夊崄浜�: 32,
+ 涓夊崄涓�: 33,
+ 涓夊崄鍥�: 34,
+ 涓夊崄浜�: 35,
+ 涓夊崄鍏�: 36,
+ 涓夊崄涓�: 37,
+ 涓夊崄鍏�: 38,
+ 涓夊崄涔�: 39,
+ 鍥涘崄: 40,
+ 鍥涘崄涓�: 41,
+ 鍥涘崄浜�: 42,
+ 鍥涘崄涓�: 43,
+ 鍥涘崄鍥�: 44,
+ 鍥涘崄浜�: 45,
};
const getNumberFromText = (text) => {
if (!text || typeof text !== "string") return -1;
const match = text.match(/^([涓�浜屼笁鍥涗簲鍏竷鍏節鍗乚+)/);
if (match && match[1]) {
const chineseNum = match[1];
- return chineseNumMap[chineseNum] !== undefined ? chineseNumMap[chineseNum] : -1;
+ return chineseNumMap[chineseNum] !== undefined
+ ? chineseNumMap[chineseNum]
+ : -1;
}
const arabicMatch = text.match(/^(\d+)/);
if (arabicMatch && arabicMatch[1]) {
@@ -430,7 +905,9 @@
// ===================== 琛屽睍寮� =====================
getRowKey(row) {
- return row.statisticaltype === 1 ? row.leavehospitaldistrictcode : row.deptcode;
+ return row.statisticaltype === 1
+ ? row.leavehospitaldistrictcode
+ : row.deptcode;
},
handleRowClick(row) {
@@ -496,7 +973,7 @@
const nonFollowUp = Number(row.nonFollowUp) || 0;
const followUpNeeded = Number(row.followUpNeeded) || 0;
const denominator = followUpNeeded + nonFollowUp;
- console.log(successAgain,nonFollowUp,followUpNeeded);
+ console.log(successAgain, nonFollowUp, followUpNeeded);
if (denominator <= 0) return "0.00%";
return ((successAgain / denominator) * 100).toFixed(2) + "%";
@@ -522,13 +999,27 @@
// 鍥犱负璁$畻澶嶆潅锛岃繖閲岀畝鍖栦负 "-"
sums[index] = "-";
} else if (prop === "followUpRate") {
- const values = data.map((row) => parseFloat(this.calculateFollowUpRate(row).replace("%", ""))).filter(v => !isNaN(v));
+ const values = data
+ .map((row) =>
+ parseFloat(this.calculateFollowUpRate(row).replace("%", ""))
+ )
+ .filter((v) => !isNaN(v));
if (values.length === 0) sums[index] = "0.00%";
- else sums[index] = (values.reduce((a, b) => a + b, 0) / values.length).toFixed(2) + "%";
+ else
+ sums[index] =
+ (values.reduce((a, b) => a + b, 0) / values.length).toFixed(2) +
+ "%";
} else if (prop === "pushRate") {
- const values = data.map((row) => parseFloat(this.calculatePushRate(row).replace("%", ""))).filter(v => !isNaN(v));
+ const values = data
+ .map((row) =>
+ parseFloat(this.calculatePushRate(row).replace("%", ""))
+ )
+ .filter((v) => !isNaN(v));
if (values.length === 0) sums[index] = "0.00%";
- else sums[index] = (values.reduce((a, b) => a + b, 0) / values.length).toFixed(2) + "%";
+ else
+ sums[index] =
+ (values.reduce((a, b) => a + b, 0) / values.length).toFixed(2) +
+ "%";
} else {
// 鏁板瓧鍒楁眰鍜�
const values = data.map((item) => Number(item[prop]) || 0);
@@ -556,11 +1047,25 @@
if (prop === "successRate" || prop === "successRateAgain") {
sums[index] = "-";
} else if (prop === "followUpRate") {
- const values = data.map((row) => parseFloat(this.calculateFollowUpRate(row).replace("%", ""))).filter(v => !isNaN(v));
- sums[index] = values.length ? (values.reduce((a, b) => a + b, 0) / values.length).toFixed(2) + "%" : "0.00%";
+ const values = data
+ .map((row) =>
+ parseFloat(this.calculateFollowUpRate(row).replace("%", ""))
+ )
+ .filter((v) => !isNaN(v));
+ sums[index] = values.length
+ ? (values.reduce((a, b) => a + b, 0) / values.length).toFixed(2) +
+ "%"
+ : "0.00%";
} else if (prop === "pushRate") {
- const values = data.map((row) => parseFloat(this.calculatePushRate(row).replace("%", ""))).filter(v => !isNaN(v));
- sums[index] = values.length ? (values.reduce((a, b) => a + b, 0) / values.length).toFixed(2) + "%" : "0.00%";
+ const values = data
+ .map((row) =>
+ parseFloat(this.calculatePushRate(row).replace("%", ""))
+ )
+ .filter((v) => !isNaN(v));
+ sums[index] = values.length
+ ? (values.reduce((a, b) => a + b, 0) / values.length).toFixed(2) +
+ "%"
+ : "0.00%";
} else {
const values = data.map((item) => Number(item[prop]) || 0);
sums[index] = values.reduce((a, b) => a + b, 0);
@@ -577,7 +1082,9 @@
// ===================== 鐐瑰嚮閽诲彇 =====================
handleViewDetails(row, infoKey, titleSuffix, type) {
- const title = `${row.leavehospitaldistrictname || row.deptname}${titleSuffix}`;
+ const title = `${
+ row.leavehospitaldistrictname || row.deptname
+ }${titleSuffix}`;
this.$emit("view-details", row, infoKey, title, type);
},
@@ -598,7 +1105,10 @@
try {
let dateRangeString = "";
const isLishuiHospital = this.orgname === "涓芥按甯備腑鍖婚櫌";
- if (this.queryParams.dateRange && this.queryParams.dateRange.length === 2) {
+ if (
+ this.queryParams.dateRange &&
+ this.queryParams.dateRange.length === 2
+ ) {
const start = this.queryParams.dateRange[0];
const end = this.queryParams.dateRange[1];
if (isLishuiHospital) {
@@ -612,11 +1122,15 @@
}
} else {
const now = new Date();
- dateRangeString = isLishuiHospital ? `${now.getFullYear()}骞�${now.getMonth() + 1}鏈坄 : `${now.getMonth() + 1}鏈坄;
+ dateRangeString = isLishuiHospital
+ ? `${now.getFullYear()}骞�${now.getMonth() + 1}鏈坄
+ : `${now.getMonth() + 1}鏈坄;
}
const serviceTypeLabel = this.getServiceTypeLabel();
- const serviceTypeSuffix = serviceTypeLabel ? `_${serviceTypeLabel}` : "";
+ const serviceTypeSuffix = serviceTypeLabel
+ ? `_${serviceTypeLabel}`
+ : "";
const excelName = `缁煎悎闅忚缁熻琛�${serviceTypeSuffix}_${dateRangeString}.xlsx`;
if (!this.tableData || this.tableData.length === 0) {
this.$message.warning("鏆傛棤鏁版嵁鍙鍑�");
@@ -645,29 +1159,59 @@
const titleStyle = {
font: { name: "寰蒋闆呴粦", size: 16, bold: true },
alignment: { horizontal: "center", vertical: "middle" },
- fill: { type: "pattern", pattern: "solid", fgColor: { argb: "FFE6F3FF" } },
- border: { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } },
+ fill: {
+ type: "pattern",
+ pattern: "solid",
+ fgColor: { argb: "FFE6F3FF" },
+ },
+ border: {
+ top: { style: "thin" },
+ left: { style: "thin" },
+ bottom: { style: "thin" },
+ right: { style: "thin" },
+ },
};
const headerStyle = {
font: { name: "寰蒋闆呴粦", size: 11, bold: true },
- fill: { type: "pattern", pattern: "solid", fgColor: { argb: "FFF5F7FA" } },
+ fill: {
+ type: "pattern",
+ pattern: "solid",
+ fgColor: { argb: "FFF5F7FA" },
+ },
alignment: { horizontal: "center", vertical: "middle", wrapText: true },
- border: { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } },
+ border: {
+ top: { style: "thin" },
+ left: { style: "thin" },
+ bottom: { style: "thin" },
+ right: { style: "thin" },
+ },
};
const cellStyle = {
font: { name: "瀹嬩綋", size: 10 },
alignment: { horizontal: "center", vertical: "middle" },
- border: { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } },
+ border: {
+ top: { style: "thin" },
+ left: { style: "thin" },
+ bottom: { style: "thin" },
+ right: { style: "thin" },
+ },
};
const summaryStyle = {
...cellStyle,
font: { ...cellStyle.font, bold: true, color: { argb: "FF409EFF" } },
- fill: { type: "pattern", pattern: "solid", fgColor: { argb: "FFF5F7FA" } },
+ fill: {
+ type: "pattern",
+ pattern: "solid",
+ fgColor: { argb: "FFF5F7FA" },
+ },
};
// 鏍囬琛�
worksheet.mergeCells(1, 1, 1, 20);
- worksheet.getCell(1, 1).value = `缁煎悎闅忚缁熻琛�${serviceTypeSuffix}_${dateRangeString}`;
+ worksheet.getCell(
+ 1,
+ 1
+ ).value = `缁煎悎闅忚缁熻琛�${serviceTypeSuffix}_${dateRangeString}`;
worksheet.getCell(1, 1).style = titleStyle;
worksheet.getRow(1).height = 35;
@@ -679,7 +1223,8 @@
// 鐥呭尯/绉戝
worksheet.mergeCells(2, 2, 3, 2);
- worksheet.getCell(2, 2).value = this.queryParams.statisticaltype == 1 ? "鍑洪櫌鐥呭尯" : "绉戝";
+ worksheet.getCell(2, 2).value =
+ this.queryParams.statisticaltype == 1 ? "鍑洪櫌鐥呭尯" : "绉戝";
worksheet.getCell(2, 2).style = headerStyle;
// 鍑洪櫌浜烘
@@ -691,7 +1236,15 @@
worksheet.mergeCells(2, 4, 2, 10);
worksheet.getCell(2, 4).value = "棣栨闅忚";
worksheet.getCell(2, 4).style = headerStyle;
- const firstCols = ["鏃犻渶闅忚", "搴旈殢璁�", "闇�闅忚", "寰呴殢璁�", "瀹屾垚", "澶辫触", "鎴愬姛鐜�"];
+ const firstCols = [
+ "鏃犻渶闅忚",
+ "搴旈殢璁�",
+ "闇�闅忚",
+ "寰呴殢璁�",
+ "瀹屾垚",
+ "澶辫触",
+ "鎴愬姛鐜�",
+ ];
firstCols.forEach((label, idx) => {
const col = 4 + idx;
worksheet.getCell(3, col).value = label;
@@ -729,66 +1282,144 @@
item.pendingFollowUp || 0,
item.followUpSuccess || 0,
item.followUpFail || 0,
- this.calculateSuccessRate(item.followUpSuccess, item.needFollowUp, item.pendingFollowUp),
+ this.calculateSuccessRate(
+ item.followUpSuccess,
+ item.needFollowUp,
+ item.pendingFollowUp
+ ),
item.needFollowUpAgain || 0,
item.pendingFollowUpAgain || 0,
item.followUpSuccessAgain || 0,
item.followUpFailAgain || 0,
- this.calculateSuccessRate(item.followUpSuccessAgain, item.needFollowUpAgain, item.pendingFollowUpAgain),
+ this.calculateSuccessRate(
+ item.followUpSuccessAgain,
+ item.needFollowUpAgain,
+ item.pendingFollowUpAgain
+ ),
this.calculateFollowUpRate(item),
this.calculatePushRate(item),
];
const row = worksheet.addRow(rowData);
- row.eachCell((cell) => { cell.style = cellStyle; });
+ row.eachCell((cell) => {
+ cell.style = cellStyle;
+ });
row.height = 24;
});
// 鍚堣琛�
const summaries = this.getExportSummaries();
const summaryRow = worksheet.addRow(summaries);
- summaryRow.eachCell((cell) => { cell.style = summaryStyle; });
+ summaryRow.eachCell((cell) => {
+ cell.style = summaryStyle;
+ });
// 鍒楀
worksheet.columns = [
{ width: 8 },
{ width: 20 },
{ width: 12 },
- { width: 12 }, { width: 12 }, { width: 12 }, { width: 12 }, { width: 12 }, { width: 12 }, { width: 12 },
- { width: 12 }, { width: 12 }, { width: 12 }, { width: 12 }, { width: 12 },
- { width: 12 }, { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
+ { width: 12 },
];
},
getExportSummaries() {
// 鎻愬彇鏁版嵁锛岃绠楀悎璁¤
const data = this.tableData;
- const sums = ["鍚堣", "/", 0, 0, 0, 0, 0, 0, 0, "0%", 0, 0, 0, 0, "0%", "0%", "0%"];
+ const sums = [
+ "鍚堣",
+ "/",
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "0%",
+ 0,
+ 0,
+ 0,
+ 0,
+ "0%",
+ "0%",
+ "0%",
+ ];
// 鏁板瓧鍒楃储寮�
const numIndices = [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13];
- data.forEach(row => {
- numIndices.forEach(idx => {
+ data.forEach((row) => {
+ numIndices.forEach((idx) => {
const val = Number(row[this.getFieldByIndex(idx)]) || 0;
sums[idx] += val;
});
});
// 鏍煎紡鍖栨暟瀛�
- numIndices.forEach(idx => { sums[idx] = this.formatNumber(sums[idx]); });
+ numIndices.forEach((idx) => {
+ sums[idx] = this.formatNumber(sums[idx]);
+ });
// 璁$畻涓や釜鐧惧垎姣斿垪鐨勫钩鍧囧��
- const followUpRates = data.map(row => parseFloat(this.calculateFollowUpRate(row).replace("%", ""))).filter(v => !isNaN(v));
- const pushRates = data.map(row => parseFloat(this.calculatePushRate(row).replace("%", ""))).filter(v => !isNaN(v));
- sums[15] = followUpRates.length ? (followUpRates.reduce((a,b)=>a+b,0)/followUpRates.length).toFixed(2)+"%" : "0.00%";
- sums[16] = pushRates.length ? (pushRates.reduce((a,b)=>a+b,0)/pushRates.length).toFixed(2)+"%" : "0.00%";
+ const followUpRates = data
+ .map((row) =>
+ parseFloat(this.calculateFollowUpRate(row).replace("%", ""))
+ )
+ .filter((v) => !isNaN(v));
+ const pushRates = data
+ .map((row) => parseFloat(this.calculatePushRate(row).replace("%", "")))
+ .filter((v) => !isNaN(v));
+ sums[15] = followUpRates.length
+ ? (
+ followUpRates.reduce((a, b) => a + b, 0) / followUpRates.length
+ ).toFixed(2) + "%"
+ : "0.00%";
+ sums[16] = pushRates.length
+ ? (pushRates.reduce((a, b) => a + b, 0) / pushRates.length).toFixed(2) +
+ "%"
+ : "0.00%";
// 鎴愬姛鐜囩殑鍚堣鐢ㄦ暣浣撴硶璁$畻
- const totalSuccess = data.reduce((s, row) => s + (Number(row.followUpSuccess)||0), 0);
- const totalNeed = data.reduce((s, row) => s + (Number(row.needFollowUp)||0), 0);
- const totalPending = data.reduce((s, row) => s + (Number(row.pendingFollowUp)||0), 0);
+ const totalSuccess = data.reduce(
+ (s, row) => s + (Number(row.followUpSuccess) || 0),
+ 0
+ );
+ const totalNeed = data.reduce(
+ (s, row) => s + (Number(row.needFollowUp) || 0),
+ 0
+ );
+ const totalPending = data.reduce(
+ (s, row) => s + (Number(row.pendingFollowUp) || 0),
+ 0
+ );
const denom = totalNeed - totalPending;
- sums[9] = denom > 0 ? ((totalSuccess/denom)*100).toFixed(2)+"%" : "0.00%";
- const totalSuccessAgain = data.reduce((s, row) => s + (Number(row.followUpSuccessAgain)||0), 0);
- const totalNeedAgain = data.reduce((s, row) => s + (Number(row.needFollowUpAgain)||0), 0);
- const totalPendingAgain = data.reduce((s, row) => s + (Number(row.pendingFollowUpAgain)||0), 0);
+ sums[9] =
+ denom > 0 ? ((totalSuccess / denom) * 100).toFixed(2) + "%" : "0.00%";
+ const totalSuccessAgain = data.reduce(
+ (s, row) => s + (Number(row.followUpSuccessAgain) || 0),
+ 0
+ );
+ const totalNeedAgain = data.reduce(
+ (s, row) => s + (Number(row.needFollowUpAgain) || 0),
+ 0
+ );
+ const totalPendingAgain = data.reduce(
+ (s, row) => s + (Number(row.pendingFollowUpAgain) || 0),
+ 0
+ );
const denomAgain = totalNeedAgain - totalPendingAgain;
- sums[14] = denomAgain > 0 ? ((totalSuccessAgain/denomAgain)*100).toFixed(2)+"%" : "0.00%";
+ sums[14] =
+ denomAgain > 0
+ ? ((totalSuccessAgain / denomAgain) * 100).toFixed(2) + "%"
+ : "0.00%";
return sums;
},
@@ -813,9 +1444,13 @@
// ===================== 瀵煎嚭鍖荤敓瀛愯〃 =====================
async exportDoctorTable(row) {
try {
- const areaName = row.leavehospitaldistrictname || row.deptname || "鏈煡鐥呭尯";
+ const areaName =
+ row.leavehospitaldistrictname || row.deptname || "鏈煡鐥呭尯";
let dateRangeString = "";
- if (this.queryParams.dateRange && this.queryParams.dateRange.length === 2) {
+ if (
+ this.queryParams.dateRange &&
+ this.queryParams.dateRange.length === 2
+ ) {
const start = this.queryParams.dateRange[0].split(" ")[0];
const end = this.queryParams.dateRange[1].split(" ")[0];
dateRangeString = `${start}鑷�${end}`;
@@ -832,7 +1467,12 @@
const worksheet = workbook.addWorksheet(sheetName);
this.buildDoctorExportSheet(worksheet, row.doctorStats, areaName);
const buffer = await workbook.xlsx.writeBuffer();
- saveAs(new Blob([buffer], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }), fileName);
+ saveAs(
+ new Blob([buffer], {
+ type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+ }),
+ fileName
+ );
this.$message.success("鍖荤敓缁煎悎闅忚鍒楄〃瀵煎嚭鎴愬姛");
} catch (err) {
console.error(err);
@@ -841,19 +1481,39 @@
},
buildDoctorExportSheet(worksheet, data, areaName) {
- const titleStyle = { font: { name: "寰蒋闆呴粦", size: 16, bold: true }, alignment: { horizontal: "center", vertical: "middle" } };
+ const titleStyle = {
+ font: { name: "寰蒋闆呴粦", size: 16, bold: true },
+ alignment: { horizontal: "center", vertical: "middle" },
+ };
const headerStyle = {
font: { name: "寰蒋闆呴粦", size: 11, bold: true },
- fill: { type: "pattern", pattern: "solid", fgColor: { argb: "FFF5F7FA" } },
+ fill: {
+ type: "pattern",
+ pattern: "solid",
+ fgColor: { argb: "FFF5F7FA" },
+ },
alignment: { horizontal: "center", vertical: "middle", wrapText: true },
- border: { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } },
+ border: {
+ top: { style: "thin" },
+ left: { style: "thin" },
+ bottom: { style: "thin" },
+ right: { style: "thin" },
+ },
};
const cellStyle = {
font: { name: "瀹嬩綋", size: 10 },
alignment: { horizontal: "center", vertical: "middle" },
- border: { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } },
+ border: {
+ top: { style: "thin" },
+ left: { style: "thin" },
+ bottom: { style: "thin" },
+ right: { style: "thin" },
+ },
};
- const summaryStyle = { ...cellStyle, font: { ...cellStyle.font, bold: true } };
+ const summaryStyle = {
+ ...cellStyle,
+ font: { ...cellStyle.font, bold: true },
+ };
worksheet.mergeCells(1, 1, 1, 17);
worksheet.getCell(1, 1).value = `${areaName}鍖荤敓缁煎悎闅忚鍒楄〃`;
@@ -861,16 +1521,31 @@
worksheet.getRow(1).height = 30;
const headers = [
- "鍖荤敓濮撳悕", "绉戝", "鍑洪櫌浜烘",
- "棣栨鏃犻渶闅忚", "棣栨搴旈殢璁�", "棣栨闇�闅忚", "棣栨寰呴殢璁�", "棣栨瀹屾垚", "棣栨澶辫触", "棣栨鎴愬姛鐜�",
- "鍐嶆闇�闅忚", "鍐嶆寰呴殢璁�", "鍐嶆瀹屾垚", "鍐嶆澶辫触", "鍐嶆鎴愬姛鐜�",
- "闅忚鐜�", "鎺ㄩ�佺巼"
+ "鍖荤敓濮撳悕",
+ "绉戝",
+ "鍑洪櫌浜烘",
+ "棣栨鏃犻渶闅忚",
+ "棣栨搴旈殢璁�",
+ "棣栨闇�闅忚",
+ "棣栨寰呴殢璁�",
+ "棣栨瀹屾垚",
+ "棣栨澶辫触",
+ "棣栨鎴愬姛鐜�",
+ "鍐嶆闇�闅忚",
+ "鍐嶆寰呴殢璁�",
+ "鍐嶆瀹屾垚",
+ "鍐嶆澶辫触",
+ "鍐嶆鎴愬姛鐜�",
+ "闅忚鐜�",
+ "鎺ㄩ�佺巼",
];
const headerRow = worksheet.addRow(headers);
- headerRow.eachCell((cell) => { cell.style = headerStyle; });
+ headerRow.eachCell((cell) => {
+ cell.style = headerStyle;
+ });
worksheet.getRow(2).height = 25;
- data.forEach(item => {
+ data.forEach((item) => {
const row = worksheet.addRow([
item.drname,
item.deptname,
@@ -881,22 +1556,34 @@
item.pendingFollowUp,
item.followUpSuccess,
item.followUpFail,
- this.calculateSuccessRate(item.followUpSuccess, item.needFollowUp, item.pendingFollowUp),
+ this.calculateSuccessRate(
+ item.followUpSuccess,
+ item.needFollowUp,
+ item.pendingFollowUp
+ ),
item.needFollowUpAgain,
item.pendingFollowUpAgain,
item.followUpSuccessAgain,
item.followUpFailAgain,
- this.calculateSuccessRate(item.followUpSuccessAgain, item.needFollowUpAgain, item.pendingFollowUpAgain),
+ this.calculateSuccessRate(
+ item.followUpSuccessAgain,
+ item.needFollowUpAgain,
+ item.pendingFollowUpAgain
+ ),
this.calculateFollowUpRate(item),
this.calculatePushRate(item),
]);
- row.eachCell((cell) => { cell.style = cellStyle; });
+ row.eachCell((cell) => {
+ cell.style = cellStyle;
+ });
row.height = 24;
});
// 灏忚
const summaryRow = worksheet.addRow(this.getDoctorExportSummary(data));
- summaryRow.eachCell((cell) => { cell.style = summaryStyle; });
+ summaryRow.eachCell((cell) => {
+ cell.style = summaryStyle;
+ });
worksheet.columns = Array(17).fill({ width: 12 });
worksheet.columns[0].width = 15;
@@ -904,49 +1591,128 @@
},
getDoctorExportSummary(data) {
- const sums = ["灏忚", "-", 0, 0, 0, 0, 0, 0, 0, "0%", 0, 0, 0, 0, "0%", "0%", "0%"];
+ const sums = [
+ "灏忚",
+ "-",
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ "0%",
+ 0,
+ 0,
+ 0,
+ 0,
+ "0%",
+ "0%",
+ "0%",
+ ];
const numIndices = [2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13];
- data.forEach(row => {
- numIndices.forEach(idx => {
+ data.forEach((row) => {
+ numIndices.forEach((idx) => {
const val = Number(row[this.getFieldByIndex(idx)]) || 0;
sums[idx] += val;
});
});
- numIndices.forEach(idx => { sums[idx] = this.formatNumber(sums[idx]); });
+ numIndices.forEach((idx) => {
+ sums[idx] = this.formatNumber(sums[idx]);
+ });
// 骞冲潎鍊�
- const followUpRates = data.map(row => parseFloat(this.calculateFollowUpRate(row).replace("%", ""))).filter(v => !isNaN(v));
- const pushRates = data.map(row => parseFloat(this.calculatePushRate(row).replace("%", ""))).filter(v => !isNaN(v));
- sums[15] = followUpRates.length ? (followUpRates.reduce((a,b)=>a+b,0)/followUpRates.length).toFixed(2)+"%" : "0.00%";
- sums[16] = pushRates.length ? (pushRates.reduce((a,b)=>a+b,0)/pushRates.length).toFixed(2)+"%" : "0.00%";
+ const followUpRates = data
+ .map((row) =>
+ parseFloat(this.calculateFollowUpRate(row).replace("%", ""))
+ )
+ .filter((v) => !isNaN(v));
+ const pushRates = data
+ .map((row) => parseFloat(this.calculatePushRate(row).replace("%", "")))
+ .filter((v) => !isNaN(v));
+ sums[15] = followUpRates.length
+ ? (
+ followUpRates.reduce((a, b) => a + b, 0) / followUpRates.length
+ ).toFixed(2) + "%"
+ : "0.00%";
+ sums[16] = pushRates.length
+ ? (pushRates.reduce((a, b) => a + b, 0) / pushRates.length).toFixed(2) +
+ "%"
+ : "0.00%";
// 鎴愬姛鐜囨暣浣撴硶
- const totalSuccess = data.reduce((s, row) => s + (Number(row.followUpSuccess)||0), 0);
- const totalNeed = data.reduce((s, row) => s + (Number(row.needFollowUp)||0), 0);
- const totalPending = data.reduce((s, row) => s + (Number(row.pendingFollowUp)||0), 0);
+ const totalSuccess = data.reduce(
+ (s, row) => s + (Number(row.followUpSuccess) || 0),
+ 0
+ );
+ const totalNeed = data.reduce(
+ (s, row) => s + (Number(row.needFollowUp) || 0),
+ 0
+ );
+ const totalPending = data.reduce(
+ (s, row) => s + (Number(row.pendingFollowUp) || 0),
+ 0
+ );
const denom = totalNeed - totalPending;
- sums[9] = denom > 0 ? ((totalSuccess/denom)*100).toFixed(2)+"%" : "0.00%";
- const totalSuccessAgain = data.reduce((s, row) => s + (Number(row.followUpSuccessAgain)||0), 0);
- const totalNeedAgain = data.reduce((s, row) => s + (Number(row.needFollowUpAgain)||0), 0);
- const totalPendingAgain = data.reduce((s, row) => s + (Number(row.pendingFollowUpAgain)||0), 0);
+ sums[9] =
+ denom > 0 ? ((totalSuccess / denom) * 100).toFixed(2) + "%" : "0.00%";
+ const totalSuccessAgain = data.reduce(
+ (s, row) => s + (Number(row.followUpSuccessAgain) || 0),
+ 0
+ );
+ const totalNeedAgain = data.reduce(
+ (s, row) => s + (Number(row.needFollowUpAgain) || 0),
+ 0
+ );
+ const totalPendingAgain = data.reduce(
+ (s, row) => s + (Number(row.pendingFollowUpAgain) || 0),
+ 0
+ );
const denomAgain = totalNeedAgain - totalPendingAgain;
- sums[14] = denomAgain > 0 ? ((totalSuccessAgain/denomAgain)*100).toFixed(2)+"%" : "0.00%";
+ sums[14] =
+ denomAgain > 0
+ ? ((totalSuccessAgain / denomAgain) * 100).toFixed(2) + "%"
+ : "0.00%";
return sums;
},
// ===================== Tooltips =====================
Tooltipcgl(h, { column }) {
- return h("el-tooltip", {
- props: { content: "闅忚鎴愬姛/(闇�闅忚-寰呴殢璁�)", placement: "top", effect: "dark" },
- }, [h("span", column.label)]);
+ return h(
+ "el-tooltip",
+ {
+ props: {
+ content: "闅忚鎴愬姛/(闇�闅忚-寰呴殢璁�)",
+ placement: "top",
+ effect: "dark",
+ },
+ },
+ [h("span", column.label)]
+ );
},
TooltipFollowUpRate(h, { column }) {
- return h("el-tooltip", {
- props: { content: "(棣栨瀹屾垚+棣栨鏃犻渶闅忚)/(棣栨搴旈殢璁�+棣栨鏃犻渶闅忚)", placement: "top", effect: "dark" },
- }, [h("span", column.label)]);
+ return h(
+ "el-tooltip",
+ {
+ props: {
+ content: "(棣栨瀹屾垚+棣栨鏃犻渶闅忚)/(棣栨搴旈殢璁�+棣栨鏃犻渶闅忚)",
+ placement: "top",
+ effect: "dark",
+ },
+ },
+ [h("span", column.label)]
+ );
},
TooltipPushRate(h, { column }) {
- return h("el-tooltip", {
- props: { content: "鍐嶆瀹屾垚/(棣栨搴旈殢璁�+棣栨鏃犻渶闅忚)", placement: "top", effect: "dark" },
- }, [h("span", column.label)]);
+ return h(
+ "el-tooltip",
+ {
+ props: {
+ content: "鍐嶆瀹屾垚/(棣栨搴旈殢璁�+棣栨鏃犻渶闅忚)",
+ placement: "top",
+ effect: "dark",
+ },
+ },
+ [h("span", column.label)]
+ );
},
},
};
diff --git a/src/views/sfstatistics/percentage/components/FirstFollowUp.vue b/src/views/sfstatistics/percentage/components/FirstFollowUp.vue
index e2167f6..70425f2 100644
--- a/src/views/sfstatistics/percentage/components/FirstFollowUp.vue
+++ b/src/views/sfstatistics/percentage/components/FirstFollowUp.vue
@@ -2050,20 +2050,40 @@
selectTimelyRate(row, queryParams) {
console.log(row, queryParams, 88);
- // const params = {
- // ...this.patientqueryParams,
- // starttime: this.parseTime(dateRange[0]),
- // endtime: this.parseTime(dateRange[1]),
- // deptcode: row.deptcode,
- // };
- this.patientqueryParams.starttime = this.parseTime(
- queryParams.dateRange[0]
- );
- this.patientqueryParams.endtime = this.parseTime(
- queryParams.dateRange[1]
- );
- this.patientqueryParams.deptcode = row.deptcode;
- console.log(1);
+ // 搴旈殢璁挎椂闂磋寖鍥�
+ if (queryParams.endTime) {
+ this.patientqueryParams.starttime = queryParams.startTime;
+ this.patientqueryParams.endtime = queryParams.endTime;
+ } else {
+ this.patientqueryParams.starttime = this.parseTime(
+ queryParams.dateRange[0]
+ );
+ this.patientqueryParams.endtime = this.parseTime(
+ queryParams.dateRange[1]
+ );
+ }
+ // 鍑洪櫌鏃堕棿鑼冨洿
+ if (queryParams.hospitalEndTime) {
+ this.patientqueryParams.hospitalstarttime =
+ queryParams.hospitalStartTime;
+ this.patientqueryParams.hospitalendtime = queryParams.hospitalEndTime;
+ } else {
+ this.patientqueryParams.hospitalstarttime = this.parseTime(
+ queryParams.dateRangecy[0]
+ );
+ this.patientqueryParams.hospitalendtime = this.parseTime(
+ queryParams.dateRangecy[1]
+ );
+ }
+ // 缁熻绫诲瀷锛氱梾鍖虹粺璁�(1)浼犵梾鍖篶ode锛岀瀹ょ粺璁�(2)浼犵瀹ode
+ if (queryParams.statisticaltype == 1) {
+ this.patientqueryParams.leavehospitaldistrictcode =
+ row.leavehospitaldistrictcode;
+ this.patientqueryParams.deptcode = null;
+ } else {
+ this.patientqueryParams.deptcode = row.deptcode;
+ this.patientqueryParams.leavehospitaldistrictcode = null;
+ }
this.patientqueryParams.serviceTypes = queryParams.serviceType
? Array.isArray(queryParams.serviceType)
diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index 39b83e2..9171a12 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -483,6 +483,7 @@
if (type == 1) {
obj.drcode = row.drcode;
}
+ // 缁熻绫诲瀷锛氱梾鍖虹粺璁�(1)浼犵梾鍖篶ode锛岀瀹ょ粺璁�(2)浼犵瀹ode
if (this.queryParams.statisticaltype == 1) {
obj.leavehospitaldistrictcodes = [row.leavehospitaldistrictcode];
obj.deptcodes = [];
@@ -490,6 +491,7 @@
obj.deptcodes = [row.deptcode];
obj.leavehospitaldistrictcodes = [];
}
+ // 搴旈殢璁挎椂闂磋寖鍥�
if (this.queryParams.endTime) {
obj.endTime = this.queryParams.endTime;
obj.startTime = this.queryParams.startTime;
@@ -497,6 +499,14 @@
obj.startTime = this.parseTime(this.queryParams.dateRange[0]);
obj.endTime = this.parseTime(this.queryParams.dateRange[1]);
}
+ // 鍑洪櫌鏃堕棿鑼冨洿
+ if (this.queryParams.hospitalEndTime) {
+ obj.hospitalEndTime = this.queryParams.hospitalEndTime;
+ obj.hospitalStartTime = this.queryParams.hospitalStartTime;
+ } else {
+ obj.hospitalStartTime = this.parseTime(this.queryParams.dateRangecy[0]);
+ obj.hospitalEndTime = this.parseTime(this.queryParams.dateRangecy[1]);
+ }
obj.statisticaltype = this.queryParams.statisticaltype;
diff --git a/vue.config.js b/vue.config.js
index fd08b34..414e500 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -36,14 +36,14 @@
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
// target: `https://www.health-y.cn/lssf`,
- target: `http://192.168.100.10:8096`,
+ // target: `http://192.168.100.10:8096`,
// target: `http://192.168.100.10:8094`,//鐪佺珛鍚屽痉
// target: `http://192.168.100.10:8095`,//鏂板崕
// target: `http://192.168.100.10:8098`,//甯備竴
// target:`http://localhost:8095`,
// target:`http://35z1t16164.qicp.vip`,
// target: `http://192.168.100.172:8095`,
- // target: `http://192.168.100.10:8089`,//鍗楀崕
+ target: `http://192.168.100.10:8089`,//鍗楀崕
// target: `https://9.208.38.93:8092/`,
changeOrigin: true,
pathRewrite: {
--
Gitblit v1.9.3