From a2964f314c1c878d1634a11b41fdaed5af11be15 Mon Sep 17 00:00:00 2001
From: lrw <319150264@qq.com>
Date: Fri, 25 Nov 2022 17:11:07 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AD=9B=E6=9F=A5=E7=97=85?=
=?UTF-8?q?=E4=BE=8B=E3=80=81=E7=AD=9B=E6=9F=A5=E6=9F=A5=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/WidgetFormTable.vue | 3 +
src/api/patient.js | 180 +++++++++
src/api/user.js | 16 +-
.../FormComponents/CustomForm/FormDynamic.vue | 14 +-
src/views/screening/DraftBox.vue | 3 +
src/views/screening/ScreeningAdd.vue | 20 +
.../screening/components/ConfigForms.vue | 62 +++
src/views/screening/components/FormTab.vue | 363 ++++++++++++++++++
src/views/screening/components/mixin.js | 101 +++++
src/views/screening/index.vue | 208 ++++++++++
src/views/systems/colla-group/GroupForm.vue | 74 ++--
src/views/systems/database/index.vue | 2 +-
src/views/systems/field-config/FieldList.vue | 6 +-
src/views/systems/field-config/index.vue | 4 +-
src/views/systems/form-config/FormAdd.vue | 2 +
src/views/systems/log/index.vue | 177 +++++++++
16 files changed, 1183 insertions(+), 52 deletions(-)
create mode 100644 src/api/patient.js
create mode 100644 src/views/screening/DraftBox.vue
create mode 100644 src/views/screening/ScreeningAdd.vue
create mode 100644 src/views/screening/components/ConfigForms.vue
create mode 100644 src/views/screening/components/FormTab.vue
create mode 100644 src/views/screening/components/mixin.js
create mode 100644 src/views/screening/index.vue
create mode 100644 src/views/systems/log/index.vue
diff --git a/packages/WidgetFormTable.vue b/packages/WidgetFormTable.vue
index 4e8640e..bec11c3 100644
--- a/packages/WidgetFormTable.vue
+++ b/packages/WidgetFormTable.vue
@@ -224,6 +224,9 @@ export default {
if (data.type === "dynamic") {
data.prop = "fixed_field"
}
+ if (data.type == "title") {
+ delete data.label
+ }
data.cType = column.children.type === "form" ? "form" : "table"
data.subfield = true
delete data.icon
diff --git a/src/api/patient.js b/src/api/patient.js
new file mode 100644
index 0000000..90b6f6c
--- /dev/null
+++ b/src/api/patient.js
@@ -0,0 +1,180 @@
+import request from "@/utils/request"
+
+/* 患者数据 */
+export function getPatientPage(params = {}) {
+ let url = "/disease-data/data/patient/page?"
+ let keys = Object.keys(params)
+ for (let key of keys) {
+ url += `${encodeURIComponent(key)}=${params[key]}&`
+ }
+ url = url.substring(0, url.length - 1)
+ return request({
+ url: url,
+ method: "get",
+ })
+}
+
+// 随访分页
+export function getPatientFollowPage(params = {}) {
+ let url = "/disease-data/data/patient/follow/page?"
+ let keys = Object.keys(params)
+ for (let key of keys) {
+ url += `${encodeURIComponent(key)}=${params[key]}&`
+ }
+ url = url.substring(0, url.length - 1)
+ return request({
+ url: url,
+ method: "get",
+ })
+}
+
+export function delPatient(id) {
+ return request({
+ url: `/cloud-upms/sys/menu/${id}`,
+ method: "delete",
+ })
+}
+// 填报
+export function addPatient(data = {}, type = "") {
+ return request({
+ url: `/disease-data/data/patient/${type}`,
+ method: "post",
+ data,
+ })
+}
+
+/* 患者数据详情 */
+export function getPatientDetail(params = {}) {
+ return request({
+ url: "/disease-data/data/patient/info",
+ method: "get",
+ params,
+ })
+}
+
+/* 获取表单填报记录list*/
+export function getRecordList(params = {}) {
+ return request({
+ url: "/disease-data/data/patient/form/record/list",
+ method: "get",
+ params,
+ })
+}
+
+// 患者质控列表 分页查询
+
+export function getQcPage(params = {}) {
+ return request({
+ url: "/disease-data/data/qc/page",
+ method: "get",
+ params,
+ })
+}
+
+// 质控
+export function qcPatient(data = {}, type = "") {
+ return request({
+ url: `/disease-data/data/qc`,
+ method: "post",
+ data,
+ })
+}
+
+// 获取九院口腔癌患者信息(同屏对照使用)
+
+export function getJYpatientInfo(params = {}) {
+ return request({
+ url: "/jiuyuan-gather/patient/kqa/info",
+ method: "get",
+ params,
+ })
+}
+
+// 获取九院口腔癌随访表(同屏对照使用)
+
+export function getJYFollowInfo(params = {}) {
+ return request({
+ url: "/jiuyuan-gather/patient/kqa/follow/info",
+ method: "get",
+ params,
+ })
+}
+
+// 获取同济口腔 牙周病(yzb) | 口腔癌(kqa) 患者信息(同屏对照使用)
+
+export function getTJpatientInfo(params = {}, diseases = "yzb") {
+ return request({
+ url: `/tjkq-gather/patient/${diseases}/info`,
+ method: "get",
+ params,
+ })
+}
+
+// 获取九院牙周炎患者信息(同屏对照使用)
+
+export function getJYyzyPatientInfo(params = {}) {
+ return request({
+ url: "/jiuyuan-gather/patient/yzy/info",
+ method: "get",
+ params,
+ })
+}
+
+// 获取急性胰腺炎患者信息/检查信息/术治疗(同屏对照使用)
+export function getJxyzyPatientInfo(type, params = {}) {
+ return request({
+ url: `/changhai-gather/patient/${type}/info`,
+ method: "get",
+ params,
+ })
+}
+// 获取中山医院病历/检查信息/治疗(同屏对照使用)
+export function getZsyzyPatientInfo(params = {}) {
+ return request({
+ url: "/zsyzy-gather/patient/yzb/info",
+ method: "get",
+ params,
+ })
+}
+
+
+
+
+
+// 急性胰腺炎-评分表
+
+// 评分表新增修改
+export function saveApScore(data = {}) {
+ return request({
+ url: `disease-data/ap/score`,
+ method: "post",
+ data,
+ })
+}
+
+// 根据patientId查询评分表数据
+
+export function getApScore(patientId) {
+ return request({
+ url: `/disease-data/ap/score/list?patientId=${patientId}`,
+ method: "get",
+ })
+}
+
+// 根据patientId+type查询(评分趋势图用)
+export function getApScoreTypeList(params = {}) {
+ return request({
+ url: "disease-data/ap/score/type/list",
+ method: "get",
+ params,
+ })
+}
+
+// 根据patientId, scoreId查询detailList
+export function getApScoreDetailList(params = {}) {
+ return request({
+ url: "/disease-data/ap/score/detail/list",
+ method: "get",
+ params,
+ })
+}
diff --git a/src/api/user.js b/src/api/user.js
index 497b891..ccb787e 100644
--- a/src/api/user.js
+++ b/src/api/user.js
@@ -141,25 +141,21 @@ export function ssoLogin(token) {
})
}
-
-
-
//异常反馈
export function getAbnormalList(params) {
return request({
url: `/disease-data/sys/message/exception/feedBack/select/all/msg`,
method: "get",
- params
+ params,
})
}
-
// 修改系统信息-点击单条消息(进行已读操作)
export function setAbnormalStatus(params) {
return request({
url: `/disease-data/sys/message/exception/feedBack/do/read`,
method: "get",
- params
+ params,
})
}
@@ -171,3 +167,11 @@ export function getFeedBackNumber(id) {
})
}
+// 获取B端日志
+export function getLogPage(params = {}) {
+ return request({
+ url: "/cloud-upms/sys/log/page",
+ method: "get",
+ params,
+ })
+}
diff --git a/src/components/FormComponents/CustomForm/FormDynamic.vue b/src/components/FormComponents/CustomForm/FormDynamic.vue
index 0685a34..b758035 100644
--- a/src/components/FormComponents/CustomForm/FormDynamic.vue
+++ b/src/components/FormComponents/CustomForm/FormDynamic.vue
@@ -67,7 +67,19 @@
:is-show-important="isShowImportant"
>
-
+
+
+ {{ c.value }}
+
+
+ 2222
+
diff --git a/src/views/screening/ScreeningAdd.vue b/src/views/screening/ScreeningAdd.vue
new file mode 100644
index 0000000..c25906b
--- /dev/null
+++ b/src/views/screening/ScreeningAdd.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
diff --git a/src/views/screening/components/ConfigForms.vue b/src/views/screening/components/ConfigForms.vue
new file mode 100644
index 0000000..82b5b88
--- /dev/null
+++ b/src/views/screening/components/ConfigForms.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/screening/components/FormTab.vue b/src/views/screening/components/FormTab.vue
new file mode 100644
index 0000000..82ac820
--- /dev/null
+++ b/src/views/screening/components/FormTab.vue
@@ -0,0 +1,363 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/screening/components/mixin.js b/src/views/screening/components/mixin.js
new file mode 100644
index 0000000..b74e0ab
--- /dev/null
+++ b/src/views/screening/components/mixin.js
@@ -0,0 +1,101 @@
+import { addPatient } from "@/api/patient.js"
+
+import FormTab from "./FormTab"
+import { mapGetters } from "vuex"
+import { getCurrentFormByType } from "@/api/coop-group.js"
+export default {
+ components: { FormTab },
+ data() {
+ return {
+ activeName: "index0",
+ fromLoading: false,
+ patientStandbyId: null, // 备用id
+ formTabs: [],
+ formTabsList: [],
+ isUpdated: false,
+ name: "",
+ patient_number: "",
+ }
+ },
+ computed: {
+ ...mapGetters({
+ group: ["user/group"],
+ }),
+ },
+
+ methods: {
+ handleTabClick({ index, name }) {
+ const { formId, id, silent } = this.formTabs[index]
+ if (formId && silent) {
+ this.formTabs[index]["silent"] = false //控制是否获取接口数据
+ return
+ }
+ this.formTabs.splice(index, 1, {
+ ...this.formTabsList.find((_) => _.id === id),
+ })
+ },
+ async addPatient(data, done, cb, type) {
+ addPatient(data, type)
+ .then((res) => {
+ this.$message.success("操作成功")
+ if (res.data) {
+ this.isUpdated = true
+ this.patientStandbyId = res.data.patientId
+ if (
+ cb &&
+ Object.prototype.toString.call(cb) === "[object Function]"
+ ) {
+ cb(res)
+ }
+ }
+ })
+ .finally((e) => {
+ done()
+ })
+ },
+
+ // json存储
+ setFormJson(formJson) {
+ const idx = this.activeName.replace("index", "")
+ this.formTabs[idx].formJson = formJson
+ this.formTabsList[idx].formJson = formJson
+ },
+
+ getCurrentFormByType(type = 1) {
+ this.fromLoading = true
+ getCurrentFormByType({
+ type: 1,
+ groupId: this.group.groupId,
+ })
+ .then((res) => {
+ if (res.code === 1) {
+ const formTabs = []
+ this.formTabsList = res.data.map((item, index) => {
+ if (index === 0) {
+ formTabs.push({
+ silent: false,
+ ...item,
+ label: item.tabName,
+ })
+ } else {
+ formTabs.push({
+ id: item.id,
+ silent: true,
+ label: item.tabName,
+ })
+ }
+ return {
+ ...item,
+ silent: false,
+ label: item.tabName,
+ }
+ })
+ this.formTabs = formTabs
+ }
+ })
+ .finally(() => {
+ this.fromLoading = false
+ })
+ },
+ },
+}
diff --git a/src/views/screening/index.vue b/src/views/screening/index.vue
new file mode 100644
index 0000000..c71af45
--- /dev/null
+++ b/src/views/screening/index.vue
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+
diff --git a/src/views/systems/colla-group/GroupForm.vue b/src/views/systems/colla-group/GroupForm.vue
index c0be492..ea2ef38 100644
--- a/src/views/systems/colla-group/GroupForm.vue
+++ b/src/views/systems/colla-group/GroupForm.vue
@@ -1,33 +1,33 @@
-
-
-
+
+
+
@@ -184,14 +184,6 @@ export default {
prop: "tabName",
rules: [{ required: true, message: "请输入表单重命名" }],
},
- {
- type: "select",
- label: "机构/科室",
- placeholder: "请选择机构/科室",
- prop: "deptId",
- opts: [],
- rules: [{ required: true, message: "请选择机构/科室" }],
- },
{
type: "select",
label: "类型",
@@ -202,6 +194,7 @@ export default {
},
rules: [{ required: true, message: "请选择类型" }],
},
+
{
type: "select",
label: "填报方式",
@@ -219,6 +212,14 @@ export default {
],
rules: [{ required: true, message: "请选择填报方式" }],
},
+ {
+ type: "select",
+ label: "机构/科室",
+ placeholder: "请选择机构/科室",
+ prop: "deptId",
+ opts: [],
+ },
+
{
type: "select",
label: "对照模板",
@@ -273,7 +274,6 @@ export default {
})
},
-
handleCopyAdd(row) {
const data = Object.assign({}, row)
delete data.id
diff --git a/src/views/systems/database/index.vue b/src/views/systems/database/index.vue
index 89d14e1..a47bb5e 100644
--- a/src/views/systems/database/index.vue
+++ b/src/views/systems/database/index.vue
@@ -23,7 +23,7 @@
width="800px"
:close-modal="false"
ref="dialog"
- :title="formEdit.id ? '添加数据库' : '编辑数据库'"
+ :title="formEdit.id ? '编辑数据库' : '添加数据库'"
:form-edit="formEdit"
:form-data="formData"
@handleConfirm="handleConfirm"
diff --git a/src/views/systems/field-config/FieldList.vue b/src/views/systems/field-config/FieldList.vue
index 17b81b0..ac1ceb2 100644
--- a/src/views/systems/field-config/FieldList.vue
+++ b/src/views/systems/field-config/FieldList.vue
@@ -184,11 +184,6 @@ export default {
minWidth: 120,
value: "fieldCode",
},
- {
- label: "数据库存储表名称",
- minWidth: 120,
- value: "tableName",
- },
{
label: "数据库存字段类型",
minWidth: 120,
@@ -261,6 +256,7 @@ export default {
{ type: "input", display: true },
form
)
+ console.log(this.widgetFormSelect)
this.widgetVisible = true
},
handleConfirm(form) {
diff --git a/src/views/systems/field-config/index.vue b/src/views/systems/field-config/index.vue
index 52ebb56..54d0c75 100644
--- a/src/views/systems/field-config/index.vue
+++ b/src/views/systems/field-config/index.vue
@@ -38,9 +38,9 @@
- {{ item.name }} | {{ item.code }}
+ {{ item.name }}
{{ item.code }}
diff --git a/src/views/systems/form-config/FormAdd.vue b/src/views/systems/form-config/FormAdd.vue
index 9e9c00d..306b79f 100644
--- a/src/views/systems/form-config/FormAdd.vue
+++ b/src/views/systems/form-config/FormAdd.vue
@@ -100,6 +100,8 @@ export default {
customOldFields.push({
...field,
tableName: item.tableName,
+ tableCode: item.tableCode,
+ tableId: item.tableId,
})
})
diff --git a/src/views/systems/log/index.vue b/src/views/systems/log/index.vue
new file mode 100644
index 0000000..ace6611
--- /dev/null
+++ b/src/views/systems/log/index.vue
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
--
2.22.0