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