|
@@ -4,18 +4,21 @@
|
|
<el-switch
|
|
<el-switch
|
|
active-value="intervalPatients"
|
|
active-value="intervalPatients"
|
|
inactive-value="admissTimes"
|
|
inactive-value="admissTimes"
|
|
- v-model="timeType"
|
|
|
|
|
|
+ v-model="queryParams.timeType"
|
|
active-text="质控时间"
|
|
active-text="质控时间"
|
|
inactive-text="入院时间"
|
|
inactive-text="入院时间"
|
|
/>
|
|
/>
|
|
- <el-date-picker
|
|
|
|
- :shortcuts="shortcuts"
|
|
|
|
- style="width: 220px"
|
|
|
|
- type="daterange"
|
|
|
|
- v-model="intervalPatients"/>
|
|
|
|
|
|
+ <CyDateRange v-model="queryParams"
|
|
|
|
+ start="startDate"
|
|
|
|
+ end="endDate"
|
|
|
|
+ :shortcuts-index="2"/>
|
|
|
|
+
|
|
|
|
+ <SystemDeptSelect v-model="queryParams.deptCode" clearable placeholder="入院科室"/>
|
|
|
|
+ <SystemStaffSelect v-model="queryParams.approver" clearable placeholder="审核人"/>
|
|
|
|
|
|
<el-button type="primary"
|
|
<el-button type="primary"
|
|
- @click="querySearch">查询质控数据
|
|
|
|
|
|
+ @click="querySearch">
|
|
|
|
+ 查询质控数据
|
|
</el-button>
|
|
</el-button>
|
|
|
|
|
|
<el-button @click="queryScale">
|
|
<el-button @click="queryScale">
|
|
@@ -56,8 +59,6 @@
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
import {onMounted, ref} from "vue";
|
|
import {onMounted, ref} from "vue";
|
|
-import {getDateRangeFormatDate} from "@/utils/date";
|
|
|
|
-import {shortcuts} from "@/data/shortcuts";
|
|
|
|
import RuleSift
|
|
import RuleSift
|
|
from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr_control_rule/RuleSift.vue";
|
|
from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr_control_rule/RuleSift.vue";
|
|
import {setCallback} from "@/utils/websocket";
|
|
import {setCallback} from "@/utils/websocket";
|
|
@@ -66,9 +67,20 @@ import {makePercentage} from "@/components/progress/progUtils";
|
|
import {BizException, ExceptionEnum} from "@/utils/BizException";
|
|
import {BizException, ExceptionEnum} from "@/utils/BizException";
|
|
import {openSocket, sid} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-func/emr-socket";
|
|
import {openSocket, sid} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-func/emr-socket";
|
|
import useVxeTable from "@/utils/cy-use/useVxeTable";
|
|
import useVxeTable from "@/utils/cy-use/useVxeTable";
|
|
|
|
+import SystemDeptSelect from "@/components/system/dept-select/SystemDeptSelect.vue";
|
|
|
|
+import SystemStaffSelect from "@/components/system/staff-select/SystemStaffSelect.vue";
|
|
|
|
+import CyDateRange from "@/components/cy/date-range/CyDateRange.vue";
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+const queryParams = reactive({
|
|
|
|
+ timeType: '',
|
|
|
|
+ deptCode: '',
|
|
|
|
+ approver: "",
|
|
|
|
+ startDate: '',
|
|
|
|
+ endDate: '',
|
|
|
|
+ sid: sid
|
|
|
|
+})
|
|
|
|
|
|
-const intervalPatients = ref([])
|
|
|
|
-const timeType = ref('intervalPatients')
|
|
|
|
const percentage = ref(0)
|
|
const percentage = ref(0)
|
|
const numberToArray = ref([])
|
|
const numberToArray = ref([])
|
|
const tabsModel = ref('质控数量')
|
|
const tabsModel = ref('质控数量')
|
|
@@ -80,10 +92,9 @@ const ruleReturnData = ref({
|
|
const siftData = ref({})
|
|
const siftData = ref({})
|
|
|
|
|
|
const queryQualityControlData = async () => {
|
|
const queryQualityControlData = async () => {
|
|
- let {startTime, endTime} = getDateRangeFormatDate(intervalPatients.value)
|
|
|
|
percentage.value = 0
|
|
percentage.value = 0
|
|
siftData.value = {}
|
|
siftData.value = {}
|
|
- let res = await linkQualityControl(startTime, endTime, sid, timeType.value)
|
|
|
|
|
|
+ let res = await linkQualityControl(queryParams)
|
|
ruleReturnData.value = res
|
|
ruleReturnData.value = res
|
|
proportion.value = res.proportion
|
|
proportion.value = res.proportion
|
|
numberToArrayFunc()
|
|
numberToArrayFunc()
|
|
@@ -130,12 +141,10 @@ const detailClick = ({name, total}) => {
|
|
|
|
|
|
const proportion = ref('0%')
|
|
const proportion = ref('0%')
|
|
const queryScale = async () => {
|
|
const queryScale = async () => {
|
|
- let {startTime, endTime} = getDateRangeFormatDate(intervalPatients.value)
|
|
|
|
- proportion.value = await obtainTheProportionOfMedicalRecords(startTime, endTime, 0)
|
|
|
|
|
|
+ proportion.value = await obtainTheProportionOfMedicalRecords(queryParams.startTime, queryParams.endTime, 0)
|
|
}
|
|
}
|
|
|
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
- intervalPatients.value = shortcuts[2].value
|
|
|
|
openSocket()
|
|
openSocket()
|
|
setCallback('LINK_CONTROL', (data) => {
|
|
setCallback('LINK_CONTROL', (data) => {
|
|
percentage.value = makePercentage(data.current, data.total)
|
|
percentage.value = makePercentage(data.current, data.total)
|