提交merge1.3

This commit is contained in:
2025-12-27 15:30:25 +08:00
parent 8c607c8749
commit 088861f66e
1245 changed files with 220442 additions and 77616 deletions

View File

@@ -94,11 +94,14 @@
v-model="form.unitCode"
clearable
filterable
<<<<<<< HEAD
remote
reserve-keyword
:remote-method="handleUnitCodeSearch"
:loading="unitCodeLoading"
@focus="handleUnitCodeFocus"
=======
>>>>>>> v1.3
@change="handleUnitCodeChange"
:disabled="form.isEditInfoDisable === 1 || form.isEditInfoDisable === 2"
>
@@ -266,7 +269,11 @@
clearable
filterable
style="width: 240px"
<<<<<<< HEAD
:disabled="form.isEditInfoDisable === 1"
=======
:disabled="form.isEditInfoDisable === 1 || form.isEditInfoDisable === 2"
>>>>>>> v1.3
>
<el-option
v-for="dict in med_chrgitm_type"
@@ -472,8 +479,12 @@ function getDeptTree() {
/** 查询地点下拉树结构 */
function getLocationTree() {
<<<<<<< HEAD
locationTreeSelect({ formList: '11,16,17' }).then((response) => {
console.log(response, 'response查询部门下拉树结构');
=======
locationTreeSelect({ formList: '11,16' }).then((response) => {
>>>>>>> v1.3
locationOptions.value = response.data.records;
});
}

View File

@@ -103,8 +103,12 @@
:data="deviceList"
@selection-change="handleSelectionChange"
width="90%"
<<<<<<< HEAD
/>
<el-table v-loading="loading" :data="deviceList" @selection-change="handleSelectionChange" width="90%" border resizable-column>
=======
>
>>>>>>> v1.3
<el-table-column type="selection" width="50" align="center" />
<el-table-column
label="编码"
@@ -112,7 +116,11 @@
key="busNo"
prop="busNo"
:show-overflow-tooltip="true"
<<<<<<< HEAD
width="200"
=======
width="150"
>>>>>>> v1.3
/>
<el-table-column
label="器材名称"
@@ -120,7 +128,19 @@
key="name"
prop="name"
:show-overflow-tooltip="true"
<<<<<<< HEAD
width="200"
=======
width="100"
/>
<el-table-column
label="包装规格"
align="center"
key="size"
prop="size"
width="100"
:show-overflow-tooltip="true"
>>>>>>> v1.3
/>
<!-- <el-table-column
label="拼音"
@@ -154,6 +174,7 @@
width="100"
/>
<el-table-column
<<<<<<< HEAD
label="包装规格"
align="center"
key="size"
@@ -162,6 +183,8 @@
:show-overflow-tooltip="true"
/>
<el-table-column
=======
>>>>>>> v1.3
label="拆零比"
align="center"
key="partPercent"
@@ -183,7 +206,11 @@
key="minUnitCode_dictText"
prop="minUnitCode_dictText"
:show-overflow-tooltip="true"
<<<<<<< HEAD
width="120"
=======
width="100"
>>>>>>> v1.3
/>
<!-- <el-table-column
label="所属科室"

View File

@@ -129,7 +129,11 @@
clearable
filterable
style="width: 240px"
<<<<<<< HEAD
:disabled="form.isEditInfoDisable === 1"
=======
:disabled="form.isEditInfoDisable === 1 || form.isEditInfoDisable === 2"
>>>>>>> v1.3
>
<el-option
v-for="dict in med_chrgitm_type"
@@ -206,12 +210,18 @@
</el-col>
<el-col :span="8">
<el-form-item label="财务类型" prop="itemTypeCode">
<<<<<<< HEAD
<el-select
v-model="form.itemTypeCode"
clearable
filterable
:disabled="form.isEditInfoDisable === 1"
>
=======
<el-select v-model="form.itemTypeCode" clearable filterable>
<!-- :disabled="form.isEditInfoDisable === 1" -->
>>>>>>> v1.3
<el-option
v-for="category in fin_type_code"
:key="category.value"
@@ -253,8 +263,18 @@
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="诊疗子项">
<<<<<<< HEAD
<div v-if="form.isEditInfoDisable === 0" style="position: relative">
<PopoverList @search="handleSearch" :width="1000" :modelValue="item.name">
=======
<div style="position: relative">
<PopoverList
@search="handleSearch"
:width="1000"
:modelValue="item.name"
@focus="popoverListhandleFocus(item.name)"
>
>>>>>>> v1.3
<template #popover-content="{}">
<medicineList
@selectRow="(row) => selectRow(row, index)"
@@ -280,7 +300,11 @@
"
/>
</div>
<<<<<<< HEAD
<span v-else>{{ item.name || '' }}</span>
=======
<!-- <span v-else>{{ item.name || '' }}</span> -->
>>>>>>> v1.3
</el-form-item>
</el-col>
<el-col :span="8">
@@ -369,6 +393,7 @@ const { unit_code, med_chrgitm_type, fin_type_code, activity_category_code, chrg
'chrgitm_lv'
);
const isTemplateActive = ref(true);
const title = ref('');
const visible = ref(false);
const emits = defineEmits(['submit']); // 声明自定义事件
@@ -384,7 +409,10 @@ const diagnosisTreatmentList = ref([]);
const data = reactive({
form: {},
rules: {
<<<<<<< HEAD
busNo: [{ required: true, message: "编码不能为空", trigger: "blur" }],
=======
>>>>>>> v1.3
name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
categoryCode: [{ required: true, message: '诊疗目录不能为空', trigger: 'blur' }],
permittedUnitCode: [{ required: true, message: '使用单位不能为空', trigger: 'blur' }],
@@ -426,6 +454,10 @@ const props = defineProps({
type: Object,
required: false,
},
isEditInfoDisable: {
type: Number,
required: false,
},
});
// 表单数组,初始一条记录
@@ -490,6 +522,7 @@ function show() {
exeOrganizations.value = props.exeOrganizations;
typeEnumOptions.value = props.typeEnumOptions;
form.value.categoryCode = props.currentCategoryEnum;
form.value.isEditInfoDisable = props.isEditInfoDisable;
visible.value = true;
}
@@ -645,10 +678,26 @@ function handleSearch(value) {
medicineSearchKey.value = value;
}
<<<<<<< HEAD
=======
function popoverListhandleFocus(value) {
// debugger;
console.log(value);
if (value === '') {
return;
}
medicineSearchKey.value = value;
}
>>>>>>> v1.3
function selectRow(row, index) {
treatmentItems.value[index].name = row.name;
treatmentItems.value[index].adviceDefinitionId = row.id;
treatmentItems.value[index].retailPrice = row.retailPrice || 0;
<<<<<<< HEAD
=======
medicineSearchKey.value = '';
>>>>>>> v1.3
calculateTotalPrice();
}

View File

@@ -217,6 +217,7 @@
:statusFlagOptions="statusFlagOptions"
:exeOrganizations="exeOrganizations"
:typeEnumOptions="typeEnumOptions"
:isEditInfoDisable="isEditInfoDisable"
:title="title"
:item="currentData"
@submit="getList()"

View File

@@ -46,6 +46,21 @@
/>
</el-select>
</el-form-item>
<el-form-item label="诊断类型" prop="typeCode">
<el-select
v-model="queryParams.typeCode"
placeholder="请选择"
style="width: 240px"
clearable
>
<el-option
v-for="dict in condition_type_code"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
@@ -86,6 +101,7 @@
</el-col> -->
</el-row>
<<<<<<< HEAD
<!-- 添加外层滚动容器确保表格可以水平滚动 -->
<div class="table-scroll-container">
<!-- 移除style="width: 100%"让Element UI表格根据内容自动调整 -->
@@ -164,6 +180,86 @@
</el-table>
</div>
<pagination
=======
<el-table v-loading="loading" :data="diseaseList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="编码" align="center" key="conditionCode" prop="conditionCode" />
<el-table-column
label="名称"
align="center"
key="name"
prop="name"
:show-overflow-tooltip="true"
/>
<el-table-column
label="疾病分类"
align="center"
key="sourceEnum_enumText"
prop="sourceEnum_enumText"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column
label="拼音助记码"
align="center"
key="pyStr"
prop="pyStr"
:show-overflow-tooltip="true"
/> -->
<el-table-column
label="类型"
align="center"
key="typeCode_dictText"
prop="typeCode_dictText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="医保编码 "
align="center"
key="ybNo"
prop="ybNo"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column
label="医保标记"
align="center"
key="ybMatchFlag"
prop="ybMatchFlag_enumText"
/>
<el-table-column
label="医保对码标志"
align="center"
key="ybMatchFlag"
prop="ybMatchFlag_enumText"
/> -->
<el-table-column
label="状态"
align="center"
key="statusEnum_enumText"
prop="statusEnum_enumText"
width="160"
/>
<el-table-column
label="描述"
align="center"
key="description"
prop="description"
width="160"
/>
<el-table-column
label="操作"
align="center"
width="150"
class-name="small-padding fixed-width"
>
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
>编辑</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
>>>>>>> v1.3
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNo"
@@ -211,7 +307,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类型" prop="typeCode">
<el-form-item label="诊断类型" prop="typeCode">
<el-select v-model="form.typeCode" placeholder="请选择" clearable>
<el-option
v-for="dict in condition_type_code"

View File

@@ -48,6 +48,7 @@
style="width: 240px"
:disabled="form.isEditInfoDisable === 1 || form.isEditInfoDisable === 2"
>
>
<el-option
v-for="dict in chrgitm_lv"
:key="dict.value"
@@ -97,6 +98,13 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="6">
<el-form-item label="69码" prop="drug69Code">
<el-input v-model="form.drug69Code" placeholder="" />
</el-form-item>
</el-col>
</el-row>
<div class="title">临床信息</div>
<el-row :gutter="24">
<el-col :span="6">
@@ -113,11 +121,15 @@
</el-col>
<el-col :span="6">
<el-form-item label="规格" prop="totalVolume">
<<<<<<< HEAD
<el-input
v-model="form.totalVolume"
placeholder=""
clearable
/>
=======
<el-input v-model="form.totalVolume" placeholder="" clearable />
>>>>>>> v1.3
</el-form-item>
</el-col>
<el-col :span="6">
@@ -452,7 +464,11 @@
clearable
filterable
style="width: 240px"
<<<<<<< HEAD
:disabled="form.isEditInfoDisable === 1"
=======
:disabled="form.isEditInfoDisable === 1 || form.isEditInfoDisable === 2"
>>>>>>> v1.3
>
<el-option
v-for="dict in med_chrgitm_type"
@@ -613,14 +629,15 @@
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="DDD值" prop="dddCode">
<el-select v-model="antibioticForm.dddCode" clearable>
<!-- <el-select v-model="antibioticForm.dddCode" clearable>
<el-option
v-for="category in ddd_code"
:key="category.value"
:label="category.label"
:value="category.value"
/>
</el-select>
</el-select> -->
<el-input v-model="antibioticForm.dddCode" placeholder="请输入dddCode"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
@@ -860,18 +877,25 @@ function setValue(row) {
approvalNumber: formatValue(row.approvalNo), // 批准文号
manufacturerText: formatValue(row.manufacturerName), // 生产厂家
basicFlag: formatValue(row.essentialDrugFlag), // 基药标识
<<<<<<< HEAD
// injectFlag: row., // 注射药物
// childrenFlag: row.pediatricUse, // 儿童用药标志
// selfFlag: row., // 自制药标识
// activeFlag: row., // 是否活性
=======
>>>>>>> v1.3
restrictedFlag: formatValue(row.restrictedFlag), // 限制使用
restrictedScope: formatValue(row.restrictedScope), // 限制使用范围
rxFlag: formatValue(row.rxFlag), // 处方标志
chrgitmLv: formatValue(
row.insuranceClass == '甲' ? '1' : row.insuranceClass == '乙' ? '2' : '3'
), // 医保等级
<<<<<<< HEAD
// antibioticFlag: row., // 抗生素
};
=======
};
>>>>>>> v1.3
setFlag(form.value);
}
@@ -888,8 +912,11 @@ function formatValue(str) {
// 显示弹框
function edit() {
<<<<<<< HEAD
// getList();
console.log(props, '22222');
=======
>>>>>>> v1.3
title.value = '编辑药品';
reset();
activeName.value = 'basic';
@@ -946,6 +973,7 @@ function setFlag(data) {
function reset() {
form.value = {
id: undefined,
<<<<<<< HEAD
medicineCode: '',
medicineName: '',
tradeName: '',
@@ -953,6 +981,12 @@ function reset() {
manufacturer: '',
rxFlag: '0', // 默认设置为非处方
dose: undefined,
=======
medicationDefId: undefined,
locationId: undefined,
activeFlag: undefined,
doseFrom: undefined,
>>>>>>> v1.3
rateCode: undefined,
approvalNumber: undefined,
name: undefined,
@@ -998,7 +1032,12 @@ function reset() {
thoPartAttributeEnum: undefined,
usageLimit: undefined,
basicFlag: undefined,
<<<<<<< HEAD
chrgitmLv: '3',
=======
rxFlag: undefined,
chrgitmLv: '3', // 默认设置为自费
>>>>>>> v1.3
};
antibioticForm.value = {
antibioticCode: undefined,
@@ -1045,10 +1084,16 @@ function submitForm() {
proxy.$refs['medicationRef'].validate((valid) => {
if (valid) {
<<<<<<< HEAD
// 处理抗生素相关字段
if (form.value.activeFlag == 1) {
form.value.antibioticCode = antibioticForm.value.antibioticCode === undefined ? '3' : antibioticForm.value.antibioticCode;
form.value.restrictedEnum = antibioticForm.value.restrictedEnum === undefined ? '4' : antibioticForm.value.restrictedEnum;
=======
if (form.value.activeFlag == true) {
form.value.antibioticCode = antibioticForm.value.antibioticCode;
form.value.restrictedEnum = antibioticForm.value.restrictedEnum;
>>>>>>> v1.3
form.value.minRateCode = antibioticForm.value.minRateCode;
form.value.maxRateCode = antibioticForm.value.maxRateCode;
form.value.dddUnitCode = antibioticForm.value.dddUnitCode;

View File

@@ -155,6 +155,11 @@
:show-overflow-tooltip="true"
min-width="110"
width="200px"
<<<<<<< HEAD
=======
sortable
:sort-by="(row) => getPinyinFirstLetter(row)"
>>>>>>> v1.3
/>
<el-table-column
label="规格"
@@ -217,6 +222,13 @@
prop="ybMatchFlag_enumText"
:show-overflow-tooltip="true"
/>
<el-table-column
label="69"
align="center"
key="drug69Code"
prop="drug69Code"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column
label="医保上传"
align="center"
@@ -588,6 +600,12 @@ function submitForm(formData) {
getMedicationCategoryList();
getList();
// 药品名称按照第一个汉字首字母排序
function getPinyinFirstLetter(row) {
const firstChar = row.merchandisePyStr.charAt(0);
return firstChar.toUpperCase();
}
</script>
<style scoped>
.el-form--inline .el-form-item {