Commit 005a4ec1 authored by yanglilong's avatar yanglilong

'修改'

parent e62f3fa3
// 报表api // 报表api
export default {}; export default {
createAuthorize: "/backstage/auth/createAuthorize", //创建预授权
authorizeList: "/backstage/auth/authorizeList", //预授权列表
authorizeDetail: "/backstage/auth/authorizeDetail", //预授权详情
authorizeUpdate: "/backstage/auth/authorizeUpdate", //预授权修改
authorizeDelete: "/backstage/auth/authorizeDelete", //预授权删除
};
// 报表函数库 // 报表函数库
// import apis from "../apis_moudles/index"; import apis from "../apis_moudles/index";
// import req from "../request"; import req from "../request";
//创建预授权
const AUTHORIZECREATE = function (data) {
return req.post(apis.createAuthorize, data);
};
//预授权列表
const AUTHORIZELIST = function (data) {
return req.post(apis.authorizeList, data);
};
//预授权详情
const AUTHORIZEDETAIL = function (data) {
return req.post(apis.authorizeDetail, data);
};
//预授权修改
const AUTHORIZEUPDATE = function (data) {
return req.post(apis.authorizeUpdate, data);
};
//预授权删除
const AUTHORIZEDELETE = function (data) {
return req.post(apis.authorizeDelete, data);
};
// 对象数组 // 对象数组
export default {}; export default {
AUTHORIZECREATE,
AUTHORIZELIST,
AUTHORIZEDETAIL,
AUTHORIZEUPDATE,
AUTHORIZEDELETE,
};
import bus from "../utils/bus"; import bus from "../utils/bus";
import {sexOptions, SendStatusOptions, ClaimsStatusOptions, EOBStatusOptions} from '@/utils/utilsdictOptions.js' import {sexOptions, SendStatusOptions, ClaimsStatusOptions, EOBStatusOptions,
ApplyStatusOptions,ApproveStatusOptions} from '@/utils/utilsdictOptions.js'
// 全局混入将会影响每个单文件组件,请慎重思考是否要混入 // 全局混入将会影响每个单文件组件,请慎重思考是否要混入
export default { export default {
...@@ -49,5 +50,25 @@ export default { ...@@ -49,5 +50,25 @@ export default {
}); });
return item? item.name: ""; return item? item.name: "";
}, },
//过滤申请状态
formatApplyStatus(val){
if (!val) {
return;
}
const item = ApplyStatusOptions.find((item) => {
return item.value == val;
});
return item? item.name: "";
},
//过滤审批结果
formatApproveStatus(val){
if (!val) {
return;
}
const item = ApproveStatusOptions.find((item) => {
return item.value == val;
});
return item? item.name: "";
},
} }
}; };
...@@ -35,7 +35,7 @@ export default [ ...@@ -35,7 +35,7 @@ export default [
title: "预授权查询", title: "预授权查询",
}, },
{ {
path: "/pre-auth", path: "/pre-auth/add",
title: "新建预授权", title: "新建预授权",
}, },
], ],
......
// 预授权路由表,分包名称:preAuth // 预授权路由表,分包名称:preAuth
import Layout from '@/layout'
export default { export default {
path: "/pre-auth", path: "/pre-auth",
name: "PreAuth", name: "PreAuth",
component: () => { component: Layout,
return import(/* webpackChunkName: "preAuth" */ "@/views/pre-auth"); children: [
}, {
path: "",
name: "PreAuthIndex",
component: () => import("@/views/pre-auth/index"),
},
{
path: "add",
name: "PreAuthAdd",
component: () => import("@/views/pre-auth/add"),
},
],
}; };
...@@ -30,7 +30,19 @@ const EOBStatusOptions = [ ...@@ -30,7 +30,19 @@ const EOBStatusOptions = [
{ name: '未回款', value: '3'} { name: '未回款', value: '3'}
]; ];
//申请状态
const ApplyStatusOptions = [
{ name: '申请中', value: '01'},
{ name: '预授权批准', value: '02'},
{ name: '预授权拒绝', value: '03'},
{ name: '预授权调查', value: '04'},
];
//审批结果
const ApproveStatusOptions = [
{ name: '未通过', value: '1'},
{ name: '已通过', value: '2'}
];
...@@ -39,4 +51,6 @@ module.exports = { ...@@ -39,4 +51,6 @@ module.exports = {
SendStatusOptions, SendStatusOptions,
ClaimsStatusOptions, ClaimsStatusOptions,
EOBStatusOptions, EOBStatusOptions,
ApplyStatusOptions,
ApproveStatusOptions,
} }
\ No newline at end of file
<template> <template>
<div>回款天数</div> <div>
<!-- form -->
<a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30">
<a-col :lg="6" :sm="12">
<a-form-model-item label="就诊日期">
<a-range-picker format="YYYY年MM月DD日" v-model="form.dateRange" :placeholder="['开始日期', '结束日期']" />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="保险公司">
<a-select v-model="form.payorCode" placeholder="请选择保险公司" allowClear>
<a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode">
{{ item.longName }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="账单寄送日期">
<a-range-picker format="YYYY年MM月DD日" v-model="form.dateRange" :placeholder="['开始日期', '结束日期']" />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="银行到账日期">
<a-range-picker format="YYYY年MM月DD日" v-model="form.dateRange" :placeholder="['开始日期', '结束日期']" />
</a-form-model-item>
</a-col>
<a-col :lg="24" class="none-label">
<a-form-model-item label="button">
<a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询
</a-button>
<a-button class="mar-left10" type="primary" @click="exportExcel">
<Icon name="ssidaochu" :size="14" />导出报表</a-button>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false">
<template slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</template>
</a-table>
<!--分页-->
<BurtPagination :pagination="pagination" @pageChange="getData" />
</div>
</template> </template>
<script> <script>
import BurtPagination from "@/components/CUSTOMER/pagation";
import moment from 'moment'
import {ClaimsStatusOptions} from '@/utils/utilsdictOptions';
import {exportFile} from '@/utils/index';
export default{ export default{
props: {
companyOptions: {
default: []
}
},
data(){ data(){
const columns = [
{ title: "月份", dataIndex: "receiptNo", key:"receiptNo",align:'center', width: 136},
{ title: "保险公司", dataIndex: "payorName", width: 110 },
{ title: "保险就诊量", dataIndex: "patientNo", key:"patientNo",align:'center', width: 136},
{ title: "回款天数(天)", dataIndex: "patientName", width: 110 },
{ title: "金额", dataIndex: "chargeAmount", width: 100, align: 'center' },
{ title: "折后金额", dataIndex: "discountAmount", width: 100, align: 'center' },
{ title: "客户自付金额", dataIndex: "paidAmount", width: 120, align: 'center' },
{ title: "保险已回款金额", dataIndex: "paidAmount2", width: 130, align: 'center' },
{ title: "账单寄送日期", dataIndex: "paidAmount3", width: 130, align: 'center' },
{ title: "回款日期", dataIndex: "paidAmount4", width: 130, align: 'center' },
];
return { return {
columns,
ClaimsStatusOptions,
form: {
dateRange: [],
payorCode: '',
sendBatchNo: '',
sendCompany: '',
trackingNo: '',
sendSts: '',
},
dataList: [],
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
} }
},
components: {
BurtPagination,
},
created(){
}, },
methods: { methods: {
moment,
handlerSearch(){
this.pagination.pageNum = 1;
this.getData();
},
// 获取列表数据
getData() {
let filter = {
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
...this.form,
}
delete filter.dateRange;
this.$apis.QUERYSENDINFOLIST(filter)
.then((res) => {
if (res.returnCode == "0000") {
let content = res.content || {};
this.pagination.total = content.total || 0;
this.dataList = content.list || [];
} else {
this.$message.error(res.returnMsg);
}
});
},
//导出报表
exportExcel(){
exportFile('保险应收报表.xls');
}
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/deep/ .ant-input-group-addon{
border-left: 1px solid #d9d9d9;
}
</style> </style>
\ No newline at end of file
<template> <template>
<div>回款率</div> <div>
<!-- form -->
<a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30">
<a-col :lg="6" :sm="12">
<a-form-model-item label="就诊日期">
<a-range-picker format="YYYY年MM月DD日" v-model="form.dateRange" :placeholder="['开始日期', '结束日期']" />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="保险公司">
<a-select v-model="form.payorCode" placeholder="请选择保险公司" allowClear>
<a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode">
{{ item.longName }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="12" :sm="12" class="none-label">
<a-form-model-item label="button">
<a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询
</a-button>
<a-button class="mar-left10" type="primary" @click="exportExcel">
<Icon name="ssidaochu" :size="14" />导出报表</a-button>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false">
<template slot="index" slot-scope="text, record, index">
{{ index + 1 }}
</template>
</a-table>
<!--分页-->
<BurtPagination :pagination="pagination" @pageChange="getData" />
</div>
</template> </template>
<script> <script>
import BurtPagination from "@/components/CUSTOMER/pagation";
import moment from 'moment'
import {ClaimsStatusOptions} from '@/utils/utilsdictOptions';
import {exportFile} from '@/utils/index';
export default{ export default{
props: {
companyOptions: {
default: []
}
},
data(){ data(){
const columns = [
{ title: "月份", dataIndex: "receiptNo", key:"receiptNo",align:'center', width: 136},
{ title: "保险公司", dataIndex: "payorName", width: 110 },
{ title: "保险就诊量", dataIndex: "patientNo", key:"patientNo",align:'center', width: 136},
{ title: "回款率(%)", dataIndex: "patientName", width: 110 },
{ title: "金额", dataIndex: "chargeAmount", width: 100, align: 'center' },
{ title: "折后金额", dataIndex: "discountAmount", width: 100, align: 'center' },
{ title: "客户自付金额", dataIndex: "paidAmount", width: 120, align: 'center' },
{ title: "保险已回款金额", dataIndex: "paidAmount2", width: 130, align: 'center' },
];
return { return {
columns,
ClaimsStatusOptions,
form: {
dateRange: [],
payorCode: '',
sendBatchNo: '',
sendCompany: '',
trackingNo: '',
sendSts: '',
},
dataList: [],
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
} }
},
components: {
BurtPagination,
},
created(){
}, },
methods: { methods: {
moment,
handlerSearch(){
this.pagination.pageNum = 1;
this.getData();
},
// 获取列表数据
getData() {
let filter = {
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
...this.form,
}
delete filter.dateRange;
this.$apis.QUERYSENDINFOLIST(filter)
.then((res) => {
if (res.returnCode == "0000") {
let content = res.content || {};
this.pagination.total = content.total || 0;
this.dataList = content.list || [];
} else {
this.$message.error(res.returnMsg);
}
});
},
//导出报表
exportExcel(){
exportFile('保险应收报表.xls');
}
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/deep/ .ant-input-group-addon{
border-left: 1px solid #d9d9d9;
}
</style> </style>
\ No newline at end of file
<template>
<div></div>
</template>
<script>
export default{
data(){
return{
}
},
created(){
},
methods: {
}
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
<template>
<!--预授权费用数据-->
<a-modal title="预授权费用数据" :visible="dialogShow1" width="900px" :maskClosable="false"
:footer="null" @cancel="dialogShow1 = false">
</a-modal>
</template>
<script>
export default{
data(){
const columns = [
];
return{
columns,
dialogShow1: false,
dataList: [],
}
},
created(){
},
methods: {
showModal1(data){
this.dialogShow1 = true;
this.dataList = data;
}
}
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
<template> <template>
<div class="index"> <div class="white_bg burt-container">
<!-- 预授权 --> <!-- form -->
预授权 <a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30">
<a-col :lg="6" :sm="12">
<a-form-model-item label="申请日期">
<a-range-picker format="YYYY年MM月DD日" v-model="form.dateRange" :placeholder="['开始日期', '结束日期']" />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="保险公司">
<a-select v-model="form.payorCode" placeholder="请选择保险公司" allowClear>
<a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode">
{{ item.longName }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="申请项目">
<a-select v-model="form.authProject" placeholder="请选择项目" allowClear>
<a-select-option v-for="(item) in ProjectList" :key="item.id" :value="item.descCh">{{item.descCh}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="申请状态">
<a-select v-model="form.authorStatus" placeholder="请选择申请状态" allowClear>
<a-select-option v-for="(item,i) in ApplyStatusOptions" :key="i" :value="item.value">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="病历号">
<a-input v-model="form.mrnNo" placeholder="请输入病历号" allow-clear />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="客户姓名">
<a-input v-model="form.patientName" placeholder="请输入客户姓名" allow-clear />
</a-form-model-item>
</a-col>
<a-col :lg="12" :sm="12" class="none-label">
<a-form-model-item label="button">
<a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询
</a-button>
<a-button class="mar-left10" type="primary" @click="addPreAuth">
<Icon name="ssiadd" :size="14" />新建预授权</a-button>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false">
<template slot="authorizeItemVoList" slot-scope="text, record">
<a-button type="link" @click.stop="seeEvt(record)">查看</a-button>
</template>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click.stop="editEvt(record)">修改</a-button>
<a-button type="link" class="success" @click.stop="addEvt(record)">新增</a-button>
<a-button v-if="record.eobNo" type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
</template>
</a-table>
<!--分页-->
<BurtPagination :pagination="pagination" @pageChange="getData" />
<!--预授权费用数据-->
<authorizeVoList ref="authData" />
</div> </div>
</template> </template>
<script> <script>
export default { import BurtPagination from "@/components/CUSTOMER/pagation";
data() { import authorizeVoList from './components/authorizeVoList';
return {}; import moment from 'moment'
import {ClaimsStatusOptions,ApplyStatusOptions} from '@/utils/utilsdictOptions';
import mixins from '@/mixins/index';
export default{
data(){
const columns = [
{ title: "病历号", dataIndex: "mrnNo", key:"receiptNo",align:'center', width: 136},
{ title: "客户姓名", dataIndex: "patientName", key:"patientNo",align:'center', width: 136},
{ title: "保险公司", dataIndex: "payorName", width: 110 },
{ title: "申请项目", dataIndex: "authProject", width: 100},
{ title: "申请金额", dataIndex: "authorAmount", width: 100, align: 'center' },
{ title: "申请状态", dataIndex: "authorStatus", width: 100, align: 'center' },
{ title: "申请日期", dataIndex: "paidAmount", width: 100, align: 'center' },
{ title: "批准金额", dataIndex: "approvalAmount", width: 100, align: 'center' },
{ title: "批准天数", dataIndex: "authorDays", width: 110, align: 'center' },
{ title: "不予批准原因", dataIndex: "rejectReason", width: 120, align: 'center' },
{ title: "预授权使用情况", dataIndex: "authorizeItemVoList", width: 120, align: 'center', scopedSlots: { customRender: "authorizeItemVoList" } },
{ title: "备注", dataIndex: "remark", width: 100, align: 'center' },
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, fixed: "right", width: "200px", align: 'center'},
];
return {
columns,
ClaimsStatusOptions,
ApplyStatusOptions,
form: {
dateRange: [],
payorCode: '',
authProject: '',
authorStatus: '',
mrnNo: '',
patientName: ''
},
companyOptions: [], //保险公司
ProjectList: [], //预授权项目
dataList: [],
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
}
}, },
computed: {}, mixins: [mixins],
watch: {}, components: {
methods: {}, BurtPagination, authorizeVoList,
}; },
created(){
this.getData();
this._getCompanyOptions();
this.getRefcdByRefgrp();
},
methods: {
moment,
//新建预授权
addPreAuth(){
this.$router.push({
path: '/pre-auth/add'
})
},
handlerSearch(){
this.pagination.pageNum = 1;
this.getData();
},
// 获取保险公司下拉选项
_getCompanyOptions() {
this.$apis.GETCOMPANYOPTIONS().then((res) => {
this.companyOptions = res.content || [];
});
},
// 获取码表
getRefcdByRefgrp() {
//预授权项目
this.$apis.GETREFCDBYREFGRP({
modid: "CI",
refgrp: "预授权项目"
}).then((res) => {
this.ProjectList = res.content || [];
});
},
// 获取列表数据
getData() {
let filter = {
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
...this.form,
createDateStart: this.form.dateRange[0]?moment(this.form.dateRange[0]).format('YYYY-MM-DD 00:00:00'):'',
createDateEnd: this.form.dateRange[1]?moment(this.form.dateRange[1]).format('YYYY-MM-DD 00:00:00'):'',
}
delete filter.dateRange;
this.$apis.AUTHORIZELIST(filter)
.then((res) => {
if (res.returnCode == "0000") {
let content = res.content || {};
this.pagination.total = content.total || 0;
this.dataList = content.list || [];
} else {
this.$message.error(res.returnMsg);
}
});
},
editEvt(record){
console.log(record);
},
//查看预授权使用数据
seeEvt(record={}){
let data = record.authorizeItemVoList || [];
this.$refs.authData.showModal1(data);
},
addEvt(){
}
}
}
</script> </script>
<style lang="less" scoped></style> <style lang="less" scoped>
</style>
\ No newline at end of file
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