From 967bf02348e546fa2e5c09c25e7faf3c7a8ebc57 Mon Sep 17 00:00:00 2001 From: liuzhipeng <1747191978@qq.com> Date: Mon, 17 Feb 2025 20:33:35 +0800 Subject: [PATCH 001/134] =?UTF-8?q?=E8=AF=8A=E7=96=97=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=EF=BC=88=E5=A4=B1=E7=9C=A0=E8=AF=84=E4=BC=B0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/views/indexCom/JM.vue | 703 ++++++++++--------- acupuncture-前台/src/views/indexCom/index.js | 64 ++ 2 files changed, 424 insertions(+), 343 deletions(-) diff --git a/acupuncture-前台/src/views/indexCom/JM.vue b/acupuncture-前台/src/views/indexCom/JM.vue index 2c6c4ebe..2d53d970 100644 --- a/acupuncture-前台/src/views/indexCom/JM.vue +++ b/acupuncture-前台/src/views/indexCom/JM.vue @@ -1,362 +1,379 @@ \ No newline at end of file +.title-bor { + display: inline-block; + height: 20px; + width: 6px; + background: #4f8bff; + margin-right: 10px; + border-radius: 8px; +} + diff --git a/acupuncture-前台/src/views/indexCom/index.js b/acupuncture-前台/src/views/indexCom/index.js index a23f45a3..347d88c2 100644 --- a/acupuncture-前台/src/views/indexCom/index.js +++ b/acupuncture-前台/src/views/indexCom/index.js @@ -445,6 +445,70 @@ export const postureEcharts = { }, ], }; +// 失眠 +export const agrypniaEcharts = { + tooltip: { + trigger: "axis", + axisPointer: { + type: "cross", + label: { + backgroundColor: "#6a7985", + }, + }, + formatter: function (params) { + let res1 = params[0].name; + for (var i = 0, l = params.length; i < l; i++) { + res1 += + "
" + + `` + + params[i].seriesName + + " : " + + params[i].value + + "个"; + } + return res1; + }, + }, + xAxis: { + type: "category", + data: ['0~4分', '5~9分', '10~14分','15~19分','20~27分'], + + }, + grid: { + top: "12%", + left: "5%", + right: "2%", + bottom: "0%", + containLabel: true, + }, + yAxis: { + name: "数量( 个 )", + type: "value", + minInterval: 1, + splitLine: { + show: true, + lineStyle: { + type: "dashed", + }, + }, + }, + series: [ + { + name: "数量:", + data: [], + type: "bar", + barMaxWidth: 24, //柱图宽度 + color: "#4f8bff", + itemStyle: { + normal: { + //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] + barBorderRadius: [50, 50, 0, 0], + }, + }, + }, + + ], +}; // 患者信息 - 数据分析 export const HZXXSJFX = { tooltip: { From 816189dfe332a8315d791e3dc6da98cf7d0c845e Mon Sep 17 00:00:00 2001 From: liuzhipeng <1747191978@qq.com> Date: Mon, 17 Feb 2025 20:37:51 +0800 Subject: [PATCH 002/134] =?UTF-8?q?=E8=AF=8A=E7=96=97=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=EF=BC=88=E5=A4=B1=E7=9C=A0=E8=AF=84=E4=BC=B0=E3=80=81=E7=84=A6?= =?UTF-8?q?=E8=99=91=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/views/indexCom/JM.vue | 25 ++++++-- acupuncture-前台/src/views/indexCom/index.js | 64 ++++++++++++++++++++ 2 files changed, 85 insertions(+), 4 deletions(-) diff --git a/acupuncture-前台/src/views/indexCom/JM.vue b/acupuncture-前台/src/views/indexCom/JM.vue index 2d53d970..d92089d3 100644 --- a/acupuncture-前台/src/views/indexCom/JM.vue +++ b/acupuncture-前台/src/views/indexCom/JM.vue @@ -92,6 +92,7 @@ import { physiqueEcharts, postureEcharts, agrypniaEcharts, + anxietyEcharts, } from "./index"; export default { name: "Post", @@ -112,7 +113,7 @@ export default { physiqueValue: null, // 体质 postureValue: null, // 体态 agrypniaValue: null, // 失眠 - + anxietyValue: null, // 焦虑 // 体系中文 systemObj: { yxfpz: "隐形肥胖型", //隐形肥胖型 @@ -209,6 +210,12 @@ export default { this.agrypniaValue.push(smfb[key]); } this.handleAgrypnia(); + // 焦虑度 + this.anxietyValue = []; + for (let key in jlfb) { + this.anxietyValue.push(jlfb[key]); + } + this.handleAnxiety(); }); this.loading = false; } catch (e) {} @@ -285,10 +292,8 @@ export default { endTime: _data[1] + " " + "23:59:59", }; }, - // 体质 + // 失眠评估 handleAgrypnia() { - console.log("this.agrypniaValue", this.agrypniaValue); - agrypniaEcharts.series[0].data = this.agrypniaValue; this.$nextTick(() => { var myChart = echarts.init(document.getElementById("agrypnia"), null, { @@ -299,6 +304,18 @@ export default { window.onresize = myChart.resize; }); }, + // 焦虑评估 + handleAnxiety() { + anxietyEcharts.series[0].data = this.anxietyValue; + this.$nextTick(() => { + var myChart = echarts.init(document.getElementById("anxiety"), null, { + height: 300, + }); + myChart.setOption(anxietyEcharts, true); + myChart.resize(); + window.onresize = myChart.resize; + }); + }, // 重新渲染图标 getRenew() { this.Linepatient(); diff --git a/acupuncture-前台/src/views/indexCom/index.js b/acupuncture-前台/src/views/indexCom/index.js index 347d88c2..93cd4a03 100644 --- a/acupuncture-前台/src/views/indexCom/index.js +++ b/acupuncture-前台/src/views/indexCom/index.js @@ -509,6 +509,70 @@ export const agrypniaEcharts = { ], }; +// 焦虑度 +export const anxietyEcharts = { + tooltip: { + trigger: "axis", + axisPointer: { + type: "cross", + label: { + backgroundColor: "#6a7985", + }, + }, + formatter: function (params) { + let res1 = params[0].name; + for (var i = 0, l = params.length; i < l; i++) { + res1 += + "
" + + `` + + params[i].seriesName + + " : " + + params[i].value + + "个"; + } + return res1; + }, + }, + xAxis: { + type: "category", + data: ['<8分', '8~20分','21~35分','>35分'], + + }, + grid: { + top: "12%", + left: "5%", + right: "2%", + bottom: "0%", + containLabel: true, + }, + yAxis: { + name: "数量( 个 )", + type: "value", + minInterval: 1, + splitLine: { + show: true, + lineStyle: { + type: "dashed", + }, + }, + }, + series: [ + { + name: "数量:", + data: [], + type: "bar", + barMaxWidth: 24, //柱图宽度 + color: "#4f8bff", + itemStyle: { + normal: { + //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] + barBorderRadius: [50, 50, 0, 0], + }, + }, + }, + + ], +}; // 患者信息 - 数据分析 export const HZXXSJFX = { tooltip: { From 5b64c1d708f54e26ea61545eda1607e9217474b2 Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 09:44:26 +0800 Subject: [PATCH 003/134] =?UTF-8?q?=E6=B2=BB=E7=96=97=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=EF=BC=88=E6=B2=BB=E7=96=97=E7=B1=BB=E5=9E=8B=E3=80=81=E6=B2=BB?= =?UTF-8?q?=E7=96=97=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/api/indexCom.js | 14 + acupuncture-前台/src/views/index.vue | 6 +- acupuncture-前台/src/views/indexCom/XGZL.vue | 622 +++++++++---------- acupuncture-前台/src/views/indexCom/index.js | 157 +++++ 4 files changed, 479 insertions(+), 320 deletions(-) diff --git a/acupuncture-前台/src/api/indexCom.js b/acupuncture-前台/src/api/indexCom.js index 4c77e047..3440c928 100644 --- a/acupuncture-前台/src/api/indexCom.js +++ b/acupuncture-前台/src/api/indexCom.js @@ -122,4 +122,18 @@ export function zlInfo(data) { }); } // 治疗类型 +export function zlType(data) { + return request({ + url: "/statistics/zlType", + method: "post", + data: data, + }); +} // 随访分布 +export function sffb(data) { + return request({ + url: "/statistics/sffb", + method: "post", + data: data, + }); +} \ No newline at end of file diff --git a/acupuncture-前台/src/views/index.vue b/acupuncture-前台/src/views/index.vue index ed5f9388..365846bd 100644 --- a/acupuncture-前台/src/views/index.vue +++ b/acupuncture-前台/src/views/index.vue @@ -23,17 +23,17 @@ - + diff --git a/acupuncture-前台/src/views/indexCom/XGZL.vue b/acupuncture-前台/src/views/indexCom/XGZL.vue index 3ad3b97e..0872908b 100644 --- a/acupuncture-前台/src/views/indexCom/XGZL.vue +++ b/acupuncture-前台/src/views/indexCom/XGZL.vue @@ -1,324 +1,312 @@ + >>>.el-card__body { + padding: 10px 0 !important; + } + + .dis { + display: flex; + } + + .header-title { + font-size: 18px; + } + + .title-box { + padding: 10px 20px; + border-bottom: 1px solid #dfe6ec; + } + + .dian-box { + align-items: center; + } + + .dian { + display: inline-block; + width: 16px; + height: 16px; + border-radius: 50%; + margin: 0 10px; + } + + .title-box { + justify-content: space-between; + } + + .>>>.el-radio--small.is-bordered { + margin-right: 20px !important; + margin-left: 0 !important; + } + + >>>.el-radio__input { + display: none; + } + + >>>.el-radio__label { + padding-left: 5px; + } + + .app-container { + padding: 0; + display: flex; + justify-content: space-between; + } + + .title { + display: flex; + align-items: center; + font-size: 20px; + font-weight: 600; + } + + .title-bor { + display: inline-block; + height: 20px; + width: 6px; + background: #4f8bff; + margin-right: 10px; + border-radius: 8px; + } + \ No newline at end of file diff --git a/acupuncture-前台/src/views/indexCom/index.js b/acupuncture-前台/src/views/indexCom/index.js index 93cd4a03..e3613111 100644 --- a/acupuncture-前台/src/views/indexCom/index.js +++ b/acupuncture-前台/src/views/indexCom/index.js @@ -573,6 +573,163 @@ export const anxietyEcharts = { ], }; +// -------- 治疗类型 -------- +// 治疗类型 +export const healTypeEcharts = { + tooltip: { + trigger: "item", + }, + title: { + text: "", + left: "center", + top: "40%", + textStyle: { + textAlign: "center", + color: "#393D4E", + fontSize: 40, + fontWeight: 600, + }, + }, + grid: { + top: "0%", + left: "0", + right: "0%", + bottom: "0%", + containLabel: true, + }, + color: ["#91CC75", "#5470C6"], + series: [ + { + type: "pie", + radius: "80%", + avoidLabelOverlap: false, + label: { + show: false, + position: "center", + }, + labelLine: { + show: false, + }, + data: [], + }, + ], +}; +// 病种方法 +export const diseaseMethodEcharts = { + tooltip: { + trigger: "axis", + axisPointer: { + type: "cross", + label: { + backgroundColor: "#6a7985", + }, + }, + formatter: function (params) { + let res1 = params[0].name; + for (var i = 0, l = params.length; i < l; i++) { + res1 += + "
" + + `` + + params[i].seriesName + + " : " + + params[i].value + + "个"; + } + return res1; + }, + }, + xAxis: { + type: "category", + data: ['肥胖症', '失眠症','其他'], + + }, + grid: { + top: "12%", + left: "5%", + right: "2%", + bottom: "0%", + containLabel: true, + }, + yAxis: { + name: "数量( 个 )", + type: "value", + minInterval: 1, + splitLine: { + show: true, + lineStyle: { + type: "dashed", + }, + }, + }, + series: [ + { + name: "数量1:", + data: [1,2], + type: "bar", + barMaxWidth: 24, //柱图宽度 + itemStyle: { + normal: { + //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] + barBorderRadius: [50, 50, 0, 0], + }, + }, + }, + { + name: "数量2:", + data: [1,3], + type: "bar", + barMaxWidth: 24, //柱图宽度 + itemStyle: { + normal: { + //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] + barBorderRadius: [50, 50, 0, 0], + }, + }, + }, + ], +}; +// 治疗效果 +export const effectEcharts = { + tooltip: { + trigger: "item", + }, + title: { + text: "", + left: "center", + top: "40%", + textStyle: { + textAlign: "center", + color: "#393D4E", + fontSize: 40, + fontWeight: 600, + }, + }, + grid: { + top: "0%", + left: "0", + right: "0%", + bottom: "0%", + containLabel: true, + }, + color: ["#5C7BD9", "#91CC75",'#FAC858','#EE6666'], + series: [ + { + type: "pie", + radius: "80%", + avoidLabelOverlap: false, + label: { + show: false, + position: "center", + }, + labelLine: { + show: false, + }, + data: [], + }, + ], +}; + + // 患者信息 - 数据分析 export const HZXXSJFX = { tooltip: { From d292d4dda6c4ca056f17b7c2ba108706bfaa1efd Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 09:58:41 +0800 Subject: [PATCH 004/134] =?UTF-8?q?=E6=B2=BB=E7=96=97=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=EF=BC=88=E6=B2=BB=E7=96=97=E7=B1=BB=E5=9E=8B=E3=80=81=E6=B2=BB?= =?UTF-8?q?=E7=96=97=E6=95=88=E6=9E=9C=E3=80=81=E6=B2=BB=E7=96=97=E8=B4=B9?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/views/indexCom/XGZL.vue | 85 ++++++++++++++------ acupuncture-前台/src/views/indexCom/index.js | 63 ++++++++++++++- 2 files changed, 122 insertions(+), 26 deletions(-) diff --git a/acupuncture-前台/src/views/indexCom/XGZL.vue b/acupuncture-前台/src/views/indexCom/XGZL.vue index 0872908b..acbc6125 100644 --- a/acupuncture-前台/src/views/indexCom/XGZL.vue +++ b/acupuncture-前台/src/views/indexCom/XGZL.vue @@ -81,6 +81,25 @@ +
+
+
+ +
+ 诊疗费用分布 +
+
+
+
+
+
+
+
+
+ +
+
+
@@ -94,7 +113,8 @@ import { healTypeEcharts, diseaseMethodEcharts, - effectEcharts + effectEcharts, + costEcharts } from "./index"; export default { name: "Post", @@ -112,11 +132,12 @@ healTypeValue: null, // 治疗类型 diseaseMethod: null, // 病种方法 effectValue: null, // 治疗效果 - effectObj:{ - "zy":"治愈",//治愈 - "xx":"显效",//显效 - "hz":"好转",//好转 - "wx":"无效"//无效 + costValue: null, //治疗效果 + effectObj: { + "zy": "治愈", //治愈 + "xx": "显效", //显效 + "hz": "好转", //好转 + "wx": "无效" //无效 } }; }, @@ -162,27 +183,29 @@ // index ++ // } // this.handleDiseaseMethod() - + // 治疗效果 - this.effectValue = [ - { - name: '治愈', - value: zlxwfb.zy - }, - { - name: '显效', - value: zlxwfb.xx - }, - { - name: '好转', - value: zlxwfb.hz - }, - { - name: '无效', - value: zlxwfb.wx - } - ] + this.effectValue = [{ + name: '治愈', + value: zlxwfb.zy + }, + { + name: '显效', + value: zlxwfb.xx + }, + { + name: '好转', + value: zlxwfb.hz + }, + { + name: '无效', + value: zlxwfb.wx + } + ] this.handleEffect() + // 治疗费用 + this.costValue =[zlfy.score1,zlfy.score2,zlfy.score3,zlfy.score4,zlfy.score5] + this.handleCost() }); this.loading = false; } catch (e) {} @@ -223,6 +246,18 @@ window.onresize = myChart.resize; }); }, + // 治疗费用 + handleCost() { + costEcharts.series[0].data = this.costValue + this.$nextTick(() => { + var myChart = echarts.init(document.getElementById("cost"), null, { + height: 300, + }); + myChart.setOption(costEcharts, true); + myChart.resize(); + window.onresize = myChart.resize; + }); + }, // 数据处理 查询类型判断参数 initial(_data, _type) { _data[0] = this.$moment(_data[0]).format("YYYY-MM-DD"); diff --git a/acupuncture-前台/src/views/indexCom/index.js b/acupuncture-前台/src/views/indexCom/index.js index e3613111..f538b732 100644 --- a/acupuncture-前台/src/views/indexCom/index.js +++ b/acupuncture-前台/src/views/indexCom/index.js @@ -728,7 +728,68 @@ export const effectEcharts = { }, ], }; - +// 诊疗费 +export const costEcharts = { + tooltip: { + trigger: "axis", + axisPointer: { + type: "cross", + label: { + backgroundColor: "#6a7985", + }, + }, + formatter: function (params) { + let res1 = params[0].name; + for (var i = 0, l = params.length; i < l; i++) { + res1 += + "
" + + `` + + params[i].seriesName + + " : " + + params[i].value + + "个"; + } + return res1; + }, + }, + xAxis: { + type: "category", + data: ['<300元','300 ~ 900元','900 ~ 2000元','2000 ~ 5000元','>5000元'], + }, + grid: { + top: "12%", + left: "5%", + right: "2%", + bottom: "0%", + containLabel: true, + }, + yAxis: { + name: "数量( 个 )", + type: "value", + minInterval: 1, + splitLine: { + show: true, + lineStyle: { + type: "dashed", + }, + }, + }, + series: [ + { + name: "数量:", + data: [], + type: "bar", + barMaxWidth: 24, //柱图宽度 + itemStyle: { + normal: { + //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] + barBorderRadius: [50, 50, 0, 0], + }, + }, + }, + + ], +}; // 患者信息 - 数据分析 export const HZXXSJFX = { From 3db88407a84010bb157d345024c96ee2b126ea26 Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 11:05:54 +0800 Subject: [PATCH 005/134] =?UTF-8?q?=E5=A4=B1=E8=AE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/api/indexCom.js | 7 + acupuncture-前台/src/views/index.vue | 13 ++ .../src/views/indexCom/follow.vue | 213 ++++++++++++++++++ acupuncture-前台/src/views/indexCom/index.js | 136 ++++++++++- 4 files changed, 368 insertions(+), 1 deletion(-) create mode 100644 acupuncture-前台/src/views/indexCom/follow.vue diff --git a/acupuncture-前台/src/api/indexCom.js b/acupuncture-前台/src/api/indexCom.js index 3440c928..f3e35e1d 100644 --- a/acupuncture-前台/src/api/indexCom.js +++ b/acupuncture-前台/src/api/indexCom.js @@ -136,4 +136,11 @@ export function sffb(data) { method: "post", data: data, }); +} +export function sftj(data) { + return request({ + url: "/statistics/sftj", + method: "post", + data: data, + }); } \ No newline at end of file diff --git a/acupuncture-前台/src/views/index.vue b/acupuncture-前台/src/views/index.vue index 365846bd..6cfba258 100644 --- a/acupuncture-前台/src/views/index.vue +++ b/acupuncture-前台/src/views/index.vue @@ -34,6 +34,17 @@ +
+ + + + +
@@ -43,6 +54,7 @@ import search from "@/views/indexCom/query"; import patient from "@/views/indexCom/patient"; import JM from "@/views/indexCom/JM"; import XGZL from "@/views/indexCom/XGZL"; +import follow from "@/views/indexCom/follow"; export default { name: "Index", components: { @@ -50,6 +62,7 @@ export default { patient, JM, XGZL, + follow }, data() { return {}; diff --git a/acupuncture-前台/src/views/indexCom/follow.vue b/acupuncture-前台/src/views/indexCom/follow.vue new file mode 100644 index 00000000..cfba804f --- /dev/null +++ b/acupuncture-前台/src/views/indexCom/follow.vue @@ -0,0 +1,213 @@ + + + + + \ No newline at end of file diff --git a/acupuncture-前台/src/views/indexCom/index.js b/acupuncture-前台/src/views/indexCom/index.js index f538b732..097d0e71 100644 --- a/acupuncture-前台/src/views/indexCom/index.js +++ b/acupuncture-前台/src/views/indexCom/index.js @@ -790,7 +790,141 @@ export const costEcharts = { ], }; - +// -------- 随访 -------- +export const followEcharts = { + tooltip: { + trigger: "axis", + axisPointer: { + type: "cross", + label: { + backgroundColor: "#6a7985", + }, + }, + formatter: function (params) { + let res1 = params[0].name; + for (var i = 0, l = params.length; i < l; i++) { + res1 += + "
" + + `` + + params[i].seriesName + + " : " + + params[i].value + + "个"; + } + return res1; + }, + }, + xAxis: { + type: "category", + data: ['<300元','300 ~ 900元','900 ~ 2000元','2000 ~ 5000元','>5000元'], + }, + grid: { + top: "12%", + left: "5%", + right: "2%", + bottom: "0%", + containLabel: true, + }, + yAxis: { + name: "数量( 个 )", + type: "value", + minInterval: 1, + splitLine: { + show: true, + lineStyle: { + type: "dashed", + }, + }, + }, + series: [ + { + name: "肥胖队列", + data: [], + type: "bar", + barMaxWidth: 24, //柱图宽度 + itemStyle: { + normal: { + //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] + barBorderRadius: [50, 50, 0, 0], + }, + }, + }, + { + name: "失眠队列", + data: [], + type: "bar", + barMaxWidth: 24, //柱图宽度 + itemStyle: { + normal: { + //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] + barBorderRadius: [50, 50, 0, 0], + }, + }, + }, + + ], +}; +export const lossFollowEcharts = { + tooltip: { + trigger: "axis", + axisPointer: { + type: "cross", + label: { + backgroundColor: "#6a7985", + }, + }, + formatter: function (params) { + let res1 = params[0].name; + for (var i = 0, l = params.length; i < l; i++) { + res1 += + "
" + + `` + + params[i].seriesName + + " : " + + params[i].value + + "个"; + } + return res1; + }, + }, + xAxis: { + type: "category", + data: ['<300元','300 ~ 900元','900 ~ 2000元','2000 ~ 5000元','>5000元'], + }, + grid: { + top: "12%", + left: "5%", + right: "2%", + bottom: "0%", + containLabel: true, + }, + yAxis: { + name: "数量( 个 )", + type: "value", + minInterval: 1, + splitLine: { + show: true, + lineStyle: { + type: "dashed", + }, + }, + }, + series: [ + { + name: "数量:", + data: [], + type: "bar", + barMaxWidth: 24, //柱图宽度 + itemStyle: { + normal: { + //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] + barBorderRadius: [50, 50, 0, 0], + }, + }, + } + + ], +}; // 患者信息 - 数据分析 export const HZXXSJFX = { tooltip: { From ddfafb8f4942e8017935bd188f8886b654b5ecd5 Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 11:33:34 +0800 Subject: [PATCH 006/134] =?UTF-8?q?=E9=98=9F=E5=88=97=E9=9A=8F=E8=AE=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/indexCom/follow.vue | 51 ++++++++++++------- acupuncture-前台/src/views/indexCom/index.js | 27 +--------- 2 files changed, 33 insertions(+), 45 deletions(-) diff --git a/acupuncture-前台/src/views/indexCom/follow.vue b/acupuncture-前台/src/views/indexCom/follow.vue index cfba804f..01105760 100644 --- a/acupuncture-前台/src/views/indexCom/follow.vue +++ b/acupuncture-前台/src/views/indexCom/follow.vue @@ -28,7 +28,7 @@ - + + >>>.el-card { + margin-bottom: 16px; + } + + >>>.el-card__body { + padding: 10px 20px; + } + \ No newline at end of file diff --git a/acupuncture-前台/src/views/indexCom/query.vue b/acupuncture-前台/src/views/indexCom/query.vue index fc740393..4b5ab797 100644 --- a/acupuncture-前台/src/views/indexCom/query.vue +++ b/acupuncture-前台/src/views/indexCom/query.vue @@ -6,7 +6,7 @@
- - - + --> Date: Tue, 18 Feb 2025 12:45:47 +0800 Subject: [PATCH 009/134] =?UTF-8?q?=E5=B9=B4=E9=BE=84=E5=88=86=E5=B8=83?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/views/indexCom/XGZL.vue | 2 +- acupuncture-前台/src/views/indexCom/index.js | 960 +------------------ 2 files changed, 7 insertions(+), 955 deletions(-) diff --git a/acupuncture-前台/src/views/indexCom/XGZL.vue b/acupuncture-前台/src/views/indexCom/XGZL.vue index 7b89ff5b..6999702d 100644 --- a/acupuncture-前台/src/views/indexCom/XGZL.vue +++ b/acupuncture-前台/src/views/indexCom/XGZL.vue @@ -33,7 +33,7 @@
-
+
病种穴位分布 diff --git a/acupuncture-前台/src/views/indexCom/index.js b/acupuncture-前台/src/views/indexCom/index.js index d2644298..0b15153d 100644 --- a/acupuncture-前台/src/views/indexCom/index.js +++ b/acupuncture-前台/src/views/indexCom/index.js @@ -145,11 +145,16 @@ export const ageEcharts = { data: [], type: "bar", barMaxWidth: 24, //柱图宽度 - color: "#4f8bff", + itemStyle: { normal: { //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] barBorderRadius: [50, 50, 0, 0], + color: function (params) + { + var colorList = ['#FF9966', '#66B3FF', '#99FF99','#FFCC66','#FF6699','#CCCCCC']; + return colorList[params.dataIndex] + }, }, }, }, @@ -900,956 +905,3 @@ export const lossFollowEcharts = { ], }; -// 患者信息 - 数据分析 -export const HZXXSJFX = { - tooltip: { - trigger: "axis", - axisPointer: { - type: "cross", - label: { - backgroundColor: "#6a7985", - }, - }, - formatter: function (params) { - let res1 = params[0].name; - for (var i = 0, l = params.length; i < l; i++) { - res1 += - "
" + - `` + - params[i].seriesName + - " : " + - params[i].value + - "个"; - } - return res1; - }, - }, - xAxis: { - type: "category", - data: ["性别"], - }, - grid: { - top: "12%", - left: "5%", - right: "2%", - bottom: "0%", - containLabel: true, - }, - yAxis: { - name: "数量( 个 )", - type: "value", - minInterval: 1, - splitLine: { - show: true, - lineStyle: { - type: "dashed", - }, - }, - }, - series: [ - { - name: "男", - data: [20, 20, 50, 80, 70, 11, 15], - type: "bar", - barMaxWidth: 24, //柱图宽度 - color: "#4f8bff", - itemStyle: { - normal: { - //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] - barBorderRadius: [50, 50, 0, 0], - }, - }, - }, - { - name: "女", - data: [120, 200, 150, 80, 70, 110, 10], - type: "bar", - barMaxWidth: 24, //柱图宽度 - color: "#ffcd6c", - itemStyle: { - normal: { - //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] - barBorderRadius: [50, 50, 0, 0], - }, - }, - }, - ], -}; -// - - - - - - - - 静脉溶栓统计 -export const JMRSL = { - tooltip: { - trigger: "axis", - axisPointer: { - type: "cross", - label: { - backgroundColor: "#6a7985", - }, - }, - formatter: function (params) { - let res1 = params[0].name; - for (var i = 0, l = params.length; i < l; i++) { - res1 += - "
" + - `` + - params[i].seriesName + - " : " + - params[i].value + - "%"; - } - return res1; - }, - }, - grid: { - top: "12%", - left: "5%", - right: "3%", - bottom: "0%", - containLabel: true, - }, - xAxis: { - type: "category", - data: [ - "2023-01", - "2023-02", - "2023-03", - "2023-04", - "2023-05", - "2023-06", - "2023-07", - "2023-08", - "2023-09", - "2023-10", - "2023-11", - "2023-12", - ], - }, - yAxis: { - name: "单位( % ) ", - type: "value", - minInterval: 1, - splitLine: { - show: true, - lineStyle: { - type: "dashed", - }, - }, - graphicObj: { - left: 0, - }, - }, - series: [ - { - color: "#A794FE", - data: [120, 200, 150, 80, 70, 110, 130], - type: "bar", - name: "静脉溶栓率", - barMaxWidth: 24, //柱图宽度 - itemStyle: { - normal: { - //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] - barBorderRadius: [50, 50, 0, 0], - }, - }, - }, - ], -}; -// 静脉溶栓率 - 数据对比 -export const JMSJDB = { - tooltip: { - trigger: "axis", - axisPointer: { - type: "cross", - label: { - backgroundColor: "#6a7985", - }, - }, - formatter: function (params) { - let res1 = params[0].name; - for (var i = 0, l = params.length; i < l; i++) { - res1 += - "
" + - `` + - params[i].seriesName + - " : " + - params[i].value + - "个"; - } - return res1; - }, - }, - grid: { - top: "12%", - left: "5%", - right: "3%", - bottom: "0%", - containLabel: true, - }, - xAxis: [ - { - type: "category", - data: [ - "2023-01", - "2023-02", - "2023-03", - "2023-04", - "2023-05", - "2023-06", - "2023-07", - "2023-08", - "2023-09", - "2023-10", - "2023-11", - "2023-12", - ], - boundaryGap: false, - }, - ], - yAxis: { - graphicObj: { - left: 0, - }, - name: "单位( 个 )", - type: "value", - minInterval: 1, - splitLine: { - show: true, - lineStyle: { - type: "dashed", - }, - }, - }, - series: [ - { - name: "静脉溶栓人数", - type: "line", - // stack: "Total", - color: "#00CE9F", - areaStyle: { - opacity: 0.8, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#00CE9F", - }, - { - offset: 1, - color: "rgba(0,209,161,0.8)", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [120, 132, 101, 134, 90, 230, 210], - }, - { - name: "急救特征人数", - type: "line", - // stack: "Total", - color: "#538BF6", - areaStyle: { - opacity: 0.8, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#538BF6", - }, - { - offset: 1, - color: "#538BF6", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [120, 112, 91, 234, 222, 89, 100], - }, - ], -}; -// 静脉溶栓率 - DNT -export const DNT = { - tooltip: { - trigger: "axis", - axisPointer: { - type: "cross", - label: { - backgroundColor: "#6a7985", - }, - }, - formatter: function (params) { - let res1 = params[0].name; - for (var i = 0, l = params.length; i < l; i++) { - res1 += - "
" + - `` + - params[i].seriesName + - " : " + - params[i].value + - "个"; - } - return res1; - }, - }, - xAxis: { - type: "category", - data: [ - "2023-01", - "2023-02", - "2023-03", - "2023-04", - "2023-05", - "2023-06", - "2023-07", - "2023-08", - "2023-09", - "2023-10", - "2023-11", - "2023-12", - ], - }, - grid: { - top: "12%", - left: "5%", - right: "3%", - bottom: "0%", - containLabel: true, - }, - yAxis: { - name: "单位( 个 )", - type: "value", - minInterval: 1, - splitLine: { - show: true, - lineStyle: { - type: "dashed", - }, - }, - }, - series: [ - { - color: "#FFCD6C", - data: [120, 200, 150, 80, 70, 110, 130], - type: "bar", - barMaxWidth: 24, //柱图宽度 - name: "≤45 min", - itemStyle: { - normal: { - //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] - barBorderRadius: [50, 50, 0, 0], - }, - }, - }, - { - color: "#F97186", - data: [120, 200, 150, 80, 70, 110, 130], - type: "bar", - name: "≤60 min", - barMaxWidth: 24, //柱图宽度 - itemStyle: { - normal: { - //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] - barBorderRadius: [50, 50, 0, 0], - }, - }, - }, - { - color: "#4f8bff", - data: [120, 200, 150, 80, 70, 110, 130], - type: "bar", - name: ">60 min", - barMaxWidth: 24, //柱图宽度 - itemStyle: { - normal: { - //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] - barBorderRadius: [50, 50, 0, 0], - }, - }, - }, - ], -}; -// 静脉溶栓率 - SICH -export const SICH = { - tooltip: { - trigger: "axis", - axisPointer: { - type: "cross", - label: { - backgroundColor: "#6a7985", - }, - }, - formatter: function (params) { - let res1 = params[0].name; - for (var i = 0, l = params.length; i < l; i++) { - res1 += - "
" + - `` + - params[i].seriesName + - " : " + - params[i].value + - "%"; - } - return res1; - }, - }, - grid: { - top: "12%", - left: "5%", - right: "3%", - bottom: "0%", - containLabel: true, - }, - ttooltip: { - trigger: "axis", - axisPointer: { - // 坐标轴指示器,坐标轴触发有效 - type: "line", // 默认为直线,可选为:'line' | 'shadow' - }, - }, - xAxis: [ - { - boundaryGap: false, - type: "category", - data: [ - "2023-01", - "2023-02", - "2023-03", - "2023-04", - "2023-05", - "2023-06", - "2023-07", - "2023-08", - "2023-09", - "2023-10", - "2023-11", - "2023-12", - ], - }, - ], - yAxis: { - scale: true, - type: "value", - minInterval: 1, - min: 0, - name: "单位( % )", - position: "left", - splitLine: { - show: true, - lineStyle: { - type: "dashed", - }, - }, - axisLabel: { - show: true, - interval: 0, - }, - }, - series: [ - { - name: "sICH发生率", - type: "line", - stack: "Total", - color: "#F97186", - areaStyle: { - opacity: 0.8, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#FA7F90", - }, - { - offset: 1, - color: "#F3D7DE", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [120, 132, 101, 134, 124, 120, 100], - }, - ], -}; -// - - - - - - - - 血管治疗 -export const XGZL = { - tooltip: { - trigger: "axis", - axisPointer: { - type: "cross", - label: { - backgroundColor: "#6a7985", - }, - }, - formatter: function (params) { - let res1 = params[0].name; - for (var i = 0, l = params.length; i < l; i++) { - res1 += - "
" + - `` + - params[i].seriesName + - " : " + - params[i].value + - "%"; - } - return res1; - }, - }, - xAxis: { - type: "category", - data: [ - "2023-01", - "2023-02", - "2023-03", - "2023-04", - "2023-05", - "2023-06", - "2023-07", - "2023-08", - "2023-09", - "2023-10", - "2023-11", - "2023-12", - ], - }, - grid: { - top: "12%", - left: "5%", - right: "3%", - bottom: "0%", - containLabel: true, - }, - yAxis: { - name: "单位( % )", - type: "value", - minInterval: 1, - splitLine: { - show: true, - lineStyle: { - type: "dashed", - }, - }, - }, - series: [ - { - name: "血管内治疗率", - color: "#4F8BFF", - data: [120, 200, 150, 80, 70, 110, 130], - type: "bar", - barMaxWidth: 24, //柱图宽度 - itemStyle: { - normal: { - //这里设置柱形图圆角 [左上角,右上角,右下角,左下角] - barBorderRadius: [50, 50, 0, 0], - }, - }, - }, - ], -}; -// 数据对比 -export const XGSJDB = { - tooltip: { - trigger: "axis", - axisPointer: { - type: "cross", - label: { - backgroundColor: "#6a7985", - }, - }, - formatter: function (params) { - let res1 = params[0].name; - for (var i = 0, l = params.length; i < l; i++) { - res1 += - "
" + - `` + - params[i].seriesName + - " : " + - params[i].value + - "个"; - } - return res1; - }, - }, - grid: { - top: "12%", - left: "5%", - right: "3%", - bottom: "0%", - containLabel: true, - }, - ttooltip: { - trigger: "axis", - axisPointer: { - // 坐标轴指示器,坐标轴触发有效 - type: "line", // 默认为直线,可选为:'line' | 'shadow' - }, - }, - xAxis: [ - { - type: "category", - data: [ - "2023-01", - "2023-02", - "2023-03", - "2023-04", - "2023-05", - "2023-06", - "2023-07", - "2023-08", - "2023-09", - "2023-10", - "2023-11", - "2023-12", - ], - boundaryGap: false, - }, - ], - yAxis: { - scale: true, - type: "value", - minInterval: 1, - name: "单位( 个 )", - position: "left", - splitLine: { - show: true, - lineStyle: { - type: "dashed", - }, - }, - axisLabel: { - show: true, - interval: 0, - }, - }, - series: [ - { - name: "桥接治疗人数", - type: "line", - // stack: "Total", - color: "#00CE9F", - - areaStyle: { - opacity: 0.2, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#00CE9F", - }, - { - offset: 1, - color: "#fff", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [120, 132, 101, 134, 90, 230, 210], - }, - { - name: "非桥接治疗人数", - type: "line", - // stack: "Total", - color: "#538BF6", - areaStyle: { - opacity: 0.2, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#538BF6", - }, - { - offset: 1, - color: "#fff", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [220, 182, 191, 234, 290, 330, 310], - }, - ], -}; -// DPT -export const DPT = { - grid: { - top: "12%", - left: "5%", - right: "3%", - bottom: "0%", - containLabel: true, - }, - tooltip: { - trigger: "axis", - axisPointer: { - // 坐标轴指示器,坐标轴触发有效 - type: "line", // 默认为直线,可选为:'line' | 'shadow' - }, - formatter: function (params) { - let res1 = params[0].name; - for (var i = 0, l = params.length; i < l; i++) { - res1 += - "
" + - `` + - params[i].seriesName + - " : " + - params[i].value + - "个"; - } - return res1; - }, - }, - xAxis: [ - { - type: "category", - data: [ - "2023-01", - "2023-02", - "2023-03", - "2023-04", - "2023-05", - "2023-06", - "2023-07", - "2023-08", - "2023-09", - "2023-10", - "2023-11", - "2023-12", - ], - boundaryGap: false, - }, - ], - yAxis: { - scale: true, - type: "value", - minInterval: 1, - name: "单位( 个 )", - position: "left", - splitLine: { - show: true, - lineStyle: { - type: "dashed", - }, - }, - axisLabel: { - show: true, - interval: 0, - }, - }, - series: [ - { - name: "≤60 min", - type: "line", - // stack: "Total", - color: "#00D1A1", - areaStyle: { - opacity: 0.8, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#00D1A1", - }, - { - offset: 1, - color: "#E5F5E8", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [120, 132, 101, 134, 90, 230, 210], - }, - { - name: "≤90 min", - type: "line", - // stack: "Total", - color: "#FFCD6C ", - areaStyle: { - opacity: 0.8, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#FFCD6C ", - }, - { - offset: 1, - color: "#FDEBC8", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [20, 32, 10, 34, 90, 30, 21], - }, - { - name: ">90 min", - type: "line", - // stack: "Total", - color: "#A794FE", - areaStyle: { - opacity: 0.8, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#A794FE", - }, - { - offset: 1, - color: "#A794FE", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [20, 32, 10, 34, 90, 30, 21], - }, - ], -}; -//RPT -export const RPT = { - tooltip: { - trigger: "axis", - axisPointer: { - type: "cross", - label: { - backgroundColor: "#6a7985", - }, - }, - formatter: function (params) { - let res1 = params[0].name; - for (var i = 0, l = params.length; i < l; i++) { - res1 += - "
" + - `` + - params[i].seriesName + - " : " + - params[i].value + - "个"; - } - return res1; - }, - }, - legend: { - type: "scroll", - padding: [0, 350, 0, 0], - data: ["急救详情", "本院SOP"], - }, - grid: { - top: "12%", - left: "5%", - right: "3%", - bottom: "0%", - containLabel: true, - }, - xAxis: [ - { - type: "category", - data: [ - "2023-01", - "2023-02", - "2023-03", - "2023-04", - "2023-05", - "2023-06", - "2023-07", - "2023-08", - "2023-09", - "2023-10", - "2023-11", - "2023-12", - ], - boundaryGap: false, - }, - ], - yAxis: { - name: "单位( 个 )", - scale: true, - type: "value", - minInterval: 1, - position: "left", - splitLine: { - show: true, - lineStyle: { - type: "dashed", - }, - }, - axisLabel: { - show: true, - interval: 0, - }, - }, - series: [ - { - name: "≤60", - type: "line", - // stack: "Total", - color: "#A794FE", - areaStyle: { - opacity: 0.8, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#A794FE", - }, - { - offset: 1, - color: "#EAE5FE", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [120, 132, 101, 134, 90, 230, 210], - }, - { - name: "≤90", - type: "line", - // stack: "Total", - color: "#4F8BFF", - areaStyle: { - opacity: 0.8, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#4F8BFF", - }, - { - offset: 1, - color: "#E9F1FF", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [22, 82, 19, 34, 29, 33, 31], - }, - { - name: ">90", - type: "line", - // stack: "Total", - color: "#ffcd6c", - areaStyle: { - opacity: 0.8, - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: "#ffcd6c", - }, - { - offset: 1, - color: "rgba(255,205,108,0.8)", - }, - ]), - }, - emphasis: { - focus: "series", - }, - data: [22, 82, 19, 34, 29, 33, 31], - }, - ], -}; From 7bb4eb30e304829a492bd2b9afb5327f68b6e8b1 Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 13:45:45 +0800 Subject: [PATCH 010/134] =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=B0=BA=E5=AF=B8?= =?UTF-8?q?=E5=8F=98=E5=8C=96=E9=87=8D=E6=96=B0=E6=B8=B2=E6=9F=93=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/views/index.vue | 8 +- acupuncture-前台/src/views/indexCom/JM.vue | 752 +++++++++--------- acupuncture-前台/src/views/indexCom/XGZL.vue | 80 +- .../src/views/indexCom/follow.vue | 4 +- .../src/views/indexCom/patient.vue | 6 +- 5 files changed, 454 insertions(+), 396 deletions(-) diff --git a/acupuncture-前台/src/views/index.vue b/acupuncture-前台/src/views/index.vue index 3209a3ec..10d335c5 100644 --- a/acupuncture-前台/src/views/index.vue +++ b/acupuncture-前台/src/views/index.vue @@ -65,9 +65,11 @@ }, methods: { resize() { - // this.$refs.patient.getRenew(); - // this.$refs.JM.getRenew(); - // this.$refs.XGZL.getRenew(); + console.log(111) + this.$refs.patient.getRenew(); + this.$refs.JM.getRenew(); + this.$refs.XGZL.getRenew(); + this.$refs.follow.getRenew(); }, // 周 月 季 年 radioChange(_data, _type, _timeType) { diff --git a/acupuncture-前台/src/views/indexCom/JM.vue b/acupuncture-前台/src/views/indexCom/JM.vue index fb22db5e..b4a6127e 100644 --- a/acupuncture-前台/src/views/indexCom/JM.vue +++ b/acupuncture-前台/src/views/indexCom/JM.vue @@ -1,392 +1,404 @@ + .title-bor { + display: inline-block; + height: 20px; + width: 6px; + background: #4f8bff; + margin-right: 10px; + border-radius: 8px; + } + \ No newline at end of file diff --git a/acupuncture-前台/src/views/indexCom/XGZL.vue b/acupuncture-前台/src/views/indexCom/XGZL.vue index 6999702d..87fd2473 100644 --- a/acupuncture-前台/src/views/indexCom/XGZL.vue +++ b/acupuncture-前台/src/views/indexCom/XGZL.vue @@ -22,33 +22,74 @@
-
+ +
-
- -
- 病种穴位分布 -
+
+ +
+ 病种穴位分布 +
+
-
-
- -
- -
- +
+
+
+ +
--> +
+ +
+ 治疗效果 +
+
+
+ + 治愈 +
+
+ + 显效 +
+
+ + 好转 +
+
+ + 无效 +
+
+
+
+
+
+
+
+
+
+ +
+ 诊疗费用分布 +
+
+
+
+
+
+
+
-
+
@@ -198,7 +239,7 @@ ] this.handleEffect() // 治疗费用 - this.costValue =[zlfy.score1,zlfy.score2,zlfy.score3,zlfy.score4,zlfy.score5] + this.costValue = [zlfy.score1, zlfy.score2, zlfy.score3, zlfy.score4, zlfy.score5] this.handleCost() }); this.loading = false; @@ -263,8 +304,9 @@ }, // 重新渲染图标 getRenew() { - this.Linepatient(); - this.columnar(); + this.handleHealType(); + this.handleEffect(); + this.handleCost() }, }, }; diff --git a/acupuncture-前台/src/views/indexCom/follow.vue b/acupuncture-前台/src/views/indexCom/follow.vue index 8bd0f5ba..e663919b 100644 --- a/acupuncture-前台/src/views/indexCom/follow.vue +++ b/acupuncture-前台/src/views/indexCom/follow.vue @@ -146,8 +146,8 @@ }, // 重新渲染图标 getRenew() { - // this.Linepatient(); - // this.columnar(); + this.handleFollow(); + this.handleLossFollow() }, }, }; diff --git a/acupuncture-前台/src/views/indexCom/patient.vue b/acupuncture-前台/src/views/indexCom/patient.vue index 4bd8527e..40cd0a28 100644 --- a/acupuncture-前台/src/views/indexCom/patient.vue +++ b/acupuncture-前台/src/views/indexCom/patient.vue @@ -245,8 +245,10 @@ }, // 重新渲染图标 getRenew() { - // this.Linepatient(); - // this.columnar(); + this.Linepatient(); // 患者总数 + this.handleAge(); // 年龄 + this.columnar(); //性别分析图 + this.handleDisease(); //病种分布 }, }, }; From 7535dbd2f6103e76540b052da2036048349da41f Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 13:58:09 +0800 Subject: [PATCH 011/134] =?UTF-8?q?=E8=AF=81=E4=BB=B6=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=B7=BB=E5=8A=A04=E5=85=B6=E4=BB=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/views/indexCom/XGZL.vue | 2 +- acupuncture-前台/src/views/patientFile/index.vue | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/acupuncture-前台/src/views/indexCom/XGZL.vue b/acupuncture-前台/src/views/indexCom/XGZL.vue index 87fd2473..8b205946 100644 --- a/acupuncture-前台/src/views/indexCom/XGZL.vue +++ b/acupuncture-前台/src/views/indexCom/XGZL.vue @@ -45,7 +45,7 @@ --> -
+
治疗效果 diff --git a/acupuncture-前台/src/views/patientFile/index.vue b/acupuncture-前台/src/views/patientFile/index.vue index 171e59ef..ea184336 100644 --- a/acupuncture-前台/src/views/patientFile/index.vue +++ b/acupuncture-前台/src/views/patientFile/index.vue @@ -284,7 +284,7 @@ ref="form" :model="form" :rules="rules" - label-width="90px" + label-width="100px" > - + @@ -468,6 +468,7 @@ export default { 1: "护照或外国人永居证", 2: "港澳居民来往内地通行", 3: "台湾居民来往大陆通行证", + 4: "其他", }, loading: false, // 遮罩层 ids: [], // 选中数组 @@ -504,6 +505,9 @@ export default { gender: [ { required: true, message: "性别不能为空", trigger: "change" }, ], + birthDate: [ + { required: true, message: "出生日期不能为空", trigger: "change" }, + ], phone: [ { required: true, message: "手机号码不能为空", trigger: "blur" }, ], @@ -516,6 +520,9 @@ export default { idCard: [ { required: true, message: "证件号码不能为空", trigger: "blur" }, ], + educationYears: [ + { required: true, message: "受教育年限不能为空", trigger: "blur" }, + ], currentIllnessHistory: [ { required: true, @@ -585,7 +592,7 @@ export default { idCardType: "", // 证件类型 idCard: "", // 证件号码 currentIllnessHistory: [], // 现病史 - currentIllnessHistoryQT: "", // 现病史 + currentIllnessHistoryQt: "", // 现病史 }; this.resetForm("form"); }, From 40a9f174ec476a440392d7060f91e5b5ba1f0407 Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 14:21:24 +0800 Subject: [PATCH 012/134] =?UTF-8?q?=E9=A5=BC=E5=9B=BE=E5=86=85=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=AF=B9=E5=BA=94=E6=95=B0=E9=87=8F=E6=96=87=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/views/indexCom/index.js | 32 ++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/acupuncture-前台/src/views/indexCom/index.js b/acupuncture-前台/src/views/indexCom/index.js index 0b15153d..b067bfa6 100644 --- a/acupuncture-前台/src/views/indexCom/index.js +++ b/acupuncture-前台/src/views/indexCom/index.js @@ -85,6 +85,14 @@ export const gende = { label: { show: false, position: "center", + normal:{ + show:true, + position:'inner', + formatter: '{b}:{c}个', + textStyle:{ + color:'#fff' + } + }, }, labelLine: { show: false, @@ -442,6 +450,14 @@ export const postureEcharts = { label: { show: false, position: "center", + normal:{ + show:true, + position:'inner', + formatter: '{b}:{c}个', + textStyle:{ + color:'#fff' + } + }, }, labelLine: { show: false, @@ -611,6 +627,14 @@ export const healTypeEcharts = { label: { show: false, position: "center", + normal:{ + show:true, + position:'inner', + formatter: '{b}:{c}个', + textStyle:{ + color:'#fff' + } + }, }, labelLine: { show: false, @@ -725,6 +749,14 @@ export const effectEcharts = { label: { show: false, position: "center", + normal:{ + show:true, + position:'inner', + formatter: '{b}:{c}个', + textStyle:{ + color:'#fff' + } + }, }, labelLine: { show: false, From 131163330c64292f77d8f073e04ca58d9fc49398 Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 14:40:14 +0800 Subject: [PATCH 013/134] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/main.js | 3 +- acupuncture-前台/src/utils/request.js | 33 +++++++++++++++ .../src/views/patientFile/index.vue | 42 +++++++++++++------ 3 files changed, 64 insertions(+), 14 deletions(-) diff --git a/acupuncture-前台/src/main.js b/acupuncture-前台/src/main.js index 1fa0ce5d..95bdd829 100644 --- a/acupuncture-前台/src/main.js +++ b/acupuncture-前台/src/main.js @@ -12,7 +12,7 @@ import store from './store' import router from './router' import directive from './directive' // directive import plugins from './plugins' // plugins -import { download } from '@/utils/request' +import { download, download1} from '@/utils/request' import moment from 'moment'; import './assets/icons' // icon @@ -48,6 +48,7 @@ Vue.prototype.addDateRange = addDateRange Vue.prototype.selectDictLabel = selectDictLabel Vue.prototype.selectDictLabels = selectDictLabels Vue.prototype.download = download +Vue.prototype.download1 = download1 Vue.prototype.handleTree = handleTree Vue.prototype.$moment = moment diff --git a/acupuncture-前台/src/utils/request.js b/acupuncture-前台/src/utils/request.js index faa87275..0f4920a7 100644 --- a/acupuncture-前台/src/utils/request.js +++ b/acupuncture-前台/src/utils/request.js @@ -148,5 +148,38 @@ export function download(url, params, filename, config) { downloadLoadingInstance.close(); }) } +// 通用下载方法 +export function download1(url, params, filename, config) { + downloadLoadingInstance = Loading.service({ + text: "正在下载数据,请稍候", + spinner: "el-icon-loading", + background: "rgba(0, 0, 0, 0.7)", + }); + return service + .post(url, params, { + headers: { "Content-Type": "application/json;charset=utf-8" }, + + responseType: "blob", + }) + .then(async (data) => { + const isBlob = blobValidate(data); + if (isBlob) { + const blob = new Blob([data]); + saveAs(blob, filename); + } else { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = + errorCode[rspObj.code] || rspObj.msg || errorCode["default"]; + Message.error(errMsg); + } + downloadLoadingInstance.close(); + }) + .catch((r) => { + console.error(r); + Message.error("下载文件出现错误,请联系管理员!"); + downloadLoadingInstance.close(); + }); +} export default service diff --git a/acupuncture-前台/src/views/patientFile/index.vue b/acupuncture-前台/src/views/patientFile/index.vue index ea184336..59652b18 100644 --- a/acupuncture-前台/src/views/patientFile/index.vue +++ b/acupuncture-前台/src/views/patientFile/index.vue @@ -33,7 +33,7 @@ />
- + 下载模版 @@ -133,13 +133,14 @@ max-height="600" > - + @@ -476,6 +492,9 @@ saveAidRecord, queueAdd, } from "@/api/medicalFile"; + import { + getToken + } from "@/utils/auth"; import { followupQuery } from "@/api/followupFile"; @@ -484,17 +503,23 @@ dicts: ["sys_normal_disable", "sys_user_sex"], data() { return { + headers: { + Authorization: "Bearer " + getToken(), + deptId: localStorage.getItem("hospitalId"), + }, + uploadFileUrl1: process.env.VUE_APP_API_QZURL + "/acupuncture/treatment/import", // 上传的图片服务器地址 + fileList: [], followupList: [], queueOpen: false, // 现病史 medicalHistory: [ - "肥胖症ICD-10编码E66.0", - "失眠病TCD编码BNX040、ICD-10编码F51.0", - "中风病TCD编码:BNG080 ICD-10编码:I63", - "面瘫病TCD编码BWV120 ICD编码G51.802", - "项痹病TCD编码BGS000 ICD编码M47.221+G55.2*", - "腰痛病ICD-10编码: M51.202", - "痉挛性斜颈TCD编码BNG090 ICD-10编码G24.300 ", + "肥胖症", + "失眠病", + "中风病", + "面瘫病", + "项痹病", + "腰痛病", + "痉挛性斜颈", ], idCardType: [{ label: "身份证", @@ -1047,7 +1072,7 @@ // 上传成功回 - pdg handleUploadPdfAdd1(res) { if (res.code == 200) { - this.physicaOpen = false; + this.importOpen = false; this.getList(); this.$modal.msgSuccess("导入成功"); } else { @@ -1233,6 +1258,7 @@ }).then((response) => { this.$modal.msgSuccess("保存成功"); this.drawer = false; + this.getList() }); } }); @@ -1255,17 +1281,24 @@ }, /** 导出按钮操作 */ handleExport() { - this.download( - "system/user/export", { + this.download1( + "/treatment/export", { ...this.queryParams.params, }, `诊疗档案.xlsx` ); }, + /** 下载按钮操作 */ + handleDownload() { + this.download1( + "/patient/export", {}, + `患者档案导入模版.xlsx` + ); + }, /** 导入按钮操作 */ handleImport() { - this.upload.title = "用户导入"; - this.upload.open = true; + this.fileList = [] + this.importOpen = true; }, }, }; diff --git a/acupuncture-前台/src/views/patientFile/index.vue b/acupuncture-前台/src/views/patientFile/index.vue index e9e82a12..fc897e79 100644 --- a/acupuncture-前台/src/views/patientFile/index.vue +++ b/acupuncture-前台/src/views/patientFile/index.vue @@ -48,7 +48,7 @@ @click="handleDelete">删除 - 下载模版 @@ -494,10 +494,11 @@ }, /** 下载按钮操作 */ handleDownload() { - this.download1( - "/patient/export", {}, - `患者档案导入模版.xlsx` - ); + window.open(`${process.env.VUE_APP_API_QZURL}/acupuncture/profile/PatientTemplate.xlsx`) + // this.download1( + // "/patient/export", {}, + // `患者档案导入模版.xlsx` + // ); }, /** 导入按钮操作 */ handleImport() { From 467053479b874ae15c8e6111f91d37e908ffb1fd Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 15:49:55 +0800 Subject: [PATCH 018/134] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=82=A3=E8=80=85=E6=A1=A3=E6=A1=88=E6=A0=A1=E9=AA=8C=E7=97=85?= =?UTF-8?q?=E5=8F=B2=E6=95=B0=E6=8D=AE=E6=98=AF=E5=90=A6=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/views/followFile/subjects.vue | 2 +- acupuncture-前台/src/views/patientFile/index.vue | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/acupuncture-前台/src/views/followFile/subjects.vue b/acupuncture-前台/src/views/followFile/subjects.vue index c8d83aa5..5ea51b52 100644 --- a/acupuncture-前台/src/views/followFile/subjects.vue +++ b/acupuncture-前台/src/views/followFile/subjects.vue @@ -128,7 +128,7 @@ +} --> \ No newline at end of file diff --git a/acupuncture-前台/src/views/medicalFile/index.vue b/acupuncture-前台/src/views/medicalFile/index.vue index 31a4ecc9..16801251 100644 --- a/acupuncture-前台/src/views/medicalFile/index.vue +++ b/acupuncture-前台/src/views/medicalFile/index.vue @@ -471,7 +471,7 @@ - + - + @@ -164,7 +164,7 @@ - + { - // 返回true表示校验通过,返回false表示不通过 - // 过滤第一层,先判断输入为不为空,因为required: false,不是必填项,所以为空应该返回true - let regs = /^1[3-9]\d{9}$/; - if (!regs.test(this.form.phone)) { - return false - }else{ - return true - } - }, - message: '手机号码格式不正确', - // 触发器可以同时用blur和change - trigger: ['change','blur'], - } + },{ pattern: /^1[3456789]\d{9}$/, message: '手机号码格式不正确', trigger: 'blur' } ], ethnicity: [{ required: true, @@ -456,6 +441,9 @@ this.title = "患者档案详情"; this.formDisabled = true; this.form = JSON.parse(JSON.stringify(row)); + // 字符串转数组 + this.form.currentIllnessHistory = + this.form.currentIllnessHistory?.split(",") || [] }, /** 诊疗档案 */ handleArchives(row) { @@ -465,8 +453,10 @@ }, /** 提交按钮 */ submitForm: function() { + this.$refs["form"].validate((valid) => { if (valid) { + if (this.form.id != undefined) { patientUpd(this.form).then((response) => { this.$modal.msgSuccess("修改成功"); From 721d055b8e7ced20fdd316bcd2f751b49d197f16 Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 18:54:37 +0800 Subject: [PATCH 026/134] =?UTF-8?q?=E6=82=A3=E8=80=85=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E6=A0=A1=E9=AA=8C=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=9C=89=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- acupuncture-前台/src/views/patientFile/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/acupuncture-前台/src/views/patientFile/index.vue b/acupuncture-前台/src/views/patientFile/index.vue index 2d889cff..0d9704b0 100644 --- a/acupuncture-前台/src/views/patientFile/index.vue +++ b/acupuncture-前台/src/views/patientFile/index.vue @@ -105,7 +105,7 @@ @click="handleDelete(scope.row)">删除 详情 - 诊疗档案 From 0014c272f29adc6291273d50481ea169ba300d71 Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 19:17:37 +0800 Subject: [PATCH 027/134] =?UTF-8?q?=E8=AF=8A=E7=96=97=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=9A=8F=E8=AE=BF=E5=B7=A5=E5=8D=95=EF=BC=8C?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E6=B7=BB=E5=8A=A0=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=B8=85=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/followFile/subjects.vue | 2 +- .../src/views/followFile/work.vue | 24 +++++++++++++++---- .../src/views/medicalFile/index.vue | 8 +++++-- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/acupuncture-前台/src/views/followFile/subjects.vue b/acupuncture-前台/src/views/followFile/subjects.vue index f56fd7a9..9f023e10 100644 --- a/acupuncture-前台/src/views/followFile/subjects.vue +++ b/acupuncture-前台/src/views/followFile/subjects.vue @@ -9,7 +9,7 @@ label-width="68px" > - +
+ + + + + + 搜索 + + 重置 + + + @@ -54,15 +67,13 @@ width="150" /> --> - @@ -357,7 +359,7 @@ export default { followupQuery(this.queryParams).then((res) => { let commonQueue = JSON.parse(localStorage.getItem('commonQueue')) this.listDat = res.data.list; - commonQueue.forEach(i=>{ + commonQueue?.forEach(i=>{ this.listDat.unshift(i) }) this.total = res.data.total; diff --git a/acupuncture-前台/src/views/followFile/subjects.vue b/acupuncture-前台/src/views/followFile/subjects.vue index 9f023e10..d417ce33 100644 --- a/acupuncture-前台/src/views/followFile/subjects.vue +++ b/acupuncture-前台/src/views/followFile/subjects.vue @@ -289,7 +289,7 @@ export default { }).then((res) => { this.followupList = res.data.list; let commonQueue = JSON.parse(localStorage.getItem('commonQueue')) - commonQueue.forEach(i=>{ + commonQueue?.forEach(i=>{ this.followupList.unshift(i) }) }); diff --git a/acupuncture-前台/src/views/medicalFile/index.vue b/acupuncture-前台/src/views/medicalFile/index.vue index 0bce71cc..9c9f2c1e 100644 --- a/acupuncture-前台/src/views/medicalFile/index.vue +++ b/acupuncture-前台/src/views/medicalFile/index.vue @@ -1077,7 +1077,7 @@ }).then((res) => { this.followupList = res.data.list; let commonQueue = JSON.parse(localStorage.getItem('commonQueue')) - commonQueue.forEach(i=>{ + commonQueue?.forEach(i=>{ this.followupList.unshift(i) }) }); From 8704088c5fa857439302c6b4715adb0344a435be Mon Sep 17 00:00:00 2001 From: "1747191978@qq.com" <1942943850@qq.com> Date: Tue, 18 Feb 2025 19:40:40 +0800 Subject: [PATCH 031/134] =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E5=AE=BD=E5=BA=A6?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E6=9C=80=E5=B0=8F=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/followFile/subjects.vue | 16 +++++++------- .../src/views/followFile/work.vue | 22 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/acupuncture-前台/src/views/followFile/subjects.vue b/acupuncture-前台/src/views/followFile/subjects.vue index d417ce33..e332f851 100644 --- a/acupuncture-前台/src/views/followFile/subjects.vue +++ b/acupuncture-前台/src/views/followFile/subjects.vue @@ -54,7 +54,7 @@ align="center" prop="gender" show-overflow-tooltip - width="100" + min-width="100" >