Commit 015bfa57 by 唐玉峰

.

parent 9d59a23d
...@@ -78,11 +78,13 @@ axios.interceptors.response.use( ...@@ -78,11 +78,13 @@ axios.interceptors.response.use(
); );
export default { export default {
post(url, params) { post(url, params, obj) {
loadingInstance = Vue.prototype.$loading(loadingOption); loadingInstance = Vue.prototype.$loading(loadingOption);
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
axios axios
.post(domain + url, params) .post(domain + url, params, {
...obj,
})
.then((res) => { .then((res) => {
if (res.status !== 200) { if (res.status !== 200) {
errorMsg(res.data); errorMsg(res.data);
......
<template> <template>
<div class="patientinfo"> <div class="patientinfo">
<div style="height: 30px; background-color: #0283bb"></div> <div style="height: 30px; background-color: #0283bb"></div>
<div class="main"> <div class="main">
<div class=""> <div class="">
<div class="flex-start-center"> <div class="flex-start-center">
<div <div class="flex-start-center mar-right-10" v-for="(value, key, index) in obj" :key="index">
class="flex-start-center mar-right-10" <span class="mar-right-10" style="width: 12px; height: 12px" :style="{ background: value }"></span>
v-for="(value, key, index) in obj" <span class="color-666 font-14">{{ key }}</span>
:key="index" </div>
> </div>
<span <div class="flex-between mar-top-15">
class="mar-right-10" <div>
style="width: 12px; height: 12px" <div class="mar-bottom-10">
:style="{ background: value }" <el-input
></span> size="mini"
<span class="color-666 font-14">{{ key }}</span> class="mar-right-10"
</div> v-model.trim="searchFrom.a48"
</div> style="width: 160px"
<div class="flex-between mar-top-15"> placeholder="请输入病案号/住院号"
<div> clearable
<div class="mar-bottom-10"> @clear="search"
<el-input @keyup.enter.native="search"
size="mini" >
class="mar-right-10" </el-input>
v-model.trim="a48" <el-input
style="width: 160px" size="mini"
placeholder="请输入病案号/住院号" class="mar-right-10"
clearable v-model.trim="searchFrom.a11"
@clear="search" style="width: 160px"
@keyup.enter.native="search" placeholder="请输入患者姓名"
> clearable
</el-input> @clear="search"
<el-input @keyup.enter.native="search"
size="mini" >
class="mar-right-10" </el-input>
v-model.trim="a11"
style="width: 160px"
placeholder="请输入患者姓名"
clearable
@clear="search"
@keyup.enter.native="search"
>
</el-input>
<el-select <el-select
size="mini" size="mini"
class="mar-right-10" class="mar-right-10"
v-model.trim="b16C" v-model.trim="searchFrom.b16C"
filterable filterable
style="width: 160px" style="width: 160px"
placeholder="当前科室" placeholder="当前科室"
clearable clearable
@clear="search" @clear="search"
> >
<el-option <el-option v-for="item in deptList" :key="item.deptCode" :label="item.deptName" :value="item.deptCode"> </el-option>
v-for="item in deptList" </el-select>
:key="item.deptCode" <el-select
:label="item.deptName" v-model="searchFrom.isout"
:value="item.deptCode" placeholder="是否出院"
> size="mini"
</el-option> class="mar-right-10"
</el-select> clearable
<el-select style="width: 140px"
v-model="isout" @clear="search"
placeholder="是否出院" >
size="mini" <el-option label="未出院" :value="0"> </el-option>
class="mar-right-10" <el-option label="已出院" :value="1"> </el-option>
clearable <el-option label="已结算" :value="2"> </el-option>
style="width: 160px" </el-select>
@clear="search" <el-select
> v-model="searchFrom.insuranceType"
<el-option label="未出院" :value="0"> </el-option> placeholder="支付类型"
<el-option label="已出院" :value="1"> </el-option> size="mini"
<el-option label="已结算" :value="2"> </el-option> class="mar-right-10"
</el-select> clearable
<el-select style="width: 140px"
v-model="insuranceType" @clear="search"
placeholder="支付类型" >
size="mini" <el-option label="本地职工" :value="1"> </el-option>
class="mar-right-10" <el-option label="异地职工" :value="2"> </el-option>
clearable <el-option label="本地居民" :value="3"> </el-option>
style="width: 160px" <el-option label="异地居民" :value="4"> </el-option>
@clear="search" <el-option label="自费" :value="5"> </el-option>
> <el-option label="未填写" :value="0"> </el-option>
<el-option label="本地职工" :value="1"> </el-option> </el-select>
<el-option label="异地职工" :value="2"> </el-option> <el-select
<el-option label="本地居民" :value="3"> </el-option> v-model="searchFrom.balance"
<el-option label="异地居民" :value="4"> </el-option> placeholder="盈亏"
<el-option label="自费" :value="5"> </el-option> size="mini"
<el-option label="未填写" :value="0"> </el-option> class="mar-right-10"
</el-select> clearable
<span class="font-14 color-999">入院时间:</span> style="width: 140px"
<el-select @clear="search"
v-model="currentDate" >
placeholder="当前年月" <el-option label="盈亏=0" :value="0"> </el-option>
size="mini" <el-option label="盈亏>0" :value="1"> </el-option>
class="mar-right-10" <el-option label="盈亏<0" :value="2"> </el-option>
clearable </el-select>
style="width: 100px" <span class="font-14 color-999">入院时间:</span>
@change="handleCurrentDateChange" <el-select
> v-model="searchFrom.currentDate"
<el-option label="当前年" :value="1"> </el-option> placeholder="当前年月"
<el-option label="当前月" :value="2"> </el-option> size="mini"
</el-select> class="mar-right-10"
<el-date-picker clearable
v-model="time" style="width: 100px"
size="mini" @change="handleCurrentDateChange"
style="width: 210px" >
type="daterange" <el-option label="当前年" :value="1"> </el-option>
format="yyyy-MM-dd" <el-option label="当前月" :value="2"> </el-option>
value-format="yyyy-MM-dd" </el-select>
class="mar-right-10" <el-date-picker
@change="search" v-model="time"
range-separator="至" size="mini"
start-placeholder="入院日期" style="width: 210px"
end-placeholder="结束日期" type="daterange"
> format="yyyy-MM-dd"
</el-date-picker> value-format="yyyy-MM-dd"
</div> class="mar-right-10"
<div> @change="search"
<el-input range-separator="至"
size="mini" start-placeholder="入院日期"
class="mar-right-10" end-placeholder="结束日期"
v-model.trim="doctorName" >
style="width: 160px" </el-date-picker>
placeholder="请输入主治医生" </div>
clearable <div>
@clear="search" <el-input
@keyup.enter.native="search" size="mini"
> class="mar-right-10"
</el-input> v-model.trim="searchFrom.doctorName"
<el-input style="width: 160px"
size="mini" placeholder="请输入主治医生"
class="mar-right-10" clearable
v-model.trim="codeName" @clear="search"
style="width: 160px" @keyup.enter.native="search"
placeholder="请输入分组编码/分组名称" >
clearable </el-input>
@clear="search" <el-input
@keyup.enter.native="search" size="mini"
> class="mar-right-10"
</el-input> v-model.trim="searchFrom.codeName"
<el-select style="width: 160px"
v-model="dis_type" placeholder="请输入分组编码/分组名称"
placeholder="请选择倍率" clearable
size="mini" @clear="search"
class="mar-right-10" @keyup.enter.native="search"
clearable >
style="width: 160px" </el-input>
@clear="search" <el-select
> v-model="searchFrom.dis_type"
<el-option label="高倍率病例" value="高倍率病例"> </el-option> placeholder="请选择倍率"
<el-option label="正常病例" value="正常病例"> </el-option> size="mini"
<el-option label="低倍率病例" value="低倍率病例"> </el-option> class="mar-right-10"
</el-select> clearable
<el-select style="width: 160px"
v-model="isjoin" @clear="search"
placeholder="分组状态" >
size="mini" <el-option label="高倍率病例" value="高倍率病例"> </el-option>
class="mar-right-10" <el-option label="正常病例" value="正常病例"> </el-option>
clearable <el-option label="低倍率病例" value="低倍率病例"> </el-option>
style="width: 160px" </el-select>
@clear="search" <el-select
> v-model="searchFrom.isjoin"
<el-option label="已分组" :value="1"> </el-option> placeholder="分组状态"
<el-option label="未分组" :value="0"> </el-option> size="mini"
</el-select> class="mar-right-10"
<el-select clearable
v-model="shzt" style="width: 140px"
placeholder="审核状态" @clear="search"
size="mini" >
class="mar-right-10" <el-option label="已分组" :value="1"> </el-option>
clearable <el-option label="未分组" :value="0"> </el-option>
style="width: 160px" </el-select>
@clear="search" <el-select
> v-model="searchFrom.shzt"
<el-option label="已审核" value="已审"> </el-option> placeholder="审核状态"
<el-option label="未审核" value="未审"> </el-option> size="mini"
</el-select> class="mar-right-10"
<span class="font-14 color-999">结算时间:</span> clearable
<el-select style="width: 140px"
v-model="currentDate1" @clear="search"
placeholder="当前年月" >
size="mini" <el-option label="已审核" value="已审"> </el-option>
class="mar-right-10" <el-option label="未审核" value="未审"> </el-option>
clearable </el-select>
style="width: 100px" <span class="font-14 color-999">结算时间:</span>
@change="handleCurrentDateChange1" <el-select
> v-model="searchFrom.currentDate1"
<el-option label="当前年" :value="1"> </el-option> placeholder="当前年月"
<el-option label="当前月" :value="2"> </el-option> size="mini"
</el-select> class="mar-right-10"
<el-date-picker clearable
v-model="time1" style="width: 100px"
size="mini" @change="handleCurrentDateChange1"
style="width: 210px" >
type="daterange" <el-option label="当前年" :value="1"> </el-option>
format="yyyy-MM-dd" <el-option label="当前月" :value="2"> </el-option>
value-format="yyyy-MM-dd" </el-select>
class="mar-right-10" <el-date-picker
@change="search" v-model="time1"
range-separator="至" size="mini"
start-placeholder="结算日期" style="width: 210px"
end-placeholder="结束日期" type="daterange"
> format="yyyy-MM-dd"
</el-date-picker> value-format="yyyy-MM-dd"
class="mar-right-10"
@change="search"
range-separator="至"
start-placeholder="结算日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</div>
<div>
<el-button
type="primary"
style="background: rgb(2, 131, 187); border-color: rgb(2, 131, 187)"
size="mini"
slot="append"
icon="el-icon-search"
@click="search"
>查询</el-button
>
<el-button
type="primary"
style="background: rgb(2, 131, 187); border-color: rgb(2, 131, 187)"
size="mini"
slot="append"
icon="el-icon-download"
@click="downLoad"
>下载</el-button
>
<el-button
v-if="link"
type="primary"
style="background: rgb(2, 131, 187); border-color: rgb(2, 131, 187)"
size="mini"
slot="append"
icon="el-icon-link"
@click="openLink"
>更多报表</el-button
>
</div>
</div>
</div> </div>
</div> <div class="table flex-1 mar-top-15">
<div> <el-table border ref="tableRef" height="93%" :data="tableData" size="mini" :highlight-current-row="true" :cell-class-name="cellName">
<el-button <el-table-column align="center" type="index" width="50" fixed="left"></el-table-column>
type="primary" <el-table-column label="同步更新" align="center" min-width="80" show-overflow-tooltip fixed="left">
style=" <template #default="scope">
background: rgb(2, 131, 187); <i class="el-icon-refresh font-16 cursor" @click.stop="SetInjoinAgain(scope.row.id)"></i>
border-color: rgb(2, 131, 187); </template>
" </el-table-column>
size="mini" <el-table-column
slot="append" prop="fee_consume"
icon="el-icon-search" label="费用消耗比例"
@click="search" sortable
>查询</el-button align="center"
> min-width="120"
<el-button show-overflow-tooltip
type="primary" fixed="left"
style=" ></el-table-column>
background: rgb(2, 131, 187); <el-table-column prop="regcode" label="住院号" sortable align="center" min-width="120" show-overflow-tooltip fixed="left">
border-color: rgb(2, 131, 187); <template #default="scope">
" <!-- 正常病例 低倍率病例 高倍率病例 dis_type-->
size="mini" <div class="flex-center-center">
slot="append" <span class="mar-right-10" style="width: 12px; height: 12px" :style="{ background: obj[scope.row.dis_type] }"></span>
icon="el-icon-download" <span>{{ scope.row.regcode }}</span>
@click="downLoad" </div>
>下载</el-button </template>
> </el-table-column>
<el-button <el-table-column prop="a49" label="住院次数" sortable align="center" min-width="120" show-overflow-tooltip fixed="left"> </el-table-column>
v-if="link" <el-table-column prop="name" label="姓名" sortable align="center" min-width="120" show-overflow-tooltip fixed="left"></el-table-column>
type="primary" <el-table-column prop="inhostime" label="入院日期" sortable align="center" min-width="120" show-overflow-tooltip>
style=" <template #default="scope">
background: rgb(2, 131, 187); <span>{{ scope.row.inhostime ? formatYMD(scope.row.inhostime) : "" }}</span>
border-color: rgb(2, 131, 187); </template>
" </el-table-column>
size="mini" <el-table-column prop="outhostime" label="出院日期" sortable align="center" min-width="120" show-overflow-tooltip>
slot="append" <template #default="scope">
icon="el-icon-link" <span>{{ scope.row.outhostime ? formatYMD(scope.row.outhostime) : "" }}</span>
@click="openLink" </template>
>更多报表</el-button </el-table-column>
> <el-table-column prop="indeptname" label="当前科室" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column>
</div> <el-table-column prop="doctorname" label="主治医生" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column>
</div> <el-table-column prop="inhosdays" label="住院天数" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column>
</div> <el-table-column prop="isjoin" label="是否出院" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column>
<div class="table flex-1 mar-top-15"> <!-- <el-table-column
<el-table
border
ref="tableRef"
height="93%"
:data="tableData"
size="mini"
:highlight-current-row="true"
:cell-class-name="cellName"
>
<el-table-column
align="center"
type="index"
width="50"
fixed="left"
></el-table-column>
<el-table-column
label="同步更新"
align="center"
min-width="80"
show-overflow-tooltip
fixed="left"
>
<template #default="scope">
<i
class="el-icon-refresh font-16 cursor"
@click.stop="SetInjoinAgain(scope.row.id)"
></i>
</template>
</el-table-column>
<el-table-column
prop="fee_consume"
label="费用消耗比例"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
></el-table-column>
<el-table-column
prop="regcode"
label="住院号"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
>
<template #default="scope">
<!-- 正常病例 低倍率病例 高倍率病例 dis_type-->
<div class="flex-center-center">
<span
class="mar-right-10"
style="width: 12px; height: 12px"
:style="{ background: obj[scope.row.dis_type] }"
></span>
<span>{{ scope.row.regcode }}</span>
</div>
</template>
</el-table-column>
<el-table-column
prop="a49"
label="住院次数"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
sortable
align="center"
min-width="120"
show-overflow-tooltip
fixed="left"
></el-table-column>
<el-table-column
prop="inhostime"
label="入院日期"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{
scope.row.inhostime ? formatYMD(scope.row.inhostime) : ''
}}</span>
</template>
</el-table-column>
<el-table-column
prop="outhostime"
label="出院日期"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{
scope.row.outhostime ? formatYMD(scope.row.outhostime) : ''
}}</span>
</template>
</el-table-column>
<el-table-column
prop="indeptname"
label="当前科室"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="doctorname"
label="主治医生"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="inhosdays"
label="住院天数"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="isjoin"
label="是否出院"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column
prop="isbasiclevel" prop="isbasiclevel"
label="是否基层病种" label="是否基层病种"
sortable sortable
...@@ -400,83 +289,24 @@ ...@@ -400,83 +289,24 @@
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> --> </el-table-column> -->
<el-table-column <el-table-column prop="total_fee" label="住院总费用" sortable align="center" min-width="120" show-overflow-tooltip>
prop="total_fee" <template #default="scope">
label="住院总费用" <span>{{ decimal(scope.row.total_fee) }}</span>
sortable </template>
align="center" </el-table-column>
min-width="120" <el-table-column prop="self_payment" label="结算后自付费用" sortable align="center" min-width="130" show-overflow-tooltip>
show-overflow-tooltip <template #default="scope">
> <span>{{ decimal(scope.row.self_payment) }}</span>
<template #default="scope"> </template>
<span>{{ decimal(scope.row.total_fee) }}</span> </el-table-column>
</template> <el-table-column prop="self_payment_proportion" label="自付占比" sortable align="center" min-width="120" show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="medical_payment" label="医保类型" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column>
prop="self_payment" <el-table-column prop="discode" label="分组编码" sortable align="center" width="250" show-overflow-tooltip> </el-table-column>
label="结算后自付费用" <el-table-column prop="disname" label="分组名称" sortable align="center" min-width="180" show-overflow-tooltip> </el-table-column>
sortable <el-table-column prop="rw" label="实际分值" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column>
align="center" <el-table-column prop="standardrw" label="标准分值" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column>
min-width="130" <!-- <el-table-column
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.self_payment) }}</span>
</template>
</el-table-column>
<el-table-column
prop="self_payment_proportion"
label="自付占比"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="medical_payment"
label="医保类型"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="discode"
label="分组编码"
sortable
align="center"
width="250"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="disname"
label="分组名称"
sortable
align="center"
min-width="180"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="rw"
label="实际分值"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="standardrw"
label="标准分值"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column
label="二级医院标准分值" label="二级医院标准分值"
sortable sortable
align="center" align="center"
...@@ -491,40 +321,19 @@ ...@@ -491,40 +321,19 @@
}}</span> }}</span>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column <el-table-column prop="medactalfee" label="预计DRG支付费用" sortable align="center" min-width="150" show-overflow-tooltip>
prop="medactalfee" <template #default="scope">
label="预计DRG支付费用" <span>{{ decimal(scope.row.medactalfee) }}</span>
sortable </template>
align="center" </el-table-column>
min-width="140" <el-table-column prop="medical_insurance_balance" label="预计DRG结余" sortable align="center" min-width="120" show-overflow-tooltip>
show-overflow-tooltip <template #default="scope">
> <span>{{ decimal(scope.row.medical_insurance_balance) }}</span>
<template #default="scope"> </template>
<span>{{ decimal(scope.row.medactalfee) }}</span> </el-table-column>
</template> <el-table-column prop="dis_type" label="病例类型" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column>
</el-table-column>
<el-table-column
prop="medical_insurance_balance"
label="预计DRG结余"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ decimal(scope.row.medical_insurance_balance) }}</span>
</template>
</el-table-column>
<el-table-column
prop="dis_type"
label="病例类型"
sortable
align="center"
min-width="120"
show-overflow-tooltip
></el-table-column>
<!-- <el-table-column prop="county_Medicine_Fee" label="县级药品费用" sortable align="center" min-width="120" show-overflow-tooltip> <!-- <el-table-column prop="county_Medicine_Fee" label="县级药品费用" sortable align="center" min-width="120" show-overflow-tooltip>
<template #default="scope"> <template #default="scope">
<span>{{ decimal(scope.row.county_Medicine_Fee) }}</span> <span>{{ decimal(scope.row.county_Medicine_Fee) }}</span>
</template> </template>
...@@ -535,16 +344,8 @@ ...@@ -535,16 +344,8 @@
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column <el-table-column prop="drug_proportion" label="药品" sortable align="center" min-width="120" show-overflow-tooltip> </el-table-column>
prop="drug_proportion" <!-- <el-table-column
label="药品"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column
prop="county_Material_Fee" prop="county_Material_Fee"
label="县级耗材费用" label="县级耗材费用"
sortable sortable
...@@ -554,45 +355,17 @@ ...@@ -554,45 +355,17 @@
></el-table-column> ></el-table-column>
<el-table-column prop="material_Fee" label="耗材费用" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column> --> <el-table-column prop="material_Fee" label="耗材费用" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column> -->
<el-table-column <el-table-column prop="consumables_proportion" label="耗材" sortable align="center" min-width="120" show-overflow-tooltip></el-table-column>
prop="consumables_proportion" <el-table-column prop="laboratory_proportion" label="检验检查" sortable align="center" min-width="120" show-overflow-tooltip>
label="耗材" </el-table-column>
sortable <el-table-column prop="medical_proportion" label="医务性收入" sortable align="center" min-width="120" show-overflow-tooltip>
align="center" </el-table-column>
min-width="120" <el-table-column prop="jssj" label="结算日期" sortable align="center" min-width="120" show-overflow-tooltip>
show-overflow-tooltip <template #default="scope">
></el-table-column> <span>{{ scope.row.jssj ? formatYMD(scope.row.jssj) : "" }}</span>
<el-table-column </template>
prop="laboratory_proportion" </el-table-column>
label="检验检查" <!-- <el-table-column
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="medical_proportion"
label="医务性收入"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="jssj"
label="结算日期"
sortable
align="center"
min-width="120"
show-overflow-tooltip
>
<template #default="scope">
<span>{{ scope.row.jssj ? formatYMD(scope.row.jssj) : '' }}</span>
</template>
</el-table-column>
<!-- <el-table-column
prop="shzt" prop="shzt"
label="审核状态" label="审核状态"
sortable sortable
...@@ -601,311 +374,275 @@ ...@@ -601,311 +374,275 @@
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> --> </el-table-column> -->
</el-table> </el-table>
</div> </div>
<div class="flex-end mar-top-20"> <div class="flex-end mar-top-20">
<el-pagination <el-pagination
background background
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:hide-on-single-page="false" :hide-on-single-page="false"
:total="totalCount" :total="totalCount"
:page-size="pageSize" :page-size="pageSize"
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
> >
</el-pagination> </el-pagination>
</div> </div>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import http from '../utils/http' import http from "../utils/http";
import { setItem, getItem } from '../utils/auth' import { setItem, getItem } from "../utils/auth";
import { decimal } from '../utils/decimal' import { decimal } from "../utils/decimal";
import dayjs from 'dayjs' import dayjs from "dayjs";
import { Message, Loading, MessageBox } from 'element-ui' import { Message, Loading, MessageBox } from "element-ui";
export default { export default {
name: 'patientinfo', name: "patientinfo",
data() { data() {
return { return {
time: '', time: "",
time1: '', time1: "",
pageNumber: 1, pageNumber: 1,
pageSize: 100, pageSize: 100,
a48: '', searchFrom: {
a11: '', a48: "",
b16C: '', a11: "",
isjoin: null, b16C: "",
currentDate: null, isjoin: null,
currentDate1: null, currentDate: null,
isout: null, currentDate1: null,
insuranceType: null, isout: null,
doctorName: '', insuranceType: null,
codeName: '', doctorName: "",
dis_type: '', codeName: "",
shzt: '', dis_type: "",
obj: { shzt: "",
正常病例: '#22d016', balance: "",
低倍率病例: '#e9c622', },
高倍率病例: '#ff7e00' obj: {
}, 正常病例: "#22d016",
tableData: [], 低倍率病例: "#e9c622",
totalCount: 0, 高倍率病例: "#ff7e00",
deptList: [] },
} tableData: [],
}, totalCount: 0,
beforeMount() {}, deptList: [],
mounted() { };
this.time = [
`${dayjs().format('YYYY-MM')}-01`,
`${dayjs().format('YYYY-MM')}-${this.getDayNumByYearMonth(
dayjs().format('YYYY'),
dayjs().format('MM')
)}`
]
this.GetDeptList()
},
computed: {
link() {
return window.webConfig.diseLink
}
},
methods: {
decimal,
formatYMD(t) {
return dayjs(t).format('YYYY-MM-DD')
},
getDayNumByYearMonth(year, month) {
switch (month) {
case '01':
case '03':
case '05':
case '07':
case '08':
case '10':
case '12':
return 31
break
case '04':
case '06':
case '09':
case '11':
return 30
break
case '02':
return this.isLeapYear(year) ? 29 : 28
break
}
},
isLeapYear(year) {
if (year / 4 == 0 && year / 100 != 0) {
return true
} else if (year / 400 == 0) {
return true
} else {
return false
}
},
cellName({ row, column, rowIndex, columnIndex }) {
if (row.medicine_Fee > row.county_Medicine_Fee && columnIndex == 26) {
return 'medicine'
}
if (row.material_Fee > row.county_Material_Fee && columnIndex == 29) {
return 'medicine'
}
}, },
beforeMount() {},
mounted() {
this.time = [
`${dayjs().format("YYYY-MM")}-01`,
`${dayjs().format("YYYY-MM")}-${this.getDayNumByYearMonth(dayjs().format("YYYY"), dayjs().format("MM"))}`,
];
downLoad() { this.GetDeptList();
let parmar = {
pageNumber: this.pageNumber,
pageSize: this.pageSize,
a48: this.a48,
a11: this.a11,
b16C: this.b16C,
beginDate: this.time ? this.time[0] : '',
endDate: this.time ? this.time[1] : '',
isjoin: this.isjoin,
isout: this.isout,
doctorName: this.doctorName,
codeName: this.codeName,
dis_type: this.dis_type,
insuranceType: this.insuranceType,
jssjBeginDate: this.time1 ? this.time1[0] : '',
jssjEndDate: this.time1 ? this.time1[1] : '',
shzt: this.shzt
}
http
.post(`/screen/hos/GetHistoryListExcelDownload`, parmar, {
responseType: 'blob'
})
.then((data) => {
const link = document.createElement('a')
const blob = new Blob([data], { type: 'application/vnd.ms-excel' })
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
link.setAttribute('download', `病案数据详情.xlsx`)
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
})
}, },
openLink() { computed: {
http.post(`/account/reporter`, {}).then((data) => { link() {
var url = this.link + '?key=' + data return window.webConfig.diseLink;
window.open(url, '_blank') },
})
}, },
//查询 methods: {
search() { decimal,
this.pageSize = 100 formatYMD(t) {
this.pageNumber = 1 return dayjs(t).format("YYYY-MM-DD");
this.getList() },
}, getDayNumByYearMonth(year, month) {
//获取频率,频率的下拉数据 switch (month) {
getList() { case "01":
let parmar = { case "03":
pageNumber: this.pageNumber, case "05":
pageSize: this.pageSize, case "07":
a48: this.a48, case "08":
a11: this.a11, case "10":
b16C: this.b16C, case "12":
beginDate: this.time ? this.time[0] : '', return 31;
endDate: this.time ? this.time[1] : '', break;
isjoin: this.isjoin, case "04":
isout: this.isout, case "06":
doctorName: this.doctorName, case "09":
codeName: this.codeName, case "11":
dis_type: this.dis_type, return 30;
insuranceType: this.insuranceType, break;
jssjBeginDate: this.time1 ? this.time1[0] : '', case "02":
jssjEndDate: this.time1 ? this.time1[1] : '', return this.isLeapYear(year) ? 29 : 28;
shzt: this.shzt break;
} }
http },
.post(`/screen/hos/GetHistoryList`, parmar) isLeapYear(year) {
.then((data) => { if (year / 4 == 0 && year / 100 != 0) {
this.tableData = data.list return true;
this.totalCount = data.totalCount } else if (year / 400 == 0) {
this.$nextTick(() => { return true;
this.$refs.tableRef.doLayout() } else {
}) return false;
}) }
.catch((error) => {}) },
},
GetDeptList() {
http
.get(`/screen/hos/GetDeptList`, {})
.then((data) => {
this.deptList = data
const deptName = this.$route.query.deptName cellName({ row, column, rowIndex, columnIndex }) {
if (deptName && data && data.length) { if (row.medicine_Fee > row.county_Medicine_Fee && columnIndex == 26) {
const item = data.find((w) => w.deptName == deptName) return "medicine";
this.b16C = item.deptCode }
} if (row.material_Fee > row.county_Material_Fee && columnIndex == 29) {
this.getList() return "medicine";
}) }
.catch((error) => { },
this.getList()
})
},
SetInjoinAgain(id) { downLoad() {
http let parmar = {
.post(`/screen/screen/SetInjoinAgain?id=${id}`, {}) pageNumber: this.pageNumber,
.then((data) => { pageSize: this.pageSize,
Message.success('同步成功') ...this.searchFrom,
this.getList() beginDate: this.time ? this.time[0] : "",
}) endDate: this.time ? this.time[1] : "",
.catch((error) => { jssjBeginDate: this.time1 ? this.time1[0] : "",
this.getList() jssjEndDate: this.time1 ? this.time1[1] : "",
}) };
}, http.post(`/screen/hos/GetHistoryListExcelDownload`, parmar, {
responseType: "blob",
}).then((data) => {
const link = document.createElement("a");
const blob = new Blob([data], { type: "application/vnd.ms-excel" });
link.style.display = "none";
link.href = URL.createObjectURL(blob);
link.setAttribute("download", `病案数据详情.xlsx`);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
});
},
openLink() {
http.post(`/account/reporter`, {}).then((data) => {
var url = this.link + "?key=" + data;
window.open(url, "_blank");
});
},
//查询
search() {
this.pageSize = 100;
this.pageNumber = 1;
this.getList();
},
//获取频率,频率的下拉数据
getList() {
let parmar = {
pageNumber: this.pageNumber,
pageSize: this.pageSize,
...this.searchFrom,
beginDate: this.time ? this.time[0] : "",
endDate: this.time ? this.time[1] : "",
jssjBeginDate: this.time1 ? this.time1[0] : "",
jssjEndDate: this.time1 ? this.time1[1] : "",
};
http.post(`/screen/hos/GetHistoryList`, parmar)
.then((data) => {
this.tableData = data.list;
this.totalCount = data.totalCount;
this.$nextTick(() => {
this.$refs.tableRef.doLayout();
});
})
.catch((error) => {});
},
GetDeptList() {
http.get(`/screen/hos/GetDeptList`, {})
.then((data) => {
this.deptList = data;
const deptName = this.$route.query.deptName;
if (deptName && data && data.length) {
const item = data.find((w) => w.deptName == deptName);
this.searchFrom.b16C = item.deptCode;
}
this.getList();
})
.catch((error) => {
this.getList();
});
},
handleCurrentChange(val) { SetInjoinAgain(id) {
this.pageNumber = val http.post(`/screen/screen/SetInjoinAgain?id=${id}`, {})
this.getList() .then((data) => {
}, Message.success("同步成功");
handleSizeChange(val) { this.getList();
this.pageSize = val })
this.getList() .catch((error) => {
}, this.getList();
handleCurrentDateChange() { });
if (this.currentDate === 1) { },
this.time = [
`${dayjs().format('YYYY')}-01-01`, handleCurrentChange(val) {
`${dayjs().format('YYYY')}-12-31` this.pageNumber = val;
] this.getList();
} else if (this.currentDate === 2) { },
this.time = [ handleSizeChange(val) {
`${dayjs().format('YYYY-MM')}-01`, this.pageSize = val;
`${dayjs().format('YYYY-MM')}-${this.getDayNumByYearMonth( this.getList();
dayjs().format('YYYY'), },
dayjs().format('MM') handleCurrentDateChange() {
)}` if (this.searchFrom.currentDate === 1) {
] this.time = [`${dayjs().format("YYYY")}-01-01`, `${dayjs().format("YYYY")}-12-31`];
} } else if (this.searchFrom.currentDate === 2) {
this.search() this.time = [
`${dayjs().format("YYYY-MM")}-01`,
`${dayjs().format("YYYY-MM")}-${this.getDayNumByYearMonth(dayjs().format("YYYY"), dayjs().format("MM"))}`,
];
}
this.search();
},
handleCurrentDateChange1() {
if (this.searchFrom.currentDate1 === 1) {
this.time1 = [`${dayjs().format("YYYY")}-01-01`, `${dayjs().format("YYYY")}-12-31`];
} else if (this.searchFrom.currentDate1 === 2) {
this.time1 = [
`${dayjs().format("YYYY-MM")}-01`,
`${dayjs().format("YYYY-MM")}-${this.getDayNumByYearMonth(dayjs().format("YYYY"), dayjs().format("MM"))}`,
];
}
this.search();
},
}, },
handleCurrentDateChange1() { };
if (this.currentDate1 === 1) {
this.time1 = [
`${dayjs().format('YYYY')}-01-01`,
`${dayjs().format('YYYY')}-12-31`
]
} else if (this.currentDate1 === 2) {
this.time1 = [
`${dayjs().format('YYYY-MM')}-01`,
`${dayjs().format('YYYY-MM')}-${this.getDayNumByYearMonth(
dayjs().format('YYYY'),
dayjs().format('MM')
)}`
]
}
this.search()
}
}
}
</script> </script>
<style lang="scss"> <style lang="scss">
.patientinfo { .patientinfo {
height: 100%; height: 100%;
display: flex;
flex-flow: column;
background-color: white;
overflow: hidden;
position: relative;
.main {
flex: 1;
padding: 20px;
display: flex; display: flex;
flex-flow: column; flex-flow: column;
.el-table__body tr.current-row > td.el-table__cell { background-color: white;
background-color: rgb(2, 131, 187); overflow: hidden;
color: #fff; position: relative;
} .main {
.el-table { flex: 1;
color: #333; padding: 20px;
} display: flex;
.medicine { flex-flow: column;
background-color: #f56c6c; .el-table__body tr.current-row > td.el-table__cell {
color: #fff; background-color: rgb(2, 131, 187);
} color: #fff;
.el-table__body tr.hover-row > td.el-table__cell { }
background-color: #f5f7fa; .el-table {
color: #333; color: #333;
} }
.el-table__body tr.hover-row > td.medicine { .medicine {
background-color: #f56c6c; background-color: #f56c6c;
color: #fff; color: #fff;
} }
.el-table__body tr.current-row > td.medicine { .el-table__body tr.hover-row > td.el-table__cell {
background-color: #f56c6c; background-color: #f5f7fa;
color: #fff; color: #333;
}
.el-table__body tr.hover-row > td.medicine {
background-color: #f56c6c;
color: #fff;
}
.el-table__body tr.current-row > td.medicine {
background-color: #f56c6c;
color: #fff;
}
} }
}
} }
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment