|
@@ -0,0 +1,629 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ asd
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+
|
|
|
+import XEUtils from "xe-utils";
|
|
|
+
|
|
|
+const editor = {
|
|
|
+ getDataElements: function (...val) {
|
|
|
+ return {
|
|
|
+ "肠鸣音": {
|
|
|
+ "id": "Z2M-fdd1oB0Q",
|
|
|
+ "value": [
|
|
|
+ {
|
|
|
+ "code": "01",
|
|
|
+ "name": "减弱,约2次/分"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "format": null,
|
|
|
+ "element": {
|
|
|
+ "id": "8dffa750ebea11edbdbb6bac0cf7ed17",
|
|
|
+ "type": "element",
|
|
|
+ "name": "肠鸣音",
|
|
|
+ "code": {
|
|
|
+ "business": "肠鸣音",
|
|
|
+ "internal": "",
|
|
|
+ "dataElement": ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "胸廓": {
|
|
|
+ "id": "ZOo8dJtqV_d",
|
|
|
+ "value": [
|
|
|
+ {
|
|
|
+ "code": "02",
|
|
|
+ "name": "桶状胸"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "format": null,
|
|
|
+ "element": {
|
|
|
+ "id": "c132a700eb1b11ed85056b28bb063824",
|
|
|
+ "type": "element",
|
|
|
+ "name": "胸廓",
|
|
|
+ "code": {
|
|
|
+ "business": "胸廓",
|
|
|
+ "internal": "",
|
|
|
+ "dataElement": ""
|
|
|
+ },
|
|
|
+ "labels": [
|
|
|
+ ""
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "心浊音界": {
|
|
|
+ "id": "e3RPAODf2RBeL",
|
|
|
+ "value": [
|
|
|
+ {
|
|
|
+ "code": "01",
|
|
|
+ "name": "正常"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "format": null,
|
|
|
+ "element": {
|
|
|
+ "id": "6adf7460ebc411edbdbb6bac0cf7ed17",
|
|
|
+ "type": "element",
|
|
|
+ "name": "心浊音界",
|
|
|
+ "code": {
|
|
|
+ "business": "心浊音界",
|
|
|
+ "internal": "",
|
|
|
+ "dataElement": ""
|
|
|
+ },
|
|
|
+ "labels": [
|
|
|
+ ""
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "麦氏点": {
|
|
|
+ "id": "Z5fgBAcDSYi3",
|
|
|
+ "value": [
|
|
|
+ {
|
|
|
+ "code": "01",
|
|
|
+ "name": "无压痛"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "format": null,
|
|
|
+ "element": {
|
|
|
+ "id": "540f1240ebe711edbdbb6bac0cf7ed17",
|
|
|
+ "type": "element",
|
|
|
+ "name": "麦氏点",
|
|
|
+ "code": {
|
|
|
+ "business": "麦氏点",
|
|
|
+ "internal": "",
|
|
|
+ "dataElement": ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "腹部压痛": {
|
|
|
+ "id": "Y9VZ_og4TCIK",
|
|
|
+ "value": [
|
|
|
+ {
|
|
|
+ "code": "01",
|
|
|
+ "name": "无压痛"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "format": null,
|
|
|
+ "element": {
|
|
|
+ "id": "de69fb90ebe111edbdbb6bac0cf7ed17",
|
|
|
+ "type": "element",
|
|
|
+ "name": "腹部压痛",
|
|
|
+ "code": {
|
|
|
+ "business": "腹部压痛",
|
|
|
+ "internal": "",
|
|
|
+ "dataElement": ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "四肢活动度": {
|
|
|
+ "id": "nk4uB_LGCgmA",
|
|
|
+ "value": [
|
|
|
+ {
|
|
|
+ "code": "01",
|
|
|
+ "name": "活动度正常"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "format": null,
|
|
|
+ "element": {
|
|
|
+ "id": "5a35d280ed4011edbdfa8b45d3db89d3",
|
|
|
+ "type": "element",
|
|
|
+ "name": "四肢活动度",
|
|
|
+ "code": {
|
|
|
+ "business": "四肢活动度",
|
|
|
+ "internal": "",
|
|
|
+ "dataElement": ""
|
|
|
+ },
|
|
|
+ "labels": [
|
|
|
+ ""
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "淋巴结": {
|
|
|
+ "id": "s8NAMJcd2Ip",
|
|
|
+ "value": [
|
|
|
+ {
|
|
|
+ "code": "01",
|
|
|
+ "name": "全身浅表淋巴结未触及肿"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "format": null,
|
|
|
+ "element": {
|
|
|
+ "id": "7f233aa0eb1111edbc373d3487e63c1b",
|
|
|
+ "type": "element",
|
|
|
+ "name": "淋巴结",
|
|
|
+ "code": {
|
|
|
+ "business": "淋巴结",
|
|
|
+ "internal": "",
|
|
|
+ "dataElement": ""
|
|
|
+ },
|
|
|
+ "labels": [
|
|
|
+ ""
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "皮肤黏膜": {
|
|
|
+ "id": "Ngrz5EqDMeR",
|
|
|
+ "value": [
|
|
|
+ {
|
|
|
+ "code": "01",
|
|
|
+ "name": "正常"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "format": null,
|
|
|
+ "element": {
|
|
|
+ "id": "62fc73f0e95411eda5033b03435677ca",
|
|
|
+ "type": "element",
|
|
|
+ "name": "皮肤黏膜",
|
|
|
+ "code": {
|
|
|
+ "business": "皮肤黏膜",
|
|
|
+ "internal": "",
|
|
|
+ "dataElement": ""
|
|
|
+ },
|
|
|
+ "labels": [
|
|
|
+ ""
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "粉尘接触史": {
|
|
|
+ "id": "Ngrz5EqDMeR",
|
|
|
+ "value": [
|
|
|
+ {
|
|
|
+ "code": "01",
|
|
|
+ "name": "正常"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "format": null,
|
|
|
+ "element": {
|
|
|
+ "id": "62fc73f0e95411eda5033b03435677ca",
|
|
|
+ "type": "element",
|
|
|
+ "name": "皮肤黏膜",
|
|
|
+ "code": {
|
|
|
+ "business": "皮肤黏膜",
|
|
|
+ "internal": "",
|
|
|
+ "dataElement": ""
|
|
|
+ },
|
|
|
+ "labels": [
|
|
|
+ ""
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "入院诊断": {
|
|
|
+ "id": "xan6jyKPFi",
|
|
|
+ "value": [
|
|
|
+ {
|
|
|
+ "code": "K56.100",
|
|
|
+ "name": "慢性阻塞性肺病伴有急性加重",
|
|
|
+ "showExtraDisplay": "慢性阻塞性肺病伴有急性加重"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "code": "J62.100",
|
|
|
+ "name": "慢性阻塞性肺病伴有急性加重",
|
|
|
+ "showExtraDisplay": "慢性阻塞性肺病伴有急性加重"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "format": null,
|
|
|
+ "element": {
|
|
|
+ "id": "278b04a054fb11eda5682b9e7526e088",
|
|
|
+ "type": "element",
|
|
|
+ "name": "入院诊断",
|
|
|
+ "code": {
|
|
|
+ "business": "入院诊断",
|
|
|
+ "internal": "入院诊断",
|
|
|
+ "dataElement": ""
|
|
|
+ },
|
|
|
+ "labels": [
|
|
|
+ ""
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const current = {}
|
|
|
+const patInfo = {}
|
|
|
+
|
|
|
+function setMsg(value) {
|
|
|
+ console.log(value)
|
|
|
+}
|
|
|
+
|
|
|
+function newFunc() {
|
|
|
+ const diagList = [
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "K56%"
|
|
|
+ ],
|
|
|
+ "main": true,
|
|
|
+ "contrast": "肠鸣音",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "肠梗阻患者,请注意肠鸣音的描述。",
|
|
|
+ "level": 'warn'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "J62%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "粉尘接触史",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "矽肺患者,请认真询问粉尘接触史。",
|
|
|
+ "level": 'warn'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "J44%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "吸烟史",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "慢支、慢阻肺患者,请认真询问吸烟史。",
|
|
|
+ "level": 'warn'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "J44.1%",
|
|
|
+ "J44.9%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "胸廓",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "慢阻肺患者,请注意胸廓形态等相关体格检查。",
|
|
|
+ "level": 'warn'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "I51.700x009"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "心浊音界",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "心脏扩大的患者,请注意体格检查中心浊音界的描述。",
|
|
|
+ "level": 'warn'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "Z90%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "手术史",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "患者为术后状态,请完善手术史相关记录。",
|
|
|
+ "level": 'warn'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "K35%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "麦氏点",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "患者有急性阑尾炎相关诊断,请注意体格检查麦氏点压痛。",
|
|
|
+ "level": 'warn'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "K81.000",
|
|
|
+ "K81.007",
|
|
|
+ "K81.006",
|
|
|
+ "K81.004",
|
|
|
+ "K81.003",
|
|
|
+ "K81.005"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "腹部压痛",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "患者有急性胆囊相关疾患,请注意体格检查腹部压痛、墨菲氏征等的描述。",
|
|
|
+ "level": 'warn'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "G82%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "四肢活动度",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "截瘫患者,请注意肢体活动的相关描述和记录。",
|
|
|
+ "level": 'warn'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "Z51.500x003"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "淋巴结",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "恶性肿瘤终末期患者,请注意淋巴结的相关描述和记录。",
|
|
|
+ "level": 'warn'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "K83.102",
|
|
|
+ "P78.800x008",
|
|
|
+ "O26.606",
|
|
|
+ "K83.101",
|
|
|
+ "K75.804",
|
|
|
+ "K71.001",
|
|
|
+ "K71.000x002",
|
|
|
+ "E80.600x008",
|
|
|
+ "E80.600x001"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "皮肤黏膜",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "患者存在胆汁淤积,请注意皮肤巩膜的相关描述。",
|
|
|
+ "level": 'warn'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+
|
|
|
+ const tempData = editor.getDataElements('business', false, true)
|
|
|
+ if (tempData === null && XEUtils.isEmpty(tempData)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (current.tempData === tempData) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ current['tempData'] = tempData
|
|
|
+
|
|
|
+ function codeLike(currentCode, equalsCode) {
|
|
|
+ if (equalsCode.endsWith("%")) {
|
|
|
+ const str = equalsCode.substring(0, equalsCode.length - 1);
|
|
|
+ return currentCode.startsWith(str);
|
|
|
+ } else if (equalsCode.startsWith("%")) {
|
|
|
+ const str = equalsCode.substring(1);
|
|
|
+ return currentCode.endsWith(str);
|
|
|
+ }
|
|
|
+ return currentCode === equalsCode;
|
|
|
+ }
|
|
|
+
|
|
|
+ function select(contrast, equals) {
|
|
|
+ return XEUtils.get(tempData[contrast], 'value[0].code') === equals
|
|
|
+ }
|
|
|
+
|
|
|
+ const msgList = {}
|
|
|
+
|
|
|
+ function pushMsg(key, msg) {
|
|
|
+ const id = tempData[key].id
|
|
|
+ msg["id"] = id
|
|
|
+
|
|
|
+ if (msgList[key]) {
|
|
|
+ msgList[key].push(msg)
|
|
|
+ } else {
|
|
|
+ msgList[key] = [msg]
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ diagList.forEach(item => {
|
|
|
+ const {main, codeList, contrast, equals, msg, level} = item
|
|
|
+ if (main) {
|
|
|
+ codeList.forEach(s => {
|
|
|
+ if (codeLike(codeList[0], s) && select(contrast, equals)) {
|
|
|
+ pushMsg(contrast, {message: msg, level, label: contrast})
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ const emrDiag = XEUtils.get(tempData, '入院诊断.value')
|
|
|
+ if (emrDiag === null && !XEUtils.isArray(emrDiag)) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ codeList.forEach(s => {
|
|
|
+ emrDiag.forEach(codeName => {
|
|
|
+ if (codeLike(codeName.code, s) && select(contrast, equals)) {
|
|
|
+ pushMsg(contrast, {message: msg, level, label: contrast})
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ setMsg(msgList)
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+newFunc()
|
|
|
+
|
|
|
+function newFuncStr() {
|
|
|
+ const str = `
|
|
|
+ const diagList = [
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "K56%"
|
|
|
+ ],
|
|
|
+ "main": true,
|
|
|
+ "contrast": "肠鸣音",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "肠梗阻患者,请注意肠鸣音的描述。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "J62%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "粉尘接触史",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "矽肺患者,请认真询问粉尘接触史。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "J44%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "吸烟史",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "慢支、慢阻肺患者,请认真询问吸烟史。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "J44.1%",
|
|
|
+ "J44.9%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "胸廓",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "慢阻肺患者,请注意胸廓形态等相关体格检查。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "I51.700x009"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "心浊音界",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "心脏扩大的患者,请注意体格检查中心浊音界的描述。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "Z90%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "手术史",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "患者为术后状态,请完善手术史相关记录。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "K35%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "麦氏点",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "患者有急性阑尾炎相关诊断,请注意体格检查麦氏点压痛。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "K81.000",
|
|
|
+ "K81.007",
|
|
|
+ "K81.006",
|
|
|
+ "K81.004",
|
|
|
+ "K81.003",
|
|
|
+ "K81.005"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "腹部压痛",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "患者有急性胆囊相关疾患,请注意体格检查腹部压痛、墨菲氏征等的描述。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "G82%"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "四肢活动度",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "截瘫患者,请注意肢体活动的相关描述和记录。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "Z51.500x003"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "淋巴结",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "恶性肿瘤终末期患者,请注意淋巴结的相关描述和记录。"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "codeList": [
|
|
|
+ "K83.102",
|
|
|
+ "P78.800x008",
|
|
|
+ "O26.606",
|
|
|
+ "K83.101",
|
|
|
+ "K75.804",
|
|
|
+ "K71.001",
|
|
|
+ "K71.000x002",
|
|
|
+ "E80.600x008",
|
|
|
+ "E80.600x001"
|
|
|
+ ],
|
|
|
+ "main": false,
|
|
|
+ "contrast": "皮肤黏膜",
|
|
|
+ "equals": "01",
|
|
|
+ "msg": "患者存在胆汁淤积,请注意皮肤巩膜的相关描述。"
|
|
|
+ }
|
|
|
+ ]
|
|
|
+
|
|
|
+ const tempData = editor.getDataElements('business', false, true)
|
|
|
+ if (tempData === null && XEUtils.isEmpty(tempData)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (current.tempData === tempData) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ current['tempData'] = tempData
|
|
|
+
|
|
|
+ function codeLike(currentCode, equalsCode) {
|
|
|
+ if (equalsCode.endsWith("%")) {
|
|
|
+ const str = equalsCode.substring(0, equalsCode.length - 1);
|
|
|
+ return currentCode.startsWith(str);
|
|
|
+ } else if (equalsCode.startsWith("%")) {
|
|
|
+ const str = equalsCode.substring(1);
|
|
|
+ return currentCode.endsWith(str);
|
|
|
+ }
|
|
|
+ return currentCode === equalsCode;
|
|
|
+ }
|
|
|
+
|
|
|
+ function select(contrast, equals) {
|
|
|
+ return XEUtils.get(tempData[contrast], 'value[0].code') === equals
|
|
|
+ }
|
|
|
+
|
|
|
+ const msgList = []
|
|
|
+
|
|
|
+ diagList.forEach(item => {
|
|
|
+ const {main, codeList, contrast, equals, msg} = item
|
|
|
+ if (main) {
|
|
|
+ codeList.forEach(s => {
|
|
|
+ if (codeLike(codeList[0], s) && select(contrast, equals)) {
|
|
|
+ msgList.push(msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ const emrDiag = XEUtils.get(tempData, '入院诊断.value')
|
|
|
+ if (emrDiag === null && !XEUtils.isArray(emrDiag)) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ codeList.forEach(s => {
|
|
|
+ emrDiag.forEach(codeName => {
|
|
|
+ if (codeLike(codeName.code, s) && select(contrast, equals)) {
|
|
|
+ msgList.push(msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ console.log(msgList)
|
|
|
+ `
|
|
|
+
|
|
|
+ const func = new Function('editor', 'patInfo', 'current', 'XEUtils', str)
|
|
|
+
|
|
|
+ func(editor, patInfo, current, XEUtils)
|
|
|
+}
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+<style>
|
|
|
+
|
|
|
+</style>
|