|
@@ -1,213 +1,234 @@
|
|
|
<script setup lang="ts">
|
|
|
import {
|
|
|
biaoBenApi,
|
|
|
+ buWeiShuJu,
|
|
|
diagnosisInOurHospital,
|
|
|
} from "@/api/zhu-yuan-yi-sheng/jian-yan-jian-cha-shen-qing";
|
|
|
-import {computed} from "vue";
|
|
|
-import {useVModels} from "@vueuse/core";
|
|
|
+import { computed } from "vue";
|
|
|
+import { useVModels } from "@vueuse/core";
|
|
|
import CyFlex from "@/components/cy/flex/src/CyFlex.vue";
|
|
|
import SystemDeptSelect from "@/components/system/dept-select/SystemDeptSelect.vue";
|
|
|
import CyComboGrid from "@/components/cy/combo-grid/src/CyComboGrid.vue";
|
|
|
-import {useUserStore} from "@/pinia/user-store";
|
|
|
+import { useUserStore } from "@/pinia/user-store";
|
|
|
|
|
|
const props = defineProps({
|
|
|
data: {
|
|
|
type: Array,
|
|
|
- default: []
|
|
|
+ default: [],
|
|
|
},
|
|
|
isCheck: {
|
|
|
type: Boolean,
|
|
|
- default: false
|
|
|
+ default: false,
|
|
|
},
|
|
|
publicData: {
|
|
|
type: Object,
|
|
|
- default: {}
|
|
|
- }
|
|
|
-})
|
|
|
-
|
|
|
+ default: {},
|
|
|
+ },
|
|
|
+});
|
|
|
|
|
|
-const emits = defineEmits(['delClick', 'update:publicData'])
|
|
|
-const {data, isCheck, publicData} = useVModels(props, emits)
|
|
|
+const emits = defineEmits(["delClick", "update:publicData"]);
|
|
|
+const { data, isCheck, publicData } = useVModels(props, emits);
|
|
|
|
|
|
const deleteInspectionCheck = (index, code) => {
|
|
|
- emits('delClick', index)
|
|
|
-}
|
|
|
+ emits("delClick", index);
|
|
|
+};
|
|
|
|
|
|
-const PATHOLOGY = '038'
|
|
|
+const PATHOLOGY = "038";
|
|
|
|
|
|
const needPublicData = computed(() => {
|
|
|
if (isCheck.value) {
|
|
|
- return true
|
|
|
+ return true;
|
|
|
} else {
|
|
|
for (let i = 0; i < data.value.length; i++) {
|
|
|
let item = data.value[i];
|
|
|
if (item.classes === PATHOLOGY) {
|
|
|
- return true
|
|
|
+ return true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-})
|
|
|
+});
|
|
|
|
|
|
-const enterPadding = (val) => {
|
|
|
+const enterPadding = val => {
|
|
|
data.value.forEach(item => {
|
|
|
if (item.classes !== PATHOLOGY) {
|
|
|
- item.reqComment = val
|
|
|
+ item.reqComment = val;
|
|
|
}
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
+ });
|
|
|
+};
|
|
|
|
|
|
-const userInfo = useUserStore().userInfo
|
|
|
+const userInfo = useUserStore().userInfo;
|
|
|
|
|
|
const showStartTime = () => {
|
|
|
- return userInfo.deptCode === '1160000' || userInfo.deptCode === '3100000'
|
|
|
-}
|
|
|
-
|
|
|
+ return userInfo.deptCode === "1160000" || userInfo.deptCode === "3100000";
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
<CyFlex content-size>
|
|
|
<template #header>
|
|
|
- <el-row :gutter="5"
|
|
|
- v-show="needPublicData">
|
|
|
+ <el-row :gutter="5" v-show="needPublicData">
|
|
|
<el-col :span="12">
|
|
|
病史摘要:
|
|
|
- <el-input v-model="publicData.reqComment"
|
|
|
- :rows="2" maxlength="125"
|
|
|
- show-word-limit
|
|
|
- type="textarea"/>
|
|
|
+ <el-input
|
|
|
+ v-model="publicData.reqComment"
|
|
|
+ :rows="2"
|
|
|
+ maxlength="125"
|
|
|
+ show-word-limit
|
|
|
+ type="textarea"
|
|
|
+ />
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="12">
|
|
|
体征信息:
|
|
|
- <el-input v-model="publicData.reqTzComment"
|
|
|
- :rows="2" maxlength="125"
|
|
|
- show-word-limit
|
|
|
- type="textarea"/>
|
|
|
+ <el-input
|
|
|
+ v-model="publicData.reqTzComment"
|
|
|
+ :rows="2"
|
|
|
+ maxlength="125"
|
|
|
+ show-word-limit
|
|
|
+ type="textarea"
|
|
|
+ />
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="12">
|
|
|
相关辅检结果:
|
|
|
- <el-input v-model="publicData.reqOtherResult"
|
|
|
- :rows="2"
|
|
|
- maxlength="125"
|
|
|
- show-word-limit
|
|
|
- type="textarea"/>
|
|
|
+ <el-input
|
|
|
+ v-model="publicData.reqOtherResult"
|
|
|
+ :rows="2"
|
|
|
+ maxlength="125"
|
|
|
+ show-word-limit
|
|
|
+ type="textarea"
|
|
|
+ />
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="12">
|
|
|
临床诊断:
|
|
|
- <br>
|
|
|
- <CyComboGrid v-model="publicData"
|
|
|
- value="diagCode"
|
|
|
- label="diagText"
|
|
|
- :remote-method="diagnosisInOurHospital"/>
|
|
|
+ <br />
|
|
|
+ <CyComboGrid
|
|
|
+ v-model="publicData"
|
|
|
+ value="diagCode"
|
|
|
+ label="diagText"
|
|
|
+ :remote-method="diagnosisInOurHospital"
|
|
|
+ />
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</template>
|
|
|
|
|
|
- <template #default="{height}">
|
|
|
- <el-table :data="data"
|
|
|
- style="width: 100%"
|
|
|
- :height="height">
|
|
|
+ <template #default="{ height }">
|
|
|
+ <el-table :data="data" style="width: 100%" :height="height">
|
|
|
<el-table-column label="操作" fixed="left" width="60">
|
|
|
<template #default="scope">
|
|
|
- <el-button icon="Delete" type="danger"
|
|
|
- @click="deleteInspectionCheck(scope.$index, scope.row.orderCode)"></el-button>
|
|
|
+ <el-button
|
|
|
+ icon="Delete"
|
|
|
+ type="danger"
|
|
|
+ @click="deleteInspectionCheck(scope.$index, scope.row.orderCode)"
|
|
|
+ ></el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="医嘱时间" prop="startTime" width="180" v-if="showStartTime()">
|
|
|
+ <el-table-column
|
|
|
+ label="医嘱时间"
|
|
|
+ prop="startTime"
|
|
|
+ width="180"
|
|
|
+ v-if="showStartTime()"
|
|
|
+ >
|
|
|
<template #default="scope">
|
|
|
<el-date-picker
|
|
|
- style="width: 150px;"
|
|
|
- type="datetime"
|
|
|
- v-model="scope.row.startTime"
|
|
|
- value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ style="width: 150px"
|
|
|
+ type="datetime"
|
|
|
+ v-model="scope.row.startTime"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="项目名称"
|
|
|
- width="100"
|
|
|
- prop="orderName"
|
|
|
- show-overflow-tooltip>
|
|
|
+ <el-table-column
|
|
|
+ label="项目名称"
|
|
|
+ width="100"
|
|
|
+ prop="orderName"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
</el-table-column>
|
|
|
<el-table-column label="执行科室" prop="execDeptName" width="100">
|
|
|
<template #default="scope">
|
|
|
<SystemDeptSelect
|
|
|
- style="width: 100%"
|
|
|
- v-model="scope.row"
|
|
|
- value="execDept"
|
|
|
- label="execDeptName"/>
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="scope.row"
|
|
|
+ value="execDept"
|
|
|
+ label="execDeptName"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="标本"
|
|
|
- v-if="!isCheck"
|
|
|
- prop="inspectStuffName" width="90">
|
|
|
+ <el-table-column
|
|
|
+ :label="isCheck ? '部位' : '标本'"
|
|
|
+ prop="inspectStuffName"
|
|
|
+ width="90"
|
|
|
+ >
|
|
|
<template #default="scope">
|
|
|
<CyComboGrid
|
|
|
- style="width: 100%"
|
|
|
- v-model="scope.row"
|
|
|
- :remote-method="biaoBenApi"
|
|
|
- value="inspectStuff"
|
|
|
- label="inspectStuffName"/>
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="scope.row"
|
|
|
+ :remote-method="isCheck ? buWeiShuJu : biaoBenApi"
|
|
|
+ value="inspectStuff"
|
|
|
+ label="inspectStuffName"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="申请说明"
|
|
|
- width="220px"
|
|
|
- v-if="!isCheck">
|
|
|
+ <el-table-column label="申请说明" width="220px" v-if="!isCheck">
|
|
|
<template #default="scope">
|
|
|
- <el-input v-model="scope.row.reqComment"
|
|
|
- @keydown.enter.prevent="enterPadding(scope.row.reqComment)"
|
|
|
- :disabled="scope.row.classes === PATHOLOGY"
|
|
|
- maxlength="125"/>
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.reqComment"
|
|
|
+ @keydown.enter.prevent="enterPadding(scope.row.reqComment)"
|
|
|
+ :disabled="scope.row.classes === PATHOLOGY"
|
|
|
+ maxlength="125"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="急诊" width="90">
|
|
|
<template #default="scope">
|
|
|
<el-switch
|
|
|
- v-model="scope.row.jzFlag"
|
|
|
- :active-value="1"
|
|
|
- :inactive-value="0"
|
|
|
- active-color="#13ce66"
|
|
|
- active-text="是"
|
|
|
- inactive-color="#ff4949"
|
|
|
- inactive-text="否">
|
|
|
+ v-model="scope.row.jzFlag"
|
|
|
+ :active-value="1"
|
|
|
+ :inactive-value="0"
|
|
|
+ active-color="#13ce66"
|
|
|
+ active-text="是"
|
|
|
+ inactive-color="#ff4949"
|
|
|
+ inactive-text="否"
|
|
|
+ >
|
|
|
</el-switch>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="自费" width="90">
|
|
|
<template #default="scope">
|
|
|
<el-switch
|
|
|
- v-model="scope.row.ybSelfFlag"
|
|
|
- :active-value="1"
|
|
|
- :inactive-value="0"
|
|
|
- active-color="#13ce66"
|
|
|
- active-text="是"
|
|
|
- inactive-color="#ff4949"
|
|
|
- inactive-text="否">
|
|
|
+ v-model="scope.row.ybSelfFlag"
|
|
|
+ :active-value="1"
|
|
|
+ :inactive-value="0"
|
|
|
+ active-color="#13ce66"
|
|
|
+ active-text="是"
|
|
|
+ inactive-color="#ff4949"
|
|
|
+ inactive-text="否"
|
|
|
+ >
|
|
|
</el-switch>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="数量" prop="quantity" width="90" v-if="!isCheck">
|
|
|
+ <el-table-column
|
|
|
+ label="数量"
|
|
|
+ prop="quantity"
|
|
|
+ width="90"
|
|
|
+ v-if="!isCheck"
|
|
|
+ >
|
|
|
<template #default="scope">
|
|
|
- <el-input-number :step="1"
|
|
|
- :disabled="scope.row.classes !== PATHOLOGY"
|
|
|
- v-model="scope.row.quantity"
|
|
|
- :min="1"
|
|
|
- style="width: 77px"
|
|
|
- :controls="false"/>
|
|
|
+ <el-input-number
|
|
|
+ :step="1"
|
|
|
+ :disabled="scope.row.classes !== PATHOLOGY"
|
|
|
+ v-model="scope.row.quantity"
|
|
|
+ :min="1"
|
|
|
+ style="width: 77px"
|
|
|
+ :controls="false"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
-
|
|
|
</template>
|
|
|
-
|
|
|
-
|
|
|
</CyFlex>
|
|
|
-
|
|
|
-
|
|
|
</template>
|
|
|
|
|
|
-<style scoped lang="scss">
|
|
|
-
|
|
|
-</style>
|
|
|
+<style scoped lang="scss"></style>
|