Browse Source

实现第 1 次产前检查服务记录表数据自动回填

loki.wu 1 year ago
parent
commit
515420f9e5

+ 0 - 2389
assets/MaternalHealthManagement.json

@@ -1,2389 +0,0 @@
-[
-    {
-        "label": "填表日期",
-        "defaultValue": null,
-        "span": 24,
-        "key": "Form_Date",
-        "type": "dateTime",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "孕周",
-        "defaultValue": null,
-        "span": 12,
-        "key": "Gestational_Week",
-        "type": "numberInput",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "周",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "孕妇年龄",
-        "defaultValue": null,
-        "span": 12,
-        "key": "MaternalAge",
-        "type": "numberInput",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "丈夫姓名",
-        "defaultValue": null,
-        "span": 12,
-        "key": "HusbandName",
-        "type": "input",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "丈夫年龄",
-        "defaultValue": null,
-        "span": 12,
-        "key": "HusbandAge",
-        "type": "numberInput",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "丈夫电话",
-        "defaultValue": null,
-        "span": 12,
-        "key": "HusbandPhone",
-        "type": "input",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "孕次",
-        "defaultValue": null,
-        "span": 12,
-        "key": "PregnancyCount",
-        "type": "numberInput",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "产次",
-        "defaultValue": null,
-        "span": 12,
-        "key": "BirthCount",
-        "type": "virtualTitle",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": [
-            {
-                "label": "阴道分娩",
-                "defaultValue": null,
-                "span": 12,
-                "key": "PregnancyCount",
-                "type": "numberInput",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "次",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "BirthCount",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "剖宫产",
-                "defaultValue": null,
-                "span": 12,
-                "key": "CesareanSection",
-                "type": "numberInput",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "次",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "BirthCount",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": "",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "末次月经",
-        "defaultValue": null,
-        "span": 12,
-        "key": "Last_Period",
-        "type": "virtualTitle",
-        "border": null,
-        "disabledValue": null,
-        "options": null,
-        "children": [
-            {
-                "label": "日期",
-                "defaultValue": null,
-                "span": 24,
-                "key": "Last_Period_Date",
-                "type": "dateTime",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Last_Period",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "不详",
-                "defaultValue": null,
-                "span": 12,
-                "key": "virtualTitle",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Last_Period",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": "",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "预产期",
-        "defaultValue": null,
-        "span": 24,
-        "key": "EstimatedDeliveryDate",
-        "type": "dateTime",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "既往史",
-        "defaultValue": [],
-        "span": 24,
-        "key": "Past_History",
-        "type": "virtualTitle",
-        "border": false,
-        "disabledValue": "Past_History_1",
-        "maxItems": 10,
-        "options": null,
-        "children": [
-            {
-                "label": "无",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Past_History_1",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Past_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "心脏病",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Past_History_2",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Past_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "肾脏疾病",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Past_History_3",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Past_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "肝脏疾病",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Past_History_4",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Past_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "高血压",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Past_History_5",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Past_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "贫血",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Past_History_6",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Past_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "糖尿病",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Past_History_7",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Past_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "其他",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Past_History_Other",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Past_History",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": null,
-        "placeholder": null,
-        "required": null,
-        "show-limit": null,
-        "parentKey": "virtualGeneralSymptom",
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "家族史",
-        "defaultValue": [],
-        "span": 24,
-        "key": "Family_History",
-        "type": "virtualTitle",
-        "border": false,
-        "disabledValue": "1",
-        "maxItems": 10,
-        "options": null,
-        "children": [
-            {
-                "label": "无",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Family_History_1",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Family_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "遗传性疾病史",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Family_History_2",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Family_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "精神疾病史",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Family_History_3",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Family_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "其他",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Family_History_Other",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Family_History",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": null,
-        "placeholder": null,
-        "required": null,
-        "show-limit": null,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "个人史",
-        "defaultValue": [],
-        "span": 24,
-        "key": "Health_History",
-        "type": "virtualTitle",
-        "border": false,
-        "disabledValue": "1",
-        "maxItems": 10,
-        "options": null,
-        "children": [
-            {
-                "label": "吸烟",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Health_History_1",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Health_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "饮酒",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Health_History_2",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Health_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "服用药物",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Health_History_3",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Health_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "接触有毒有害物质",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Health_History_4",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Health_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "接触放射线",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Health_History_5",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Health_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "其他",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Health_History_6",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": true,
-                "parentKey": "Health_History",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": null,
-        "placeholder": null,
-        "required": null,
-        "show-limit": null,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "妇产科手术史",
-        "defaultValue": [],
-        "span": 24,
-        "key": "Operation_History",
-        "type": "virtualTitle",
-        "border": false,
-        "disabledValue": "1",
-        "maxItems": 10,
-        "options": null,
-        "children": [
-            {
-                "label": "无",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Operation_History_null",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "次",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Operation_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "有",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Operation_History_True",
-                "type": "numberInput",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "次",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Operation_History",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": null,
-        "placeholder": null,
-        "required": null,
-        "show-limit": null,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "孕产史",
-        "defaultValue": [],
-        "span": 24,
-        "key": "Maternity_History",
-        "type": "virtualTitle",
-        "border": false,
-        "disabledValue": "1",
-        "maxItems": 10,
-        "options": null,
-        "children": [
-            {
-                "label": "自然流产",
-                "defaultValue": 0,
-                "span": 12,
-                "key": "Miscarriage",
-                "type": "numberInput",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "次",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Maternity_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "人工流产",
-                "defaultValue": 0,
-                "span": 12,
-                "key": "InducedAbortion",
-                "type": "numberInput",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "次",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Maternity_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "死胎",
-                "defaultValue": 0,
-                "span": 12,
-                "key": "Stillborn",
-                "type": "numberInput",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "次",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Maternity_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "死产",
-                "defaultValue": 0,
-                "span": 12,
-                "key": "Stillbirth",
-                "type": "numberInput",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "次",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Maternity_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "新生儿死亡",
-                "defaultValue": 0,
-                "span": 12,
-                "key": "Neonatal_Death",
-                "type": "numberInput",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "次",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Maternity_History",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "出生缺陷儿",
-                "defaultValue": 0,
-                "span": 12,
-                "key": "Birth_Defect_Child",
-                "type": "numberInput",
-                "border": null,
-                "disabledValue": null,
-                "options": [],
-                "children": null,
-                "append": "次",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Maternity_History",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": null,
-        "placeholder": null,
-        "required": null,
-        "show-limit": null,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "身高",
-        "defaultValue": null,
-        "span": 12,
-        "key": "Height",
-        "type": "numberInput",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "cm",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "体重",
-        "defaultValue": null,
-        "span": 12,
-        "key": "Weight",
-        "type": "numberInput",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "kg",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "体质指数(BMI)",
-        "defaultValue": null,
-        "span": 12,
-        "key": "Bmi",
-        "type": "numberInput",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "kg/m²",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "血压",
-        "defaultValue": null,
-        "span": 24,
-        "key": "BloodPressure",
-        "type": "numberInput",
-        "border": null,
-        "disabledValue": null,
-        "options": [],
-        "children": null,
-        "append": "mmHg",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null
-    },
-    {
-        "label": "听诊",
-        "defaultValue": null,
-        "span": 24,
-        "key": "Auscultation",
-        "type": "virtualTitle",
-        "border": null,
-        "disabledValue": null,
-        "options": null,
-        "children": [
-            {
-                "label": "心脏",
-                "defaultValue": null,
-                "span": 24,
-                "key": "Heart_Abnormal",
-                "type": "virtualTitle",
-                "border": false,
-                "disabledValue": "No_Abnormalities_Found",
-                "maxItems": 10,
-                "options": null,
-                "children": [
-                    {
-                        "label": "未见异常",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Heart_Abnormal_1",
-                        "type": "option",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Heart_Abnormal",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "异常:",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Heart_Abnormal_Abnormality",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Heart_Abnormal",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": null,
-                "placeholder": null,
-                "required": null,
-                "show-limit": null,
-                "parentKey": "Auscultation",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "肺部",
-                "defaultValue": [],
-                "span": 24,
-                "key": "Lung_Abnormal",
-                "type": "virtualTitle",
-                "border": false,
-                "disabledValue": "1",
-                "maxItems": 10,
-                "options": null,
-                "children": [
-                    {
-                        "label": "未见异常",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Lung_Abnormal_1",
-                        "type": "option",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Lung_Abnormal",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "异常:",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Lung_Abnormal_Abnormality",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Lung_Abnormal",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": null,
-                "placeholder": null,
-                "required": null,
-                "show-limit": null,
-                "parentKey": "Auscultation",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": "mmHg",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null
-    },
-    {
-        "label": "妇科检查",
-        "defaultValue": null,
-        "span": 24,
-        "key": "Gynecological_Examination",
-        "type": "virtualTitle",
-        "border": null,
-        "disabledValue": null,
-        "options": null,
-        "children": [
-            {
-                "label": "外阴",
-                "defaultValue": null,
-                "span": 24,
-                "key": "Vulvar",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": [
-                    {
-                        "label": "未见异常",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Vulvar_1",
-                        "type": "option",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Vulvar",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "异常:",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Vulvar_Abnormality",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Vulvar",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Gynecological_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "阴道",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Vagina",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": [
-                    {
-                        "label": "未见异常",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Vagina_1",
-                        "type": "option",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Vagina",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "异常:",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Vagina_Abnormality",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Vagina",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Gynecological_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "宫颈",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Cervical",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": [
-                    {
-                        "label": "未见异常",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Cervical_1",
-                        "type": "option",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Cervical",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "异常:",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Cervical_Abnormality",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Cervical",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Gynecological_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "子宫",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Uteri_Body",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": [
-                    {
-                        "label": "未见异常",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Uteri_Body_1",
-                        "type": "option",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Uteri_Body",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "异常:",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Uteri_Body_Abnormality",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Uteri_Body",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Gynecological_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "附件",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Uteri_Adnexa",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": [
-                    {
-                        "label": "未见异常",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Uteri_Adnexa_1",
-                        "type": "option",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Uteri_Adnexa",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "异常:",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Uteri_Adnexa_Abnormality",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Uteri_Adnexa",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Gynecological_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": "mmHg",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null
-    },
-    {
-        "label": "辅助检查",
-        "defaultValue": null,
-        "span": 12,
-        "key": "Ancillary_Examination",
-        "type": "virtualTitle",
-        "border": null,
-        "disabledValue": null,
-        "options": null,
-        "children": [
-            {
-                "label": "血常规",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Complete_Blood_Count",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": [
-                    {
-                        "label": "血红蛋白值",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Hemoglobin",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "g/L",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Complete_Blood_Count",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "白细胞计数值",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "White_Blood_Cell_Count",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "/L",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Complete_Blood_Count",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "血小板计数值",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Platelet_Count",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "/L",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Complete_Blood_Count",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "其他",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Blood_Other",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Complete_Blood_Count",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "尿常规",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Urinary_Pro",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": [
-                    {
-                        "label": "尿蛋白",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Urine_Protein",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Urinary_Pro",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "尿糖",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Urine_Glucose",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Urinary_Pro",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "尿酮体",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Urine_Ketones",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Urinary_Pro",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "尿潜血",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Urine_Occult_Blood",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Urinary_Pro",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "其他",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Urinary_Pro_Other",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "Urinary_Pro",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "血型",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Bloodtype",
-                "type": "radio",
-                "border": null,
-                "disabledValue": null,
-                "options": [
-                    {
-                        "label": "A",
-                        "value": "1"
-                    },
-                    {
-                        "label": "B",
-                        "value": "2"
-                    },
-                    {
-                        "label": "O",
-                        "value": "3"
-                    },
-                    {
-                        "label": "AB",
-                        "value": "4"
-                    },
-                    {
-                        "label": "RH",
-                        "value": "5"
-                    }
-                ],
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "血糖",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Fasting_Glucose_Mmol",
-                "type": "numberInput",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "mmol/L",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "肝功能",
-                "defaultValue": null,
-                "span": 12,
-                "key": "liverFunction",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": [
-                    {
-                        "label": "血清谷丙转氨酶",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Serum_Alanine_Aminotransferase",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "U/L",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "liverFunction",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "血清谷草转氨酶",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Serum_Aspartate_Aminotransferase",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "U/L",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "liverFunction",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "白蛋白",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Liver_Alb",
-                        "type": "numberInput",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "g/L",
-                        "placeholder": "",
-                        "required": null,
-                        "show-limit": false,
-                        "parentKey": "liverFunction",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "总胆红素",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Liver_Tbil",
-                        "type": "numberInput",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "μmol/L",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "liverFunction",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "结合胆红素",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Liver_Dbil",
-                        "type": "numberInput",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "μmol/L",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "liverFunction",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": "",
-                "placeholder": "",
-                "required": null,
-                "show-limit": false,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "肾功能",
-                "defaultValue": null,
-                "span": 24,
-                "key": "renalFunction",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": [
-                    {
-                        "label": "血清肌酐",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Renal_Cr",
-                        "type": "numberInput",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "μmol/L",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "renalFunction",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "血尿素",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Blood_Urea",
-                        "type": "numberInput",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "mmol/L",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "renalFunction",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": null,
-                "placeholder": null,
-                "required": true,
-                "show-limit": null,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "阴道分泌物",
-                "defaultValue": null,
-                "span": 24,
-                "key": "Vaginal_Discharge",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": "Renal_Cr",
-                "options": [],
-                "children": [
-                    {
-                        "label": "未见异常",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Vaginal_Discharge_1",
-                        "type": "option",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "Vaginal_Discharge",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "滴虫",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Vaginal_Discharge_2",
-                        "type": "option",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "Vaginal_Discharge",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "假丝酵母菌",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Vaginal_Discharge_3",
-                        "type": "option",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "Vaginal_Discharge",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "其他",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Vaginal_Discharge_4",
-                        "type": "input",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": null,
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "Vaginal_Discharge",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": null,
-                "placeholder": null,
-                "required": true,
-                "show-limit": null,
-                "parentKey": "Vaginal_Discharge",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "阴道清洁度",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Blood_Urea",
-                "type": "radio",
-                "border": null,
-                "disabledValue": null,
-                "options": [
-                    {
-                        "label": "Ⅰ度",
-                        "value": "1"
-                    },
-                    {
-                        "label": "Ⅱ度",
-                        "value": "2"
-                    },
-                    {
-                        "label": "Ⅲ度 ",
-                        "value": "3"
-                    },
-                    {
-                        "label": "Ⅳ度",
-                        "value": "4"
-                    }
-                ],
-                "children": null,
-                "append": null,
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "Vaginal_Discharge",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "乙型肝炎",
-                "defaultValue": null,
-                "span": 24,
-                "key": "Hbsag",
-                "type": "virtualTitle",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": [
-                    {
-                        "label": "乙型肝炎表面抗原",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Hepatitis_B_Surface_Antigen",
-                        "type": "numberInput",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "Hbsag",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "乙型肝炎表面抗体",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Hepatitis_B_Aurface_Antibody",
-                        "type": "numberInput",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "Hbsag",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "乙型肝炎e抗原",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Hepatitis_B_E_Antigen",
-                        "type": "numberInput",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "Hbsag",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "乙型肝炎e抗体",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Hepatitis_B_E_Antibody",
-                        "type": "numberInput",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "Hbsag",
-                        "buttonName": null,
-                        "childrenKey": null
-                    },
-                    {
-                        "label": "乙型肝炎核心抗体",
-                        "defaultValue": null,
-                        "span": 12,
-                        "key": "Hepatitis_B_Core_Antibody",
-                        "type": "numberInput",
-                        "border": null,
-                        "disabledValue": null,
-                        "options": [],
-                        "children": null,
-                        "append": "",
-                        "placeholder": "",
-                        "required": false,
-                        "show-limit": false,
-                        "parentKey": "Hbsag",
-                        "buttonName": null,
-                        "childrenKey": null
-                    }
-                ],
-                "append": null,
-                "placeholder": null,
-                "required": true,
-                "show-limit": null,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "梅毒血清学试验",
-                "defaultValue": null,
-                "span": 24,
-                "key": "Syphilis_Serological_Test",
-                "type": "radio",
-                "border": null,
-                "disabledValue": null,
-                "options": [
-                    {
-                        "label": "阳性",
-                        "value": "1"
-                    },
-                    {
-                        "label": "阴性",
-                        "value": "2"
-                    }
-                ],
-                "children": null,
-                "append": null,
-                "placeholder": null,
-                "required": true,
-                "show-limit": null,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "HIV抗体检测",
-                "defaultValue": null,
-                "span": 24,
-                "key": "HIV_Antibody_Test",
-                "type": "radio",
-                "border": null,
-                "disabledValue": null,
-                "options": [
-                    {
-                        "label": "阳性",
-                        "value": "1"
-                    },
-                    {
-                        "label": "阴性",
-                        "value": "2"
-                    }
-                ],
-                "children": null,
-                "append": null,
-                "placeholder": null,
-                "required": true,
-                "show-limit": null,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "B超",
-                "defaultValue": null,
-                "span": 24,
-                "key": "Ultrasound_Scan",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": null,
-                "placeholder": null,
-                "required": true,
-                "show-limit": null,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "其他",
-                "defaultValue": null,
-                "span": 24,
-                "key": "Ancillary_Examination_Other",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": null,
-                "placeholder": null,
-                "required": true,
-                "show-limit": null,
-                "parentKey": "Ancillary_Examination",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": "",
-        "placeholder": "",
-        "required": null,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "总体评估",
-        "defaultValue": null,
-        "span": 12,
-        "key": "MaternalHealthManagement_Overall_Assessment",
-        "type": "virtualTitle",
-        "border": null,
-        "disabledValue": null,
-        "options": null,
-        "children": [
-            {
-                "label": "未见异常",
-                "defaultValue": null,
-                "span": 12,
-                "key": "M_O_A_No_Abnormality_Detected",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "MaternalHealthManagement_Overall_Assessment",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "异常:",
-                "defaultValue": null,
-                "span": 12,
-                "key": "M_O_A_Abnormality",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "Vaginal_Discharge",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": "",
-        "placeholder": "",
-        "required": false,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "保健指导",
-        "defaultValue": null,
-        "span": 12,
-        "key": "Health_Guidance",
-        "type": "virtualTitle",
-        "border": null,
-        "disabledValue": null,
-        "options": null,
-        "children": [
-            {
-                "label": "生活方式",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Lifestyle",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "Health_Guidance",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "心理",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Psychology",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "Health_Guidance",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "营养",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Nutrition",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "Health_Guidance",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "产前筛查宣传告知",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Prenatal_Screening_Awareness_Campaign",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "Health_Guidance",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "避免致畸因素和疾病对胚胎的不良影响",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Avoidance_Of_Teratogens",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "Health_Guidance",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "其他",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Health_Guidance_Other",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "Health_Guidance",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": "",
-        "placeholder": "",
-        "required": false,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "转诊",
-        "defaultValue": null,
-        "span": 12,
-        "key": "Referral",
-        "type": "virtualTitle",
-        "border": null,
-        "disabledValue": null,
-        "options": null,
-        "children": [
-            {
-                "label": "无",
-                "defaultValue": null,
-                "span": 12,
-                "key": "referral_1",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "Referral",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "有",
-                "defaultValue": null,
-                "span": 12,
-                "key": "referral_2",
-                "type": "option",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "Referral",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "原因",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Reason_For_Referral",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "referral_Input",
-                "buttonName": null,
-                "childrenKey": null
-            },
-            {
-                "label": "机构及科室",
-                "defaultValue": null,
-                "span": 12,
-                "key": "Institution_And_Department",
-                "type": "input",
-                "border": null,
-                "disabledValue": null,
-                "options": null,
-                "children": null,
-                "append": "",
-                "placeholder": "",
-                "required": false,
-                "show-limit": false,
-                "parentKey": "referral_Input",
-                "buttonName": null,
-                "childrenKey": null
-            }
-        ],
-        "append": "",
-        "placeholder": "",
-        "required": false,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "下次随访日期",
-        "defaultValue": null,
-        "span": 12,
-        "key": "Next_Follow_Up_Date",
-        "type": "dateTime",
-        "border": null,
-        "disabledValue": null,
-        "options": null,
-        "children": null,
-        "append": "",
-        "placeholder": "",
-        "required": false,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    },
-    {
-        "label": "随访医生签名",
-        "defaultValue": null,
-        "span": 12,
-        "key": "Follow_up_Physician_Signature",
-        "type": "signature",
-        "border": null,
-        "disabledValue": null,
-        "options": null,
-        "children": null,
-        "append": "",
-        "placeholder": "",
-        "required": false,
-        "show-limit": false,
-        "parentKey": null,
-        "buttonName": null,
-        "childrenKey": null
-    }
-]

+ 40 - 0
lib/managers/follow_up.dart

@@ -1,5 +1,6 @@
 import 'package:fis_common/event/event_type.dart';
 import 'package:fis_jsonrpc/rpc.dart';
+import 'package:flutter/material.dart';
 import 'package:vitalapp/database/db.dart';
 import 'package:vitalapp/database/entities/defines.dart';
 import 'package:vitalapp/managers/interfaces/follow_up.dart';
@@ -125,5 +126,44 @@ class FollowUpManager implements IFollowUpManager {
     return [record];
   }
 
+  MaterialColor followUpStateColors(FollowUpStateEnum state) {
+    switch (state) {
+      case FollowUpStateEnum.NoFollowUp:
+        return Colors.grey;
+      case FollowUpStateEnum.Cancelled:
+        return Colors.red;
+      case FollowUpStateEnum.FollowUpVisit:
+        return Colors.green;
+      default:
+        return Colors.blue;
+    }
+  }
+
+  String getFollowUpMode(FollowUpModeEnum? modeEnum) {
+    switch (modeEnum) {
+      case FollowUpModeEnum.Outpatient:
+        return "门诊";
+      case FollowUpModeEnum.Phone:
+        return "电话";
+      case FollowUpModeEnum.Visit:
+        return "家庭";
+      default:
+        return "";
+    }
+  }
+
+  String followUpStateTransition(FollowUpStateEnum state) {
+    switch (state) {
+      case FollowUpStateEnum.NoFollowUp:
+        return "未随访";
+      case FollowUpStateEnum.FollowUpVisit:
+        return "已随访";
+      case FollowUpStateEnum.Cancelled:
+        return "已作废";
+      default:
+        return "";
+    }
+  }
+
   final FEventHandler<String> onFollowMedicalData = FEventHandler<String>();
 }

+ 10 - 0
lib/managers/interfaces/follow_up.dart

@@ -1,5 +1,6 @@
 import 'package:fis_common/event/event_type.dart';
 import 'package:fis_jsonrpc/rpc.dart';
+import 'package:flutter/material.dart';
 import 'package:vitalapp/managers/interfaces/base.dart';
 
 /// 随访管理
@@ -25,4 +26,13 @@ abstract class IFollowUpManager implements IManager {
   /// 获取居民未上传离线数据集合
   Future<List<FollowUpRecordDTO>> getPatientNotUploadedRecordList(
       String patientCode, String key);
+
+  ///获取随访模式
+  String getFollowUpMode(FollowUpModeEnum? modeEnum);
+
+  //随访状态的颜色
+  MaterialColor followUpStateColors(FollowUpStateEnum state);
+
+  ///随访状态
+  String followUpStateTransition(FollowUpStateEnum state);
 }

+ 62 - 61
lib/pages/check/follow_up_record/view.dart

@@ -118,70 +118,71 @@ class FollowUpRecordPage extends GetView<FollowUpRecordController> {
 
   Widget _buildListView() {
     return Expanded(
-        flex: 2,
-        child: Padding(
-          padding: const EdgeInsets.all(16),
-          child: RefreshIndicator(
-              child: Obx(
-                () {
-                  final list = controller.state.followUpDTOList;
-                  final children = <Widget>[];
-                  for (var i = 0; i < list.length; i++) {
-                    final dto = list[i];
-                    final offlineSyncArr = controller.offlineSyncTemp[i];
-                    final records = dto.followUpRecordDatas;
-                    if (records == null) {
-                      continue;
-                    }
-                    for (var j = 0; j < records.length; j++) {
-                      final data = records[j];
-                      OfflineDataSyncState? offlineSyncState;
-                      offlineSyncState = kIsWeb ? null : offlineSyncArr[j];
-                      children.add(
-                        _followUpRecordCard(
-                          index: j,
-                          dto: dto,
-                          dataDto: data,
-                          syncState: offlineSyncState,
-                        ),
-                      );
-                    }
+      flex: 2,
+      child: Padding(
+        padding: const EdgeInsets.all(16),
+        child: RefreshIndicator(
+            child: Obx(
+              () {
+                final list = controller.state.followUpDTOList;
+                final children = <Widget>[];
+                for (var i = 0; i < list.length; i++) {
+                  final dto = list[i];
+                  final offlineSyncArr = controller.offlineSyncTemp[i];
+                  final records = dto.followUpRecordDatas;
+                  if (records == null) {
+                    continue;
                   }
+                  for (var j = 0; j < records.length; j++) {
+                    final data = records[j];
+                    OfflineDataSyncState? offlineSyncState;
+                    offlineSyncState = kIsWeb ? null : offlineSyncArr[j];
+                    children.add(
+                      _followUpRecordCard(
+                        index: j,
+                        dto: dto,
+                        dataDto: data,
+                        syncState: offlineSyncState,
+                      ),
+                    );
+                  }
+                }
 
-                  return list.isEmpty
-                      ? Container(
-                          margin: const EdgeInsets.only(top: 80),
-                          child: Column(
-                            children: [
-                              Center(
-                                child: Image.asset(
-                                  "assets/images/no_data.png",
-                                  width: 300,
-                                  height: 300,
-                                  fit: BoxFit.cover,
-                                ),
-                              ),
-                              const Text(
-                                "暂无数据,先看看别的吧",
-                                style: TextStyle(fontSize: 18),
+                return list.isEmpty
+                    ? Container(
+                        margin: const EdgeInsets.only(top: 80),
+                        child: Column(
+                          children: [
+                            Center(
+                              child: Image.asset(
+                                "assets/images/no_data.png",
+                                width: 300,
+                                height: 300,
+                                fit: BoxFit.cover,
                               ),
-                            ],
-                          ),
-                        )
-                      : GridView(
-                          gridDelegate:
-                              const SliverGridDelegateWithFixedCrossAxisCount(
-                            crossAxisCount: 1,
-                            mainAxisSpacing: 16,
-                            crossAxisSpacing: 20,
-                            childAspectRatio: 900 / 180,
-                          ),
-                          children: children,
-                        );
-                },
-              ),
-              onRefresh: () async {}),
-        ));
+                            ),
+                            const Text(
+                              "暂无数据,先看看别的吧",
+                              style: TextStyle(fontSize: 18),
+                            ),
+                          ],
+                        ),
+                      )
+                    : GridView(
+                        gridDelegate:
+                            const SliverGridDelegateWithFixedCrossAxisCount(
+                          crossAxisCount: 1,
+                          mainAxisSpacing: 16,
+                          crossAxisSpacing: 20,
+                          childAspectRatio: 900 / 180,
+                        ),
+                        children: children,
+                      );
+              },
+            ),
+            onRefresh: () async {}),
+      ),
+    );
   }
 }
 

+ 150 - 1
lib/pages/check/maternal_health_management/maternal_health_management_controller.dart

@@ -1,9 +1,158 @@
+import 'dart:convert';
+
+import 'package:fis_common/index.dart';
+import 'package:fis_jsonrpc/rpc.dart';
+import 'package:flutter/foundation.dart';
+import 'package:flutter/material.dart';
+import 'package:get/get.dart';
 import 'package:vitalapp/architecture/defines.dart';
+import 'package:vitalapp/architecture/utils/prompt_box.dart';
+import 'package:vitalapp/global.dart';
+import 'package:vitalapp/managers/interfaces/follow_up.dart';
+import 'package:vitalapp/managers/interfaces/template.dart';
+import 'package:vitalapp/pages/form/form_info.dart';
+import 'package:vitalapp/store/store.dart';
+
+import 'maternal_health_management_form/view.dart';
+import 'state.dart';
 
-class MaternalHealthManagementController extends FControllerBase {
+class MaternalHealthManagementController extends GetxController {
   MaternalHealthManagementController();
 
+  final String followUpType = "MaternalHealthManagement";
+
+  final _followUpManager = Get.find<IFollowUpManager>();
+  final _templateManager = Get.find<ITemplateManager>();
+
+  final state = MaternalHealthManagementState();
+
+  List<List> offlineSyncTemp = [];
+
+  ///是否处于编辑模式
+  bool isEdit = false;
+
+  ///当前选中的记录Code
+  String recordCode = "";
+
+  ///当前使用的模板Code
+  String templateCode = "";
+
+  @override
+  void onReady() {
+    super.onReady();
+    _initData();
+  }
+
   Future<bool> save() async {
+    List<String> followUpPhotos = [];
+    DateTime followUpTime = DateTime.now();
+    String? followUpData;
+    if (FormInfo.instance.formValue.isEmpty) {
+      PromptBox.toast('不能提交空数据');
+      return false;
+    }
+    followUpData = jsonEncode(FormInfo.instance.formValue);
+    if (FormInfo.instance.formValue.containsKey("Form_Date")) {
+      followUpTime = DateTime.parse(FormInfo.instance.formValue["Form_Date"]);
+    }
+    DateTime? nextFollowUpTime;
+    if (FormInfo.instance.formValue.containsKey("Next_Follow_Up_Date")) {
+      followUpTime =
+          DateTime.parse(FormInfo.instance.formValue["Next_Follow_Up_Date"]);
+    }
+    String patientCode = Store.user.currentSelectPatientInfo?.code ?? '';
+    bool result = false;
+    if (isEdit) {
+      result = await _followUpManager.updateFollowUp(
+            UpdateFollowUpRequest(
+              key: "MaternalHealthManagement",
+              followUpData: followUpData,
+              followUpTime: followUpTime,
+              nextFollowUpTime: nextFollowUpTime,
+              followUpMode: FollowUpModeEnum.Outpatient,
+              followUpPhotos: followUpPhotos,
+              code: recordCode,
+            ),
+          ) ??
+          false;
+    } else {
+      String createResult = await _followUpManager.createFollowUp(
+        CreateFollowUpRequest(
+          key: "MaternalHealthManagement",
+          patientCode: patientCode,
+          templateCode: "MaternalHealthManagement",
+          followUpData: followUpData,
+          followUpTime: followUpTime,
+          nextFollowUpTime: nextFollowUpTime,
+          followUpMode: FollowUpModeEnum.Outpatient,
+          followUpPhotos: followUpPhotos,
+        ),
+      );
+      if (createResult.isNotEmpty) {
+        result = true;
+      }
+    }
+    if (result) {
+      PromptBox.toast('保存成功');
+      getFollowUpRecordList();
+      return true;
+    }
+
     return false;
   }
+
+  Future<void> getFollowUpRecordList() async {
+    try {
+      var patientCode = Store.user.currentSelectPatientInfo?.code ?? '';
+      var result = await _followUpManager.getFollowUpRecordList(
+        [followUpType],
+        patientCode,
+      );
+      List<FollowUpRecordDTO> followUpDTOList = [];
+      // 如果是web端并且是离线模式,则从本地获取数据
+      if (!kIsWeb && kIsOnline) {
+        List<FollowUpRecordDTO> offlineFollowUpList = await _followUpManager
+            .getPatientNotUploadedRecordList(patientCode, followUpType);
+        followUpDTOList = offlineFollowUpList;
+      }
+      followUpDTOList.addAll(result ?? []);
+      state.followUpDTOList = followUpDTOList;
+    } catch (e) {
+      return;
+    }
+  }
+
+  String getFollowUpValueByKey(String key) {
+    if (key == "MaternalHealthManagement") {
+      return "第 1 次产前检查";
+    }
+    return "";
+  }
+
+  ///跳转至随访页面
+  void toCheckPage(FollowUpRecordDataDTO dataDto) {
+    if (dataDto.followUpData.isNullOrEmpty) {
+      return;
+    }
+    var datas = jsonDecode(dataDto.followUpData ?? '');
+    if (datas is Map<String, dynamic>) {
+      FormInfo.instance.formValue = datas;
+      Get.to(MaternalHealthManagementForm());
+    }
+  }
+
+  Future<String> getTemplate(String key) async {
+    var templates =
+        await _templateManager.readTemplateRelation('templateRelation');
+    var templateRelation = jsonDecode(templates!);
+    templateCode = templateRelation[key] ?? '';
+    var template = await _templateManager.readTemplate(templateCode) ?? '';
+    String templateContent =
+        TemplateDTO.fromJson(jsonDecode(template)).templateContent!;
+    return templateContent;
+  }
+
+  void _initData() {
+    getFollowUpRecordList();
+  }
 }

+ 5 - 2
lib/pages/check/maternal_health_management/maternal_health_management_form/view.dart

@@ -21,9 +21,12 @@ class MaternalHealthManagementFormState
 
   @override
   void initState() {
-    var _path = "assets/MaternalHealthManagement.json";
+    //var _path = "assets/MaternalHealthManagement.json";
     MaternalHealthFormValue.instance.initListener();
-    rootBundle.loadString(_path).then((value) {
+    // rootBundle.loadString(_path).then((value) {});
+    Get.find<MaternalHealthManagementController>()
+        .getTemplate("MaternalHealthManagement")
+        .then((value) {
       setState(() {
         _template = value;
       });

+ 10 - 0
lib/pages/check/maternal_health_management/state.dart

@@ -0,0 +1,10 @@
+import 'package:fis_jsonrpc/rpc.dart';
+import 'package:get/get.dart';
+
+class MaternalHealthManagementState {
+  final RxList<FollowUpRecordDTO> _followUpDTOList = RxList();
+
+  List<FollowUpRecordDTO> get followUpDTOList => _followUpDTOList.toList();
+  set followUpDTOList(List<FollowUpRecordDTO> val) =>
+      _followUpDTOList.value = val;
+}

+ 254 - 2
lib/pages/check/maternal_health_management/view.dart

@@ -1,14 +1,26 @@
+import 'package:fis_jsonrpc/services/vitalFollowUp.m.dart';
+import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 import 'package:get/get.dart';
 import 'package:get/get_state_manager/src/simple/get_view.dart';
+import 'package:intl/intl.dart';
 import 'package:vitalapp/components/appbar.dart';
+import 'package:vitalapp/components/no_data_view.dart';
+import 'package:vitalapp/consts/styles.dart';
+import 'package:vitalapp/database/entities/defines.dart';
+import 'package:vitalapp/managers/interfaces/follow_up.dart';
+import 'package:vitalapp/pages/form/form_info.dart';
+import 'package:vitalapp/pages/patient/list/widgets/status.dart';
+import 'package:vitalapp/pages/widgets/record_common_item.dart';
 
 import 'maternal_health_management_controller.dart';
 import 'maternal_health_management_form/view.dart';
 
 class MaternalHealthManagement
     extends GetView<MaternalHealthManagementController> {
-  const MaternalHealthManagement({Key? key}) : super(key: key);
+  MaternalHealthManagement({Key? key}) : super(key: key);
+
+  final _followUpManager = Get.find<IFollowUpManager>();
 
   @override
   Widget build(BuildContext context) {
@@ -23,6 +35,8 @@ class MaternalHealthManagement
             actions: [
               IconButton(
                 onPressed: () async {
+                  FormInfo.instance.formValue.clear();
+                  controller.isEdit = false;
                   Get.to(MaternalHealthManagementForm());
                 },
                 icon: Icon(Icons.add, size: 40),
@@ -34,7 +48,10 @@ class MaternalHealthManagement
               Row(
                 mainAxisAlignment: MainAxisAlignment.start,
                 crossAxisAlignment: CrossAxisAlignment.start,
-                children: [],
+                children: [
+                  _buildDiagram(),
+                  _buildListView(),
+                ],
               )
             ],
           ),
@@ -42,4 +59,239 @@ class MaternalHealthManagement
       },
     );
   }
+
+  Widget _buildDiagram() {
+    return Expanded(
+      flex: 1,
+      child: Padding(
+        padding: const EdgeInsets.all(16.0).copyWith(right: 0),
+        child: Container(
+          // color: Colors.white,
+          padding: const EdgeInsets.all(16),
+          decoration: BoxDecoration(
+            color: Colors.white,
+            border: Border.all(
+              color: Colors.white,
+            ),
+            borderRadius: GlobalStyles.borderRadius,
+          ),
+          child: Image.asset(
+            'assets/images/exam/normalMeasurementChart.png',
+            height: double.infinity,
+            fit: BoxFit.fitWidth,
+          ),
+        ),
+      ),
+    );
+  }
+
+  Widget _buildListView() {
+    return Expanded(
+      flex: 2,
+      child: Padding(
+        padding: const EdgeInsets.all(16),
+        child: RefreshIndicator(child: Obx(
+          () {
+            final list = controller.state.followUpDTOList;
+            final children = <Widget>[];
+            for (var i = 0; i < list.length; i++) {
+              final dto = list[i];
+              final records = dto.followUpRecordDatas;
+              if (records == null) {
+                continue;
+              }
+              for (var j = 0; j < records.length; j++) {
+                final data = records[j];
+                OfflineDataSyncState? offlineSyncState;
+                offlineSyncState = null;
+                children.add(
+                  followUpRecordCard(
+                    index: j,
+                    dto: dto,
+                    dataDto: data,
+                    syncState: offlineSyncState,
+                  ),
+                );
+              }
+            }
+            return list.isEmpty
+                ? VNoDataView()
+                : GridView(
+                    gridDelegate:
+                        const SliverGridDelegateWithFixedCrossAxisCount(
+                      crossAxisCount: 1,
+                      mainAxisSpacing: 16,
+                      crossAxisSpacing: 20,
+                      childAspectRatio: 900 / 180,
+                    ),
+                    children: children,
+                  );
+          },
+        ), onRefresh: () async {
+          controller.getFollowUpRecordList();
+        }),
+      ),
+    );
+  }
+
+  Widget followUpRecordCard({
+    required int index,
+    required FollowUpRecordDTO dto,
+    required FollowUpRecordDataDTO dataDto,
+    OfflineDataSyncState? syncState,
+  }) {
+    final body = Stack(
+      children: [
+        Row(
+          children: [
+            Expanded(
+              flex: 10,
+              child: Container(
+                padding: const EdgeInsets.symmetric(
+                  horizontal: 30,
+                  vertical: 12,
+                ),
+                child: Column(
+                  crossAxisAlignment: CrossAxisAlignment.start,
+                  children: [
+                    const SizedBox(
+                      height: 8,
+                    ),
+                    LayoutBuilder(builder: (context, c) {
+                      final width = c.maxWidth - 100;
+                      return SizedBox(
+                        width: width,
+                        child: _buildBaseInfoRow(dataDto.key ?? ""),
+                      );
+                    }),
+                    const SizedBox(
+                      height: 20,
+                    ),
+                    Wrap(
+                      alignment: WrapAlignment.start,
+                      spacing: 20,
+                      runSpacing: 8,
+                      children: [
+                        _buildName(dto.patientName ?? ''),
+                        _buildFollowUpMode(dataDto.followUpMode),
+                      ],
+                    ),
+                    const SizedBox(
+                      height: 20,
+                    ),
+                    Wrap(
+                      alignment: WrapAlignment.start,
+                      spacing: 20,
+                      runSpacing: 8,
+                      children: [
+                        _buildFollowUpDoctor(dataDto.followUpDoctor ?? ""),
+                        _buildFollowUpTime(dataDto.followUpTime),
+                      ],
+                    )
+                  ],
+                ),
+              ),
+            ),
+          ],
+        ),
+        Positioned(
+          top: 16,
+          right: 0,
+          child: _FollowUpRecordSignStatusTag(
+            dataDto: dataDto,
+          ),
+        ),
+        // if(dataDto)
+        Positioned(
+          top: 16,
+          right: 100,
+          child: _OfflineSyncTag(syncState: syncState),
+        ),
+      ],
+    );
+    return Material(
+      borderRadius: GlobalStyles.borderRadius,
+      child: Ink(
+        decoration: BoxDecoration(
+          color: Colors.white,
+          borderRadius: GlobalStyles.borderRadius,
+        ),
+        child: InkWell(
+          borderRadius: GlobalStyles.borderRadius,
+          onTap: () {
+            controller.isEdit = true;
+            controller.recordCode = dataDto.code ?? '';
+            controller.toCheckPage(dataDto); //跳转到随访页面
+          },
+          child: body,
+        ),
+      ),
+    );
+  }
+
+  Widget _buildBaseInfoRow(String key) {
+    return SizedBox(
+      child: RecordCommonItem(
+        itemName: '随访病症',
+        itemValue: controller.getFollowUpValueByKey(key),
+        fontSize: 20,
+      ),
+    );
+  }
+
+  Widget _FollowUpRecordSignStatusTag(
+      {required FollowUpRecordDataDTO dataDto}) {
+    return Container(
+      alignment: Alignment.centerRight,
+      width: 120,
+      child: StatusLabel(
+        title: _followUpManager.followUpStateTransition(dataDto.followUpState),
+        color: _followUpManager.followUpStateColors(dataDto.followUpState),
+      ),
+    );
+  }
+
+  Widget _OfflineSyncTag({OfflineDataSyncState? syncState}) {
+    return SizedBox();
+  }
+
+  Widget _buildName(String name) {
+    return SizedBox(
+      width: 300,
+      child: RecordCommonItem(
+        itemName: '姓名',
+        itemValue: name,
+        fontSize: 18,
+      ),
+    );
+  }
+
+  Widget _buildFollowUpMode(FollowUpModeEnum? followUpMode) {
+    return RecordCommonItem(
+      itemName: '随访类型',
+      itemValue: _followUpManager.getFollowUpMode(followUpMode),
+      fontSize: 18,
+    );
+  }
+
+  Widget _buildFollowUpDoctor(String followUpDoctor) {
+    return SizedBox(
+      width: 300,
+      child: RecordCommonItem(
+        itemName: '随访医生',
+        itemValue: followUpDoctor,
+        fontSize: 18,
+      ),
+    );
+  }
+
+  Widget _buildFollowUpTime(DateTime? followUpTime) {
+    return RecordCommonItem(
+      itemName: '随访时间',
+      itemValue: followUpTime != null
+          ? DateFormat("yyyy-MM-dd").format(followUpTime.toLocal())
+          : "",
+      fontSize: 18,
+    );
+  }
 }

+ 3 - 0
lib/pages/check/widgets/exam_configurable/exam_date.dart

@@ -32,6 +32,9 @@ class ExamDateState extends State<ExamDate> {
   @override
   void initState() {
     _currentValue = widget.currentInputValue ?? '';
+    if (FormInfo.instance.formValue.containsKey(widget.currentFormObject.key)) {
+      _currentValue = FormInfo.instance.formValue[widget.currentFormObject.key];
+    }
     super.initState();
     FormInfo.instance.onChangeTargetValue.addListener(_onChangeTargetValue);
   }

+ 4 - 0
lib/pages/check/widgets/exam_configurable/exam_multi_select_list.dart

@@ -27,6 +27,10 @@ class ExammultiSelectListState extends State<ExammultiSelectList> {
   @override
   void initState() {
     _currentSelectedItems = widget.currentSelectedCheckBox;
+    if (FormInfo.instance.formValue.containsKey(widget.currentFormObject.key)) {
+      _currentSelectedItems = FormInfo
+          .instance.formValue[widget.currentFormObject.key] as List<String>;
+    }
     super.initState();
   }
 

+ 38 - 3
lib/pages/check/widgets/exam_configurable/exam_single_option.dart

@@ -31,6 +31,23 @@ class ExamSingleOptionState extends State<ExamSingleOption> {
   @override
   void initState() {
     _isSelected = widget.isSelected;
+    if (FormInfo.instance.formValue.containsKey(currentFormObject.parentKey!)) {
+      var formValue = FormInfo.instance.formValue[currentFormObject.parentKey!];
+      if (formValue is List) {
+        _isSelected = formValue.contains(currentFormObject.key);
+        if (_isSelected)
+          Future.delayed(Duration(milliseconds: 200), () {
+            FormInfo.instance.onValueChange.emit(
+              this,
+              UpdateFormArgs(
+                sourceKey: widget.currentFormObject.parentKey ?? '',
+                sourceValue: currentFormObject.key,
+                type: UpdateFormType.Add,
+              ),
+            );
+          });
+      }
+    }
     super.initState();
     FormInfo.instance.onChangeTargetValue.addListener(_onChangeTargetValue);
   }
@@ -87,14 +104,31 @@ class ExamSingleOptionState extends State<ExamSingleOption> {
     );
   }
 
-  selectRaidoChange() {
+  void selectRaidoChange() {
+    if (_isDisabledValue) {
+      return;
+    }
     setState(() {
       _isSelected = !_isSelected;
     });
+    onValueChange();
+  }
+
+  ///当前选中的值改变
+  void onValueChange() {
     UpdateFormType type = UpdateFormType.Add;
     if (_isSelected) {
-      FormInfo.instance.formValue[currentFormObject.parentKey!] =
-          currentFormObject.key;
+      if (FormInfo.instance.formValue
+          .containsKey(currentFormObject.parentKey!)) {
+        var sourceValue =
+            FormInfo.instance.formValue[currentFormObject.parentKey!] as List;
+        sourceValue.add(currentFormObject.key!);
+      } else {
+        FormInfo.instance.formValue[currentFormObject.parentKey!] = [
+          currentFormObject.key
+        ];
+      }
+
       type = UpdateFormType.Add;
     } else if (FormInfo.instance.formValue
         .containsKey(currentFormObject.parentKey!)) {
@@ -111,6 +145,7 @@ class ExamSingleOptionState extends State<ExamSingleOption> {
     );
   }
 
+  ///其他控件的改变、通知到本控件
   void _onChangeTargetValue(Object sender, TargetFormArgs e) {
     if (e.targetKey != widget.currentFormObject.key) {
       return;

+ 4 - 0
lib/pages/check/widgets/exam_configurable/exam_single_select.dart

@@ -29,6 +29,10 @@ class ExamSingleSelectState extends State<ExamSingleSelect> {
   @override
   void initState() {
     _currentSelectedValue = widget.currentSelected;
+    if (FormInfo.instance.formValue.containsKey(widget.currentFormObject.key)) {
+      _currentSelectedValue =
+          FormInfo.instance.formValue[widget.currentFormObject.key];
+    }
     super.initState();
   }
 

+ 3 - 0
lib/pages/check/widgets/exam_configurable/exam_text_input.dart

@@ -29,6 +29,9 @@ class _ExamInputState extends State<ExamTextInput> {
   @override
   void initState() {
     _currentValue = widget.currentInputValue;
+    if (FormInfo.instance.formValue.containsKey(widget.currentFormObject.key)) {
+      _currentValue = FormInfo.instance.formValue[widget.currentFormObject.key];
+    }
     super.initState();
     FormInfo.instance.onChangeTargetValue.addListener(_onChangeTargetValue);
   }

+ 7 - 3
lib/pages/form/form_info.dart

@@ -3,6 +3,9 @@ import 'package:fis_common/event/event_type.dart';
 class FormInfo {
   static FormInfo? _reportInfo;
 
+  ///需要提交到Server的表单值
+  Map<String, dynamic> _formValue = {};
+
   FormInfo._internal();
 
   ///ReportInfo全局单例
@@ -18,11 +21,12 @@ class FormInfo {
   FEventHandler<TargetFormArgs> onChangeTargetValue =
       FEventHandler<TargetFormArgs>();
 
-  ///需要提交到Server的值
-  Map<String, dynamic> formValue = {};
+  Map<String, dynamic> get formValue => _formValue;
+  set formValue(Map<String, dynamic> newValue) {
+    _formValue = newValue;
+  }
 }
 
-
 class UpdateFormArgs {
   final String sourceKey;
   final UpdateFormType type;

+ 0 - 1
lib/pages/form/form_view.dart

@@ -37,7 +37,6 @@ class FormViewState extends State<FormView> {
 
   @override
   void initState() {
-    FormInfo.instance.formValue.clear();
     var _templateJson = widget.templateJson;
     var templateItems = jsonDecode(_templateJson);
     for (var item in templateItems) {

+ 7 - 22
lib/pages/medical/records/view.dart

@@ -5,6 +5,7 @@ import 'package:vitalapp/architecture/utils/prompt_box.dart';
 import 'package:vitalapp/components/alert_dialog.dart';
 import 'package:vitalapp/components/appbar.dart';
 import 'package:vitalapp/components/dialog_table.dart';
+import 'package:vitalapp/components/no_data_view.dart';
 import 'package:vitalapp/consts/styles.dart';
 import 'package:vitalapp/global.dart';
 import 'package:vitalapp/managers/interfaces/models/diagnosis_aggregation_record_model.dart';
@@ -94,30 +95,14 @@ class MedicalRecordsPage extends GetView<MedicalRecordsController> {
             child: Obx(() {
               final children = <Widget>[];
               for (var element in controller.state.dataList) {
-                children.add(_MedicalRecordCard(
-                  dto: element,
-                ));
+                children.add(
+                  _MedicalRecordCard(
+                    dto: element,
+                  ),
+                );
               }
               return controller.state.dataList.isEmpty
-                  ? Container(
-                      margin: const EdgeInsets.only(top: 80),
-                      child: Column(
-                        children: [
-                          Center(
-                            child: Image.asset(
-                              "assets/images/no_data.png",
-                              width: 300,
-                              height: 300,
-                              fit: BoxFit.cover,
-                            ),
-                          ),
-                          const Text(
-                            "暂无数据,先看看别的吧",
-                            style: TextStyle(fontSize: 18),
-                          ),
-                        ],
-                      ),
-                    )
+                  ? VNoDataView()
                   : Scrollbar(
                       trackVisibility: true,
                       controller: scrollController,

+ 1 - 1
lib/routes/routes.dart

@@ -565,7 +565,7 @@ class Routes {
     ),
     VRouteSetting(
       '/MaternalHealthManagement',
-      () => const MaternalHealthManagement(),
+      () => MaternalHealthManagement(),
       binding: BindingsBuilder(
         () {
           Get.put(MaternalHealthManagementController());