版本更新
This commit is contained in:
@@ -0,0 +1,165 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryRef"
|
||||
:inline="true"
|
||||
label-width="100px"
|
||||
v-show="showSearch"
|
||||
>
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<el-date-picker
|
||||
v-model="queryParams.startTime"
|
||||
type="date"
|
||||
placeholder="请选择"
|
||||
value-format="yyyy-MM-dd"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="结束时间" prop="startTime">
|
||||
<el-date-picker
|
||||
v-model="queryParams.endTime"
|
||||
type="date"
|
||||
placeholder="请选择"
|
||||
value-format="yyyy-MM-dd"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="药房名称" prop="pharmacyId" label-width="100px">
|
||||
<el-select
|
||||
v-model="queryParams.pharmacyId"
|
||||
placeholder="请输入"
|
||||
clearable
|
||||
filterable
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in [
|
||||
{ id: '1', name: '药房1' },
|
||||
{ id: '2', name: '药房2' },
|
||||
]"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="药品名称" prop="medicineName" label-width="100px">
|
||||
<el-input v-model="queryParams.medicineName" placeholder="请输入" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="药品类型" prop="medicineType">
|
||||
<el-select
|
||||
v-model="queryParams.medicineType"
|
||||
placeholder="请选择"
|
||||
clearable
|
||||
filterable
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in [
|
||||
{ id: '1', name: '药品1' },
|
||||
{ id: '2', name: '药品2' },
|
||||
{ id: '3', name: '药品3' },
|
||||
{ id: '4', name: '药品4' },
|
||||
{ id: '5', name: '药品5' },
|
||||
{ id: '6', name: '药品6' },
|
||||
{ id: '7', name: '药品7' },
|
||||
{ id: '8', name: '药品8' },
|
||||
]"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</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>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
v-if="refreshTable"
|
||||
v-loading="loading"
|
||||
min-height="200"
|
||||
max-height="500"
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
lab
|
||||
>
|
||||
<el-table-column prop="name" label="库房名称" align="center" />
|
||||
<el-table-column prop="age" label="药品名称" align="center" />
|
||||
<el-table-column prop="address" label="包装规格" align="center" />
|
||||
<el-table-column prop="address" label="包装单位" align="center" />
|
||||
<el-table-column prop="address" label="最小包装单位" align="center" width="150px" />
|
||||
<el-table-column prop="address" label="厂家" align="center" />
|
||||
<el-table-column prop="address" label="类型" align="center" />
|
||||
<el-table-column prop="address" label="单位数量" align="center" />
|
||||
<el-table-column prop="address" label="最小单位数量" align="center" width="150px" />
|
||||
<el-table-column prop="address" label="原批发价" align="center" />
|
||||
<el-table-column prop="address" label="现批发价" align="center" />
|
||||
<el-table-column prop="address" label="原批发拆分价" align="center" width="150px" />
|
||||
<el-table-column prop="address" label="现批发拆分价" align="center" width="150px" />
|
||||
<el-table-column prop="address" label="批价盈亏" align="center" />
|
||||
<el-table-column prop="address" label="原售价" align="center" />
|
||||
<el-table-column prop="address" label="现售价" align="center" />
|
||||
<el-table-column prop="address" label="原零售价" align="center" />
|
||||
<el-table-column prop="address" label="现零售价" align="center" />
|
||||
<el-table-column prop="address" label="零价盈亏" align="center" />
|
||||
<el-table-column prop="address" label="执行时间" align="center" />
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
v-model:page="queryParams.pageNo"
|
||||
v-model:limit="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, toRefs } from 'vue';
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
const queryParams = ref({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
startTime: undefined,
|
||||
endTime: undefined,
|
||||
});
|
||||
const refreshTable = ref(true);
|
||||
const loading = ref(false);
|
||||
const tableData = ref([]);
|
||||
|
||||
const getList = () => {
|
||||
console.log(queryParams.value);
|
||||
};
|
||||
const showSearch = ref(true);
|
||||
const reset = () => {
|
||||
queryParams.value = {
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
};
|
||||
};
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNo = 1;
|
||||
console.log(queryParams.value, 'queryParams');
|
||||
getList();
|
||||
};
|
||||
const resetQuery = () => {
|
||||
reset();
|
||||
handleQuery();
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
getList();
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="app-container" v-loading="pageLoading" :element-loading-text="'审批中...'">
|
||||
<el-row :gutter="10" class="mb8" v-if="viewStatus">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
@@ -784,6 +784,7 @@ const rowList = ref([])
|
||||
const openTraceNoDialog = ref(false)
|
||||
const ypName = ref("");
|
||||
const currentIndex = ref("");
|
||||
const pageLoading = ref(false)
|
||||
const props = defineProps({
|
||||
// 仓库
|
||||
purposeTypeListOptions: {
|
||||
@@ -1934,14 +1935,18 @@ function handleReject() {
|
||||
});
|
||||
}
|
||||
function handelApply() {
|
||||
pageLoading.value = true
|
||||
productStocktakingApproved(route.query.supplyBusNo).then((res) => {
|
||||
if (res.code == 200) {
|
||||
proxy.$modal.msgSuccess("操作成功");
|
||||
pageLoading.loading = false
|
||||
store.clearCurrentDataPLPD();
|
||||
store.clearCurrentDataPLPDALL();
|
||||
// 跳转到审核页面
|
||||
router.replace({ path: '/aaaa/medicationmanagement/billapproval',query:{type:'chkstockBatch'}});
|
||||
}
|
||||
}).catch(() =>{
|
||||
pageLoading.loading = false
|
||||
})
|
||||
}
|
||||
/** 提交审核 */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -214,9 +214,10 @@
|
||||
type="primary"
|
||||
icon="Edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
:disabled="scope.row.statusEnum != '1' && scope.row.statusEnum != '9' && scope.row.statusEnum != '4'"
|
||||
disabled
|
||||
>编辑</el-button
|
||||
>
|
||||
<!-- :disabled="scope.row.statusEnum != '1' && scope.row.statusEnum != '9' && scope.row.statusEnum != '4'" -->
|
||||
<!-- v-hasPermi="['system:user:edit']" -->
|
||||
<el-button
|
||||
link
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="app-container" v-loading="pageLoading" loading-text="审批中。。。">
|
||||
<el-row :gutter="10" class="mb8" v-if="viewStatus">
|
||||
<el-col :span="1.5">
|
||||
<el-button v-if="viewStatus != 'view'" plain type="primary" icon="Edit" @click="handelApply"
|
||||
@@ -578,6 +578,7 @@ const visible = ref(false);
|
||||
const row = ref({});
|
||||
const rowIndex = ref(-1);
|
||||
const totalAmount = ref(0);
|
||||
const pageLoading = ref(false)
|
||||
const props = defineProps({
|
||||
sourceTypeListOptions: {
|
||||
type: Object,
|
||||
@@ -1029,8 +1030,10 @@ function handleReject() {
|
||||
});
|
||||
}
|
||||
function handelApply() {
|
||||
pageLoading.value = true
|
||||
lossReportApproved(route.query.supplyBusNo).then((res) => {
|
||||
if (res.code == 200) {
|
||||
pageLoading.value = false
|
||||
proxy.$modal.msgSuccess('操作成功');
|
||||
tagsViewStore.delView(router.currentRoute.value);
|
||||
store.clearCurrentDataBS();
|
||||
@@ -1040,6 +1043,8 @@ function handelApply() {
|
||||
query: { type: 'lossReporting' },
|
||||
});
|
||||
}
|
||||
}).catch(() => {
|
||||
pageLoading.value = false
|
||||
});
|
||||
}
|
||||
/** 提交审核按钮 */
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询费用定价信息列表
|
||||
export function listDefinition (query) {
|
||||
return request ({
|
||||
url: '/dict-dictionary/definition/charge-item-info',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 初始化下拉选
|
||||
export function initOption (query) {
|
||||
return request ({
|
||||
url: '/dict-dictionary/definition/init',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
// 获取药品列表
|
||||
export function getMedicineList (query) {
|
||||
return request ({
|
||||
url: '/doctor-station/advice/advice-base-info',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
// 修改费用定价信息
|
||||
export function updateDefinition (data) {
|
||||
return request ({
|
||||
url: `/dict-dictionary/definition/update-charge-item?id=${data.id}&price=${data.price}`,
|
||||
method: 'put',
|
||||
});
|
||||
}
|
||||
|
||||
// 修改费用定价信息
|
||||
export function getOptions () {
|
||||
return request ({
|
||||
url: '/dict-dictionary/definition/status-enum-option',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 修改费用定价信息
|
||||
export function getDetail (id) {
|
||||
return request ({
|
||||
url: '/dict-dictionary/definition/charge-item-info-detail?id=' + id,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
// 供应商查询
|
||||
export function getSupplierList (query) {
|
||||
return request ({
|
||||
url: '/change/price/searchAllSupply',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-table ref="medicineRef" height="400" :data="medicineList" @cell-click="clickRow">
|
||||
<el-table-column label="项目编码" align="center" prop="adviceDefinitionId" />
|
||||
<el-table-column label="项目名称" align="center" prop="adviceName" />
|
||||
<el-table-column label="当前价格" align="center" prop="retailPrice" />
|
||||
<el-table-column label="规格" align="center" prop="volume" />
|
||||
</el-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { getMedicineList } from './api';
|
||||
import { watch } from 'vue';
|
||||
import { throttle } from 'lodash-es';
|
||||
|
||||
const props = defineProps({
|
||||
searchKey: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
supplierId: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
});
|
||||
// 选择药品
|
||||
const emit = defineEmits(['selectRow']);
|
||||
// 查询参数
|
||||
const queryParams = ref({
|
||||
searchKey: props.searchKey,
|
||||
// supplierId: props.supplierId,
|
||||
});
|
||||
// 药品列表
|
||||
const medicineList = ref([]);
|
||||
|
||||
// 节流函数
|
||||
const throttledGetList = throttle(
|
||||
() => {
|
||||
getList();
|
||||
},
|
||||
300,
|
||||
{ leading: true, trailing: true }
|
||||
);
|
||||
|
||||
// 获取药品列表
|
||||
const getList = (query) => {
|
||||
getMedicineList(query || queryParams.value).then((res) => {
|
||||
medicineList.value = res.data.records;
|
||||
});
|
||||
};
|
||||
|
||||
// 点击行
|
||||
const clickRow = (row) => {
|
||||
console.log(row, 'row');
|
||||
emit('selectRow', row);
|
||||
};
|
||||
|
||||
// 监听搜索关键字
|
||||
watch(
|
||||
() => props,
|
||||
(newValue) => {
|
||||
queryParams.value.searchKey = newValue.searchKey;
|
||||
throttledGetList();
|
||||
},
|
||||
{ immediate: true, deep: true }
|
||||
);
|
||||
|
||||
// 获取药品列表
|
||||
getList();
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
@@ -0,0 +1,636 @@
|
||||
<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="supplierId">
|
||||
<el-select v-model="queryParams.supplierId" placeholder="请选择" clearable filterable>
|
||||
<el-option
|
||||
v-for="item in supplierIDList"
|
||||
:key="item.supplyId"
|
||||
:label="item.supplyName"
|
||||
:value="item.supplyId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<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">新增</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="definitionList.length > 0"
|
||||
>保存</el-button
|
||||
>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
v-if="refreshTable"
|
||||
v-loading="loading"
|
||||
:data="definitionList"
|
||||
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="itemName" align="center">
|
||||
<template #default="scope">
|
||||
<PopoverList @search="handleSearch" :width="1000" :modelValue="scope.row.itemName">
|
||||
<template #popover-content>
|
||||
<medicineList
|
||||
ref="medicineListRef"
|
||||
@selectRow="(row) => selectRow(row, scope.$index)"
|
||||
:searchKey="medicineSearchKey"
|
||||
:supplierId="queryParams.supplierId"
|
||||
/>
|
||||
</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="totalVolume" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.totalVolume ? scope.row.totalVolume : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="当前价格" prop="retailPrice" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.retailPrice ? scope.row.retailPrice : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调后价格" prop="afterPrice" align="center">
|
||||
<template #default="scope">
|
||||
<el-input v-model="scope.row.afterPrice" type="number" step="0.01" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调价理由" prop="price" align="center">
|
||||
<template #default="scope">
|
||||
<el-input
|
||||
type="textarea"
|
||||
v-model="scope.row.adjustReason"
|
||||
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-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
v-if="refreshTable"
|
||||
v-loading="loading"
|
||||
:data="definitionList"
|
||||
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="编码" width="200" prop="chargeName" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.chargeName ? scope.row.chargeName : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="名称" width="200" prop="orgId_dictText" align="center">
|
||||
<template #default="scope">
|
||||
<PopoverList @search="handleSearch" :width="1000" :modelValue="scope.row.itemName">
|
||||
<template #popover-content>
|
||||
<medicineList
|
||||
ref="medicineListRef"
|
||||
@selectRow="(row) => selectRow(row, scope.$index)"
|
||||
:searchKey="medicineSearchKey"
|
||||
:supplierId="queryParams.supplierId"
|
||||
/>
|
||||
</template>
|
||||
</PopoverList>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规格" width="200" prop="typeCode_dictText" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.typeCode_dictText ? scope.row.typeCode_dictText : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="当前价格" width="200" prop="ybType_dictText" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.ybType_dictText ? scope.row.ybType_dictText : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调后价格" width="200" prop="price" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.price ? thousandNumber(scope.row.price) : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调价理由" width="200" prop="price" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.price ? thousandNumber(scope.row.price) : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调整时间" width="200" prop="price" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.price ? thousandNumber(scope.row.price) : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
min-width="290"
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
fixed="right"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleUpdate(scope.row)">修改</el-button>
|
||||
</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-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
v-if="refreshTable"
|
||||
v-loading="loading"
|
||||
:data="definitionList"
|
||||
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="编码" width="200" prop="chargeName" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.chargeName ? scope.row.chargeName : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="名称" width="200" prop="orgId_dictText" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.orgId_dictText ? scope.row.orgId_dictText : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规格" width="200" prop="typeCode_dictText" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.typeCode_dictText ? scope.row.typeCode_dictText : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="当前价格" width="200" prop="ybType_dictText" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.ybType_dictText ? scope.row.ybType_dictText : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调后价格" width="200" prop="price" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.price ? thousandNumber(scope.row.price) : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调价理由" width="200" prop="price" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.price ? thousandNumber(scope.row.price) : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调整时间" width="200" prop="price" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.price ? thousandNumber(scope.row.price) : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
min-width="290"
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
fixed="right"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleUpdate(scope.row)">修改</el-button>
|
||||
</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-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-table
|
||||
v-if="refreshTable"
|
||||
v-loading="loading"
|
||||
:data="definitionList"
|
||||
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="编码" width="200" prop="chargeName" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.chargeName ? scope.row.chargeName : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="名称" width="200" prop="orgId_dictText" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.orgId_dictText ? scope.row.orgId_dictText : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="规格" width="200" prop="typeCode_dictText" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.typeCode_dictText ? scope.row.typeCode_dictText : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="当前价格" width="200" prop="ybType_dictText" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.ybType_dictText ? scope.row.ybType_dictText : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调后价格" width="200" prop="price" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.price ? thousandNumber(scope.row.price) : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调价理由" width="200" prop="price" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.price ? thousandNumber(scope.row.price) : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="调整时间" width="200" prop="price" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.price ? thousandNumber(scope.row.price) : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
min-width="290"
|
||||
label="操作"
|
||||
align="center"
|
||||
class-name="small-padding fixed-width"
|
||||
fixed="right"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" @click="handleUpdate(scope.row)">修改</el-button>
|
||||
</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>
|
||||
<el-dialog :title="title" v-model="openDetails" width="600px" append-to-body>
|
||||
<el-table
|
||||
v-loading="detailLoading"
|
||||
:data="definitionDetailList"
|
||||
tooltip-effect="dark"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<el-table-column label="条件" prop="conditionCode_enumText" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.conditionCode_enumText ? scope.row.conditionCode_enumText : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="价格" width="200" prop="amount" align="center">
|
||||
<template #default="scope">
|
||||
{{ scope.row.amount ? scope.row.amount : '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
<edit
|
||||
:title="title"
|
||||
:open="open"
|
||||
:formData="form"
|
||||
@submit="submitForm"
|
||||
@update:open="handleOpenChange"
|
||||
@update:form="handleFormChange"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { listDefinition, initOption, updateDefinition, getSupplierList } from './components/api';
|
||||
import PopoverList from '@/components/OpenHis/popoverList/index.vue';
|
||||
import medicineList from './components/medicineList.vue';
|
||||
import { thousandNumber } from '@/utils/his.js';
|
||||
import useUserStore from '@/store/modules/user';
|
||||
const activeName = ref('1');
|
||||
const showSearch = ref(true);
|
||||
const loading = ref(true);
|
||||
const detailLoading = ref(true);
|
||||
const refreshTable = ref(true);
|
||||
const definitionList = ref([]);
|
||||
const definitionDetailList = ref([]);
|
||||
const total = ref(0);
|
||||
const tableRef = ref(null);
|
||||
const selectedRows = ref([]);
|
||||
// 获取 pinia 中用户信息
|
||||
const userInfo = useUserStore();
|
||||
// 申请人
|
||||
const applicationName = ref(userInfo.nickName);
|
||||
const { proxy } = getCurrentInstance();
|
||||
const options = ref([]);
|
||||
const title = ref('');
|
||||
const open = ref(false);
|
||||
const openDetails = ref(false);
|
||||
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
search: '',
|
||||
definitionType: '',
|
||||
chargeItem: '',
|
||||
searchKey: '',
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
});
|
||||
|
||||
const { queryParams, form } = toRefs(data);
|
||||
// 切换tab
|
||||
const handleClick = (tab, event) => {
|
||||
console.log(tab, event);
|
||||
activeName.value = tab.props.name;
|
||||
queryParams.value.pageNo = 1;
|
||||
handleInit();
|
||||
// getList();
|
||||
};
|
||||
|
||||
/** 查询委托单信息列表 */
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
queryParams.value.chargeItemContext = activeName.value;
|
||||
listDefinition(queryParams.value).then((response) => {
|
||||
definitionList.value = response.data.records;
|
||||
total.value = response.data.total;
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
queryParams.value.pageNo = 1;
|
||||
getList();
|
||||
}
|
||||
|
||||
// 表单重置
|
||||
function reset() {
|
||||
form.value = {
|
||||
id: null,
|
||||
itemNo: null,
|
||||
chargeName: null,
|
||||
totalVolume: null,
|
||||
unitCode: null,
|
||||
partPercent: null,
|
||||
conditionYbCode: null,
|
||||
price: null,
|
||||
amount: null,
|
||||
partMinUnitCode: null,
|
||||
partConditionPrice: null,
|
||||
partPrice: null,
|
||||
description: null,
|
||||
statusEnum: null,
|
||||
itemId: null,
|
||||
};
|
||||
proxy.resetForm('einfoRef');
|
||||
}
|
||||
// 品名搜索
|
||||
const medicineSearchKey = ref('');
|
||||
/** 修改按钮操作 */
|
||||
function handleUpdate(row) {
|
||||
reset();
|
||||
form.value = row;
|
||||
open.value = true;
|
||||
title.value = '修改项目定价';
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
function handleInit() {
|
||||
queryParams.value.definitionType = activeName.value;
|
||||
loading.value = true;
|
||||
initOption(queryParams.value).then((response) => {
|
||||
options.value = response.data.publicationStatusOptions;
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
|
||||
const handleOpenChange = (value) => {
|
||||
open.value = value;
|
||||
};
|
||||
|
||||
const handleFormChange = (newForm) => {
|
||||
form.value = { ...newForm };
|
||||
};
|
||||
|
||||
// 表格多选与删除
|
||||
function handleSelectionChange(selection) {
|
||||
selectedRows.value = selection || [];
|
||||
}
|
||||
// 删除选中行
|
||||
function handleDelete() {
|
||||
if (!selectedRows.value.length) {
|
||||
proxy.$message.warning('请选择要删除的行');
|
||||
return;
|
||||
}
|
||||
definitionList.value = definitionList.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) {
|
||||
console.log('选中行数据:', row);
|
||||
if (!definitionList.value[index]) return;
|
||||
// 根据业务字段同步选中行信息
|
||||
definitionList.value[index] = {
|
||||
...definitionList.value[index],
|
||||
itemId: row.id,
|
||||
itemName: row.itemName || row.name || '',
|
||||
...row,
|
||||
};
|
||||
}
|
||||
|
||||
// 新增按钮操作
|
||||
function handleAdd() {
|
||||
// if (!queryParams.value.supplierId) {
|
||||
// proxy.$message.error('请选择供应商!');
|
||||
// return;
|
||||
// }
|
||||
reset();
|
||||
// 新增一行
|
||||
definitionList.value.push({
|
||||
id: null,
|
||||
itemNo: null,
|
||||
chargeName: null,
|
||||
totalVolume: null,
|
||||
unitCode: null,
|
||||
partPercent: null,
|
||||
conditionYbCode: null,
|
||||
price: null,
|
||||
amount: null,
|
||||
partMinUnitCode: null,
|
||||
partConditionPrice: null,
|
||||
partPrice: null,
|
||||
description: null,
|
||||
statusEnum: null,
|
||||
itemId: null,
|
||||
});
|
||||
}
|
||||
|
||||
/** 提交按钮 */
|
||||
function submitForm(form) {
|
||||
updateDefinition(form).then((response) => {
|
||||
proxy.$modal.msgSuccess('操作成功');
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
}
|
||||
|
||||
// 保存前校验与保存
|
||||
function handleSave() {
|
||||
console.log(queryParams.value.supplierId, 'queryParams.value.supplierId');
|
||||
// 供应商必选
|
||||
if (!queryParams.value.supplierId) {
|
||||
proxy.$message.error('请选择供应商');
|
||||
return;
|
||||
}
|
||||
// 至少一行
|
||||
if (!definitionList.value || !definitionList.value.length) {
|
||||
proxy.$message.warning('请先新增行再保存');
|
||||
return;
|
||||
}
|
||||
// 按行校验
|
||||
for (let i = 0; i < definitionList.value.length; i++) {
|
||||
const row = definitionList.value[i] || {};
|
||||
const rowIndex = i + 1;
|
||||
// 名称/项目必填
|
||||
if (!row.itemId && !row.itemName) {
|
||||
proxy.$message.error(`第${rowIndex}行:请选择名称`);
|
||||
return;
|
||||
}
|
||||
// 调后价格校验(数字且>=0)
|
||||
const priceNum = Number(row.afterPrice);
|
||||
if (!Number.isFinite(priceNum) || priceNum < 0) {
|
||||
proxy.$message.error(`第${rowIndex}行:请输入有效的调后价格(>=0)`);
|
||||
return;
|
||||
}
|
||||
// 与当前价格相同给出提示(但不强制)
|
||||
if (Number(row.retailPrice) === priceNum) {
|
||||
proxy.$message.warning(`第${rowIndex}行:调后价格与当前价格相同`);
|
||||
}
|
||||
// 调价理由必填
|
||||
if (!row.adjustReason || String(row.adjustReason).trim() === '') {
|
||||
proxy.$message.error(`第${rowIndex}行:请输入调价理由`);
|
||||
return;
|
||||
}
|
||||
// 调整时间必选
|
||||
if (!row.adjustTime) {
|
||||
proxy.$message.error(`第${rowIndex}行:请选择调整时间`);
|
||||
return;
|
||||
}
|
||||
// 价格规范化为两位小数(不改变展示,仅在保存前处理)
|
||||
row.afterPrice = Number(priceNum.toFixed(2));
|
||||
}
|
||||
// 所有校验通过
|
||||
proxy.$message.success('校验通过');
|
||||
// TODO: 在此调用保存接口(当前仅打印)
|
||||
console.log('保存数据:', definitionList.value);
|
||||
}
|
||||
// 供应商列表
|
||||
const supplierIDList = ref([]);
|
||||
// 获取供应商列表
|
||||
function getSupplierIDList() {
|
||||
loading.value = true;
|
||||
getSupplierList().then((res) => {
|
||||
supplierIDList.value = res.data;
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
handleInit();
|
||||
// 获取供应商列表
|
||||
getSupplierIDList();
|
||||
//getList();
|
||||
</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>
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="app-container" v-loading="pageLoading" loading-text="审批中。。。">
|
||||
<el-row :gutter="10" class="mb8" v-if="viewStatus">
|
||||
<el-col :span="1.5">
|
||||
<el-button v-if="viewStatus != 'view'" plain type="primary" icon="Edit" @click="handelApply"
|
||||
@@ -150,437 +150,439 @@
|
||||
<el-form :model="form" :rules="tableRules" ref="formRef" :disabled="viewStatus == 'apply'">
|
||||
<!-- @cell-mouse-enter="handleMouseEnter" -->
|
||||
<!-- v-click-outside-row="handleClickOutside" @row-click="handleRowClick" 点击行以外的部分自动保存 -->
|
||||
<el-table
|
||||
row-key="rowKey"
|
||||
v-loading="loading"
|
||||
:data="form.purchaseinventoryList"
|
||||
@selection-change="handleSelectionChange"
|
||||
ref="tableRef"
|
||||
@cell-mouse-leave="handleMouseLeave"
|
||||
>
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column label="项目" align="center" key="name" prop="name" width="200" fixed>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.name`"
|
||||
:rules="tableRules.name"
|
||||
>
|
||||
<el-input
|
||||
v-if="viewStatus == 'view'"
|
||||
v-model="scope.row.name"
|
||||
placeholder=""
|
||||
disabled
|
||||
/>
|
||||
<PopoverList
|
||||
v-else
|
||||
@search="handleSearch"
|
||||
:width="1000"
|
||||
:modelValue="scope.row.name"
|
||||
>
|
||||
<template #popover-content="{}">
|
||||
<MedicineList
|
||||
@selectRow="(row) => selectRow(row, scope.$index)"
|
||||
:searchKey="medicineSearchKey"
|
||||
:itemType="itemType"
|
||||
/>
|
||||
</template>
|
||||
</PopoverList>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="规格"
|
||||
align="center"
|
||||
key="statusEnum_enumText"
|
||||
prop="statusEnum_enumText"
|
||||
width="150"
|
||||
<el-scrollbar height="calc(100vh - 500px)">
|
||||
<el-table
|
||||
row-key="rowKey"
|
||||
v-loading="loading"
|
||||
:data="form.purchaseinventoryList"
|
||||
@selection-change="handleSelectionChange"
|
||||
ref="tableRef"
|
||||
@cell-mouse-leave="handleMouseLeave"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.volume`"
|
||||
:rules="tableRules.volume"
|
||||
>
|
||||
<el-input v-model="scope.row.volume" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="厂家/产地"
|
||||
align="center"
|
||||
key="manufacturer"
|
||||
prop="manufacturer"
|
||||
:show-overflow-tooltip="true"
|
||||
width="160"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.manufacturer`"
|
||||
:rules="tableRules.manufacturer"
|
||||
>
|
||||
<el-input v-model="scope.row.manufacturer" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="仓库"
|
||||
align="center"
|
||||
key="purposeLocationId"
|
||||
prop="purposeLocationId"
|
||||
:show-overflow-tooltip="true"
|
||||
width="180"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.purposeLocationId`"
|
||||
:rules="tableRules.purposeLocationId"
|
||||
>
|
||||
<div class="select_wrapper_div">
|
||||
<el-select
|
||||
v-model="scope.row.purposeLocationId"
|
||||
placeholder="请选择仓库"
|
||||
:class="{ 'error-border': scope.row.error }"
|
||||
clearable
|
||||
:disabled="viewStatus == 'view'"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in locationList"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
@click="handleLocationClick(item, scope.row, scope.$index)"
|
||||
/>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="采购数量"
|
||||
align="center"
|
||||
key="itemQuantity"
|
||||
prop="itemQuantity"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.itemQuantity`"
|
||||
:rules="tableRules.itemQuantity"
|
||||
>
|
||||
<div class="select_wrapper_div">
|
||||
<el-input
|
||||
:disabled="viewStatus == 'view'"
|
||||
v-model="scope.row.itemQuantity"
|
||||
placeholder=""
|
||||
@blur="handleTotalPrice(scope.$index)"
|
||||
:class="{ 'error-border': scope.row.error }"
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="计量单位"
|
||||
align="center"
|
||||
key="unitCode"
|
||||
prop="unitCode"
|
||||
:show-overflow-tooltip="true"
|
||||
width="90"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.unitCode`"
|
||||
:rules="tableRules.unitCode"
|
||||
>
|
||||
<!-- :disabled="data.isEdit" -->
|
||||
<div class="select_wrapper_div">
|
||||
<el-select
|
||||
v-model="scope.row.unitCode"
|
||||
placeholder=" "
|
||||
:class="{ 'error-border': scope.row.error }"
|
||||
:clearable="false"
|
||||
:disabled="viewStatus == 'view'"
|
||||
@change="(value) => handleUnitCodeChange(scope.row, scope.$index, value)"
|
||||
>
|
||||
<template v-if="scope.row.unitList && scope.row.partPercent > 1">
|
||||
<el-option
|
||||
:label="scope.row.unitList.unitCode_dictText"
|
||||
:value="scope.row.unitList.unitCode"
|
||||
/>
|
||||
<el-option
|
||||
:label="scope.row.unitList.minUnitCode_dictText"
|
||||
:value="scope.row.unitList.minUnitCode"
|
||||
/>
|
||||
</template>
|
||||
<template v-if="scope.row.unitList && scope.row.partPercent == 1">
|
||||
<el-option
|
||||
:label="scope.row.unitList.unitCode_dictText"
|
||||
:value="scope.row.unitList.unitCode"
|
||||
/>
|
||||
</template>
|
||||
<template v-if="!scope.row.unitList">
|
||||
<el-option
|
||||
:label="scope.row.unitCode_dictText"
|
||||
:value="scope.row.unitCode"
|
||||
/>
|
||||
</template>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="药品追溯码"
|
||||
align="center"
|
||||
key="traceNo"
|
||||
prop="traceNo"
|
||||
width="130"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-tooltip
|
||||
:content="formatContent(scope.row.traceNo)"
|
||||
placement="top"
|
||||
popper-class="custom-tooltip"
|
||||
>
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column label="项目" align="center" key="name" prop="name" width="200" fixed>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.traceNo`"
|
||||
:rules="tableRules.traceNo"
|
||||
:prop="`purchaseinventoryList.${scope.$index}.name`"
|
||||
:rules="tableRules.name"
|
||||
>
|
||||
<el-input
|
||||
:disabled="viewStatus == 'view'"
|
||||
v-model="scope.row.traceNo"
|
||||
@change="(value) => handleTraceNoInput(value, scope.row)"
|
||||
v-if="viewStatus == 'view'"
|
||||
v-model="scope.row.name"
|
||||
placeholder=""
|
||||
:id="'traceNo' + `${scope.$index}`"
|
||||
disabled
|
||||
/>
|
||||
<PopoverList
|
||||
v-else
|
||||
@search="handleSearch"
|
||||
:width="1000"
|
||||
:modelValue="scope.row.name"
|
||||
>
|
||||
<template #popover-content="{}">
|
||||
<MedicineList
|
||||
@selectRow="(row) => selectRow(row, scope.$index)"
|
||||
:searchKey="medicineSearchKey"
|
||||
:itemType="itemType"
|
||||
/>
|
||||
</template>
|
||||
</PopoverList>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="规格"
|
||||
align="center"
|
||||
key="statusEnum_enumText"
|
||||
prop="statusEnum_enumText"
|
||||
width="150"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.volume`"
|
||||
:rules="tableRules.volume"
|
||||
>
|
||||
<el-input v-model="scope.row.volume" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="厂家/产地"
|
||||
align="center"
|
||||
key="manufacturer"
|
||||
prop="manufacturer"
|
||||
:show-overflow-tooltip="true"
|
||||
width="160"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.manufacturer`"
|
||||
:rules="tableRules.manufacturer"
|
||||
>
|
||||
<el-input v-model="scope.row.manufacturer" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="仓库"
|
||||
align="center"
|
||||
key="purposeLocationId"
|
||||
prop="purposeLocationId"
|
||||
:show-overflow-tooltip="true"
|
||||
width="180"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.purposeLocationId`"
|
||||
:rules="tableRules.purposeLocationId"
|
||||
>
|
||||
<div class="select_wrapper_div">
|
||||
<el-select
|
||||
v-model="scope.row.purposeLocationId"
|
||||
placeholder="请选择仓库"
|
||||
:class="{ 'error-border': scope.row.error }"
|
||||
clearable
|
||||
:disabled="viewStatus == 'view'"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in locationList"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
@click="handleLocationClick(item, scope.row, scope.$index)"
|
||||
/>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="采购数量"
|
||||
align="center"
|
||||
key="itemQuantity"
|
||||
prop="itemQuantity"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.itemQuantity`"
|
||||
:rules="tableRules.itemQuantity"
|
||||
>
|
||||
<div class="select_wrapper_div">
|
||||
<el-input
|
||||
:disabled="viewStatus == 'view'"
|
||||
v-model="scope.row.itemQuantity"
|
||||
placeholder=""
|
||||
@blur="handleTotalPrice(scope.$index)"
|
||||
:class="{ 'error-border': scope.row.error }"
|
||||
/>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="计量单位"
|
||||
align="center"
|
||||
key="unitCode"
|
||||
prop="unitCode"
|
||||
:show-overflow-tooltip="true"
|
||||
width="90"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.unitCode`"
|
||||
:rules="tableRules.unitCode"
|
||||
>
|
||||
<!-- :disabled="data.isEdit" -->
|
||||
<div class="select_wrapper_div">
|
||||
<el-select
|
||||
v-model="scope.row.unitCode"
|
||||
placeholder=" "
|
||||
:class="{ 'error-border': scope.row.error }"
|
||||
:clearable="false"
|
||||
:disabled="viewStatus == 'view'"
|
||||
@change="(value) => handleUnitCodeChange(scope.row, scope.$index, value)"
|
||||
>
|
||||
<template v-if="scope.row.unitList && scope.row.partPercent > 1">
|
||||
<el-option
|
||||
:label="scope.row.unitList.unitCode_dictText"
|
||||
:value="scope.row.unitList.unitCode"
|
||||
/>
|
||||
<el-option
|
||||
:label="scope.row.unitList.minUnitCode_dictText"
|
||||
:value="scope.row.unitList.minUnitCode"
|
||||
/>
|
||||
</template>
|
||||
<template v-if="scope.row.unitList && scope.row.partPercent == 1">
|
||||
<el-option
|
||||
:label="scope.row.unitList.unitCode_dictText"
|
||||
:value="scope.row.unitList.unitCode"
|
||||
/>
|
||||
</template>
|
||||
<template v-if="!scope.row.unitList">
|
||||
<el-option
|
||||
:label="scope.row.unitCode_dictText"
|
||||
:value="scope.row.unitCode"
|
||||
/>
|
||||
</template>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="药品追溯码"
|
||||
align="center"
|
||||
key="traceNo"
|
||||
prop="traceNo"
|
||||
width="130"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-tooltip
|
||||
:content="formatContent(scope.row.traceNo)"
|
||||
placement="top"
|
||||
popper-class="custom-tooltip"
|
||||
>
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.traceNo`"
|
||||
:rules="tableRules.traceNo"
|
||||
>
|
||||
<el-input
|
||||
:disabled="viewStatus == 'view'"
|
||||
v-model="scope.row.traceNo"
|
||||
@change="(value) => handleTraceNoInput(value, scope.row)"
|
||||
placeholder=""
|
||||
:id="'traceNo' + `${scope.$index}`"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="追溯码包装"
|
||||
align="center"
|
||||
key="packagingLevels"
|
||||
prop="packagingLevels"
|
||||
width="130"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.packagingLevels`"
|
||||
:rules="tableRules.packagingLevels"
|
||||
>
|
||||
<el-input
|
||||
v-model="scope.row.packagingLevels"
|
||||
placeholder=""
|
||||
:disabled="viewStatus == 'view'"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="追溯码包装"
|
||||
align="center"
|
||||
key="packagingLevels"
|
||||
prop="packagingLevels"
|
||||
width="130"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.packagingLevels`"
|
||||
:rules="tableRules.packagingLevels"
|
||||
>
|
||||
<el-input
|
||||
v-model="scope.row.packagingLevels"
|
||||
placeholder=""
|
||||
:disabled="viewStatus == 'view'"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="采购单价(包装单位) "
|
||||
align="center"
|
||||
key="price"
|
||||
prop="price"
|
||||
width="160"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.price`"
|
||||
:rules="tableRules.price"
|
||||
>
|
||||
<div class="select_wrapper_div">
|
||||
<el-input
|
||||
v-model="scope.row.price"
|
||||
placeholder=""
|
||||
@blur="handleTotalPrice(scope.$index)"
|
||||
:class="{ 'error-border': scope.row.error }"
|
||||
:disabled="viewStatus == 'view'"
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="采购单价(包装单位) "
|
||||
align="center"
|
||||
key="price"
|
||||
prop="price"
|
||||
width="160"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.price`"
|
||||
:rules="tableRules.price"
|
||||
>
|
||||
<div class="select_wrapper_div">
|
||||
<el-input
|
||||
v-model="scope.row.price"
|
||||
placeholder=""
|
||||
@blur="handleTotalPrice(scope.$index)"
|
||||
:class="{ 'error-border': scope.row.error }"
|
||||
:disabled="viewStatus == 'view'"
|
||||
>
|
||||
<template #suffix>元</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="合计金额 "
|
||||
align="center"
|
||||
key="totalPrice"
|
||||
prop="totalPrice"
|
||||
width="130"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`purchaseinventoryList.${scope.$index}.totalPrice`">
|
||||
<el-input disabled v-model="scope.row.totalPrice" placeholder="">
|
||||
<template #suffix>元</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="合计金额 "
|
||||
align="center"
|
||||
key="totalPrice"
|
||||
prop="totalPrice"
|
||||
width="130"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item :prop="`purchaseinventoryList.${scope.$index}.totalPrice`">
|
||||
<el-input disabled v-model="scope.row.totalPrice" placeholder="">
|
||||
<template #suffix>元</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="产品批号"
|
||||
align="center"
|
||||
key="lotNumber"
|
||||
prop="lotNumber"
|
||||
width="160"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.lotNumber`"
|
||||
:rules="tableRules.lotNumber"
|
||||
>
|
||||
<el-input
|
||||
v-model="scope.row.lotNumber"
|
||||
placeholder=""
|
||||
maxlength="100"
|
||||
:disabled="viewStatus == 'view'"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="生产日期"
|
||||
align="center"
|
||||
key="startTime"
|
||||
prop="startTime"
|
||||
width="150"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.startTime`"
|
||||
:rules="tableRules.startTime"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="scope.row.startTime"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
:disabled="viewStatus == 'view'"
|
||||
@change="changeValStart($event, scope.$index)"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="有效期至"
|
||||
align="center"
|
||||
key="endTime"
|
||||
prop="endTime"
|
||||
width="150"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.endTime`"
|
||||
:rules="tableRules.endTime"
|
||||
>
|
||||
<el-date-picker
|
||||
:disabled="viewStatus == 'view'"
|
||||
v-model="scope.row.endTime"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
@change="changeValEnd($event, scope.$index)"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="发票号 "
|
||||
align="center"
|
||||
key="invoiceNo"
|
||||
prop="invoiceNo"
|
||||
width="130"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.invoiceNo`"
|
||||
:rules="tableRules.invoiceNo"
|
||||
>
|
||||
<el-input
|
||||
v-model="scope.row.invoiceNo"
|
||||
placeholder=""
|
||||
:disabled="viewStatus == 'view'"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="备注" align="center" key="remake" prop="remake" width="130">
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.remake`"
|
||||
:rules="tableRules.remake"
|
||||
>
|
||||
<el-input
|
||||
v-model="scope.row.remake"
|
||||
placeholder=""
|
||||
:disabled="viewStatus == 'view'"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="货位"
|
||||
align="center"
|
||||
key="locationStoreName"
|
||||
prop="locationStoreName"
|
||||
width="180"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.locationStoreName`"
|
||||
:rules="tableRules.locationStoreName"
|
||||
>
|
||||
<div class="select_wrapper_div">
|
||||
<el-select
|
||||
v-model="scope.row.locationStoreName"
|
||||
placeholder="请选择货位"
|
||||
:class="{ 'error-border': scope.row.error }"
|
||||
clearable
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="产品批号"
|
||||
align="center"
|
||||
key="lotNumber"
|
||||
prop="lotNumber"
|
||||
width="160"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.lotNumber`"
|
||||
:rules="tableRules.lotNumber"
|
||||
>
|
||||
<el-input
|
||||
v-model="scope.row.lotNumber"
|
||||
placeholder=""
|
||||
maxlength="100"
|
||||
:disabled="viewStatus == 'view'"
|
||||
>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="总库存数量"
|
||||
align="center"
|
||||
key="quantity"
|
||||
prop="quantity"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.quantity`"
|
||||
:rules="tableRules.quantity"
|
||||
>
|
||||
<el-input v-model="scope.row.quantity" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="!viewStatus"
|
||||
label="操作"
|
||||
align="center"
|
||||
width="80"
|
||||
class-name="small-padding fixed-width"
|
||||
fixed="right"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
icon="Edit"
|
||||
@click="handleScan(scope.row, scope.$index)"
|
||||
>扫码</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="生产日期"
|
||||
align="center"
|
||||
key="startTime"
|
||||
prop="startTime"
|
||||
width="150"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.startTime`"
|
||||
:rules="tableRules.startTime"
|
||||
>
|
||||
<el-date-picker
|
||||
v-model="scope.row.startTime"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
:disabled="viewStatus == 'view'"
|
||||
@change="changeValStart($event, scope.$index)"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="有效期至"
|
||||
align="center"
|
||||
key="endTime"
|
||||
prop="endTime"
|
||||
width="150"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.endTime`"
|
||||
:rules="tableRules.endTime"
|
||||
>
|
||||
<el-date-picker
|
||||
:disabled="viewStatus == 'view'"
|
||||
v-model="scope.row.endTime"
|
||||
type="date"
|
||||
placeholder="选择日期"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
@change="changeValEnd($event, scope.$index)"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="发票号 "
|
||||
align="center"
|
||||
key="invoiceNo"
|
||||
prop="invoiceNo"
|
||||
width="130"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.invoiceNo`"
|
||||
:rules="tableRules.invoiceNo"
|
||||
>
|
||||
<el-input
|
||||
v-model="scope.row.invoiceNo"
|
||||
placeholder=""
|
||||
:disabled="viewStatus == 'view'"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="备注" align="center" key="remake" prop="remake" width="130">
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.remake`"
|
||||
:rules="tableRules.remake"
|
||||
>
|
||||
<el-input
|
||||
v-model="scope.row.remake"
|
||||
placeholder=""
|
||||
:disabled="viewStatus == 'view'"
|
||||
/>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="货位"
|
||||
align="center"
|
||||
key="locationStoreName"
|
||||
prop="locationStoreName"
|
||||
width="180"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.locationStoreName`"
|
||||
:rules="tableRules.locationStoreName"
|
||||
>
|
||||
<div class="select_wrapper_div">
|
||||
<el-select
|
||||
v-model="scope.row.locationStoreName"
|
||||
placeholder="请选择货位"
|
||||
:class="{ 'error-border': scope.row.error }"
|
||||
clearable
|
||||
:disabled="viewStatus == 'view'"
|
||||
>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="总库存数量"
|
||||
align="center"
|
||||
key="quantity"
|
||||
prop="quantity"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-form-item
|
||||
:prop="`purchaseinventoryList.${scope.$index}.quantity`"
|
||||
:rules="tableRules.quantity"
|
||||
>
|
||||
<el-input v-model="scope.row.quantity" placeholder="" disabled />
|
||||
</el-form-item>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="!viewStatus"
|
||||
label="操作"
|
||||
align="center"
|
||||
width="80"
|
||||
class-name="small-padding fixed-width"
|
||||
fixed="right"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
icon="Edit"
|
||||
@click="handleScan(scope.row, scope.$index)"
|
||||
>扫码</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-scrollbar>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
@@ -682,6 +684,7 @@ const ypName = ref('');
|
||||
const rowIndex = ref(-1);
|
||||
const totalAmount = ref(0);
|
||||
const editData = ref({});
|
||||
const pageLoading = ref(false);
|
||||
const form = reactive({
|
||||
purchaseinventoryList: [],
|
||||
});
|
||||
@@ -1310,7 +1313,7 @@ function handlePrint() {
|
||||
}, 0);
|
||||
result.push({
|
||||
supplierName: supplierName,
|
||||
totalAmount: totalAmount,
|
||||
totalAmount: totalAmount.toFixed(2),
|
||||
...receiptHeaderForm,
|
||||
purchaseinventoryList: form.purchaseinventoryList,
|
||||
});
|
||||
@@ -1498,18 +1501,24 @@ function handleReject() {
|
||||
});
|
||||
}
|
||||
function handelApply() {
|
||||
purchaseInventoryApproved(route.query.supplyBusNo).then((res) => {
|
||||
if (res.code == 200) {
|
||||
proxy.$modal.msgSuccess('操作成功');
|
||||
tagsViewStore.delView(router.currentRoute.value);
|
||||
store.clearCurrentData();
|
||||
// 跳转到审核页面
|
||||
router.replace({
|
||||
path: '/aaaa/medicationmanagement/billapproval',
|
||||
query: { type: 'purchaseDocument' },
|
||||
});
|
||||
}
|
||||
});
|
||||
pageLoading.value = true;
|
||||
purchaseInventoryApproved(route.query.supplyBusNo)
|
||||
.then((res) => {
|
||||
if (res.code == 200) {
|
||||
pageLoading.value = false;
|
||||
proxy.$modal.msgSuccess('操作成功');
|
||||
tagsViewStore.delView(router.currentRoute.value);
|
||||
store.clearCurrentData();
|
||||
// 跳转到审核页面
|
||||
router.replace({
|
||||
path: '/aaaa/medicationmanagement/billapproval',
|
||||
query: { type: 'purchaseDocument' },
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
pageLoading.value = false;
|
||||
});
|
||||
}
|
||||
function toLastView(visitedViews, view) {
|
||||
const latestView = visitedViews.slice(-1)[0];
|
||||
@@ -1602,4 +1611,4 @@ getPurchaseinventoryTypeList();
|
||||
.error-border {
|
||||
border: 1px solid red;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="app-container" v-loading="pageLoading">
|
||||
<el-row :gutter="10" class="mb8" v-if="viewStatus">
|
||||
<el-col :span="1.5">
|
||||
<el-button v-if="viewStatus != 'view'" plain type="primary" icon="Edit" @click="handelApply"
|
||||
@@ -545,6 +545,7 @@ const row = ref({});
|
||||
const rowIndex = ref(-1);
|
||||
const totalAmount = ref(0);
|
||||
const purposeTypeListOptions = ref(undefined);
|
||||
const pageLoading = ref(false)
|
||||
const props = defineProps({
|
||||
sourceTypeListOptions: {
|
||||
type: Object,
|
||||
@@ -916,8 +917,10 @@ function handleReject() {
|
||||
});
|
||||
}
|
||||
function handelApply() {
|
||||
pageLoading.value = true
|
||||
requisitionIssueApproved(route.query.supplyBusNo).then((res) => {
|
||||
if (res.code == 200) {
|
||||
pageLoading.value = false
|
||||
proxy.$modal.msgSuccess('操作成功');
|
||||
tagsViewStore.delView(router.currentRoute.value);
|
||||
store.clearCurrentDataLYCK();
|
||||
@@ -927,6 +930,8 @@ function handelApply() {
|
||||
query: { type: 'requisitionManagement' },
|
||||
});
|
||||
}
|
||||
}).catch(() => {
|
||||
pageLoading.value = false
|
||||
});
|
||||
}
|
||||
/** 提交审核按钮 */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="app-container" v-loading="pageLoading" loading-text="审批中。。。">
|
||||
<el-row :gutter="10" class="mb8" v-if="viewStatus">
|
||||
<el-col :span="1.5">
|
||||
<el-button v-if="viewStatus != 'view'" plain type="primary" icon="Edit" @click="handelApply"
|
||||
@@ -573,6 +573,7 @@ const visible = ref(false);
|
||||
const row = ref({});
|
||||
const rowIndex = ref(-1);
|
||||
const totalAmount = ref(0);
|
||||
const pageLoading = ref(false)
|
||||
const props = defineProps({
|
||||
sourceTypeListOptions: {
|
||||
type: Object,
|
||||
@@ -987,8 +988,10 @@ function handleReject() {
|
||||
});
|
||||
}
|
||||
function handelApply() {
|
||||
pageLoading.value = true
|
||||
returnIssueApproved(route.query.supplyBusNo).then((res) => {
|
||||
if (res.code == 200) {
|
||||
pageLoading.value = false
|
||||
proxy.$modal.msgSuccess('操作成功');
|
||||
tagsViewStore.delView(router.currentRoute.value);
|
||||
store.clearCurrentDataLYTK();
|
||||
@@ -998,6 +1001,8 @@ function handelApply() {
|
||||
query: { type: 'returningInventory' },
|
||||
});
|
||||
}
|
||||
}).catch(() => {
|
||||
pageLoading.value = false
|
||||
});
|
||||
}
|
||||
/** 提交审核按钮 */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="app-container" v-loading="pageLoading" loading-text="审批中...">
|
||||
<!-- <el-dialog title="调拨单据" v-model="visible" width="1500" append-to-body> -->
|
||||
<el-row :gutter="10" class="mb8" v-if="viewStatus">
|
||||
<el-col :span="1.5">
|
||||
@@ -1354,14 +1354,18 @@ function handleReject() {
|
||||
});
|
||||
}
|
||||
function handelApply() {
|
||||
pageLoading.value = true
|
||||
purchaseInventoryApproved(route.query.originalSupplyBusNo).then((res) => {
|
||||
if (res.code == 200) {
|
||||
pageLoading.value = false
|
||||
proxy.$modal.msgSuccess("操作成功");
|
||||
tagsViewStore.delView(router.currentRoute.value);
|
||||
store.clearCurrentReturnData();
|
||||
// 跳转到审核页面
|
||||
router.replace({ path: '/aaaa/medicationmanagement/billapproval',query:{type:'returnedPurchase'}});
|
||||
}
|
||||
}).catch(() => {
|
||||
pageLoading.value = false
|
||||
})
|
||||
}
|
||||
function toLastView(visitedViews, view) {
|
||||
|
||||
@@ -3,77 +3,196 @@
|
||||
<el-tabs v-model="activeTabName" type="card" class="inOut-tabs" @tab-click="hendleTabChange">
|
||||
<el-tab-pane label="对账" name="first">
|
||||
<el-row :guutter="15">
|
||||
|
||||
<el-form :model="totalPrice" ref="priceRef" :inline="true">
|
||||
<el-row :guutter="15">
|
||||
<el-form-item label="结算经办机构:" prop="setlOptins" label-width="160px">
|
||||
<el-input v-model="totalPrice.setlOptins" placeholder="请输入结算经办机构" clearable style="width: 150px"
|
||||
@keyup.enter="handleQuery" />
|
||||
<el-input
|
||||
v-model="totalPrice.setlOptins"
|
||||
placeholder="请输入结算经办机构"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="结算日期:" label-width="130px">
|
||||
<el-date-picker v-model="occurrenceTime" value-format="YYYY-MM-DD" type="daterange" range-separator="-"
|
||||
start-placeholder="开始日期" end-placeholder="结束日期" style="width: 300px"></el-date-picker>
|
||||
<el-date-picker
|
||||
v-model="occurrenceTime"
|
||||
value-format="YYYY-MM-DD"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 300px"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="清算类型:" prop="clrType" label-width="160px">
|
||||
<el-select v-model="queryParams.clrType" placeholder="请选择清算类型" clearable style="width: 150px">
|
||||
<el-option v-for="categoryCode in clrTypeOptions" :key="categoryCode.value" :label="categoryCode.label"
|
||||
:value="categoryCode.value" />
|
||||
<el-select
|
||||
v-model="queryParams.clrType"
|
||||
placeholder="请选择清算类型"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option
|
||||
v-for="categoryCode in clrTypeOptions"
|
||||
:key="categoryCode.value"
|
||||
:label="categoryCode.label"
|
||||
:value="categoryCode.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="险种类型:" prop="insutype" label-width="160px">
|
||||
<el-select v-model="queryParams.insutype" placeholder="请选择险种类型" clearable style="width: 150px">
|
||||
<el-option v-for="categoryCode in insutypeOptions" :key="categoryCode.value" :label="categoryCode.label"
|
||||
:value="categoryCode.value" />
|
||||
<el-select
|
||||
v-model="queryParams.insutype"
|
||||
placeholder="请选择险种类型"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option
|
||||
v-for="categoryCode in insutypeOptions"
|
||||
:key="categoryCode.value"
|
||||
:label="categoryCode.label"
|
||||
:value="categoryCode.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row :guutter="15">
|
||||
<el-form-item label="医疗费总额:" prop="medfeeSumamt" label-width="160px">
|
||||
<el-input v-model="totalPrice.medfeeSumamt" placeholder="请输入医疗费总额" clearable style="width: 150px" />
|
||||
<el-input
|
||||
v-model="totalPrice.medfeeSumamt"
|
||||
placeholder="请输入医疗费总额"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="基金支付总额:" prop="fundAppySum" label-width="160px">
|
||||
<el-input v-model="totalPrice.fundAppySum" placeholder="请输入基金支付总额" clearable style="width: 150px" />
|
||||
<el-input
|
||||
v-model="totalPrice.fundAppySum"
|
||||
placeholder="请输入基金支付总额"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="个人账户支付金额:" prop="acctPay" label-width="160px">
|
||||
<el-input v-model="totalPrice.acctPay" placeholder="请输入个人账户支付金额" clearable style="width: 150px" />
|
||||
<el-input
|
||||
v-model="totalPrice.acctPay"
|
||||
placeholder="请输入个人账户支付金额"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="现金支付金额:" prop="cashPayamt" label-width="160px">
|
||||
<el-input v-model="totalPrice.cashPayamt" placeholder="请输入现金支付金额" clearable style="width: 150px" />
|
||||
<el-input
|
||||
v-model="totalPrice.cashPayamt"
|
||||
placeholder="请输入现金支付金额"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="结算笔数:" prop="setlCnt" label-width="160px">
|
||||
<el-input v-model="totalPrice.setlCnt" placeholder="请输入结算笔数" clearable style="width: 150px" />
|
||||
<el-input
|
||||
v-model="totalPrice.setlCnt"
|
||||
placeholder="请输入结算笔数"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-button type="primary" plain icon="Edit" @click="handOperatedApply">手动清算</el-button> -->
|
||||
<el-button type="primary" plain icon="Edit" @click="handOperatedReconcileAccounts">手动对账</el-button>
|
||||
|
||||
<el-button type="primary" plain icon="Edit" @click="handOperatedReconcileAccounts"
|
||||
>手动对账</el-button
|
||||
>
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
</el-row>
|
||||
|
||||
<!-- </div> -->
|
||||
<el-table v-loading="loading" :data="purchaseinventoryList" @selection-change="handleSelectionChange"
|
||||
@row-click="handleRowClick">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="purchaseinventoryList"
|
||||
@selection-change="handleSelectionChange"
|
||||
@row-click="handleRowClick"
|
||||
>
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column label="申请清算ID" align="center" key="outResult" prop="outResult" width="270"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="开始时间" align="center" key="begndate" prop="begndate" width="150"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="结束时间" align="center" key="enddate" prop="enddate" width="150"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="清算类别" align="center" key="clrType" prop="clrType" width="100"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="总费用" align="center" key="medfeeSumamt" prop="medfeeSumamt" width="170"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="医保认可总费用" align="center" key="medSumfee" prop="medSumfee" width="170"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="基金申报金额" align="center" key="fundAppySum" prop="fundAppySum" width="170"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="现金支付总额" align="center" key="cashPayamt" prop="cashPayamt" width="170"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="个人账户金额" align="center" key="acctPay" prop="acctPay" width="170"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" align="center" key="status" prop="status" width="170" :show-overflow-tooltip="true">
|
||||
<el-table-column
|
||||
label="申请清算ID"
|
||||
align="center"
|
||||
key="outResult"
|
||||
prop="outResult"
|
||||
width="270"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="开始时间"
|
||||
align="center"
|
||||
key="begndate"
|
||||
prop="begndate"
|
||||
width="150"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="结束时间"
|
||||
align="center"
|
||||
key="enddate"
|
||||
prop="enddate"
|
||||
width="150"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="清算类别"
|
||||
align="center"
|
||||
key="clrType"
|
||||
prop="clrType"
|
||||
width="100"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="总费用"
|
||||
align="center"
|
||||
key="medfeeSumamt"
|
||||
prop="medfeeSumamt"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="医保认可总费用"
|
||||
align="center"
|
||||
key="medSumfee"
|
||||
prop="medSumfee"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="基金申报金额"
|
||||
align="center"
|
||||
key="fundAppySum"
|
||||
prop="fundAppySum"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="现金支付总额"
|
||||
align="center"
|
||||
key="cashPayamt"
|
||||
prop="cashPayamt"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="个人账户金额"
|
||||
align="center"
|
||||
key="acctPay"
|
||||
prop="acctPay"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="状态"
|
||||
align="center"
|
||||
key="status"
|
||||
prop="status"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.setlTime) }}</span>
|
||||
</template>
|
||||
@@ -89,33 +208,77 @@
|
||||
<span>{{ scope.row.refdSetlFlag==1?'退费':'' }}</span>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width" fixed="right">
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
width="300"
|
||||
class-name="small-padding fixed-width"
|
||||
fixed="right"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button type="danger" link icon="revoked-filled" :disabled="scope.row.id == ''"
|
||||
@click="revokedSelectedRows(scope.row)">
|
||||
<el-button
|
||||
type="danger"
|
||||
link
|
||||
icon="revoked-filled"
|
||||
:disabled="scope.row.id == ''"
|
||||
@click="revokedSelectedRows(scope.row)"
|
||||
>
|
||||
撤销
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<span class="descriptions-item-label">对账结果:</span>
|
||||
<div
|
||||
style="
|
||||
background: #f5f7fa;
|
||||
border: solid 1px;
|
||||
border-color: #e4e7ed;
|
||||
width: 50%;
|
||||
height: 100px;
|
||||
margin-top: 20px;
|
||||
"
|
||||
>
|
||||
<span>{{ reconciliation }}</span>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="清算" name="second">
|
||||
<el-row :guutter="15">
|
||||
|
||||
<el-form :model="totalPrice" ref="priceRef" :inline="true">
|
||||
<el-row :guutter="15">
|
||||
<el-form-item label="结算经办机构:" prop="setlOptins" label-width="160px">
|
||||
<el-input v-model="totalPrice.setlOptins" placeholder="请输入结算经办机构" clearable style="width: 150px"
|
||||
@keyup.enter="handleQuery" />
|
||||
<el-input
|
||||
v-model="totalPrice.setlOptins"
|
||||
placeholder="请输入结算经办机构"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="结算日期:" label-width="130px">
|
||||
<el-date-picker v-model="occurrenceTime" value-format="YYYY-MM-DD" type="daterange" range-separator="-"
|
||||
start-placeholder="开始日期" end-placeholder="结束日期" style="width: 300px"></el-date-picker>
|
||||
<el-date-picker
|
||||
v-model="occurrenceTime"
|
||||
value-format="YYYY-MM-DD"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 300px"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="清算类型:" prop="clrType" label-width="160px">
|
||||
<el-select v-model="queryParams.clrType" placeholder="请选择清算类型" clearable style="width: 150px">
|
||||
<el-option v-for="categoryCode in clrTypeOptions" :key="categoryCode.value" :label="categoryCode.label"
|
||||
:value="categoryCode.value" />
|
||||
<el-select
|
||||
v-model="queryParams.clrType"
|
||||
placeholder="请选择清算类型"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option
|
||||
v-for="categoryCode in clrTypeOptions"
|
||||
:key="categoryCode.value"
|
||||
:label="categoryCode.label"
|
||||
:value="categoryCode.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="险种类型:" prop="insutype" label-width="160px">
|
||||
@@ -127,51 +290,136 @@
|
||||
</el-row>
|
||||
<el-row :guutter="15">
|
||||
<el-form-item label="医疗费总额:" prop="medfeeSumamt" label-width="160px">
|
||||
<el-input v-model="totalPrice.medfeeSumamt" placeholder="请输入医疗费总额" clearable style="width: 150px" />
|
||||
<el-input
|
||||
v-model="totalPrice.medfeeSumamt"
|
||||
placeholder="请输入医疗费总额"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="基金支付总额:" prop="fundAppySum" label-width="160px">
|
||||
<el-input v-model="totalPrice.fundAppySum" placeholder="请输入基金支付总额" clearable style="width: 150px" />
|
||||
<el-input
|
||||
v-model="totalPrice.fundAppySum"
|
||||
placeholder="请输入基金支付总额"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="个人账户支付金额:" prop="acctPay" label-width="160px">
|
||||
<el-input v-model="totalPrice.acctPay" placeholder="请输入个人账户支付金额" clearable style="width: 150px" />
|
||||
<el-input
|
||||
v-model="totalPrice.acctPay"
|
||||
placeholder="请输入个人账户支付金额"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="现金支付金额:" prop="cashPayamt" label-width="160px">
|
||||
<el-input v-model="totalPrice.cashPayamt" placeholder="请输入现金支付金额" clearable style="width: 150px" />
|
||||
<el-input
|
||||
v-model="totalPrice.cashPayamt"
|
||||
placeholder="请输入现金支付金额"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="结算笔数:" prop="setlCnt" label-width="160px">
|
||||
<el-input v-model="totalPrice.setlCnt" placeholder="请输入结算笔数" clearable style="width: 150px" />
|
||||
</el-form-item> -->
|
||||
<el-button type="primary" plain icon="Edit" @click="handOperatedApply">手动清算</el-button>
|
||||
<el-button type="primary" plain icon="Edit" @click="handOperatedApply"
|
||||
>手动清算</el-button
|
||||
>
|
||||
<!-- <el-button type="primary" plain icon="Edit" @click="handOperatedReconcileAccounts">手动对账</el-button> -->
|
||||
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
</el-row>
|
||||
|
||||
<!-- </div> -->
|
||||
<el-table v-loading="loading" :data="purchaseinventoryList" @selection-change="handleSelectionChange"
|
||||
@row-click="handleRowClick">
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="purchaseinventoryList"
|
||||
@selection-change="handleSelectionChange"
|
||||
@row-click="handleRowClick"
|
||||
>
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column label="申请清算ID" align="center" key="outResult" prop="outResult" width="270"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="开始时间" align="center" key="begndate" prop="begndate" width="150"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="结束时间" align="center" key="enddate" prop="enddate" width="150"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="清算类别" align="center" key="clrType" prop="clrType" width="100"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="总费用" align="center" key="medfeeSumamt" prop="medfeeSumamt" width="170"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="医保认可总费用" align="center" key="medSumfee" prop="medSumfee" width="170"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="基金申报金额" align="center" key="fundAppySum" prop="fundAppySum" width="170"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="现金支付总额" align="center" key="cashPayamt" prop="cashPayamt" width="170"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="个人账户金额" align="center" key="acctPay" prop="acctPay" width="170"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="状态" align="center" key="status" prop="status" width="170" :show-overflow-tooltip="true">
|
||||
<el-table-column
|
||||
label="申请清算ID"
|
||||
align="center"
|
||||
key="outResult"
|
||||
prop="outResult"
|
||||
width="270"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="开始时间"
|
||||
align="center"
|
||||
key="begndate"
|
||||
prop="begndate"
|
||||
width="150"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="结束时间"
|
||||
align="center"
|
||||
key="enddate"
|
||||
prop="enddate"
|
||||
width="150"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="清算类别"
|
||||
align="center"
|
||||
key="clrType"
|
||||
prop="clrType"
|
||||
width="100"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="总费用"
|
||||
align="center"
|
||||
key="medfeeSumamt"
|
||||
prop="medfeeSumamt"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="医保认可总费用"
|
||||
align="center"
|
||||
key="medSumfee"
|
||||
prop="medSumfee"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="基金申报金额"
|
||||
align="center"
|
||||
key="fundAppySum"
|
||||
prop="fundAppySum"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="现金支付总额"
|
||||
align="center"
|
||||
key="cashPayamt"
|
||||
prop="cashPayamt"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="个人账户金额"
|
||||
align="center"
|
||||
key="acctPay"
|
||||
prop="acctPay"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="状态"
|
||||
align="center"
|
||||
key="status"
|
||||
prop="status"
|
||||
width="170"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<template #default="scope">
|
||||
<span>{{ parseTime(scope.row.setlTime) }}</span>
|
||||
</template>
|
||||
@@ -187,32 +435,56 @@ prop="refdSetlFlag"
|
||||
<span>{{ scope.row.refdSetlFlag==1?'退费':'' }}</span>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width" fixed="right">
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
width="300"
|
||||
class-name="small-padding fixed-width"
|
||||
fixed="right"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button type="danger" link icon="revoked-filled" :disabled="scope.row.id == ''"
|
||||
@click="revokedSelectedRows(scope.row)">
|
||||
<el-button
|
||||
type="danger"
|
||||
link
|
||||
icon="revoked-filled"
|
||||
:disabled="scope.row.id == ''"
|
||||
@click="revokedSelectedRows(scope.row)"
|
||||
>
|
||||
撤销
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<span class="descriptions-item-label">清算结果:</span>
|
||||
<div
|
||||
style="
|
||||
background: #f5f7fa;
|
||||
border: solid 1px;
|
||||
border-color: #e4e7ed;
|
||||
width: 50%;
|
||||
height: 100px;
|
||||
margin-top: 20px;
|
||||
"
|
||||
>
|
||||
<span>{{ reconciliation }}</span>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="reconciliationDetails">
|
||||
<script setup name="LiquidationRecords">
|
||||
import {
|
||||
applyFinancialClearingList,
|
||||
applyUnClearing,
|
||||
autoApplyFinancialClearing,
|
||||
reconcileDetailList,
|
||||
handOperatedApplyFinancialClearing,
|
||||
handOperatedApplyReconcileAccounts
|
||||
} from "./statisticalManagent";
|
||||
import { getToken } from "@/utils/auth";
|
||||
handOperatedApplyReconcileAccounts,
|
||||
} from './statisticalManagent';
|
||||
import { getToken } from '@/utils/auth';
|
||||
import { formatDateStr } from '@/utils/index';
|
||||
import { ref } from "vue";
|
||||
import { ref } from 'vue';
|
||||
const { proxy } = getCurrentInstance();
|
||||
const purchaseinventoryList = ref([]);
|
||||
const loading = ref(false);
|
||||
@@ -222,20 +494,21 @@ const multiple = ref(true);
|
||||
const total = ref(0);
|
||||
const occurrenceTime = ref([
|
||||
formatDateStr(getFirstDayOfMonth(new Date()), 'YYYY-MM-DD'), // 当前月份的第一天
|
||||
formatDateStr(new Date(), 'YYYY-MM-DD') // 当天
|
||||
])
|
||||
const activeTabName = ref("first");
|
||||
formatDateStr(new Date(), 'YYYY-MM-DD'), // 当天
|
||||
]);
|
||||
const activeTabName = ref('first');
|
||||
const clrTypeOptions = ref([]);
|
||||
const insutypeOptions = ref([]);
|
||||
const filePath = ref("")
|
||||
const purchaseinventoryReturnList = ref([])
|
||||
const loadingReturn = ref(false)
|
||||
const selectedRow = ref([])
|
||||
const filePath = ref('');
|
||||
const purchaseinventoryReturnList = ref([]);
|
||||
const loadingReturn = ref(false);
|
||||
const selectedRow = ref([]);
|
||||
|
||||
const fileSize = ref(10)
|
||||
const fileSize = ref(10);
|
||||
const uploadList = ref([]);
|
||||
const reconciliation = ref('');
|
||||
const baseUrl = import.meta.env.VITE_APP_BASE_API;
|
||||
const fileType = ref(["zip", "txt"]);
|
||||
const fileType = ref(['zip', 'txt']);
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
@@ -244,7 +517,7 @@ const data = reactive({
|
||||
setlOptins: '229900',
|
||||
filePath: undefined,
|
||||
orgId: undefined,
|
||||
clrType: undefined,
|
||||
clrType: 11,
|
||||
fileQuryNo: undefined,
|
||||
stmtBegnDate: undefined,
|
||||
stmtEndDate: undefined,
|
||||
@@ -259,31 +532,67 @@ const totalPrice = reactive({
|
||||
cashPayamt: 0,
|
||||
counts: 0,
|
||||
setlCnt: 0,
|
||||
medSumfee: 0.00
|
||||
medSumfee: 0.0,
|
||||
});
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
// 接收路由参数
|
||||
const route = useRoute();
|
||||
|
||||
// 监听路由变化
|
||||
watch(
|
||||
() => route.query,
|
||||
(newQuery) => {
|
||||
// 当路由 query 参数变化时执行
|
||||
if (newQuery.currentRow) {
|
||||
try {
|
||||
const currentRow = JSON.parse(newQuery.currentRow);
|
||||
console.log('接收到的currentRow参数:', currentRow);
|
||||
|
||||
// 处理接收到的参数
|
||||
if (currentRow) {
|
||||
totalPrice.medfeeSumamt = currentRow.medFeeSumAmt || 0;
|
||||
totalPrice.fundAppySum = currentRow.fundPaySumAmt || 0;
|
||||
totalPrice.acctPay = currentRow.acctPay || 0;
|
||||
totalPrice.cashPayamt = currentRow.acctGjPay || 0;
|
||||
totalPrice.counts = currentRow.fixMedInsSetlCnt || 0;
|
||||
queryParams.insutype = currentRow.insutype;
|
||||
|
||||
// 如果有传递时间参数也一并处理
|
||||
if (newQuery.occurrenceTime) {
|
||||
occurrenceTime.value = newQuery.occurrenceTime;
|
||||
}
|
||||
console.log('已更新参数:', currentRow);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('解析currentRow参数失败:', error);
|
||||
}
|
||||
}
|
||||
},
|
||||
{ immediate: true } // 立即执行一次,处理首次加载的情况
|
||||
);
|
||||
|
||||
watch(
|
||||
() => purchaseinventoryList.value,
|
||||
(newVlaue) => {
|
||||
if (newVlaue && newVlaue.length > 0) {
|
||||
handleTotalAmount()
|
||||
handleTotalAmount();
|
||||
}
|
||||
},
|
||||
{ immediate: true }
|
||||
)
|
||||
);
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
queryParams.value.stmtBegnDate =
|
||||
occurrenceTime.value && occurrenceTime.value.length == 2
|
||||
? occurrenceTime.value[0] + " 00:00:00"
|
||||
: "";
|
||||
? occurrenceTime.value[0] + ' 00:00:00'
|
||||
: '';
|
||||
queryParams.value.stmtEndDate =
|
||||
occurrenceTime.value && occurrenceTime.value.length == 2
|
||||
? occurrenceTime.value[1] + " 23:59:59"
|
||||
: "";
|
||||
? occurrenceTime.value[1] + ' 23:59:59'
|
||||
: '';
|
||||
// queryParams.value.pageNo = 1;
|
||||
getList();
|
||||
}
|
||||
@@ -294,8 +603,8 @@ function getFirstDayOfMonth(date) {
|
||||
|
||||
// 对象转成指定字符串分隔
|
||||
function listToString(list, separator) {
|
||||
let strs = "";
|
||||
separator = separator || ",";
|
||||
let strs = '';
|
||||
separator = separator || ',';
|
||||
for (let i in list) {
|
||||
if (list[i].url) {
|
||||
strs += list[i].url + separator;
|
||||
@@ -305,31 +614,16 @@ function listToString(list, separator) {
|
||||
}
|
||||
/**计算合计金额 */
|
||||
function handleTotalAmount() {
|
||||
totalPrice.counts = purchaseinventoryList.value.length
|
||||
totalPrice.medfeeSumamt = purchaseinventoryList.value.reduce(
|
||||
(accumulator, currentRow) => {
|
||||
return Number(
|
||||
(accumulator + Number(currentRow.medfeeSumamt || 0)).toFixed(2)
|
||||
);
|
||||
},
|
||||
0
|
||||
);
|
||||
totalPrice.fundAppySum = purchaseinventoryList.value.reduce(
|
||||
(accumulator, currentRow) => {
|
||||
return Number(
|
||||
(accumulator + Number(currentRow.fundPaySumamt || 0)).toFixed(2)
|
||||
);
|
||||
},
|
||||
0
|
||||
);
|
||||
totalPrice.acctPay = purchaseinventoryList.value.reduce(
|
||||
(accumulator, currentRow) => {
|
||||
return Number(
|
||||
(accumulator + Number(currentRow.acctPay || 0)).toFixed(2)
|
||||
);
|
||||
},
|
||||
0
|
||||
);
|
||||
totalPrice.counts = purchaseinventoryList.value.length;
|
||||
totalPrice.medfeeSumamt = purchaseinventoryList.value.reduce((accumulator, currentRow) => {
|
||||
return Number((accumulator + Number(currentRow.medfeeSumamt || 0)).toFixed(2));
|
||||
}, 0);
|
||||
totalPrice.fundAppySum = purchaseinventoryList.value.reduce((accumulator, currentRow) => {
|
||||
return Number((accumulator + Number(currentRow.fundPaySumamt || 0)).toFixed(2));
|
||||
}, 0);
|
||||
totalPrice.acctPay = purchaseinventoryList.value.reduce((accumulator, currentRow) => {
|
||||
return Number((accumulator + Number(currentRow.acctPay || 0)).toFixed(2));
|
||||
}, 0);
|
||||
// 现金支付金额
|
||||
// cashPayamt.value = purchaseinventoryList.value.reduce(
|
||||
// (accumulator, currentRow) => {
|
||||
@@ -355,7 +649,6 @@ function getPharmacyCabinetLists() {
|
||||
{ value: 380, label: '新型农村合作医疗' },
|
||||
{ value: 391, label: '城镇居民基本医疗保险' },
|
||||
{ value: 392, label: '城乡居民大病医疗保险' },
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
@@ -369,18 +662,17 @@ function getList() {
|
||||
applyFinancialClearingList(queryParams.value).then((res) => {
|
||||
// console.log(res,"res----------------")
|
||||
// loading.value = false;
|
||||
// purchaseinventoryList.value = [{psnNo:"123",mdtrtId:"121",setlId:"1213",medfeeSumamt:"122",fundPaySumamt:"12",acctPay:"4.72",insutype:"410",clrType: 11,contractNo:"229900"},{psnNo:"123",mdtrtId:"121",setlId:"1213",medfeeSumamt:"122",fundPaySumamt:"12",acctPay:"7.43",insutype:"410",clrType: 11,contractNo:"229900"},{psnNo:"123",mdtrtId:"121",setlId:"1213",medfeeSumamt:"122",fundPaySumamt:"12",acctPay:"1",insutype:"410",clrType: 11,contractNo:"229900"},{psnNo:"123",mdtrtId:"121",setlId:"1213",medfeeSumamt:"122",fundPaySumamt:"12",acctPay:"-1",insutype:"410",clrType: 11,contractNo:"229900"}]
|
||||
purchaseinventoryList.value = res.data.records ? res.data.records : res.data;
|
||||
total.value = res.data.total;
|
||||
});
|
||||
}
|
||||
|
||||
function handleApplyForLiquidation() {
|
||||
let params = {}
|
||||
params.clrType = queryParams.value.clrType ? queryParams.value.clrType : ""
|
||||
params.setlOptins = queryParams.value.setlOptins ? queryParams.value.setlOptins : ""
|
||||
params.stmtBegnDate = queryParams.value.stmtBegnDate ? queryParams.value.stmtBegnDate : ""
|
||||
params.stmtEndDate = queryParams.value.stmtEndDate ? queryParams.value.stmtEndDate : ""
|
||||
let params = {};
|
||||
params.clrType = queryParams.value.clrType ? queryParams.value.clrType : '';
|
||||
params.setlOptins = queryParams.value.setlOptins ? queryParams.value.setlOptins : '';
|
||||
params.stmtBegnDate = queryParams.value.stmtBegnDate ? queryParams.value.stmtBegnDate : '';
|
||||
params.stmtEndDate = queryParams.value.stmtEndDate ? queryParams.value.stmtEndDate : '';
|
||||
autoApplyFinancialClearing(params).then((res) => {
|
||||
console.log(res.data, 'res----------------');
|
||||
loading.value = false;
|
||||
@@ -393,34 +685,39 @@ function isAllSelected() {
|
||||
function revokedSelectedRows(row) {
|
||||
let queryParamsss = {
|
||||
clrAppyEvtId: row.outResult,
|
||||
clroptins: queryParams.value.setlOptins ? queryParams.value.setlOptins : "",
|
||||
}
|
||||
applyUnClearing(queryParamsss).then(res => {
|
||||
proxy.$message.success('撤销成功')
|
||||
getList()
|
||||
}).catch(err => {
|
||||
proxy.$message.error('撤销失败')
|
||||
})
|
||||
clroptins: queryParams.value.setlOptins ? queryParams.value.setlOptins : '',
|
||||
};
|
||||
applyUnClearing(queryParamsss)
|
||||
.then((res) => {
|
||||
proxy.$message.success('撤销成功');
|
||||
getList();
|
||||
})
|
||||
.catch((err) => {
|
||||
proxy.$message.error('撤销失败');
|
||||
});
|
||||
}
|
||||
|
||||
/** 选择条数 */
|
||||
function handleSelectionChange(selection) {
|
||||
selectedRow.value = selection
|
||||
console.log(selectedRow.value, "selectedRow.value")
|
||||
selectedRow.value = selection;
|
||||
console.log(selectedRow.value, 'selectedRow.value');
|
||||
ids.value = selection.map((item) => item.setlId);
|
||||
single.value = selection.length != 1;
|
||||
multiple.value = !selection.length;
|
||||
}
|
||||
function handOperatedApply() {
|
||||
const params = { ...totalPrice }
|
||||
params.clrOptins = queryParams.value.setlOptins ? queryParams.value.setlOptins : ""
|
||||
params.begndate = occurrenceTime.value[0] ? occurrenceTime.value[0] + ' 00:00:00' : ""
|
||||
params.enddate = occurrenceTime.value[1] ? occurrenceTime.value[1] + ' 23:59:59' : ""
|
||||
params.clrType = queryParams.value.clrType ? queryParams.value.clrType : ""
|
||||
handOperatedApplyFinancialClearing(params).then(res => {
|
||||
}).catch(err => {
|
||||
proxy.$message.error('申请失败')
|
||||
})
|
||||
const params = { ...totalPrice };
|
||||
params.clrOptins = totalPrice.setlOptins ? totalPrice.setlOptins : '';
|
||||
params.begndate = occurrenceTime.value[0] ? occurrenceTime.value[0] + ' 00:00:00' : '';
|
||||
params.enddate = occurrenceTime.value[1] ? occurrenceTime.value[1] + ' 23:59:59' : '';
|
||||
params.clrType = queryParams.value.clrType ? queryParams.value.clrType : '';
|
||||
handOperatedApplyFinancialClearing(params)
|
||||
.then((res) => {
|
||||
reconciliation.value = res.data;
|
||||
})
|
||||
.catch((err) => {
|
||||
proxy.$message.error('申请失败');
|
||||
});
|
||||
}
|
||||
|
||||
function hendleTabChange() {
|
||||
@@ -430,39 +727,43 @@ function hendleTabChange() {
|
||||
totalPrice.cashPayamt = 0;
|
||||
totalPrice.counts = 0;
|
||||
totalPrice.setlCnt = 0;
|
||||
totalPrice.medSumfee = 0.00;
|
||||
totalPrice.medSumfee = 0.0;
|
||||
occurrenceTime.value = [
|
||||
formatDateStr(getFirstDayOfMonth(new Date()), 'YYYY-MM-DD'), // 当前月份的第一天
|
||||
formatDateStr(new Date(), 'YYYY-MM-DD') // 当天
|
||||
]
|
||||
purchaseinventoryList.value = []
|
||||
formatDateStr(new Date(), 'YYYY-MM-DD'), // 当天
|
||||
];
|
||||
purchaseinventoryList.value = [];
|
||||
queryParams.value = {
|
||||
setlOptins: '229900',
|
||||
setlOptins: undefined,
|
||||
filePath: undefined,
|
||||
orgId: undefined,
|
||||
clrType: undefined,
|
||||
fileQuryNo: undefined,
|
||||
stmtBegnDate: undefined,
|
||||
stmtEndDate: undefined,
|
||||
}
|
||||
};
|
||||
reconciliation.value = '';
|
||||
}
|
||||
|
||||
function handOperatedReconcileAccounts() {
|
||||
const params = { ...totalPrice }
|
||||
params.clrOptins = queryParams.value.setlOptins ? queryParams.value.setlOptins : ""
|
||||
params.begndate = occurrenceTime.value[0] ? occurrenceTime.value[0] + ' 00:00:00' : ""
|
||||
params.enddate = occurrenceTime.value[1] ? occurrenceTime.value[1] + ' 23:59:59' : ""
|
||||
params.clrType = queryParams.value.clrType ? queryParams.value.clrType : ""
|
||||
params.insutype = queryParams.value.insutype ? queryParams.value.insutype : ""
|
||||
handOperatedApplyReconcileAccounts(params).then(res => {
|
||||
}).catch(err => {
|
||||
proxy.$message.error('对账失败')
|
||||
})
|
||||
const params = { ...totalPrice };
|
||||
params.clrOptins = totalPrice.setlOptins ? totalPrice.setlOptins : '';
|
||||
params.begndate = occurrenceTime.value[0] ? occurrenceTime.value[0] + ' 00:00:00' : '';
|
||||
params.enddate = occurrenceTime.value[1] ? occurrenceTime.value[1] + ' 23:59:59' : '';
|
||||
params.clrType = queryParams.value.clrType ? queryParams.value.clrType : '';
|
||||
params.insutype = queryParams.value.insutype ? queryParams.value.insutype : '';
|
||||
handOperatedApplyReconcileAccounts(params)
|
||||
.then((res) => {
|
||||
reconciliation.value = res.data;
|
||||
})
|
||||
.catch((err) => {
|
||||
proxy.$message.error('对账失败');
|
||||
});
|
||||
}
|
||||
//点击列表当前行
|
||||
function handleRowClick(row) {
|
||||
// editRowTK.value = row
|
||||
console.log(row, "row")
|
||||
console.log(row, 'row');
|
||||
// if(row.returnStatus==1){
|
||||
// loadingReturn.value = true
|
||||
// generatedReturnDetail(row.supplyBusNo).then((response) => {
|
||||
@@ -470,16 +771,15 @@ function handleRowClick(row) {
|
||||
// purchaseinventoryReturnList.value.map(k=>{
|
||||
// // k.returnStatus_text = k.returnStatus==1?'已退库':''
|
||||
// k.originalSupplyBusNo = k.originalSupplyBusNo?k.originalSupplyBusNo:row.supplyBusNo
|
||||
// })
|
||||
// })
|
||||
|
||||
// })
|
||||
// loadingReturn.value = false
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
getList();
|
||||
getPharmacyCabinetLists()
|
||||
getPharmacyCabinetLists();
|
||||
</script>
|
||||
<style scoped>
|
||||
.custom-tree-node {
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryRef"
|
||||
:inline="true"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form-item label="药品名称:" prop="searchKey">
|
||||
<el-input
|
||||
v-model="queryParams.searchKey"
|
||||
placeholder="编码/单据号/药品名称"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="单据号:" prop="busNo">
|
||||
<el-form :model="queryParams" ref="queryRef" :inline="true" label-width="100px">
|
||||
<el-form-item label="药品名称:" prop="searchKey">
|
||||
<el-input
|
||||
v-model="queryParams.searchKey"
|
||||
placeholder="编码/单据号/药品名称"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="单据号:" prop="busNo">
|
||||
<el-input
|
||||
v-model="queryParams.busNo"
|
||||
placeholder="单据号:"
|
||||
@@ -67,7 +62,7 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="存放仓库:" prop="purposeLocationId" >
|
||||
<el-form-item label="存放仓库:" prop="purposeLocationId">
|
||||
<el-select
|
||||
v-model="queryParams.purposeLocationId"
|
||||
placeholder=""
|
||||
@@ -75,14 +70,14 @@
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option
|
||||
v-for="supplyStatus in locationIdList"
|
||||
v-for="supplyStatus in locationIdList"
|
||||
:key="supplyStatus.value"
|
||||
:label="supplyStatus.name"
|
||||
:value="supplyStatus.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<!-- <el-form-item label="项目类型:" prop="categoryType">
|
||||
<el-select
|
||||
v-model="queryParams.categoryType"
|
||||
@@ -99,12 +94,7 @@
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="供应商:" prop="supplierId">
|
||||
<el-select
|
||||
v-model="queryParams.supplierId"
|
||||
placeholder=""
|
||||
clearable
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-select v-model="queryParams.supplierId" placeholder="" clearable style="width: 150px">
|
||||
<el-option
|
||||
v-for="supplierList in supplierListOptions"
|
||||
:key="supplierList.value"
|
||||
@@ -118,33 +108,14 @@
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<!-- v-hasPermi="['system:user:import']" -->
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="Search"
|
||||
@click="handleQuery"
|
||||
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button type="primary" plain icon="Search" @click="handleQuery">查询</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<!-- v-hasPermi="['system:user:export']" -->
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="CircleClose"
|
||||
@click="handleClear"
|
||||
|
||||
>重置</el-button
|
||||
>
|
||||
<el-button type="warning" plain icon="CircleClose" @click="handleClear">重置</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="Download"
|
||||
@click="handleExport"
|
||||
>导出</el-button>
|
||||
<el-button type="warning" plain icon="Download" @click="handleExport">导出</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
@@ -152,9 +123,10 @@
|
||||
v-loading="loading"
|
||||
:data="purchaseinventoryList"
|
||||
@selection-change="handleSelectionChange"
|
||||
height="calc(100vh - 300px)"
|
||||
>
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<!-- <el-table-column
|
||||
<!-- <el-table-column
|
||||
label="药品名称"
|
||||
align="center"
|
||||
key="name"
|
||||
@@ -167,7 +139,7 @@
|
||||
align="center"
|
||||
key="supplyBusno"
|
||||
prop="supplyBusno"
|
||||
width="200"
|
||||
width="200"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<!-- itemTable -->
|
||||
@@ -176,7 +148,7 @@
|
||||
align="center"
|
||||
key="name"
|
||||
prop="name"
|
||||
width="140"
|
||||
width="140"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
@@ -208,7 +180,7 @@
|
||||
align="center"
|
||||
key="locationName"
|
||||
prop="locationName"
|
||||
width="140"
|
||||
width="140"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
@@ -267,7 +239,7 @@
|
||||
prop="department"
|
||||
:show-overflow-tooltip="true"
|
||||
/> -->
|
||||
<el-table-column
|
||||
<el-table-column
|
||||
label="供应商"
|
||||
align="center"
|
||||
key="supplier"
|
||||
@@ -320,8 +292,8 @@
|
||||
import {
|
||||
getReportInboundPCage,
|
||||
getPharmacyCabinetList,
|
||||
getInboundInit
|
||||
} from "./statisticalManagent";
|
||||
getInboundInit,
|
||||
} from './statisticalManagent';
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
const route = useRoute();
|
||||
@@ -347,17 +319,17 @@ const data = reactive({
|
||||
queryParams: {
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
searchKey: undefined,
|
||||
busNo: undefined,
|
||||
name:undefined,
|
||||
searchKey: undefined,
|
||||
busNo: undefined,
|
||||
name: undefined,
|
||||
medicationDefId: undefined,
|
||||
// approvalTime:undefined,
|
||||
department:undefined,
|
||||
department: undefined,
|
||||
purposeLocationId: undefined,
|
||||
categoryType: undefined,
|
||||
supplierId: undefined,
|
||||
occurrenceTimeSTime:undefined,
|
||||
occurrenceTimeETime:undefined,
|
||||
categoryType: undefined,
|
||||
supplierId: undefined,
|
||||
occurrenceTimeSTime: undefined,
|
||||
occurrenceTimeETime: undefined,
|
||||
},
|
||||
rules: {},
|
||||
});
|
||||
@@ -366,24 +338,28 @@ const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
function getPharmacyCabinetLists() {
|
||||
getPharmacyCabinetList().then((response) => {
|
||||
locationIdList.value = response.data
|
||||
locationIdList.value = response.data;
|
||||
});
|
||||
getInboundInit().then((response) => {
|
||||
supplierListOptions.value = response.data.supplierListOptions
|
||||
})
|
||||
supplierListOptions.value = response.data.supplierListOptions;
|
||||
});
|
||||
}
|
||||
/** 导出按钮操作 */
|
||||
function handleExport() {
|
||||
proxy.$download.downloadGet("report-manage/inbound/excel-out", {
|
||||
...queryParams.value
|
||||
}, `dict_${new Date().getTime()}.xlsx`);
|
||||
proxy.$download.downloadGet(
|
||||
'report-manage/inbound/excel-out',
|
||||
{
|
||||
...queryParams.value,
|
||||
},
|
||||
`dict_${new Date().getTime()}.xlsx`
|
||||
);
|
||||
}
|
||||
/** 查询调拨管理项目列表 */
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
getReportInboundPCage(queryParams.value).then((res) => {
|
||||
loading.value = false;
|
||||
purchaseinventoryList.value = res.data.records
|
||||
purchaseinventoryList.value = res.data.records;
|
||||
total.value = res.data.total;
|
||||
});
|
||||
}
|
||||
@@ -393,7 +369,11 @@ watch(
|
||||
() => route.query,
|
||||
(newQuery) => {
|
||||
// 如果路由中包含指定参数,则使用这些参数进行查询
|
||||
if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) {
|
||||
if (
|
||||
newQuery.purposeLocationId ||
|
||||
newQuery.occurrenceTimeSTime ||
|
||||
newQuery.occurrenceTimeETime
|
||||
) {
|
||||
// 设置查询参数
|
||||
if (newQuery.purposeLocationId) {
|
||||
queryParams.value.purposeLocationId = newQuery.purposeLocationId;
|
||||
@@ -404,7 +384,7 @@ watch(
|
||||
if (newQuery.occurrenceTimeETime) {
|
||||
queryParams.value.occurrenceTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59';
|
||||
}
|
||||
|
||||
|
||||
// 执行查询
|
||||
getList();
|
||||
}
|
||||
@@ -415,13 +395,9 @@ watch(
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
queryParams.value.occurrenceTimeSTime =
|
||||
approvalTime.value && approvalTime.value.length == 2
|
||||
? approvalTime.value[0] + " 00:00:00"
|
||||
: "";
|
||||
approvalTime.value && approvalTime.value.length == 2 ? approvalTime.value[0] + ' 00:00:00' : '';
|
||||
queryParams.value.occurrenceTimeETime =
|
||||
approvalTime.value && approvalTime.value.length == 2
|
||||
? approvalTime.value[1] + " 23:59:59"
|
||||
: "";
|
||||
approvalTime.value && approvalTime.value.length == 2 ? approvalTime.value[1] + ' 23:59:59' : '';
|
||||
queryParams.value.pageNo = 1;
|
||||
getList();
|
||||
}
|
||||
@@ -429,10 +405,10 @@ function handleQuery() {
|
||||
/** 清空条件按钮操作 */
|
||||
function handleClear() {
|
||||
// 清空查询条件
|
||||
queryParams.value.occurrenceTimeSTime = ""
|
||||
queryParams.value.occurrenceTimeETime = ""
|
||||
approvalTime.value = ""
|
||||
proxy.resetForm("queryRef");
|
||||
queryParams.value.occurrenceTimeSTime = '';
|
||||
queryParams.value.occurrenceTimeETime = '';
|
||||
approvalTime.value = '';
|
||||
proxy.resetForm('queryRef');
|
||||
getList();
|
||||
}
|
||||
|
||||
@@ -444,7 +420,7 @@ function handleSelectionChange(selection) {
|
||||
}
|
||||
|
||||
getList();
|
||||
getPharmacyCabinetLists()
|
||||
getPharmacyCabinetLists();
|
||||
</script>
|
||||
<style scoped>
|
||||
.custom-tree-node {
|
||||
@@ -457,4 +433,4 @@ getPharmacyCabinetLists()
|
||||
font-size: large;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 300px"
|
||||
@change="handleQuery"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="清算类型:" prop="clrType">
|
||||
@@ -33,7 +34,7 @@
|
||||
v-model="queryParams.insuType"
|
||||
placeholder="请选择险种类型"
|
||||
clearable
|
||||
style="width: 150px"
|
||||
style="width: 200px"
|
||||
>
|
||||
<el-option
|
||||
v-for="insuType in insutype"
|
||||
@@ -58,24 +59,9 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="医院" prop="orgId">
|
||||
<el-input
|
||||
v-model="queryParams.orgId"
|
||||
placeholder="请输入医院id"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
</el-form>
|
||||
<!-- <el-col :span="1.5"> -->
|
||||
<!-- v-hasPermi="['system:user:import']" -->
|
||||
<!-- <el-button type="primary" plain icon="Edit" @click="getList">查询</el-button> -->
|
||||
<el-button type="primary" plain icon="Edit" @click="handleQuery">结算</el-button>
|
||||
<!-- </el-col> -->
|
||||
<!-- <el-col :span="1.5"> -->
|
||||
<!-- v-hasPermi="['system:user:export']" -->
|
||||
<el-button
|
||||
<el-button type="primary" plain icon="Edit" @click="handleQuery">获取医保交易数据</el-button>
|
||||
<!-- <el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="Edit"
|
||||
@@ -83,34 +69,20 @@
|
||||
:disabled="ids.length == 0"
|
||||
>
|
||||
医保对总账
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="Edit"
|
||||
@click="handleGetClroptins"
|
||||
>
|
||||
</el-button> -->
|
||||
<!-- <el-button type="primary" plain icon="Edit" @click="handleGetClroptins">
|
||||
清算机构查询
|
||||
</el-button>
|
||||
</el-button> -->
|
||||
<!-- </el-col> -->
|
||||
</el-row>
|
||||
<!-- <div style="margin-bottom: 5px">
|
||||
定点医药机构结算笔数:{{ counts }}(其中 医疗费总额:{{ totalPrice1 }},基金支付总额:{{
|
||||
totalPrice2
|
||||
}},个人账户支付金额:{{ totalPrice3 }},现金支付金额:{{ totalPrice4 }},认可费用总额:{{
|
||||
totalPrice5
|
||||
}}
|
||||
)
|
||||
</div> -->
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
:data="purchaseinventoryList"
|
||||
border
|
||||
@select="clickRow"
|
||||
ref="refTables"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<!-- <el-table-column type="selection" width="50" align="center" /> -->
|
||||
<el-table-column label="清算类别" align="center" prop="contractNo_dictText" />
|
||||
<el-table-column label="险种" align="center" prop="insutype_dictText" />
|
||||
<el-table-column label="是否异地" align="center" key="locationName" prop="locationName" />
|
||||
@@ -144,6 +116,11 @@
|
||||
{{ scope.row.fixMedInsSetlCnt + ' 笔' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" link @click="handleReconciliation(scope.row)">对账</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- <pagination
|
||||
v-show="total > 0"
|
||||
@@ -154,26 +131,38 @@
|
||||
/> -->
|
||||
<el-form :inline="true" label-width="90px" style="width: 100%; margin-top: 30px">
|
||||
<el-form-item label="对账结果:" style="width: 100%">
|
||||
<el-input
|
||||
v-model="reconciliation"
|
||||
:autosize="{ minRows: 4, maxRows: 10 }"
|
||||
type="textarea"
|
||||
disabled
|
||||
placeholder=""
|
||||
/>
|
||||
<div
|
||||
style="
|
||||
background: #f5f7fa;
|
||||
border: solid 1px;
|
||||
border-color: #e4e7ed;
|
||||
width: 50%;
|
||||
height: 100px;
|
||||
"
|
||||
>
|
||||
<span>{{ reconciliation }}</span>
|
||||
<el-button
|
||||
v-if="reconciliation && reconciliation != 'OK'"
|
||||
type="primary"
|
||||
link
|
||||
@click="toReconcileRecord"
|
||||
>
|
||||
手动对账
|
||||
</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="reconciliation">
|
||||
<script setup name="Reconciliation">
|
||||
import {
|
||||
ybRequestReconcile, // 医保对账
|
||||
getReconcileList, // 对账列表 结算
|
||||
getContractList, // 合同
|
||||
getClroptins,
|
||||
} from './statisticalManagent';
|
||||
import { formatDate } from '@/utils/index';
|
||||
import { formatDate, formatDateStr } from '@/utils/index';
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { insutype } = proxy.useDict('insutype');
|
||||
// 险种类型
|
||||
@@ -183,10 +172,15 @@ const ids = ref([]);
|
||||
const single = ref(true);
|
||||
const multiple = ref(true);
|
||||
const total = ref(0);
|
||||
const occurrenceTime = ref([formatDate(new Date()), formatDate(new Date())]);
|
||||
const occurrenceTime = ref([
|
||||
formatDateStr(new Date(), 'YYYY-MM-DD'),
|
||||
formatDateStr(new Date(), 'YYYY-MM-DD'),
|
||||
]);
|
||||
const contractNoOptions = ref([]);
|
||||
const clrTypeOptions = ref([]);
|
||||
('');
|
||||
const selectedRow = ref(null);
|
||||
const currentRow = ref({});
|
||||
const reconciliation = ref('');
|
||||
const counts = ref(0);
|
||||
const totalPrice1 = ref(0);
|
||||
@@ -202,7 +196,7 @@ const data = reactive({
|
||||
// pageSize: 10,
|
||||
// searchKey: undefined,
|
||||
insuType: undefined, // 险种
|
||||
clrType: undefined, //住院或门诊
|
||||
clrType: 11, //住院或门诊
|
||||
contractNo: undefined,
|
||||
orgId: undefined,
|
||||
stmtBegnDate: undefined,
|
||||
@@ -267,18 +261,20 @@ function handleQuery() {
|
||||
? occurrenceTime.value[1] + ' 23:59:59'
|
||||
: '';
|
||||
// queryParams.value.pageNo = 1;
|
||||
reconciliation.value = '';
|
||||
getList();
|
||||
}
|
||||
|
||||
/** 按钮操作 */
|
||||
function handleReconciliation() {
|
||||
function handleReconciliation(row) {
|
||||
// 调用接口返回值
|
||||
// loading.value = true;
|
||||
currentRow.value = row;
|
||||
reconciliation.value = '';
|
||||
let queryParams = {
|
||||
insuType: selectedRow.value.insutype.toString(),
|
||||
clrType: selectedRow.value.clrType,
|
||||
contractNo: selectedRow.value.contractNo.toString(),
|
||||
insuType: row.insutype.toString(),
|
||||
clrType: row.clrType,
|
||||
contractNo: row.contractNo.toString(),
|
||||
stmtBegnDate:
|
||||
occurrenceTime.value && occurrenceTime.value.length == 2
|
||||
? occurrenceTime.value[0] + ' 00:00:00'
|
||||
@@ -302,6 +298,17 @@ function handleSelectionChange(selection) {
|
||||
multiple.value = !selection.length;
|
||||
}
|
||||
|
||||
function toReconcileRecord() {
|
||||
// 跳转到清算记录页面,并携带当前选中行的数据
|
||||
proxy.$router.push({
|
||||
name: 'LiquidationRecords',
|
||||
query: {
|
||||
currentRow: JSON.stringify(currentRow.value),
|
||||
occurrenceTime: occurrenceTime.value,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
function handleGetClroptins() {
|
||||
getClroptins({ pageNum: 1, pageSize: 100, fixmedinsCode: 'H22010200672' }).then((res) => {});
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="app-container" v-loading="pageLoading" loading-text="审批中...">
|
||||
<el-row :gutter="10" class="mb8" v-if="viewStatus">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
@@ -819,6 +819,7 @@ const visible = ref(false);
|
||||
const row = ref({});
|
||||
const rowIndex = ref(-1);
|
||||
const totalAmount = ref(0);
|
||||
const pageLoading = ref(false)
|
||||
|
||||
const form = reactive({
|
||||
purchaseinventoryList: [],
|
||||
@@ -1070,7 +1071,9 @@ function handleClickOutside(event) {
|
||||
}
|
||||
|
||||
function handelApply() {
|
||||
pageLoading.value = true;
|
||||
productTransferApproved(route.query.supplyBusNo).then((res) => {
|
||||
pageLoading.value = false
|
||||
if (res.code == 200) {
|
||||
proxy.$modal.msgSuccess("操作成功");
|
||||
store.clearCurrentDataPLDB();
|
||||
@@ -1078,6 +1081,8 @@ function handelApply() {
|
||||
// 跳转到审核页面
|
||||
router.replace({ path: '/aaaa/medicationmanagement/billapproval',query:{type:'batchTransfer'}});
|
||||
}
|
||||
}).catch(() => {
|
||||
pageLoading.value = false
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="app-container" v-loading="pageLoading" loading-text="审批中...">
|
||||
<el-row :gutter="10" class="mb8" v-if="viewStatus">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
@@ -817,6 +817,7 @@ const tableRef = ref(undefined); // 表格引用
|
||||
const currentRow = ref(undefined); // 当前操作的行
|
||||
const medicineSearchKey = ref("");
|
||||
const itemType = ref("");
|
||||
const pageLoading = ref(false)
|
||||
const forms = reactive({
|
||||
purchaseinventoryList: [],
|
||||
})
|
||||
@@ -1211,8 +1212,10 @@ function handleClickOutside(event) {
|
||||
}
|
||||
|
||||
function handelApply() {
|
||||
pageLoading.value = true
|
||||
productTransferApproved(route.query.supplyBusNo).then((res) => {
|
||||
if (res.code == 200) {
|
||||
pageLoading.value = false
|
||||
proxy.$modal.msgSuccess("操作成功");
|
||||
tagsViewStore.delView(router.currentRoute.value);
|
||||
store.clearCurrentDataDB();
|
||||
@@ -1222,7 +1225,9 @@ function handelApply() {
|
||||
// toLastView(visitedViews, route)
|
||||
// })
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
pageLoading.value = false
|
||||
});
|
||||
}
|
||||
|
||||
// 驳回
|
||||
@@ -1314,6 +1319,8 @@ function handleLocationClick(id,purposeLocationId,itemId, index) {
|
||||
form.purchaseinventoryList[index].itemTable = res.data[0].itemTable || ""
|
||||
form.purchaseinventoryList[index].totalPurposeQuantity = res.data[0].objQuantity || 0;
|
||||
form.purchaseinventoryList[index].totalSourceQuantity = res.data[0].orgQuantity || 0;
|
||||
// 临时存一下价格 处理切换单位时候丢精度的问题
|
||||
form.purchaseinventoryList[index].tempPrice = res.data[0].price;
|
||||
|
||||
form.purchaseinventoryList[index].traceNo = res.data[0].traceNo || "";
|
||||
form.purchaseinventoryList[index].supplierId = res.data[0].supplierId || "";
|
||||
@@ -1505,8 +1512,7 @@ function getMaxCounts(row,index,counts){
|
||||
(decimalPart*row.partPercent).toFixed(0) + form.purchaseinventoryList[index].minUnitCode_dictText
|
||||
}
|
||||
}else{
|
||||
form.purchaseinventoryList[index].price =
|
||||
form.purchaseinventoryList[index].price * row.partPercent;
|
||||
form.purchaseinventoryList[index].price = row.tempPrice
|
||||
form.purchaseinventoryList[index].price = form.purchaseinventoryList[index].price.toFixed(2);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user