Files
his/openhis-ui-vue3/src/views/basicmanage/consumablesBinding/index.vue
2025-12-27 15:30:25 +08:00

126 lines
3.8 KiB
Vue

<template>
<div class="app-container">
<div style="height: 780px; display: flex; justify-content: space-between">
<el-card style="height: 100%; width: 25%">
<el-tabs v-model="activeTab">
<el-tab-pane label="用法" :name="1">
<el-table
:data="method_code"
border
@cell-click="clickRow"
highlight-current-row
max-height="650"
>
<el-table-column label="项目名" align="center" prop="label" />
</el-table>
</el-tab-pane>
<el-tab-pane label="诊疗" :name="2">
<el-input
v-model="queryParams.searchKey"
placeholder="请输入项目名"
clearable
style="width: 100%; margin-bottom: 10px"
@keyup.enter="getList"
>
<template #append>
<el-button icon="Search" @click="getList" />
</template>
</el-input>
<el-table
:data="activityList"
border
@cell-click="clickRow"
highlight-current-row
max-height="650"
>
<el-table-column label="项目名" align="center" prop="name" />
</el-table>
</el-tab-pane>
<el-tab-pane label="号源" :name="3">
<el-input
v-model="queryParamsRegistration.searchKey"
placeholder="请输入项目名"
clearable
style="width: 100%; margin-bottom: 10px"
@keyup.enter="getRegistrationList"
>
<template #append>
<el-button icon="Search" @click="getRegistrationList" />
</template>
</el-input>
<el-table
:data="RegistrationfeeList"
border
@cell-click="clickRow"
highlight-current-row
max-height="650"
>
<el-table-column label="项目名" align="center" prop="name" />
</el-table>
</el-tab-pane>
</el-tabs>
</el-card>
<el-card style="height: 100%; width: 74%">
<ConsumablesList
:bindList="bindList"
:bindInfo="bindInfo"
:tab="activeTab"
:loading="loading"
@refresh="clickRow(currentRow)"
/>
</el-card>
</div>
</div>
</template>
<script setup>
import { ref } from 'vue';
import { getActivityList, getBindList, getRegistrationfeeList } from './components/api.js';
import ConsumablesList from './components/consumablesList.vue';
const activityList = ref([]);
const queryParams = ref({
statusEnum: 2,
});
const queryParamsRegistration = ref({
activeFlag: 1,
});
const bindList = ref([]);
const bindInfo = ref({});
const activeTab = ref(1);
const currentRow = ref({});
const RegistrationfeeList = ref([]);
const loading = ref(false);
const { proxy } = getCurrentInstance();
const { method_code } = proxy.useDict('method_code');
getList();
getRegistrationList();
function getList() {
// queryParams.value.typeEnum = activeTab.value;
getActivityList(queryParams.value).then((res) => {
activityList.value = res.data.records;
});
}
function getRegistrationList() {
getRegistrationfeeList(queryParamsRegistration.value).then((res) => {
RegistrationfeeList.value = res.data.records;
});
}
// 点击诊疗列表 获取绑定的耗材
function clickRow(row) {
loading.value = true;
currentRow.value = row;
bindInfo.value.id = row.value ? row.value : row.id;
bindInfo.value.typeCode = activeTab.value;
getBindList({ itemNo: row.value ? row.value : row.id }).then((res) => {
bindList.value = res.data.records;
loading.value = false;
});
}
</script>
<style scoped></style>