版本更新
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
import request from '@/utils/request'
|
||||
export function getRreportReturnIssue(query) {
|
||||
return request({
|
||||
url:'/report-manage/return-issue/report-return-issue',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 获取科室列表
|
||||
export function getDepartmentList() {
|
||||
return request({
|
||||
url: '/app-common/department-list',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
|
||||
// 获取日结
|
||||
export function getTotal(params) {
|
||||
return request({
|
||||
url: '/payment/bill/getTotal',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
// 查询费用性质
|
||||
export function getContractList() {
|
||||
return request({
|
||||
url: '/app-common/contract-list',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 获取门诊日结数据
|
||||
export function getClincReport(params) {
|
||||
return request({
|
||||
url: '/payment/bill/getTotalCcu',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
// 获取全部人员
|
||||
export function getAllUser(params) {
|
||||
return request({
|
||||
url: '/base-data-manage/practitioner/user-practitioner-page',
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
import axios from 'axios';
|
||||
|
||||
export function testWithAxios() {
|
||||
return axios.create(
|
||||
{
|
||||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||||
baseURL: '/api',
|
||||
// 超时
|
||||
timeout: 60000
|
||||
}
|
||||
).post('/api/data/', {
|
||||
FunctionId: 3
|
||||
});
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
436
openhis-ui-vue3/src/views/clinicmanagement/dayEnd/index.vue
Normal file
436
openhis-ui-vue3/src/views/clinicmanagement/dayEnd/index.vue
Normal file
@@ -0,0 +1,436 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryRef"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="90px"
|
||||
>
|
||||
<el-form-item label="查询日期:">
|
||||
<el-date-picker
|
||||
v-model="queryTime"
|
||||
type="daterange"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 300px; margin-right: 20px"
|
||||
@change="getValue"
|
||||
value-format="YYYY-MM-DD"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="费用性质:">
|
||||
<el-select
|
||||
v-model="contractNo"
|
||||
placeholder="费用性质"
|
||||
clearable
|
||||
@change="getValue"
|
||||
style="width: 150px; margin-right: 30px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in contractList"
|
||||
:key="item.busNo"
|
||||
:label="item.contractName"
|
||||
:value="item.busNo"
|
||||
/>
|
||||
</el-select>
|
||||
<el-button type="primary" plain icon="Search" @click="getValue">查询</el-button>
|
||||
<el-button type="primary" plain icon="Printer" @click="print">打印</el-button>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="科室:" prop="sourceLocationId">
|
||||
<el-select
|
||||
v-model="queryParams.sourceLocationId"
|
||||
placeholder=""
|
||||
clearable
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option
|
||||
v-for="issueDepartment in issueDepartmentDto"
|
||||
:key="issueDepartment.id"
|
||||
:label="issueDepartment.name"
|
||||
:value="issueDepartment.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
</el-form>
|
||||
|
||||
<!-- <el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="Search" @click="getValue">查询</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="CircleClose" @click="handleClear">重置</el-button>
|
||||
</el-col>
|
||||
</el-row> -->
|
||||
<div v-loading="loading">
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<!-- <el-col :span="3">
|
||||
<span>经办人编号:</span>
|
||||
</el-col> -->
|
||||
<el-col :span="3">
|
||||
<span class="label">经办人姓名:</span>
|
||||
<span class="value"> {{ userStore.nickName }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">科室:</span>
|
||||
<span class="value">{{ userStore.orgName }}</span>
|
||||
</el-col>
|
||||
<el-col :span="4.5">
|
||||
<span class="label">时间:</span>
|
||||
<span class="value"> {{ queryTime[0] + '~' + queryTime[1] }} </span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="3">
|
||||
<span class="label">实际现金收入:</span>
|
||||
<span class="value"> {{ formatValue(reportValue.cashSum) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">现金:</span>
|
||||
<span class="value">{{ formatValue(reportValue.rmbCashSum) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">微信:</span>
|
||||
<span class="value">{{ formatValue(reportValue.vxCashSum) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">支付宝:</span>
|
||||
<span class="value">{{ formatValue(reportValue.aliCashSum) }}</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="3">
|
||||
<span class="label">统筹支付:</span>
|
||||
<span class="value">{{ formatValue(reportValue.tcSum) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">账户支付:</span>
|
||||
<span class="value">{{ formatValue(reportValue.zhSum) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">基金支付总额:</span>
|
||||
<span class="value">{{ formatValue(reportValue.fundSum) }}</span>
|
||||
</el-col>
|
||||
<!-- <el-col :span="3">
|
||||
<span>医保人次:{{ reportValue.aliCashSum }}</span>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="3">
|
||||
<span class="label">诊查费:</span>
|
||||
<span class="value">{{ formatValue(reportValue.DIAGNOSTIC_FEE) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">检查费:</span>
|
||||
<span class="value">{{ formatValue(reportValue.CHECK_FEE) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">化验费:</span>
|
||||
<span class="value">{{ formatValue(reportValue.DIAGNOSTIC_TEST_FEE) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">治疗费:</span>
|
||||
<span class="value">{{ formatValue(reportValue.MEDICAL_EXPENSE_FEE) }}</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="3">
|
||||
<span class="label">西药费:</span>
|
||||
<span class="value">{{ formatValue(reportValue.WEST_MEDICINE) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">中药饮片费:</span>
|
||||
<span class="value">{{ formatValue(reportValue.CHINESE_MEDICINE_SLICES_FEE) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">中成药费:</span>
|
||||
<span class="value">{{ formatValue(reportValue.CHINESE_MEDICINE_FEE) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">卫生材料费:</span>
|
||||
<span class="value">{{ formatValue(reportValue.SANITARY_MATERIALS_FEE) }}</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="3">
|
||||
<span class="label">诊疗费:</span>
|
||||
<span class="value">{{ formatValue(reportValue.GENERAL_CONSULTATION_FEE) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">挂号费:</span>
|
||||
<span class="value">{{ formatValue(reportValue.REGISTRATION_FEE) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<span class="label">其他费用:</span>
|
||||
<span class="value">{{ formatValue(reportValue.OTHER_FEE) }}</span>
|
||||
</el-col>
|
||||
<!-- <el-col :span="3">
|
||||
<span>现金:</span>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="dayEnd">
|
||||
import { getRreportReturnIssue, getTotal, getContractList } from './component/api';
|
||||
import dayjs from 'dayjs';
|
||||
import useUserStore from '@/store/modules/user';
|
||||
import { formatDate, formatDateStr } from '@/utils/index';
|
||||
import Decimal from 'decimal.js';
|
||||
|
||||
const userStore = useUserStore();
|
||||
// import Dialog from "./components/Dialog";
|
||||
|
||||
const router = useRouter();
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const purchaseinventoryRef = ref(null); // 初始化 ref
|
||||
const purchaseinventoryList = ref([]);
|
||||
const open = ref(false);
|
||||
const loading = ref(true);
|
||||
const showSearch = ref(true);
|
||||
const ids = ref([]);
|
||||
const single = ref(true);
|
||||
const multiple = ref(true);
|
||||
const total = ref(0);
|
||||
const title = ref('');
|
||||
const contractList = ref(undefined);
|
||||
const reportValue = ref({});
|
||||
const queryTime = ref([
|
||||
formatDateStr(new Date(), 'YYYY-MM-DD'),
|
||||
formatDateStr(new Date(), 'YYYY-MM-DD'),
|
||||
]);
|
||||
const contractNo = ref('0000');
|
||||
|
||||
const data = reactive({
|
||||
queryParams: {
|
||||
form: {},
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
searchKey: undefined,
|
||||
purposeLocationId: undefined,
|
||||
sourceLocationId: undefined,
|
||||
supplierId: undefined,
|
||||
approvalTimeSTime: undefined,
|
||||
approvalTimeETime: undefined,
|
||||
},
|
||||
rules: {},
|
||||
});
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
getValue();
|
||||
function getValue() {
|
||||
loading.value = true;
|
||||
getTotal({
|
||||
contractNo: contractNo.value,
|
||||
startTime: queryTime.value[0] + ' 00:00:00',
|
||||
endTime: queryTime.value[1] + ' 23:59:59',
|
||||
entererId: userStore.practitionerId,
|
||||
}).then((res) => {
|
||||
loading.value = false;
|
||||
reportValue.value = res.data;
|
||||
});
|
||||
}
|
||||
|
||||
getContract();
|
||||
function getContract() {
|
||||
getContractList().then((response) => {
|
||||
contractList.value = response.data;
|
||||
});
|
||||
}
|
||||
|
||||
function getPharmacyCabinetLists() {
|
||||
// occurrenceTime.value =
|
||||
// getDepartmentList().then((response) => {
|
||||
// issueDepartmentDto.value = response.data
|
||||
// })
|
||||
}
|
||||
/** 查询调拨管理项目列表 */
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
getRreportReturnIssue(queryParams.value).then((res) => {
|
||||
loading.value = false;
|
||||
purchaseinventoryList.value = res.data.records;
|
||||
total.value = res.data.total;
|
||||
});
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
function handleQuery() {
|
||||
queryParams.value.approvalTimeSTime =
|
||||
occurrenceTime.value && occurrenceTime.value.length == 2
|
||||
? occurrenceTime.value[0] + ' 00:00:00'
|
||||
: '';
|
||||
queryParams.value.approvalTimeETime =
|
||||
occurrenceTime.value && occurrenceTime.value.length == 2
|
||||
? occurrenceTime.value[1] + ' 23:59:59'
|
||||
: '';
|
||||
queryParams.value.pageNo = 1;
|
||||
getList();
|
||||
}
|
||||
|
||||
/** 清空条件按钮操作 */
|
||||
function handleClear() {
|
||||
// 清空查询条件
|
||||
queryParams.value.approvalTimeSTime = '';
|
||||
queryParams.value.approvalTimeETime = '';
|
||||
occurrenceTime.value = '';
|
||||
proxy.resetForm('queryRef');
|
||||
getList();
|
||||
}
|
||||
|
||||
/** 选择条数 */
|
||||
function handleSelectionChange(selection) {
|
||||
ids.value = selection.map((item) => item.id);
|
||||
single.value = selection.length != 1;
|
||||
multiple.value = !selection.length;
|
||||
}
|
||||
|
||||
/** 打印门诊日结 */
|
||||
async function print() {
|
||||
// const selectedRows = proxy.$refs['tableRef'].getSelectionRows();
|
||||
console.log(reportValue.value, '==reportValue.value==');
|
||||
const result = {
|
||||
data: [
|
||||
{
|
||||
...reportValue.value, // 将 reportValue.value 中的所有属性展开到 result 中
|
||||
nickName: userStore.nickName,
|
||||
orgName: userStore.orgName,
|
||||
fixmedinsName: '长春大学医院',
|
||||
queryTime: queryTime.value[0] + '~' + queryTime.value[1],
|
||||
zfAmount: new Decimal(reportValue.value.zhSum || 0).add(reportValue.value.fundSum || 0),
|
||||
feeAmount: new Decimal(reportValue.value.DIAGNOSTIC_FEE || 0)
|
||||
.add(reportValue.value.CHECK_FEE || 0)
|
||||
.add(reportValue.value.DIAGNOSTIC_TEST_FEE || 0)
|
||||
.add(reportValue.value.MEDICAL_EXPENSE_FEE || 0)
|
||||
.add(reportValue.value.WEST_MEDICINE || 0)
|
||||
.add(reportValue.value.CHINESE_MEDICINE_SLICES_FEE || 0)
|
||||
.add(reportValue.value.CHINESE_MEDICINE_FEE || 0)
|
||||
.add(reportValue.value.GENERAL_CONSULTATION_FEE || 0)
|
||||
.add(reportValue.value.REGISTRATION_FEE || 0)
|
||||
.add(reportValue.value.OTHER_FEE || 0)
|
||||
.add(reportValue.value.SANITARY_MATERIALS_FEE || 0),
|
||||
},
|
||||
],
|
||||
};
|
||||
console.log(result, '==result.data==');
|
||||
// 将对象转换为 JSON 字符串
|
||||
let jsonString = JSON.stringify(result, null, 2);
|
||||
console.log(jsonString, 'jsonstring');
|
||||
await CefSharp.BindObjectAsync('boundAsync');
|
||||
await boundAsync
|
||||
.printReport(getPrintFileName(contractNo.value), jsonString)
|
||||
.then((response) => {
|
||||
//返回结果是jsonString,可判断其调用是否成功
|
||||
console.log(response, 'response');
|
||||
var res = JSON.parse(response);
|
||||
if (!res.IsSuccess) {
|
||||
proxy.$modal.msgError('调用打印插件失败:' + res.ErrorMessage);
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
proxy.$modal.msgError('调用打印插件失败:' + error);
|
||||
});
|
||||
}
|
||||
|
||||
function getPrintFileName(value) {
|
||||
switch (value) {
|
||||
case '0000':
|
||||
return '门诊日结单(按登录角色查询)自费.grf';
|
||||
case '229900': // 省医保
|
||||
return '门诊日结单(按登录角色查询)省医保.grf';
|
||||
case '220100': // 市医保
|
||||
return '门诊日结单(按登录角色查询)市医保.grf';
|
||||
}
|
||||
}
|
||||
|
||||
function formatValue(value) {
|
||||
return value == null || value == undefined ? '0.00 元' : value.toFixed(2) + ' 元';
|
||||
}
|
||||
|
||||
getList();
|
||||
getPharmacyCabinetLists();
|
||||
</script>
|
||||
<style scoped>
|
||||
.custom-tree-node {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-weight: bold;
|
||||
font-size: large;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.label {
|
||||
display: inline-block;
|
||||
width: 120px !important;
|
||||
}
|
||||
.value {
|
||||
float: right;
|
||||
}
|
||||
.el-col {
|
||||
margin-right: 50px;
|
||||
}
|
||||
</style>
|
||||
498
openhis-ui-vue3/src/views/clinicmanagement/dayEnd/indexccu.vue
Normal file
498
openhis-ui-vue3/src/views/clinicmanagement/dayEnd/indexccu.vue
Normal file
@@ -0,0 +1,498 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
ref="queryRef"
|
||||
:inline="true"
|
||||
v-show="showSearch"
|
||||
label-width="90px"
|
||||
>
|
||||
<el-form-item label="查询日期:">
|
||||
<el-date-picker
|
||||
v-model="queryTime"
|
||||
type="daterange"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
style="width: 300px; margin-right: 20px"
|
||||
@change="getValue"
|
||||
value-format="YYYY-MM-DD"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="费用性质:">
|
||||
<el-select
|
||||
v-model="contractNo"
|
||||
placeholder="费用性质"
|
||||
clearable
|
||||
@change="getValue"
|
||||
style="width: 150px; margin-right: 30px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in contractList"
|
||||
:key="item.busNo"
|
||||
:label="item.contractName"
|
||||
:value="item.busNo"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="经办人:">
|
||||
<el-select
|
||||
v-model="entererId"
|
||||
placeholder="经办人"
|
||||
clearable
|
||||
filterable
|
||||
@change="
|
||||
(value) => {
|
||||
if (!value) {
|
||||
curUserInfo = {};
|
||||
}
|
||||
getValue();
|
||||
}
|
||||
"
|
||||
style="width: 150px; margin-right: 30px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.practitionerId"
|
||||
:label="item.nickName"
|
||||
:value="item.practitionerId"
|
||||
@click="
|
||||
() => {
|
||||
curUserInfo = item;
|
||||
}
|
||||
"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-button type="primary" plain icon="Search" @click="getValue">查询</el-button>
|
||||
<el-button type="primary" plain icon="Printer" @click="print">打印</el-button>
|
||||
</el-form>
|
||||
<div v-loading="loading" style="width: 1300px">
|
||||
<div style="text-align: center">
|
||||
<h2>门诊收费日结单</h2>
|
||||
</div>
|
||||
<el-row
|
||||
:gutter="5"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="4">
|
||||
<span class="label">经办人姓名:</span>
|
||||
<span class="value"> {{ curUserInfo.nickName ? curUserInfo.nickName : '全部' }}</span>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<span class="label">科室:</span>
|
||||
<span class="value">{{ curUserInfo.orgId_dictText }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">机构:</span>
|
||||
<span class="value">{{ '长春大学医院' }}</span>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<span class="label">时间:</span>
|
||||
<span class="value"> {{ queryTime[0] + '~' + queryTime[1] }} </span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="divider"></div>
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col
|
||||
v-for="(item, index) in fin_type_code"
|
||||
:span="5"
|
||||
:key="index"
|
||||
style="margin-bottom: 15px"
|
||||
>
|
||||
<span class="label">{{ item.label + ':' }}</span>
|
||||
<span class="value">{{ formatValue(reportValue[item.value]) }}</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="divider"></div>
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="5">
|
||||
<span class="label">总收入:</span>
|
||||
<span class="value">{{ formatValue(reportValue.SUM) }}</span>
|
||||
</el-col>
|
||||
<!-- <el-col :span="5">
|
||||
<span class="label">实际现金收入:</span>
|
||||
<span class="value">
|
||||
{{
|
||||
formatValue(
|
||||
(reportValue['0000cash'] || 0) +
|
||||
(reportValue['220100cash'] || 0) +
|
||||
(reportValue['229900cash'] || 0)
|
||||
)
|
||||
}}
|
||||
</span>
|
||||
</el-col> -->
|
||||
<!-- <el-col :span="5">
|
||||
<span class="label">现金:</span>
|
||||
<span class="value">{{ formatValue(reportValue.rmbCashSum) }}</span>
|
||||
</el-col> -->
|
||||
<el-col :span="5">
|
||||
<span class="label">微信:</span>
|
||||
<span class="value">{{ formatValue(reportValue.vxCashSum) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">支付宝:</span>
|
||||
<span class="value">{{ formatValue(reportValue.aliCashSum) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">网银:</span>
|
||||
<span class="value">{{ formatValue(reportValue.aliCashSum) }}</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- <el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="5">
|
||||
<span class="label">统筹支付:</span>
|
||||
<span class="value">{{ formatValue(reportValue.tcSum) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">账户支付:</span>
|
||||
<span class="value">{{ formatValue(reportValue.zhSum) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">基金支付总额:</span>
|
||||
<span class="value">{{ formatValue(reportValue.fundSum) }}</span>
|
||||
</el-col>
|
||||
</el-row> -->
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="5">
|
||||
<span class="label">自费现金总额:</span>
|
||||
<span class="value">{{ formatValue(reportValue['0000cash']) }}</span>
|
||||
</el-col>
|
||||
<!-- <el-col :span="5">
|
||||
<span class="label">医保现金总额:</span>
|
||||
<span class="value">{{ formatValue(reportValue.ybCashSum) }}</span>
|
||||
</el-col> -->
|
||||
<el-col :span="5">
|
||||
<span class="label">自费人次:</span>
|
||||
<span class="value">
|
||||
{{ reportValue['0000reg'] ? reportValue['0000reg'] + ' 人' : '0 人' }}
|
||||
</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">省医保人次:</span>
|
||||
<span class="value">
|
||||
{{ reportValue['229900reg'] ? reportValue['229900reg'] + ' 人' : '0 人' }}
|
||||
</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">市医保人次:</span>
|
||||
<span class="value">
|
||||
{{ reportValue['220100reg'] ? reportValue['220100reg'] + ' 人' : '0 人' }}
|
||||
</span>
|
||||
</el-col>
|
||||
<!-- <el-col :span="5">
|
||||
<span class="label">医保人次:</span>
|
||||
<span class="value">{{ reportValue.ybReg + ' 人' }}</span>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="5">
|
||||
<span class="label">省医保现金:</span>
|
||||
<span class="value">{{ formatValue(reportValue['229900cash']) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">省医保统筹:</span>
|
||||
<span class="value">{{ formatValue(reportValue['229900tcSum']) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">省医保账户:</span>
|
||||
<span class="value">{{ formatValue(reportValue['229900zhSum']) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">省医保基金:</span>
|
||||
<span class="value">{{ formatValue(reportValue['229900fundSum']) }}</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="5">
|
||||
<span class="label">市医保现金:</span>
|
||||
<span class="value">{{ formatValue(reportValue['220100cash']) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">市医保统筹:</span>
|
||||
<span class="value">{{ formatValue(reportValue['220100tcSum']) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">市医保账户:</span>
|
||||
<span class="value">{{ formatValue(reportValue['220100zhSum']) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">市医保基金:</span>
|
||||
<span class="value">{{ formatValue(reportValue['220100fundSum']) }}</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row
|
||||
:gutter="10"
|
||||
outpatientNo="mb8"
|
||||
style="
|
||||
margin: 20px 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
padding: 0 20px;
|
||||
"
|
||||
>
|
||||
<el-col :span="5">
|
||||
<span class="label">省医保总额:</span>
|
||||
<span class="value">{{ formatValue((reportValue['229900cash'] || 0 + reportValue['229900tcSum'] || 0 + reportValue['229900zhSum'] || 0 + reportValue['229900fundSum'] || 0)) }}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="label">省医保总额:</span>
|
||||
<span class="value">{{ formatValue((reportValue['220100cash'] || 0 + reportValue['220100tcSum'] || 0 + reportValue['220100zhSum'] || 0 + reportValue['220100fundSum'] || 0)) }}</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="dayEnd">
|
||||
import { getAllUser, getContractList, getClincReport, testWithAxios } from './component/api';
|
||||
import useUserStore from '@/store/modules/user';
|
||||
import { formatDate, formatDateStr } from '@/utils/index';
|
||||
import Decimal from 'decimal.js';
|
||||
import { hiprint } from 'vue-plugin-hiprint';
|
||||
import templateJson from './component/template.json';
|
||||
|
||||
const userStore = useUserStore();
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const purchaseinventoryList = ref([]);
|
||||
const userList = ref([]);
|
||||
const loading = ref(true);
|
||||
const showSearch = ref(true);
|
||||
const total = ref(0);
|
||||
const entererId = ref(undefined);
|
||||
const contractList = ref(undefined);
|
||||
const reportValue = ref({});
|
||||
const curUserInfo = ref({});
|
||||
const { fin_type_code } = proxy.useDict('fin_type_code');
|
||||
const queryTime = ref([
|
||||
formatDateStr(new Date(), 'YYYY-MM-DD'),
|
||||
formatDateStr(new Date(), 'YYYY-MM-DD'),
|
||||
]);
|
||||
const contractNo = ref('0000');
|
||||
|
||||
const data = reactive({
|
||||
queryParams: {
|
||||
form: {},
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
searchKey: undefined,
|
||||
purposeLocationId: undefined,
|
||||
sourceLocationId: undefined,
|
||||
supplierId: undefined,
|
||||
approvalTimeSTime: undefined,
|
||||
approvalTimeETime: undefined,
|
||||
},
|
||||
rules: {},
|
||||
});
|
||||
|
||||
const { queryParams } = toRefs(data);
|
||||
|
||||
getValue();
|
||||
function getValue() {
|
||||
console.log(fin_type_code.value);
|
||||
|
||||
loading.value = true;
|
||||
getClincReport({
|
||||
contractNo: contractNo.value,
|
||||
startTime: queryTime.value[0] + ' 00:00:00',
|
||||
endTime: queryTime.value[1] + ' 23:59:59',
|
||||
entererId: entererId.value,
|
||||
}).then((res) => {
|
||||
loading.value = false;
|
||||
reportValue.value = res.data;
|
||||
let list = processObjectWithFinType(reportValue.value);
|
||||
console.log(list);
|
||||
});
|
||||
}
|
||||
|
||||
getContract();
|
||||
function getContract() {
|
||||
getContractList().then((response) => {
|
||||
contractList.value = response.data;
|
||||
});
|
||||
getAllUser({ pageSize: 100 }).then((res) => {
|
||||
userList.value = res.data.records.filter((item) => item.userName != 'admin');
|
||||
});
|
||||
}
|
||||
|
||||
function processObjectWithFinType(obj) {
|
||||
return Object.keys(obj).map((key) => {
|
||||
const matchedItem = fin_type_code.value.find((item) => item.value === key);
|
||||
if (matchedItem) {
|
||||
return {
|
||||
label: matchedItem ? matchedItem.label : key,
|
||||
value: obj[key],
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/** 打印门诊日结 */
|
||||
async function print() {
|
||||
// const selectedRows = proxy.$refs['tableRef'].getSelectionRows();
|
||||
console.log(reportValue.value, '==reportValue.value==');
|
||||
const result = {
|
||||
data: [
|
||||
{
|
||||
...reportValue.value, // 将 reportValue.value 中的所有属性展开到 result 中
|
||||
nickName: userStore.nickName,
|
||||
orgName: userStore.orgName,
|
||||
fixmedinsName: '长春大学医院',
|
||||
createTime: formatDateStr(new Date(), 'YYYY-MM-DD HH:mm:ss'),
|
||||
scheduler: userStore.nickName,
|
||||
queryTime: queryTime.value[0] + '~' + queryTime.value[1],
|
||||
zfAmount: new Decimal(reportValue.value.zhSum || 0).add(reportValue.value.fundSum || 0),
|
||||
feeAmount: new Decimal(reportValue.value.DIAGNOSTIC_FEE || 0)
|
||||
.add(reportValue.value.CHECK_FEE || 0)
|
||||
.add(reportValue.value.DIAGNOSTIC_TEST_FEE || 0)
|
||||
.add(reportValue.value.MEDICAL_EXPENSE_FEE || 0)
|
||||
.add(reportValue.value.WEST_MEDICINE || 0)
|
||||
.add(reportValue.value.CHINESE_MEDICINE_SLICES_FEE || 0)
|
||||
.add(reportValue.value.CHINESE_MEDICINE_FEE || 0)
|
||||
.add(reportValue.value.GENERAL_CONSULTATION_FEE || 0)
|
||||
.add(reportValue.value.REGISTRATION_FEE || 0)
|
||||
.add(reportValue.value.OTHER_FEE || 0)
|
||||
.add(reportValue.value.SANITARY_MATERIALS_FEE || 0),
|
||||
},
|
||||
],
|
||||
};
|
||||
console.log(result, '==result.data==');
|
||||
|
||||
const printElements = templateJson;
|
||||
var hiprintTemplate = new hiprint.PrintTemplate({ template: printElements }); // 定义模板
|
||||
const printerList = hiprintTemplate.getPrinterList();
|
||||
console.log(hiprintTemplate, '打印机列表');
|
||||
hiprintTemplate.print2(result.data[0], {
|
||||
title: '打印标题',
|
||||
});
|
||||
// 将对象转换为 JSON 字符串
|
||||
// let jsonString = JSON.stringify(result, null, 2);
|
||||
// console.log(jsonString, 'jsonstring');
|
||||
// await CefSharp.BindObjectAsync('boundAsync');
|
||||
// await boundAsync
|
||||
// .printReport(getPrintFileName(contractNo.value), jsonString)
|
||||
// .then((response) => {
|
||||
// //返回结果是jsonString,可判断其调用是否成功
|
||||
// console.log(response, 'response');
|
||||
// var res = JSON.parse(response);
|
||||
// if (!res.IsSuccess) {
|
||||
// proxy.$modal.msgError('调用打印插件失败:' + res.ErrorMessage);
|
||||
// }
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// proxy.$modal.msgError('调用打印插件失败:' + error);
|
||||
// });
|
||||
}
|
||||
|
||||
function getPrintFileName(value) {
|
||||
switch (value) {
|
||||
case '0000':
|
||||
return '门诊日结单(按登录角色查询)自费.grf';
|
||||
case '229900': // 省医保
|
||||
return '门诊日结单(按登录角色查询)省医保.grf';
|
||||
case '220100': // 市医保
|
||||
return '门诊日结单(按登录角色查询)市医保.grf';
|
||||
}
|
||||
}
|
||||
|
||||
function formatValue(value) {
|
||||
return value == null || value == undefined || value == NaN ? '0.00 元' : value.toFixed(2) + ' 元';
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.custom-tree-node {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-weight: bold;
|
||||
font-size: large;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.label {
|
||||
display: inline-block;
|
||||
width: 120px !important;
|
||||
}
|
||||
.value {
|
||||
float: right;
|
||||
}
|
||||
.el-col {
|
||||
margin-right: 50px;
|
||||
}
|
||||
.divider {
|
||||
height: 3px;
|
||||
background-color: #000;
|
||||
margin: 20px 0;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user