Files
his/openhis-ui-vue3/src/views/medicationmanagement/priceAdjustmentManagement/index.vue
2025-12-10 14:20:24 +08:00

1028 lines
33 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryRef"
:inline="true"
v-show="showSearch"
label-width="90px"
>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="药品调价" name="1">
<el-form-item label="申请人" prop="applicationName" label-width="100px">
<el-input v-model="applicationName" placeholder="" disabled />
</el-form-item>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
:disabled="!isAdjustPrice"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
@click="handleDelete"
v-if="selectedRows.length > 0"
>
删除选中行
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Check"
@click="handleSave"
v-if="definitionList1.length > 0"
>保存</el-button
>
<el-button
type="success"
plain
icon="Check"
@click="handleSubmitForReview(definitionList1)"
v-if="definitionList1.length > 0"
style="margin-left: 10px"
>提审</el-button
>
</el-col>
</el-row>
<el-table
v-if="refreshTable"
v-loading="loading"
:data="definitionList1"
tooltip-effect="dark"
:show-overflow-tooltip="true"
ref="tableRef"
@selection-change="handleSelectionChange"
style="width: 100% !important"
>
<el-table-column type="selection" width="40" align="center" fixed="left" />
<el-table-column label="名称" prop="name" align="center">
<template #default="scope">
<span v-if="scope.row.isEdit == undefined || !scope.row.isEdit">{{
scope.row.name
}}</span>
<PopoverList
v-else
@search="handleSearch"
:width="1000"
:modelValue="scope.row.name"
>
<template #popover-content>
<medicineList
ref="medicineListRef"
@selectRow="(row) => selectRow(row, scope.$index)"
:searchKey="medicineSearchKey"
:supplierId="queryParams.supplierId"
:categoryEnum="24"
/>
</template>
</PopoverList>
</template>
</el-table-column>
<el-table-column label="编码" prop="busNo" align="center">
<template #default="scope">
{{ scope.row.busNo ? scope.row.busNo : '-' }}
</template>
</el-table-column>
<el-table-column label="规格" prop="volume" align="center">
<template #default="scope">
{{ scope.row.volume ? scope.row.volume : '-' }}
</template>
</el-table-column>
<el-table-column label="当前进货价" prop="originBuyingPrice" align="center">
<template #default="scope">
{{ scope.row.originBuyingPrice ? scope.row.originBuyingPrice : '-' }}
</template>
</el-table-column>
<el-table-column label="调后进货价" prop="newBuyingPrice" align="center">
<template #default="scope">
<el-input v-model="scope.row.newBuyingPrice" type="number" step="0.01" />
</template>
</el-table-column>
<el-table-column label="当前零售价" prop="originRetailPrice" align="center">
<template #default="scope">
{{ scope.row.originRetailPrice ? scope.row.originRetailPrice : '-' }}
</template>
</el-table-column>
<el-table-column label="调后零售价" prop="newRetailPrice" align="center">
<template #default="scope">
<el-input v-model="scope.row.newRetailPrice" type="numbefr" step="0.01" />
</template>
</el-table-column>
<el-table-column label="调价理由" prop="reason" align="center">
<template #default="scope">
<el-input
type="textarea"
v-model="scope.row.reason"
:rows="1"
maxlength="255"
autosize
/>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</el-tab-pane>
<el-tab-pane label="耗材调价" name="2">
<el-form-item label="申请人" prop="applicationName" label-width="100px">
<el-input v-model="applicationName" placeholder="" disabled />
</el-form-item>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
:disabled="!isAdjustPrice"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
@click="handleDelete"
v-if="selectedRows.length > 0"
>
删除选中行
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Check"
@click="handleSave"
v-if="definitionList2.length > 0"
>保存</el-button
>
<el-button
type="success"
plain
icon="Check"
@click="handleSubmitForReview(definitionList2)"
v-if="definitionList2.length > 0"
style="margin-left: 10px"
>提审</el-button
>
</el-col>
</el-row>
<el-table
v-if="refreshTable"
v-loading="loading"
:data="definitionList2"
tooltip-effect="dark"
:show-overflow-tooltip="true"
ref="tableRef"
@selection-change="handleSelectionChange"
style="width: 100% !important"
>
<el-table-column type="selection" width="40" align="center" fixed="left" />
<el-table-column label="名称" prop="name" align="center">
<template #default="scope">
<span v-if="scope.row.isEdit == undefined || !scope.row.isEdit">{{
scope.row.name
}}</span>
<PopoverList
v-else
@search="handleSearch"
:width="1000"
:modelValue="scope.row.name"
>
<template #popover-content>
<medicineList
ref="medicineListRef"
@selectRow="(row) => selectRow(row, scope.$index)"
:searchKey="deviceSearchKey"
:supplierId="queryParams.supplierId"
:categoryEnum="25"
/>
</template>
</PopoverList>
</template>
</el-table-column>
<el-table-column label="编码" prop="busNo" align="center">
<template #default="scope">
{{ scope.row.busNo ? scope.row.busNo : '-' }}
</template>
</el-table-column>
<el-table-column label="规格" prop="volume" align="center">
<template #default="scope">
{{ scope.row.volume ? scope.row.volume : '-' }}
</template>
</el-table-column>
<el-table-column label="当前进货价" prop="originBuyingPrice" align="center">
<template #default="scope">
{{ scope.row.originBuyingPrice ? scope.row.originBuyingPrice : '-' }}
</template>
</el-table-column>
<el-table-column label="调后进货价" prop="newBuyingPrice" align="center">
<template #default="scope">
<el-input v-model="scope.row.newBuyingPrice" type="number" step="0.01" />
</template>
</el-table-column>
<el-table-column label="当前零售价" prop="originRetailPrice" align="center">
<template #default="scope">
{{ scope.row.originRetailPrice ? scope.row.originRetailPrice : '-' }}
</template>
</el-table-column>
<el-table-column label="调后零售价" prop="newRetailPrice" align="center">
<template #default="scope">
<el-input v-model="scope.row.newRetailPrice" type="numbefr" step="0.01" />
</template>
</el-table-column>
<el-table-column label="调价理由" prop="reason" align="center">
<template #default="scope">
<el-input
type="textarea"
v-model="scope.row.reason"
:rows="1"
maxlength="255"
autosize
/>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</el-tab-pane>
<el-tab-pane label="诊疗调价" name="3">
<el-form-item label="申请人" prop="applicationName" label-width="100px">
<el-input v-model="applicationName" placeholder="" disabled />
</el-form-item>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
:disabled="!isAdjustPrice"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
@click="handleDelete"
v-if="selectedRows.length > 0"
>
删除选中行
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Check"
@click="handleSave"
v-if="definitionList3.length > 0"
>保存</el-button
>
<el-button
type="success"
plain
icon="Check"
@click="handleSubmitForReview(definitionList3)"
v-if="definitionList3.length > 0"
style="margin-left: 10px"
>提审</el-button
>
</el-col>
</el-row>
<el-table
v-if="refreshTable"
v-loading="loading"
:data="definitionList3"
tooltip-effect="dark"
:show-overflow-tooltip="true"
ref="tableRef"
@selection-change="handleSelectionChange"
style="width: 100% !important"
>
<el-table-column type="selection" width="40" align="center" fixed="left" />
<el-table-column label="名称" prop="name" align="center">
<template #default="scope">
<span v-if="scope.row.isEdit == undefined || !scope.row.isEdit">{{
scope.row.name
}}</span>
<PopoverList
v-else
@search="handleSearch"
:width="1000"
:modelValue="scope.row.name"
>
<template #popover-content>
<medicineList
ref="medicineListRef"
@selectRow="(row) => selectRow(row, scope.$index)"
:searchKey="medicineSearchKey"
:supplierId="queryParams.supplierId"
:categoryEnum="26"
/>
</template>
</PopoverList>
</template>
</el-table-column>
<el-table-column label="编码" prop="busNo" align="center">
<template #default="scope">
{{ scope.row.busNo ? scope.row.busNo : '-' }}
</template>
</el-table-column>
<el-table-column label="当前零售价" prop="originRetailPrice" align="center">
<template #default="scope">
{{ scope.row.originRetailPrice ? scope.row.originRetailPrice : '-' }}
</template>
</el-table-column>
<el-table-column label="调后零售价" prop="newRetailPrice" align="center">
<template #default="scope">
<el-input v-model="scope.row.newRetailPrice" type="numbefr" step="0.01" />
</template>
</el-table-column>
<el-table-column label="调价理由" prop="reason" align="center">
<template #default="scope">
<el-input
type="textarea"
v-model="scope.row.reason"
:rows="1"
maxlength="255"
autosize
/>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</el-tab-pane>
<el-tab-pane label="挂号调价" name="4">
<el-form-item label="申请人" prop="applicationName" label-width="100px">
<el-input v-model="applicationName" placeholder="" disabled />
</el-form-item>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
:disabled="!isAdjustPrice"
>新增</el-button
>
</el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
@click="handleDelete"
v-if="selectedRows.length > 0"
>
删除选中行
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Check"
@click="handleSave"
v-if="definitionList4.length > 0"
>保存</el-button
>
<el-button
type="success"
plain
icon="Check"
@click="handleSubmitForReview(definitionList4)"
v-if="definitionList4.length > 0"
style="margin-left: 10px"
>提审</el-button
>
</el-col>
</el-row>
<!-- 科室下拉框单独显示 -->
<el-row :gutter="10" class="mb8">
<el-col :span="6">
<el-form-item label="选择科室" label-width="80px">
<el-select
v-model="selectedOrgId"
placeholder="请选择科室"
clearable
style="width: 200px"
@change="handleSelectOrg"
filterable
:disabled="!isAdjustPrice"
>
<el-option
v-for="org in orgDataList"
:key="org.orgId"
:label="org.orgName"
:value="org.orgId"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-table
v-if="refreshTable"
v-loading="loading"
:data="definitionList4"
tooltip-effect="dark"
:show-overflow-tooltip="true"
ref="tableRef"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="40" align="center" fixed="left" />
<el-table-column label="名称" prop="orgName" align="center">
<template #default="scope">
<span>
{{ scope.row.orgName ? scope.row.orgName : '-' }}
</span>
</template>
</el-table-column>
<el-table-column label="类型" min-width="120" align="center">
<template #default="scope">
<el-select
v-model="scope.row.targetId"
placeholder="请选择类型"
clearable
style="width: 100px"
v-if="scope.row.isEdit && scope.row.orgId"
@change="handleTypeChange(scope.row)"
>
<el-option
v-for="item in healthDataList"
:key="item.targetId"
:label="item.name"
:value="item.targetId"
/>
</el-select>
<span v-else>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="当前零售价" prop="originRetailPrice" align="center">
<template #default="scope">
{{ scope.row.originRetailPrice ? scope.row.originRetailPrice : '-' }}
</template>
</el-table-column>
<el-table-column label="调后零售价" prop="newRetailPrice" align="center">
<template #default="scope">
<el-input v-model="scope.row.newRetailPrice" type="numbefr" step="0.01" />
</template>
</el-table-column>
<el-table-column label="调价理由" prop="reason" align="center">
<template #default="scope">
<el-input
type="textarea"
v-model="scope.row.reason"
:rows="1"
maxlength="255"
autosize
/>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</el-tab-pane>
</el-tabs>
</el-form>
</div>
</template>
<script setup>
import {
listDefinition,
initOption,
commitChangePriceData,
commitExamineChangePriceData,
searchAllOrgData,
searchHealthData,
checkMedApprovalExist,
checkDeviceApprovalExist,
checkActivityApprovalExist,
getInitAdjustPriceSwitchState,
} from './components/api';
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
import medicineList from './components/medicineList.vue';
import useUserStore from '@/store/modules/user';
import { ref, watch } from 'vue';
import { da } from 'element-plus/es/locales.mjs';
const activeName = ref('1');
const router = useRouter();
const showSearch = ref(true);
const loading = ref(true);
const refreshTable = ref(true);
const definitionList1 = ref([]);
const definitionList2 = ref([]);
const definitionList3 = ref([]);
const definitionList4 = ref([]);
const total = ref(0);
const tableRef = ref(null);
const selectedRows = ref([]);
// 挂号调价相关数据
const orgDataList = ref([]); // 科室数据列表
const healthDataList = ref([]); // 类型数据列表
// 选中的科室ID
const selectedOrgId = ref(null);
const orgLoading = ref(false); // 科室数据加载状态
const healthLoading = ref(false); // 类型数据加载状态
// 获取 pinia 中用户信息
const userInfo = useUserStore();
// 申请人
const applicationName = ref(userInfo.nickName);
const { proxy } = getCurrentInstance();
const options = ref([]);
const data = reactive({
queryParams: {
search: '',
definitionType: '',
chargeItem: '',
searchKey: '',
pageNo: 1,
pageSize: 10,
},
});
const { queryParams, form } = toRefs(data);
// 切换tab
const handleClick = (tab, event) => {
activeName.value = tab.props.name;
queryParams.value.pageNo = 1;
reset();
handleInit();
};
/** 查询委托单信息列表 */
function getList() {
loading.value = true;
queryParams.value.chargeItemContext = activeName.value;
listDefinition(queryParams.value)
.then((response) => {
if (Array.isArray(response.data)) {
definitionList1.value = response.data;
total.value = response.data.length;
} else {
definitionList1.value = response.data.records || [];
total.value = response.data.total || 0;
}
loading.value = false;
})
.catch((error) => {
loading.value = false;
});
}
// 品名搜索
const medicineSearchKey = ref('');
const deviceSearchKey = ref('');
/** 搜索按钮操作 */
function handleInit() {
queryParams.value.definitionType = activeName.value;
loading.value = true;
initOption(queryParams.value).then((response) => {
options.value = response.data.publicationStatusOptions;
loading.value = false;
});
}
// 表格多选与删除
function handleSelectionChange(selection) {
selectedRows.value = selection || [];
}
// 删除选中行
function handleDelete() {
if (!selectedRows.value.length) {
proxy.$message.warning('请选择要删除的行');
return;
}
// 根据当前激活的标签页删除对应列表中的选中行
if (activeName.value === '1') {
definitionList1.value = definitionList1.value.filter(
(row) => !selectedRows.value.includes(row)
);
} else if (activeName.value === '2') {
definitionList2.value = definitionList2.value.filter(
(row) => !selectedRows.value.includes(row)
);
} else if (activeName.value === '3') {
definitionList3.value = definitionList3.value.filter(
(row) => !selectedRows.value.includes(row)
);
} else if (activeName.value === '4') {
definitionList4.value = definitionList4.value.filter(
(row) => !selectedRows.value.includes(row)
);
}
selectedRows.value = [];
nextTick(() => {
tableRef.value && tableRef.value.clearSelection && tableRef.value.clearSelection();
});
}
// 弹出选择器引用与交互
const medicineListRef = ref(null);
function handleSearch(keyword) {
medicineSearchKey.value = keyword || '';
}
function selectRow(row, index) {
// 根据当前激活的标签页更新对应列表的数据
if (activeName.value === '1' && definitionList1.value[index]) {
//验证当前药品是否已经提交申请
checkMedApprovalExist(row.targetId).then((res) => {
if (res.code !== 200) {
proxy.$message.warning('【该药品已存在未审核的调价申请,请勿重复添加】' + res.msg);
return;
} else {
// 药品调价
definitionList1.value[index] = {
...definitionList1.value[index],
...row,
};
}
});
}
if (activeName.value === '2' && definitionList2.value[index]) {
checkDeviceApprovalExist(row.targetId).then((res) => {
if (res.code !== 200) {
proxy.$message.warning('【该耗材已存在未审核的调价申请,请勿重复添加】' + res.msg);
return;
} else {
// 耗材调价
definitionList2.value[index] = {
...definitionList2.value[index],
...row,
};
}
});
}
if (activeName.value === '3' && definitionList3.value[index]) {
checkActivityApprovalExist(row.targetId).then((res) => {
if (res.code !== 200) {
proxy.$message.warning('【该诊疗已存在未审核的调价申请,请勿重复添加】' + res.msg);
return;
} else {
// 诊疗调价
definitionList3.value[index] = {
...definitionList3.value[index],
...row,
};
}
});
}
// 强制刷新,确保保存按钮状态正确更新
nextTick(() => {
refreshTable.value = false;
setTimeout(() => {
refreshTable.value = true;
}, 0);
});
}
// 获取科室数据
async function loadOrgData() {
if (orgDataList.value.length === 0) {
orgLoading.value = true;
try {
const response = await searchAllOrgData();
if (response && response.code === 200 && response.data && Array.isArray(response.data)) {
orgDataList.value = response.data;
} else {
proxy.$message.warning('获取科室数据失败');
orgDataList.value = [];
}
} catch (error) {
proxy.$message.error('获取科室数据失败,请重试');
orgDataList.value = [];
} finally {
orgLoading.value = false;
}
}
}
// 获取类型数据
async function loadHealthData(orgId) {
if (!orgId) return;
healthLoading.value = true;
try {
const response = await searchHealthData({ orgId });
if (response && response.code === 200 && response.data && Array.isArray(response.data)) {
healthDataList.value = response.data;
} else {
proxy.$message.warning('获取类型数据失败');
healthDataList.value = [];
}
} catch (error) {
proxy.$message.error('获取类型数据失败,请重试');
healthDataList.value = [];
} finally {
healthLoading.value = false;
}
}
// 科室下拉框选择处理函数
function handleSelectOrg(orgId) {
// 清空列表
definitionList4.value = [];
if (orgId) {
// 加载该科室的挂号类型数据
loadHealthData(orgId).then(() => {
// 为每个类型创建一行数据并追加到列表
definitionList4.value = [...healthDataList.value];
});
}
}
// 类型选择变化处理
function handleTypeChange(row) {
if (row.targetId) {
const selectedItem = healthDataList.value.find((item) => item.targetId === row.targetId);
if (selectedItem) {
row.orgName = selectedItem.orgName;
row.originRetailPrice = selectedItem.price;
}
}
}
// 新增按钮操作
function handleAdd() {
// 根据当前激活的标签页决定向哪个列表添加新行
const newRow = {
isEdit: true,
};
if (activeName.value === '1') {
// 药品调价
definitionList1.value.push(newRow);
} else if (activeName.value === '2') {
// 耗材调价
definitionList2.value.push(newRow);
} else if (activeName.value === '3') {
definitionList3.value.push(newRow);
} else if (activeName.value === '4') {
let orgName = '';
if (definitionList4.value.length !== 0) {
orgName = definitionList4.value[0].orgName;
}
// 挂号调价 - 直接添加新行
definitionList4.value.push({
...newRow,
// 挂号调价特殊字段
orgId: selectedOrgId.value,
orgName,
});
}
}
// 保存按钮操作校验
function validateList(currentList, categoryType) {
let isValid = true;
for (let i = 0; i < currentList.length; i++) {
const row = currentList[i] || {};
const rowIndex = i + 1;
console.log(categoryType);
if (categoryType !== 2 && categoryType !== 3) {
if (!row.newBuyingPrice || row.newBuyingPrice <= 0) {
proxy.$message.error(`${rowIndex}行:请输入正确的调后进货价`);
isValid = false;
break;
}
}
if (!row.newRetailPrice || row.newRetailPrice <= 0) {
proxy.$message.error(`${rowIndex}行:请输入正确的调后零售价`);
isValid = false;
break;
}
if (!row.reason || String(row.reason).trim() === '') {
proxy.$message.error(`${rowIndex}行:请输入调价理由`);
isValid = false;
break;
}
}
return isValid;
}
// 保存前校验与保存
function handleSave() {
let currentList = [];
let categoryType = 0;
// 根据当前激活的标签页选择对应的数据列表和类别类型
if (activeName.value === '1') {
currentList = definitionList1.value;
categoryType = 0; // 药品
} else if (activeName.value === '2') {
currentList = definitionList2.value;
categoryType = 1; // 耗材
} else if (activeName.value === '3') {
currentList = definitionList3.value;
categoryType = 2; // 诊疗
} else if (activeName.value === '4') {
currentList = definitionList4.value;
categoryType = 3; // 挂号
}
// 至少一行
if (!currentList || !currentList.length) {
proxy.$message.warning('请先新增行再保存');
return;
}
// 按行校验
let isValid = validateList(currentList, categoryType);
if (!isValid) {
return;
}
// 构造请求数据
let requestData = (currentList || []).map((item) => {
return {
itemId: item.targetId,
categoryType,
newBuyingPrice: item.newBuyingPrice,
newRetailPrice: item.newRetailPrice,
reason: item.reason,
unitCode: item.unitCode,
};
});
// 调用保存接口
commitChangePriceData(requestData)
.then((res) => {
if (res && res.code === 200) {
proxy.$message.success('保存成功');
// 重置数据
reset();
// 强制刷新表格状态
refreshTable.value = false;
setTimeout(() => {
refreshTable.value = true;
}, 0);
} else {
proxy.$message.error(res?.message || '保存失败');
}
})
.catch((error) => {
console.error('保存接口调用失败:', error);
proxy.$message.error('保存失败,请重试');
});
}
// 提交审核前校验与保存
function handleSubmitForReview(dataList) {
let currentList = dataList;
let categoryType = 0;
// 根据当前激活的标签页设置类别类型
if (activeName.value === '1') {
categoryType = 0; // 药品
} else if (activeName.value === '2') {
categoryType = 1; // 耗材
} else if (activeName.value === '3') {
categoryType = 2; // 诊疗
} else if (activeName.value === '4') {
categoryType = 3; // 挂号
}
// 至少一行
if (!currentList || !currentList.length) {
proxy.$message.warning('请先新增行再提审');
return;
}
// 按行校验
let isValid = validateList(currentList, categoryType);
if (!isValid) {
proxy.$message.success('校验未通过');
return;
}
// 所有校验通过
// 构造请求数据
let requestData = (currentList || []).map((item) => {
return {
itemId: item.targetId,
categoryType,
newBuyingPrice: item.newBuyingPrice,
newRetailPrice: item.newRetailPrice,
reason: item.reason,
unitCode: item.unitCode,
};
});
// 调用提审接口
commitExamineChangePriceData(requestData)
.then((res) => {
if (res && res.code === 200) {
proxy.$message.success('提审成功');
// 重置数据
reset();
// 强制刷新表格状态
refreshTable.value = false;
//保存成功后跳转到审核管理页面
router.push(
'/medicationmanagement/priceAdjustmentManagement/priceAdjustmentApprovalManagement'
);
setTimeout(() => {
refreshTable.value = true;
}, 0);
} else {
proxy.$message.error(res?.message || '提审失败');
}
})
.catch((error) => {
proxy.$message.error('提审失败,请重试');
});
}
function reset() {
definitionList1.value = [];
definitionList2.value = [];
definitionList3.value = [];
definitionList4.value = [];
selectedRows.value = [];
}
const isAdjustPrice = ref(true);
function getAdjustPriceSwitchState() {
loading.value = true;
getInitAdjustPriceSwitchState().then((res) => {
// true 可以调价
// false 不可以调价
isAdjustPrice.value = res.data;
});
}
getAdjustPriceSwitchState();
handleInit();
// 获取供应商列表
//getList();
// 监听activeName变化当切换到挂号调价标签时加载科室数据
watch(
() => activeName.value,
(newVal) => {
if (newVal === '4') {
loadOrgData();
}
}
);
</script>
<style lang="scss" scoped>
:deep(.demo-tabs > .el-tabs__content) {
color: #6b778c;
font-size: 32px;
font-weight: 600;
}
:deep(.el-input__wrapper) {
height: 32px;
}
:deep(.el-input__inner) {
height: 30px;
}
:deep(.el-tabs__content) {
height: 80vh;
}
.el-select {
width: 150px !important;
}
</style>