器材目录接口对应 up by dh

This commit is contained in:
duhe
2025-03-28 15:47:00 +08:00
parent 82c894f237
commit 9aa6286b3c
5 changed files with 125 additions and 79 deletions

View File

@@ -5,17 +5,17 @@
<el-form
:model="form"
:rules="rules"
ref="medicationRef"
ref="deviceDialogRef"
label-width="110px"
label-position="left"
>
<el-row :gutter="24">
<el-col :span="8">
<el-col :span="8" v-if="form.id != undefined">
<el-form-item label="编号" prop="busNo">
<el-input
v-model="form.busNo"
placeholder="请输入编码"
:disabled="form.id != undefined"
disabled
/>
</el-form-item>
</el-col>
@@ -25,9 +25,9 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="器材分类" prop="categoryEnum">
<el-form-item label="器材分类" prop="categoryCode">
<el-tree-select
v-model="form.categoryEnum"
v-model="form.categoryCode"
:data="deviceCategories"
:props="{ value: 'value', label: 'info', children: 'children' }"
value-key="value"
@@ -184,7 +184,7 @@
<el-col :span="8">
<el-form-item label="供应商" prop="supplyId">
<el-select
v-model="form.supplierId"
v-model="form.supplyId"
placeholder=""
clearable
style="width: 150px"
@@ -223,9 +223,9 @@
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="财务统计类型" prop="minimalFee">
<el-form-item label="财务类型" prop="itemTypeCode">
<el-select
v-model="form.minimalFee"
v-model="form.itemTypeCode"
clearable
:disabled="form.id != undefined"
>
@@ -305,9 +305,11 @@ import {
} from "./device";
const { proxy } = getCurrentInstance();
const { device_type_code, unit_code } = proxy.useDict(
const { device_type_code, unit_code,fin_type_code,yb_type } = proxy.useDict(
"device_type_code",
"unit_code"
"unit_code",
"fin_type_code",
"yb_type"
);
const title = ref("");
@@ -326,7 +328,7 @@ const data = reactive({
name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
pyStr: [{ required: true, message: "拼音不能为空", trigger: "blur" }],
wbStr: [{ required: true, message: "五笔拼音不能为空", trigger: "blur" }],
categoryEnum: [
categoryCode: [
{ required: true, message: "器材分类不能为空", trigger: "blur" },
],
typeCode: [
@@ -376,6 +378,11 @@ const data = reactive({
],
orgId: [{ required: true, message: "提供部门不能为空", trigger: "blur" }],
locationId: [{ required: true, message: "地点不能为空", trigger: "blur" }],
purchasePrice:[{ required: true, message: "购入价不能为空", trigger: "blur" }],
retailPrice:[{ required: true, message: "零售价不能为空", trigger: "blur" }],
maximumRetailPrice:[{ required: true, message: "最高零售价不能为空", trigger: "blur" }],
ybType:[{ required: true, message: "医保类型不能为空", trigger: "blur" }],
itemTypeCode:[{ required: true, message: "财务类型不能为空", trigger: "blur" }],
},
});
@@ -402,6 +409,10 @@ const props = defineProps({
type: String,
required: true,
},
supplierListOptions: {
type: Object,
required: false,
},
});
// 显示弹框
@@ -411,7 +422,8 @@ function show() {
title.value = props.title;
deviceCategories.value = props.deviceCategories;
statusFlagOptions.value = props.statusFlagOptions;
form.value.categoryEnum = props.currentCategoryEnum;
form.value.categoryCode = props.currentCategoryEnum;
supplierListOptions.value = props.supplierListOptions;
console.log(props, "22222", title.value, props.deviceCategories);
getDeptTree();
getLocationTree();
@@ -440,6 +452,7 @@ function edit() {
form.value = props.item;
deviceCategories.value = props.deviceCategories;
statusFlagOptions.value = props.statusFlagOptions;
supplierListOptions.value = props.supplierListOptions;
getDeptTree();
getLocationTree();
visible.value = true;
@@ -452,7 +465,7 @@ function reset() {
name: undefined, // 名称
pyStr: undefined, // 拼音码
wbStr: undefined, // 五笔码
categoryEnum: undefined, // 类别
categoryCode: undefined, // 类别
typeCode: undefined, // 类型编码
unitCode: undefined, // 单位编码
size: undefined, // 规格
@@ -477,12 +490,12 @@ function reset() {
orgId: undefined, // 科室ID
locationId: undefined, // 地点ID
ybType: undefined, // 医保类型
minimalFee: undefined, // 最小收费
itemTypeCode: undefined, // 最小收费
purchasePrice: undefined, // 购入价
retailPrice: undefined, // 零售价
maximumRetailPrice: undefined, // 最高零售价
};
proxy.resetForm("medicationRef");
proxy.resetForm("deviceDialogRef");
}
/** 提交按钮 */

View File

@@ -27,7 +27,7 @@
label-width="68px"
>
<el-row :gutter="24">
<el-col :span="5">
<el-col :span="6">
<el-form-item label="项目名" prop="searchKey" label-width="55">
<el-input
v-model="queryParams.searchKey"
@@ -50,7 +50,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-col :span="5">
<el-form-item
label="医保是否对码"
prop="ybMatchFlag"
@@ -62,25 +62,9 @@
clearable
>
<el-option
v-for="item in exeOrganizations"
v-for="item in statusYBWeatherOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="执行科室" prop="ruleId" label-width="100">
<el-select
v-model="queryParams.ruleId"
placeholder=""
clearable
>
<el-option
v-for="item in exeOrganizations"
:key="item.value"
:label="item.label"
:label="item.info"
:value="item.value"
/>
</el-select>
@@ -175,24 +159,24 @@
<el-table-column
label="器材分类"
align="center"
key="categoryEnum"
prop="categoryEnum"
key="categoryCode_dictText"
prop="categoryCode_dictText"
:show-overflow-tooltip="true"
width="100"
/>
<el-table-column
label="器材种类"
align="center"
key="typeCode"
prop="typeCode"
key="typeCode_dictText"
prop="typeCode_dictText"
:show-overflow-tooltip="true"
width="50"
/>
<el-table-column
label="包装单位"
align="center"
key="unitCode"
prop="unitCode"
key="unitCode_dictText"
prop="unitCode_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -212,8 +196,22 @@
<el-table-column
label="最小使用单位"
align="center"
key="minUnitCode"
prop="minUnitCode"
key="minUnitCode_dictText"
prop="minUnitCode_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="所属科室"
align="center"
key="orgId_dictText"
prop="orgId_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="所在位置"
align="center"
key="locationId_dictText"
prop="locationId_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
@@ -234,8 +232,8 @@
<el-table-column
label="销售单位"
align="center"
key="salesUnitCode"
prop="salesUnitCode"
key="salesUnitCode_dictText"
prop="salesUnitCode_dictText"
:show-overflow-tooltip="true"
width="100"
/>
@@ -272,24 +270,32 @@
<el-table-column
label="状态"
align="center"
key="statusEnum"
prop="statusEnum"
key="statusEnum_enumText"
prop="statusEnum_enumText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
<!-- <el-table-column
label="生产厂家"
align="center"
key="manufacturerId"
prop="manufacturerId"
:show-overflow-tooltip="true"
width="90"
/> -->
<el-table-column
label="生产厂家"
align="center"
key="manufacturerText"
prop="manufacturerText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="供应商"
align="center"
key="supplyId"
prop="supplyId"
key="supplyId_dictText"
prop="supplyId_dictText"
:show-overflow-tooltip="true"
width="110"
/>
@@ -308,13 +314,6 @@
:show-overflow-tooltip="true"
width="120"
/>
<el-table-column
label="执行科室"
align="center"
key="ruleId"
prop="ruleId"
:show-overflow-tooltip="true"
/>
<el-table-column
label="器材版本"
align="center"
@@ -338,6 +337,30 @@
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="售价"
align="center"
key="retailPrice"
prop="retailPrice"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="财务类别"
align="center"
key="itemTypeCode_dictText"
prop="itemTypeCode_dictText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="医保类别"
align="center"
key="ybType_dictText"
prop="ybType_dictText"
:show-overflow-tooltip="true"
width="90"
/>
<el-table-column
label="操作"
align="center"
@@ -381,6 +404,7 @@
:currentCategoryEnum="currentCategoryEnum"
:deviceCategories="deviceCategories"
:statusFlagOptions="statusFlagOptions"
:supplierListOptions="supplierListOptions"
@submit="getList()"
/>
<!-- <device-view-dialog
@@ -415,7 +439,8 @@ const total = ref(0);
const title = ref("");
const deviceCategories = ref(undefined);
const statusFlagOptions = ref(undefined);
const exeOrganizations = ref(undefined);
const statusYBWeatherOptions = ref(undefined);
const supplierListOptions = ref(undefined);
// 使用 ref 定义当前器材数据
const currentData = ref({});
// 使用 ref 定义当前查看器材数据
@@ -432,7 +457,7 @@ const data = reactive({
statusEnum: undefined, // 状态(包括 1预置2启用3停用
ybMatchFlag: undefined, // 是否医保匹配(包括 10
ruleId: undefined, // 执行科室
categoryEnum: undefined, // 目录分类
categoryCode: undefined, // 目录分类
},
rules: {},
});
@@ -449,24 +474,27 @@ const filterNode = (value, data) => {
function getDiseaseTreatmentList() {
getDiseaseTreatmentInit().then((response) => {
console.log(response, "response器材目录分类查询下拉树结构");
deviceCategories.value = response.data.deviceCategories.sort((a, b) => { return parseInt(a.value) - parseInt(b.value) });
deviceCategories.value = response.data.deviceCategories.sort((a, b) => {
return parseInt(a.value) - parseInt(b.value);
});
statusFlagOptions.value = response.data.statusFlagOptions;
exeOrganizations.value = response.data.exeOrganizations;
statusYBWeatherOptions.value = response.data.statusYBWeatherOptions;
supplierListOptions.value = response.data.supplierListOptions;
});
}
/** 查询器材目录列表 */
function getList() {
console.log(getList, "getList");
loading.value = true;
getDeviceList(queryParams.value).then((res) => {
loading.value = false;
deviceList.value = res.data.records;
total.value = res.data.total;
console.log(deviceList.value, "getList", total.value);
});
}
/** 节点单击事件 */
function handleNodeClick(data) {
queryParams.value.categoryEnum = data.value;
queryParams.value.categoryCode = data.value;
currentCategoryEnum.value = data.value;
handleQuery();
}
@@ -541,7 +569,9 @@ function openEditDevice(row) {
currentData.value = {};
console.log("打开编辑弹窗");
getDeviceOne(row.id).then((response) => {
console.log(response, "currentDataform");
currentData.value = response.data;
if (currentData.value) {
currentData.value.hvcmFlag == 1
? (currentData.value.hvcmFlag = true)
: (currentData.value.hvcmFlag = false);
@@ -554,6 +584,7 @@ function openEditDevice(row) {
currentData.value.allergenFlag == 1
? (currentData.value.allergenFlag = true)
: (currentData.value.allergenFlag = false);
}
title.value = "编辑";
nextTick(() => {
proxy.$refs["deviceRef"].edit();

View File

@@ -201,7 +201,7 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="财务统计类型" prop="minimalFee">
<el-form-item label="财务类型" prop="minimalFee">
<el-select
v-model="form.minimalFee"
clearable

View File

@@ -1,7 +1,7 @@
<template>
<div class="app-container">
<!-- 添加或修改用户配置对话框 -->
<el-dialog :title="title" v-model="visible" width="1000px" append-to-body>
<el-dialog :title="title" v-model="visible" width="1150px" append-to-body>
<el-tabs type="border-card">
<el-tab-pane label="基本信息">
<el-form
@@ -136,7 +136,7 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="财务统计类型" prop="typeCode">
<el-form-item label="财务类型" prop="typeCode">
<el-select v-model="form.typeCode" clearable>
<el-option
v-for="category in fin_type_code"
@@ -741,6 +741,8 @@ const data = reactive({
purchasePrice:[{ required: true, message: "购入价不能为空", trigger: "blur" }],
retailPrice:[{ required: true, message: "零售价不能为空", trigger: "blur" }],
maximumRetailPrice:[{ required: true, message: "最高零售价不能为空", trigger: "blur" }],
ybType:[{ required: true, message: "医保类型不能为空", trigger: "blur" }],
typeCode:[{ required: true, message: "财务类型不能为空", trigger: "blur" }],
},
});

View File

@@ -393,7 +393,7 @@
:show-overflow-tooltip="true"
/>
<el-table-column
label="财务统计类型"
label="财务类型"
align="center"
key="typeCode_dictText"
prop="typeCode_dictText"