Commit 77e494f8 authored by yanglilong's avatar yanglilong

Merge branch 'test' of git.ssish.com:sunhailiang/bims

parents 37e60316 73f63c16
......@@ -8,7 +8,7 @@
<title><%= webpackConfig.name %></title>
<script
type="text/javascript"
src="//at.alicdn.com/t/font_3020450_c8k1zo91rcb.js"
src="//at.alicdn.com/t/font_3020450_5d4bvzz8pmi.js"
></script>
</head>
<body>
......
......@@ -7,4 +7,5 @@ export default {
uploadImg: "/common/upload",
specialtyList: "/backstage/auth/specialtyList",
coverageCode: "/backstage/auth/coverageMasterList",
getRefcdByRefgrp: "/common/getRefcdByRefgrp", // 公共获取码表接口
};
// 收费查询api
export default {
querySendInfoList: "/backstage/auth/querySendInfoList", //查询寄送列表
deleteReceiptSendInfo:"/backstage/auth/deleteReceiptSendInfo",//删除寄送信息
saveReceipSendInfo:"/backstage/auth/saveReceipSendInfo",//保存理赔件账单寄送信息
querySendReceipList:"/backstage/auth/querySendReceipList",//查询寄送包含账单列表
queryNoSendReceipList:"/backstage/auth/queryNoSendReceipList",//待寄送账单查询
getChargeList: "/backstage/auth/receiptList",
getCompanyOptions: "/backstage/auth/payorListNopage",
getDoctorListNoPage:"/backstage/auth/doctorListNoPage",//医生列表
getChargeListDetail:"/backstage/auth/receiptDetailList",//账单明细
getReceiptPaymentDetail:"/backstage/auth/receiptPaymentDetail",//账单明细
queryCiReceipSendList:"/backstage/auth/queryCiReceipSendList",//理赔件账单寄送查询
};
// 客户管理api
export default {
getCustomerList: "/backstage/auth/patientList",
updateCustomList: "/backstage/auth/updatePatientPolicy",
createCustomer: "/backstage/auth/createPatient",
customerDetail: "/backstage/auth/patientDetail",
getCustomerList: "/backstage/auth/patientList", // 获取用户信息列表
updateCustomList: "/backstage/auth/updatePatientPolicy", // 修改用户信息
createCustomer: "/backstage/auth/createPatient", // 新建用户信息
customerDetail: "/backstage/auth/patientDetail", // 获取用户详细信息
createClaimPdf: "/backstage/auth/createClaimPdf", // 获取用户理赔申请书
deleteCustom: "/backstage/auth/patientDelete" // 删除客户
};
// 核销管理api
export default {};
export default {
queryEobList: "/backstage/auth/queryEobList", //EOB列表查询
queryEobReceiptList: "/backstage/auth/queryEobReceiptList", //EOB待核销账单查询
queryEobNeedReceiptList: "/backstage/auth/queryEobNeedReceiptList", //EOB待确认账单列表查询
deleteEobReceiptInfo: "/backstage/auth/deleteEobReceiptInfo", //删除EOB
saveEobReceiptInfo: "/backstage/auth/saveEobReceiptInfo", //EOB新建
queryBackMoneyList: "/backstage/auth/queryBackMoneyList", //回款列表
queryBackEobList: "/backstage/auth/queryBackEobList", //回款关联EOB列表查询
queryEobInfoList: "/backstage/auth/queryEobInfoList", //待回款EOB列表查询
saveBackMoney: "/backstage/auth/saveBackMoney", //新建回款
deleteBackMoney: "/backstage/auth/deleteBackMoney", //删除回款
};
// 福利管理api
export default {
benefitType: "/backstage/auth/benefitMasterList",
planList: "/backstage/auth/planListPage",
editPlan: "/backstage/auth/planEdit",
coverageCode: "/backstage/auth/coverageMasterList",
coverageList: "/backstage/auth/coverageList",
addCoverage: "/backstage/auth/createCoverage",
editCoverage: "/backstage/auth/coverageEdit",
conditionList: "/backstage/auth/conditionList",
addCondition: "/backstage/auth/conditionCreate",
editCondition: "/backstage/auth/conditionEdit",
benefitList: "/backstage/auth/benefitList",
addBenefit: "/backstage/auth/createBenefit",
editBenefit: "/backstage/auth/benefitEdit",
getFrequencyCode: "/backstage/auth/frequencyList",
getLimitCode: "/backstage/auth/limitList",
};
......@@ -41,6 +41,11 @@ const GETCOVERAGECODE = (data) => {
return req.post(apis.coverageCode, data);
};
// 公共获取码表列表
const GETREFCDBYREFGRP = (data) => {
return req.post(apis.getRefcdByRefgrp, data);
};
// 对象数组
export default {
GETUSERINFO,
......@@ -50,4 +55,5 @@ export default {
GETSPECIALTYLIST,
UPLOADIMG,
GETCOVERAGECODE,
GETREFCDBYREFGRP,
};
// 收费查询函数库
import apis from "../apis_moudles/";
import req from "../request";
// 查询寄送列表
const QUERYSENDINFOLIST = function (data) {
return req.post(apis.querySendInfoList, data);
};
// 删除寄送信息
const DELETERECEIPTSENDINFO= function (data) {
return req.post(apis.deleteReceiptSendInfo, data);
};
// 保存理赔件账单寄送信息
const SAVERECEIPSENDINFO= function (data) {
return req.post(apis.saveReceipSendInfo, data);
};
// 查询寄送包含账单列表
const QUERYSENDRECEIPLIST = function (data) {
return req.post(apis.querySendReceipList, data);
};
// 待寄送账单查询
const QUERYNOSENDRECEIPLIST = function (data) {
return req.post(apis.queryNoSendReceipList, data);
};
// get charge list
const GETCHARGELIST = function (data) {
return req.post(apis.getChargeList, data);
......@@ -21,11 +41,25 @@ const GETCHARGELISTDETAIL = function (data) {
const GETRECEIPTPAYMENTDETAIL= function (data) {
return req.post(apis.getReceiptPaymentDetail, data);
};
// 理赔件账单寄送查询
const QUERYCIRECEIPSENDLIST= function (data) {
return req.post(apis.queryCiReceipSendList, data);
};
// 对象数组
export default {
QUERYSENDINFOLIST,
DELETERECEIPTSENDINFO,
SAVERECEIPSENDINFO,
QUERYSENDRECEIPLIST,
QUERYNOSENDRECEIPLIST,
GETCHARGELIST,
GETCOMPANYOPTIONS,
GETDOCTORlISTNOPAGE,
GETCHARGELISTDETAIL,
GETRECEIPTPAYMENTDETAIL
GETRECEIPTPAYMENTDETAIL,
QUERYCIRECEIPSENDLIST,
};
......@@ -21,10 +21,21 @@ const UPDATECUSTOMDATA = function (data) {
const CREATENEWCUSTOMER = function (data) {
return req.post(apis.createCustomer, data);
};
// 删除客户
const DELETECUSTOM = function (data) {
return req.post(apis.deleteCustom, data);
};
// 获取用户理赔申请书
const CREATECUSTOMERCLAIMPGF = function (data) {
return req.post(apis.createClaimPdf, data, { responseType: "blob" });
};
export default {
GETCUSTOMERLIST,
GETCUSTOMERDETAIL,
UPDATECUSTOMDATA,
CREATENEWCUSTOMER,
DELETECUSTOM,
CREATECUSTOMERCLAIMPGF
};
// 核销管理函数库
// import apis from "../apis_moudles/index";
// import req from "../request";
import apis from "../apis_moudles/verification.js";
import req from "../request";
//EOB列表查询
const QUERYEOBLIST = (data) => {
return req.post(apis.queryEobList, data);
};
//EOB待核销账单查询
const QUERYEOBRECEIPTLIST = (data) => {
return req.post(apis.queryEobReceiptList, data);
};
//EOB待确认账单列表查询
const QUERYEOBNEEDRECEIPTLIST = (data) => {
return req.post(apis.queryEobNeedReceiptList, data);
};
//EOB新建
const SAVEEOBRECEIPTINFO = (data) => {
return req.post(apis.saveEobReceiptInfo, data);
};
//删除EOB
const DELEOBRECEIPTINFO = (data) => {
return req.post(apis.deleteEobReceiptInfo, data);
};
//回款列表
const QUERYBACKMONEYLIST = (data) => {
return req.post(apis.queryBackMoneyList, data);
};
//回款关联EOB列表查询
const QUERYBACKEOBLIST = (data) => {
return req.post(apis.queryBackEobList, data);
};
//待回款EOB列表查询
const QUERYEOBINFOLIST = (data) => {
return req.post(apis.queryEobInfoList, data);
};
//新建回款
const SAVEBACKMONEY = (data) => {
return req.post(apis.saveBackMoney, data);
};
//删除回款
const DELETEBACKMONEY = (data) => {
return req.post(apis.deleteBackMoney, data);
};
// 对象数组
export default {};
export default {
QUERYEOBLIST,
QUERYEOBRECEIPTLIST,
QUERYEOBNEEDRECEIPTLIST,
SAVEEOBRECEIPTINFO,
DELEOBRECEIPTINFO,
QUERYBACKMONEYLIST,
QUERYBACKEOBLIST,
QUERYEOBINFOLIST,
SAVEBACKMONEY,
DELETEBACKMONEY,
};
\ No newline at end of file
......@@ -6,9 +6,77 @@ const GETBENEGITTYPE = () => {
return req.post(apis.benefitType);
};
const GETPLANLIST = (data) => {
return req.post(apis.planList, data);
};
const EDITPLANDATE = (data) => {
return req.post(apis.editPlan, data);
};
const GETCOVERAGELIST = (data) => {
return req.post(apis.coverageList, data);
};
const GETCONDITIONLIST = (data) => {
return req.post(apis.conditionList, data);
};
const ADDCONDITIONDATA = (data) => {
return req.post(apis.addCondition, data);
};
const EDITCONDITIONDATA = (data) => {
return req.post(apis.editCondition, data);
};
const GETBENEFITLIST = (data) => {
return req.post(apis.benefitList, data);
};
const ADDBENEFITLIST = (data) => {
return req.post(apis.addBenefit, data);
};
const EDITBENEFITLIST = (data) => {
return req.post(apis.editBenefit, data);
};
const GETCOVERAGECODE = (data) => {
return req.post(apis.coverageCode, data);
};
const ADDCOVERAGEDATA = (data) => {
return req.post(apis.addCoverage, data);
};
const EDITCOVERAGEDATA = (data) => {
return req.post(apis.editCoverage, data);
};
const GETFREQUENCYCODE = (data) => {
return req.post(apis.getFrequencyCode, data);
};
const GETLIMITCODE = (data) => {
return req.post(apis.getLimitCode, data);
};
// 对象数组
export default { GETBENEGITTYPE, GETCOVERAGELIST };
export default {
GETBENEGITTYPE,
GETPLANLIST,
EDITPLANDATE,
GETCOVERAGELIST,
GETCONDITIONLIST,
ADDCONDITIONDATA,
EDITCONDITIONDATA,
GETBENEFITLIST,
ADDBENEFITLIST,
EDITBENEFITLIST,
GETCOVERAGECODE,
ADDCOVERAGEDATA,
EDITCOVERAGEDATA,
GETFREQUENCYCODE,
GETLIMITCODE,
};
......@@ -60,6 +60,11 @@ service.interceptors.response.use(
const PUBSTATE = code.PUB_ERR(returnCode, returnMsg, response.config);
// 请求成功,但逻辑或者业务有错,返回具体数据,根据业务决定是否要提示 有token失效全局异常不返回
if (TOKENSTATE && PUBSTATE) {
const { config } = response
if (config && config.responseType === 'blob') {
resolve(response)
return true
}
resolve(response.data);
}
}
......
......@@ -14,9 +14,12 @@ const TOKEN_INVLIDE_TO_LOGIN = (code) => {
});
}
// 清除个人数据
store.commit("user/setUserInfo", "");
store.commit("common/setUserInfo", "");
route.replace({
path: "/login",
query: {
redirect: route.currentRoute.fullPath,
},
});
return false;
} else {
......
......@@ -31,6 +31,9 @@ button::-moz-focus-inner {
.mar-left10 {
.mg-l(30);
}
.mar-bottom10 {
.mg-b(20);
}
// 媒体查询
// 文本超长
......
......@@ -238,7 +238,8 @@ select {
font-family: PingFangSC-Medium, PingFang SC;
}
}
.ant-calendar-picker {
.ant-calendar-picker,
.ant-input-number {
width: 100%;
}
// .ant-table,
......@@ -271,6 +272,7 @@ select {
}
.ant-input,
.ant-input-number,
.ant-select-selection {
border: none;
background-color: #f8fafb;
......
......@@ -19,7 +19,8 @@ import {
popconfirm,
Modal,
modal,
Spin
Spin,
Collapse,
} from "ant-design-vue";
export default () => {
......@@ -43,7 +44,8 @@ export default () => {
popconfirm,
Modal,
modal,
Spin
Spin,
Collapse,
];
// 注册
els.forEach((item) => {
......
......@@ -67,12 +67,12 @@ export default {
this.jumpPage = this.jumpPage < 0 ? 0 : this.jumpPage;
this.jumpPage = this.jumpPage > pages ? pages : this.jumpPage;
this.pagination.pageNum = this.jumpPage;
this.$emit("pageChange");
this.$emit("pageChange", { pageNum: this.jumpPage });
},
//改变分页
pageChange(pager) {
this.pagination.pageNum = pager;
this.$emit("pageChange");
this.$emit("pageChange", { pageNum: pager });
},
},
};
......
<template>
<div class="icon-class" :style="`font-size:${size}px`" @click="clickEvent">
<div
class="icon-class"
:style="`font-size:${size}px`"
@click="clickEvent"
>
<svg class="icon" aria-hidden="true">
<use :xlink:href="iconName" />
</svg>
......
......@@ -14,6 +14,16 @@ export default {
path: "detail",
name: "chargeQueryDetail",
component: () => import(/* webpackChunkName: "chargeQuery" */"@/views/charge-query/detail.vue")
},
{
path: "lpjManage",
name: "chargeQueryLpjManage",
component: () => import(/* webpackChunkName: "chargeQuery" */"@/views/charge-query/lpjManage.vue")
},
{
path: "lpjManageDetail",
name: "chargeQueryLpjManageDetail",
component: () => import(/* webpackChunkName: "chargeQuery" */"@/views/charge-query/lpjManageDetail.vue")
}
]
};
// 客户信息路由表,分包名称:customer
export default {
path: "/customer",
path: "/",
redirect: "customerInfo",
component: () => {
return import(/* webpackChunkName: "customer" */ "@/views/customer");
},
children: [
{
path: "",
path: "customer",
name: "customerInfo",
component: () => import("@/views/customer/info"),
},
{
path: "edit",
path: "customer/edit",
name: "customerEdit",
component: () => import("@/views/customer/edit"),
},
......
......@@ -16,9 +16,18 @@ export default [
},
{
icon: "ssimanage_msg",
path: "/welfare",
path: "2",
title: "福利信息管理",
children: [],
children: [
{
path: "/welfare",
title: "福利信息明细",
},
{
path: "/welfare/edit",
title: "福利信息管理",
},
],
},
{
icon: "ssimanage",
......@@ -44,6 +53,10 @@ export default [
path: "/charge-query",
title: "账单查询",
},
{
path: "/charge-query/lpjManage",
title: "理赔件管理",
},
],
},
{
......@@ -55,18 +68,10 @@ export default [
path: "/verification",
title: "EOB管理",
},
{
path: "/verification/addEOB",
title: "新建EOB数据",
},
{
path: "/verification/collection",
title: "回款管理",
},
{
path: "/verification/collectionAdd",
title: "新建回款管理",
},
],
},
{
......@@ -87,7 +92,7 @@ export default [
{
icon: "ssiscan",
path: "/bi",
title: "",
title: "",
children: [],
},
];
......@@ -11,9 +11,9 @@ export default {
component: () => import("@/views/verification/index"),
},
{
path: "addEOB",
name: "VerificationAddEOB",
component: () => import("@/views/verification/addEOB"),
path: "detail",
name: "VerificationIndexDetail",
component: () => import("@/views/verification/indexDetail"),
},
{
path: "collection",
......@@ -21,9 +21,9 @@ export default {
component: () => import("@/views/verification/collection"),
},
{
path: "collectionAdd",
name: "VerificationCollectionAdd",
component: () => import("@/views/verification/collectionAdd"),
path: "collectionDetail",
name: "VerificationCollectionDetail",
component: () => import("@/views/verification/collectionDetail"),
},
],
};
// 福利管理路由表,分包名称:welfare
export default {
path: "/welfare",
name: "welfare",
path: "/",
component: () => {
return import(/* webpackChunkName: "Welfare" */ "@/views/welfare");
},
children: [
{
path: "welfare",
name: "welfareInfo",
component: () => import("@/views/welfare/info"),
},
{
path: "welfare/edit",
name: "welfareEdit",
component: () => import("@/views/welfare/edit"),
},
],
};
// 统一暴露工具,供其他地方调用
// 数组转对象
function arrToObj(arr) {
export function arrToObj(arr) {
// 参数必须是一个数组
if (!Array.isArray(arr)) {
throw new Error("type err: arr 必须是一个数组");
......@@ -13,4 +13,62 @@ function arrToObj(arr) {
});
return obj;
}
export default { arrToObj };
/*
* 文件流转换为url
* @params file 文件流
* @return url
*/
export function getObjectURL(file) {
console.log(file)
let url = null;
if (window.createObjectURL != undefined) { // basic
url = window.createObjectURL(file);
} else if (window.webkitURL != undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file);
} else if (window.URL != undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file);
}
return url;
}
/**
* @description 文件下载(兼容IE)
* @param {Object} response options 接口响应的数据 包括文件流及保文信息
* @param {String} file_name 文件名称
* @returns {undefined} undefined
*/
export function downloadFile(response, file_name = "ExportFile") {
const fileType = response.headers["content-type"] || "application/pdf";
const disposition = response.headers["content-disposition"]
if (disposition) {
file_name = disposition.split("filename=")[1]
}
const blob = new Blob([response.data], { type: `${fileType};charset=utf-8` });
const ie = navigator.userAgent.match(/MSIE\s([\d.]+)/),
ie11 = navigator.userAgent.match(/Trident\/7.0/) && navigator.userAgent.match(/rv:11/),
ieEDGE = navigator.userAgent.match(/Edge/g),
ieVer = ie ? ie[1] : ie11 ? 11 : ieEDGE ? 12 : -1;
if (ie && ieVer < 10) {
this.message.error('No blobs on IE<10');
return;
}
if (ieVer > -1) {
window.navigator.msSaveBlob(blob, file_name);
return {}
} else {
const url = window.URL.createObjectURL(blob);
return {
url,
file_name
}
// let link = document.createElement('a');
// link.setAttribute('href', url);
// link.setAttribute('download', file_name);
// document.body.appendChild(link);
// link.click();
// document.body.removeChild(link);
}
}
\ No newline at end of file
<template>
<div class="login">
<h2 class="title">{{title}}</h2>
<h2 class="title">{{ title }}</h2>
<div class="content">
<p class="module-title">
<span>密码登录</span>
......@@ -33,7 +33,9 @@
</a-input>
</a-form-model-item>
<a-form-model-item>
<a-button type="primary" block @click.stop="handlerLogin">登录</a-button>
<a-button type="primary" block @click.stop="handlerLogin"
>登录</a-button
>
</a-form-model-item>
</a-form-model>
</div>
......@@ -42,6 +44,7 @@
<script>
import { title } from "@/settings";
import { downloadFile } from '@/utils/index'
export default {
data() {
return {
......@@ -49,7 +52,7 @@ export default {
form: {
userName: process.env.VUE_APP_USER || "",
passWord: process.env.VUE_APP_PWD || "",
verificationCode: ""
verificationCode: "",
},
formRules: {
userName: [{ required: true, message: "请输入用户名" }],
......@@ -73,7 +76,7 @@ export default {
},
_getVerifyImg() {
this.$apis.GETVERIFYIMG().then((res) => {
const url = window.URL.createObjectURL(res);
const { url } = downloadFile(res);
this.verifyImg = url || "";
});
},
......@@ -81,7 +84,8 @@ export default {
this.$apis.LOGIN(this.form).then((res) => {
if (res.returnCode === "0000") {
this.$store.commit("common/setUserInfo", res.content);
this.$router.replace("/customer");
const path = this.$route.query && this.$route.query.redirect || "/customer";
this.$router.replace(path);
} else {
this.$message.error(res.returnMsg || "出现错误");
this.form.verificationCode = "";
......@@ -115,11 +119,11 @@ export default {
.bd-b(solid, 31, transparent);
}
&::before {
.l(-20);
.l(-18.8);
.bd-r(solid, 20, #2b63ff);
}
&::after {
.r(-20);
.r(-18.8);
.bd-l(solid, 20, #2b63ff);
}
}
......@@ -142,6 +146,8 @@ export default {
.mg-t(13);
}
.verify-img {
.w(110px);
height: 100%;
cursor: pointer;
}
}
......
This diff is collapsed.
This diff is collapsed.
<template>
<!-- 收费查询-账单查询 -->
<div class="white_bg burt-container custom-info">
<!-- form -->
<a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30">
<a-col :lg="8" :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="8" :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="8" :sm="12">
<a-form-model-item label="寄送批号">
<a-input v-model="form.sendBatchNo" placeholder="请输入寄送批号" allow-clear />
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="30">
<a-col :lg="8" :sm="12">
<a-form-model-item label="快递公司">
<a-select v-model="form.sendCompany" placeholder="请选择快递公司" showSearch allowClear>
<a-select-option v-for="(item) in expressList" :key="item.id" :value="item.descCh">{{item.descCh}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="8" :sm="12">
<a-form-model-item label="快递单号">
<a-input v-model="form.trackingNo" placeholder="请输入快递单号" allow-clear />
</a-form-model-item>
</a-col>
<a-col :lg="8" :sm="12">
<a-form-model-item label="账单编号">
<a-input v-model="form.receiptNo" placeholder="请输入账单编号" allow-clear />
</a-form-model-item>
</a-col>
<a-col :sm="24" class="none-label">
<div class="btn-div flex">
<span></span>
<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="handlerReset">
<Icon name="ssireset" :size="14" />重置
</a-button>
<a-button class="mar-left10" type="primary" @click="addNewCharge">
<Icon name="ssiadd" :size="14" />新建寄送</a-button>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
<!-- table -->
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false">
<template slot="sendDate" slot-scope="text">
{{ text? moment(text).format('YYYY-MM-DD'): '' }}
</template>
<template slot="sendSts" slot-scope="text">
{{ text==1?'已寄送':'未寄送' }}
</template>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click.stop="editEvt(record)">编辑</a-button>
<a-button type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
</template>
</a-table>
<!--分页-->
<BurtPagination :pagination="pagination" @pageChange="getData" />
</div>
</template>
<script>
import BurtPagination from "@/components/CUSTOMER/pagation";
import moment from 'moment'
export default {
data() {
const columns = [
{ title: "寄送批号", dataIndex: "sendBatchNo", key:"sendBatchNo",align:'center', width: 136},
{ title: "保险公司", dataIndex: "payorName", width: 110 },
{ title: "寄送状态", dataIndex: "sendSts", width: 90,scopedSlots: { customRender: "sendSts" } },
{ title: "寄送日期", dataIndex: "sendDate",width: 130,scopedSlots: { customRender: "sendDate" }},
{ title: "快递单号",dataIndex: "trackingNo",width: 180,},
{ title: "寄送备注", dataIndex: "sendRemark", width: 100 },
{ title: "操作", key: "operation", width: "200px",fixed: "right",scopedSlots: { customRender: "operation" }},
];
return {
loading: false,
columns,
form: {
dateRange: [],
payorCode: '',
sendBatchNo: '',
trackingNo: '',
receiptNo: '',
},
companyOptions: [], //保险公司
expressList: [], //快递列表
dataList: [],
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
};
},
components: {
BurtPagination,
},
created() {
this.getData();
this._getCompanyOptions();
this.getRefcdByRefgrp();
},
methods: {
moment,
// 获取列表数据
getData() {
let filter = {
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
...this.form,
visitTimeStart: this.form.dateRange[0]?moment(this.form.dateRange[0]).format('YYYY-MM-DD 00:00:00'):'',
visitTimeEnd: this.form.dateRange[1]?moment(this.form.dateRange[1]).format('YYYY-MM-DD 00:00:00'):'',
}
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);
}
});
},
// 获取保险公司下拉选项
_getCompanyOptions() {
this.$apis.GETCOMPANYOPTIONS().then((res) => {
this.companyOptions = res.content || [];
});
},
// 获取快递列表
getRefcdByRefgrp() {
this.$apis.GETREFCDBYREFGRP({
modid: "CI",
refgrp: "SEND_COMPANY"
}).then((res) => {
this.expressList = res.content || [];
});
},
// 重置
handlerReset() {
this.form = {
dateRange: [],
payorCode: '',
sendBatchNo: '',
trackingNo: '',
receiptNo: '',
}
},
//编辑
editEvt(record) {
const { sendBatchNo } = record;
localStorage.setItem('jisongDataDetail', JSON.stringify(record));
this.$router.push({
path: "/charge-query/lpjManageDetail",
query: { sendBatchNo },
});
},
handlerSearch() {
this.pagination.pageNum = 1;
this.getData();
},
//删除
delRecord(index) {
this.$modal.confirm({
title: "删除",
content: "确定删除该条记录?",
okText: "确定",
cancelText: "取消",
onOk: () => {
this.$apis.DELETERECEIPTSENDINFO({
sendBatchNo: this.dataList[index].sendBatchNo,
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("删除成功");
this.dataList.splice(index, 1);
} else {
this.$message.error(res.returnMsg);
}
});
},
});
},
//新建寄送
addNewCharge(){
this.$router.push({
path: '/charge-query/lpjManageDetail'
})
}
},
};
</script>
<style lang="less" scoped>
.none-label {
text-align: right;
.ant-form-item-label {
opacity: 0;
}
}
.ant-btn .icon-class {
.mg-r(10);
}
.btn-div{
justify-content: space-between;
}
</style>
This diff is collapsed.
This diff is collapsed.
......@@ -5,51 +5,34 @@
<a-row :gutter="30">
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="病历号码">
<a-input v-model="form.mrnNo" placeholder="请输入病历号"></a-input>
<a-input v-model="form.mrnNo" placeholder="请输入病历号" allow-clear></a-input>
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="客户姓名">
<a-input
v-model="form.patientName"
placeholder="请输入客户姓名"
></a-input>
<a-input v-model="form.patientName" placeholder="请输入客户姓名" allow-clear></a-input>
</a-form-model-item>
</a-col>
<a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="出生日期">
<a-date-picker
v-model="form.birthday"
placeholder="请选择出生日期"
></a-date-picker>
<a-date-picker v-model="form.birthday" placeholder="请选择出生日期" value-format="YYYY-MM-DD 00:00:00" allow-clear></a-date-picker>
</a-form-model-item>
</a-col>
<a-col :xl="5" :lg="6" :sm="12">
<a-form-model-item label="保险公司">
<a-select v-model="form.payorId" placeholder="请选择保险公司">
<a-select-option
v-for="item in companyCode"
:key="item.corpCode"
:value="item.id"
>
{{ item.longName }}
</a-select-option>
<a-select v-model="form.payorId" placeholder="请选择保险公司" allow-clear>
<a-select-option v-for="item in companyCode" :key="item.corpCode" :value="item.id">{{ item.longName }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="保单号码">
<a-input
v-model="form.policyNo"
placeholder="请输入保单号码"
></a-input>
<a-input v-model="form.policyNo" placeholder="请输入保单号码" allow-clear></a-input>
</a-form-model-item>
</a-col>
<a-col :xl="18" :lg="18" :sm="12" class="none-label">
<a-form-model-item label="button">
<a-button type="primary" @click="addNewCustom"
><Icon name="ssiadd" :size="14" />新建客户信息</a-button
>
<a-button type="primary" @click="addNewCustom"><Icon name="ssiadd" :size="14" />新建客户信息</a-button>
<a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询
</a-button>
......@@ -68,23 +51,11 @@
:customRow="handlerRowClick"
>
<template slot="operation" slot-scope="record">
<a-button
v-if="record.isEdit"
type="link"
@click.stop="saveChange(record)"
>保存</a-button
>
<a-button v-else type="link" @click.stop="changeDataStatus(record)"
>修改</a-button
>
<a-button type="link" class="success">新增</a-button>
<a-popconfirm
title="你确定要关闭吗?"
ok-text="确定"
cancel-text="取消"
@confirm="deleteData"
>
<a-button type="link" class="danger">删除</a-button>
<a-button type="link" @click.stop="changeDataStatus(record)">修改</a-button>
<a-button type="link" @click.stop="printClaimPdf(record)">打印理赔申请书</a-button>
<!-- <a-button type="link" class="success">新增</a-button> -->
<a-popconfirm title="你确定要删除吗?" ok-text="确定" cancel-text="取消" @confirm="deleteData(record)">
<a-button type="link" class="danger" @click.stop>删除</a-button>
</a-popconfirm>
</template>
</a-table>
......@@ -95,44 +66,24 @@
<script>
import BurtPagination from "@/components/CUSTOMER/pagation";
import {downloadFile} from '@/utils/index'
import moment from 'moment'
export default {
data() {
const dateFormat = (val) => {
return val && moment(val).format('YYYY-MM-DD')
}
const columns = [
{
title: "病历号",
dataIndex: "mrnNo",
width: 180,
customRender: (val, row) => {
if (row.isEdit) {
return <a-input v-model={row.mrnNo}></a-input>;
}
return val;
},
},
{
title: "客户姓名",
dataIndex: "patientName",
width: 120,
customRender: (val, row) => {
if (row.isEdit) {
return <a-input v-model={row.patientName}></a-input>;
}
return val;
},
},
{ title: "出生日期", dataIndex: "birthday", width: 180 },
{ title: "病历号", dataIndex: "mrnNo", width: 180, },
{ title: "客户姓名", dataIndex: "patientName", width: 120,},
{ title: "出生日期", dataIndex: "birthday", width: 170, customRender: dateFormat},
{ title: "性别", dataIndex: "sex", width: 80 },
{ title: "保险公司", dataIndex: "payorName", width: 180 },
{ title: "保单号码", dataIndex: "policyNo", width: 190 },
{ title: "保险有效日期", dataIndex: "startDate", width: 180 },
{ title: "保险终止日期", dataIndex: "endDate", width: 180 },
{
title: "操作",
key: "operation",
width: "175px",
fixed: "right",
scopedSlots: { customRender: "operation" },
},
{ title: "保险有效日期", dataIndex: "startDate", width: 170, customRender: dateFormat },
{ title: "保险终止日期", dataIndex: "endDate", width: 170, customRender: dateFormat },
{ title: "操作", key: "operation", width: "260px", fixed: "right", scopedSlots: { customRender: "operation" }},
];
return {
columns,
......@@ -143,12 +94,12 @@ export default {
pager: {
pageNum: 1,
pageSize: 10,
total: 0
}
total: 0,
},
};
},
components: {
BurtPagination
BurtPagination,
},
created() {
this._getCustomerList();
......@@ -167,7 +118,7 @@ export default {
return true;
}
this.$router.push({
name: "welfare",
name: "welfareInfo",
query: { id, patientPolicyId },
});
},
......@@ -176,7 +127,11 @@ export default {
},
// 修改按钮
changeDataStatus(record) {
this.$set(record, "isEdit", true);
const { id, patientPolicyId } = record;
this.$router.push({
name: "customerEdit",
query: { id, patientPolicyId },
});
},
saveChange(record) {
record.isEdit = undefined;
......@@ -192,8 +147,29 @@ export default {
this._getCustomerList();
});
},
deleteData() {
this.$message.success("删除成功");
printClaimPdf(data) {
this.$apis.CREATECUSTOMERCLAIMPGF(data).then(res => {
const {url, file_name} = downloadFile(res);
console.log(url, file_name)
let link = document.createElement('a');
link.setAttribute('href', url);
// link.setAttribute('download', file_name);
link.setAttribute('target', "_blank");
link.setAttribute('alt', file_name);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
})
},
deleteData(data) {
this.$apis.DELETECUSTOM({id: data.id}).then(res => {
if (res.returnCode === "0000") {
this.$message.success(res.returnMsg || "操作成功");
this._getCustomerList();
} else {
this.$message.error(res.returnMsg || "操作失败");
}
})
},
// 新建客户信息
addNewCustom() {
......
<template>
<div class="white_bg burt-container">
<div class="title-div">保险公司信息</div>
<div class="flex title-div">
<span>保险公司信息</span>
<a-button type="primary" @click.stop="addCompany">新建保险公司</a-button>
</div>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: 'max-content' }" :pagination="false">
<div v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index" :key="col.dataIndex" >
<template v-if="col.dataIndex == 'operation'">
<a-button type="link" @click.stop="editEvt(record)">修改</a-button>
<a-button type="link" @click.stop="detailEvt(record)">查看</a-button>
<a-button type="link" class="success" @click.stop="detailEvt(record)">查看</a-button>
<a-button type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
</template>
<template v-else>
......@@ -67,7 +70,7 @@ const columns = [
{ title: "联系地址", dataIndex: "address", ellipsis: true, scopedSlots: { customRender: "address" }, width: 180},
{ title: "Protal链接", dataIndex: "portalUrl", ellipsis: true, scopedSlots: { customRender: "portalUrl" }, width: 155 },
{ title: "联系人", dataIndex: "contactPerson", ellipsis: true, scopedSlots: { customRender: "contactPerson" },width: 100},
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" },fixed: "right", width: "170px",align: "center"},
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" },fixed: "right", width: "200px",align: "center"},
];
export default {
data() {
......@@ -80,6 +83,7 @@ export default {
total: 0,
},
dataList: [],
countyList: [],
editFormObj: {
id: "",
longName: "",
......@@ -99,8 +103,18 @@ export default {
},
created() {
this.getData();
this.getRefcdByRefgrp();
},
methods: {
// 获取国家列表
getRefcdByRefgrp() {
this.$apis.GETREFCDBYREFGRP({
modid: "CI",
refgrp: "COUNTRY_MAPPING"
}).then((res) => {
this.countyList = res.content || [];
});
},
//获取列表
getData() {
this.$apis
......@@ -118,6 +132,25 @@ export default {
}
});
},
//新增保险公司
addCompany(){
this.$apis.CREATEPAY({
...this.detailObj
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("新增成功");
this.$router.push({
path: '/info/companyDetail',
query: {
id: res.content
}
})
} else {
this.$message.error(res.returnMsg);
}
});
},
//编辑
editEvt(record) {
this.editFormObj = {
......@@ -206,5 +239,6 @@ export default {
line-height: 52px;
color: #252631;
font-weight: bold;
justify-content: space-between;
}
</style>
......@@ -30,7 +30,7 @@
</a-table>
<!--分页-->
<BurtPagination :pagination="pagination" @pageChange="getTableList" />
<a-modal title="编辑" :visible="dialogShow" width="60%" :maskClosable="false"
<a-modal :title="editFormObj.id?'编辑':'新增'" :visible="dialogShow" width="60%" :maskClosable="false"
okText="确定" cancelText="取消" @ok="handleEditOK" @cancel="dialogShow = false">
<a-form-model layout="vertical" ref="editForm" :model="editFormObj" :rules="editRules">
<a-row :gutter="30">
......
......@@ -14,14 +14,16 @@
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="国家">
<a-input v-model="detailObj.country" placeholder="国家" />
<a-select v-model="detailObj.country" placeholder="请选择">
<a-select-option v-for="(item) in countyList" :value="item.descCh" :key="item.id">{{item.descCh}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="30">
<a-col :lg="3" :sm="12">
<a-form-model-item label="有效">
<a-select v-model="detailObj.status" placeholder="请选择" disabled>
<a-select v-model="detailObj.status" placeholder="请选择">
<a-select-option value="1">有效</a-select-option>
<a-select-option value="2">无效</a-select-option>
</a-select>
......@@ -111,7 +113,7 @@
<a-col :sm="24" class="none-label">
<a-form-model-item label="button">
<a-button type="primary" @click="handlerSava">
<Icon name="ssiadd" :size="14" />新建
<Icon name="ssibaocun" :size="14" />保存
</a-button>
</a-form-model-item>
</a-col>
......@@ -127,18 +129,30 @@ export default {
},
data() {
return {
countyList: [],
}
},
created(){
this.getRefcdByRefgrp();
},
methods: {
// 获取国家列表
getRefcdByRefgrp() {
this.$apis.GETREFCDBYREFGRP({
modid: "CI",
refgrp: "COUNTRY_MAPPING"
}).then((res) => {
this.countyList = res.content || [];
});
},
//新建保存
handlerSava(){
this.$apis.CREATEPAY({
this.$apis.PAYORUPDATE({
...this.detailObj
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("新建成功");
this.$message.success("保存成功");
} else {
this.$message.error(res.returnMsg);
}
......
......@@ -3,22 +3,17 @@
<div class="title-div">申请日期</div>
<a-form-model ref="form" layout="vertical">
<a-row :gutter="30">
<a-col :lg="6" :sm="12">
<a-col :lg="8" :sm="12">
<a-form-model-item label="医疗机构名称">
<a-input v-model="detailObj.longName" placeholder="医疗机构名称" />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-col :lg="8" :sm="12">
<a-form-model-item label="医疗机构英文名">
<a-input v-model="detailObj.englishName" placeholder="医疗机构英文名" />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="营业时间">
<a-date-picker v-model="detailObj.businessHours" format="YYYY年MM月DD日" placeholder="选择日期"/>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-col :lg="8" :sm="12">
<a-form-model-item label="联系电话">
<a-input v-model="detailObj.telNo1" placeholder="请输入联系电话" />
</a-form-model-item>
......@@ -33,6 +28,11 @@
<a-input v-model="detailObj.englishAddr" placeholder="诊所地址(英文)" />
</a-form-model-item>
</a-col>
<a-col :sm="12">
<a-form-model-item label="营业时间">
<a-textarea v-model="detailObj.businessHours" placeholder="请输入营业时间" :auto-size="{ minRows: 3, maxRows: 5 }" />
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
<div class="title-div">账户信息-人民币账户</div>
......@@ -59,8 +59,8 @@
<a-form-model layout="vertical">
<a-row :gutter="30">
<a-col :lg="8" :sm="12">
<a-form-model-item label="Beneficiiary Name 账号">
<a-input v-model="detailObj.accountNameEng" placeholder="Beneficiiary Name 账号" />
<a-form-model-item label="Beneficiary账户名称">
<a-input v-model="detailObj.accountNameEng" placeholder="Beneficiary账户名称" />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
......@@ -97,22 +97,37 @@
<span>{{ filterSpecialty(record.specialtyList) }}</span>
</template>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click.stop="editEvt(record)">{{ record.edit ? "保存" : "修改"}}</a-button>
<a-button type="link" @click.stop="editEvt(record)">修改</a-button>
<a-button type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
</template>
</a-table>
<!--分页-->
<BurtPagination :pagination="pagination" @pageChange="getDoctorList" />
<a-modal title="编辑" :visible="dialogShow" width="700px" :maskClosable="false"
<a-modal title="编辑" :visible="dialogShow" width="60%" :maskClosable="false"
okText="确定" cancelText="取消"
@ok="handleEditOK" @cancel="dialogShow = false">
<a-form-model ref="editForm" :model="editFormObj"
:rules="editRules" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-form-model-item label="科室" prop="specialtyList">
<a-select v-model="editFormObj.specialtyList" placeholder="请选择" mode="multiple">
<a-select-option :value="item.id" v-for="item in specialtyList" :key="item.id">{{ item.specialtyDesc }}</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model ref="editForm" :model="editFormObj" :rules="editRules">
<a-row :gutter="30">
<a-col :lg="12" :sm="24">
<a-form-model-item label="医生英文名" prop="doctorDescLang1">
<a-input v-model.trim="editFormObj.doctorDescLang1" placeholder="医生英文名" />
</a-form-model-item>
</a-col>
<a-col :lg="12" :sm="24">
<a-form-model-item label="国家" prop="country">
<a-select v-model="editFormObj.country" placeholder="请选择" showSearch allowClear>
<a-select-option v-for="(item) in countyList" :value="item.descCh" :key="item.id">{{item.descCh}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="12" :sm="24">
<a-form-model-item label="科室" prop="specialtyList">
<a-select v-model="editFormObj.specialtyList" placeholder="请选择" mode="multiple" showSearch allowClear>
<a-select-option :value="item.id" v-for="item in specialtyList" :key="item.id">{{ item.specialtyDesc }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</div>
......@@ -124,41 +139,16 @@ const columns = [
{ title: "序号", dataIndex: "id", ellipsis: true, width: 150 },
{ title: "工号", dataIndex: "doctorCode", ellipsis: true, width: 95 },
{ title: "医生姓名", dataIndex: "doctorDesc", ellipsis: true, width: 125 },
{
title: "医生英文名",
dataIndex: "doctorDescLang1",
ellipsis: true,
width: 135,
},
{
title: "科室",
dataIndex: "specialtyList",
ellipsis: true,
scopedSlots: { customRender: "specialtyList" },
width: 155,
},
{
title: "国籍",
dataIndex: "country",
ellipsis: true,
width: 110,
},
{ title: "医生英文名", dataIndex: "doctorDescLang1", ellipsis: true, width: 135,},
{ title: "科室", dataIndex: "specialtyList", ellipsis: true, scopedSlots: { customRender: "specialtyList" }, width: 155,},
{ title: "国籍", dataIndex: "country", ellipsis: true, width: 110, },
{ title: "语言", dataIndex: "language", ellipsis: true, width: 120 },
{
title: "操作",
dataIndex: "operation",
scopedSlots: { customRender: "operation" },
fixed: "right",
width: "120px",
align: "center",
},
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, fixed: "right", width: "200px", align: "center", },
];
export default {
data() {
return {
dialogShow: false,
labelCol: { span: 4 },
wrapperCol: { span: 20 },
columns,
dataList: [],
detailObj: {}, //详细信息
......@@ -169,8 +159,11 @@ export default {
},
specialtyList: [], //科室列表
specialtyObj: {}, //科室对象
countyList: [],
editFormObj: {
id: "",
doctorDescLang1: '',
country: '',
specialtyList: [],
},
editRules: {
......@@ -187,6 +180,7 @@ export default {
this.getSpecialtyList();
await this.getDetail();
this.getDoctorList();
this.getRefcdByRefgrp();
},
methods: {
filterSpecialty(val) {
......@@ -199,6 +193,15 @@ export default {
this.pagination.pageNum = 1;
this.getData();
},
// 获取国家列表
getRefcdByRefgrp() {
this.$apis.GETREFCDBYREFGRP({
modid: "CI",
refgrp: "COUNTRY_MAPPING"
}).then((res) => {
this.countyList = res.content || [];
});
},
//获取科室
getSpecialtyList() {
this.$apis.GETSPECIALTYLIST().then((res) => {
......@@ -257,6 +260,8 @@ export default {
editEvt(record) {
this.editFormObj = {
id: record.id || "",
doctorDescLang1: record.doctorDescLang1 || "",
country: record.country || "",
specialtyList: record.specialtyList || [],
};
this.dialogShow = true;
......@@ -267,7 +272,7 @@ export default {
if (valid) {
this.$apis
.DOCTORUPDATE({
id: this.editFormObj.id,
...this.editFormObj,
specialtyList: this.editFormObj.specialtyList.map((item) => {
return {
specialtyId: item,
......
......@@ -61,7 +61,7 @@ export default {
}
} else if (item.path && item.path === key) {
console.log(item, key);
menuStack.push(item);
menuStack.unshift(item);
this.$store.commit("common/setMenuStack", menuStack);
return true;
}
......
......@@ -48,6 +48,9 @@ export default {
<style lang="less" scoped>
.sub-menu {
width: 100%;
overflow-x: auto;
white-space: nowrap;
.mg-b(16);
.btn {
.fs(14);
......
<template>
<div>111</div>
</template>
<script>
export default {
data() {
return {};
},
};
</script>
<style lang="less" scoped></style>
......@@ -5,81 +5,41 @@
<a-row :gutter="30">
<a-col :lg="6" :sm="12">
<a-form-model-item label="保险公司">
<a-select v-model="form.payorId" placeholder="请选择">
<a-select-option value="1">待核销</a-select-option>
<a-select-option value="2">已核销</a-select-option>
<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="5" :sm="12">
<a-form-model-item label="回款日期">
<a-date-picker
format="YYYY年MM月DD日"
v-model="form.date"
placeholder="选择日期"
/>
</a-form-model-item>
</a-col>
<a-col :lg="5" :sm="12">
<a-form-model-item label="银行状态">
<a-select v-model="form.payorId" placeholder="请选择">
<a-select-option value="1">待核销</a-select-option>
<a-select-option value="2">已核销</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="4" :sm="12">
<a-form-model-item label="回款金额(人民币)">
<a-input
type="number"
v-model="form.mrnNo"
placeholder="请输入金额"
/>
</a-form-model-item>
</a-col>
<a-col :lg="4" :sm="12">
<a-form-model-item label="回款金额(美元)">
<a-input
type="number"
v-model="form.mrnNo"
placeholder="请输入金额"
/>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="汇率差">
<a-input v-model="form.mrnNo" placeholder="请输入金额" />
<a-form-model-item label="EOB编号">
<a-input v-model="form.eobNo" placeholder="EOB编号"/>
</a-form-model-item>
</a-col>
<a-col :md="24" :lg="18" class="none-label">
<a-col :md="12" class="none-label">
<a-form-model-item label="button">
<a-button type="primary">导出</a-button>
<a-button class="mar-left10" type="primary">
<Icon name="ssiadd" :size="14" />新建回款
<a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询
</a-button>
<a-button class="mar-left10" type="primary">
<a-button class="mar-left10" type="primary" @click.stop="handlerReset">
<Icon name="ssireset" :size="14" />重置
</a-button>
<a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询
<a-button class="mar-left10" type="primary" @click="addNewEvt">
<Icon name="ssiadd" :size="14" />新建回款
</a-button>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
<!-- table -->
<a-table
:columns="columns"
:data-source="dataList"
:scroll="{ x: true }"
:pagination="false"
>
<template slot="operation" slot-scope="record, index">
<a-button type="link">修改</a-button>
<a-button type="link" class="success">新增</a-button>
<a-button type="link" class="danger" @click.stop="delRecord(index)"
>删除</a-button
>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false" >
<template slot="eobSts" slot-scope="text">
{{text==1?'待回款':'已回款'}}
</template>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click.stop="editEvt(record)">修改</a-button>
<a-button v-if="record.backMoneyNo" type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
</template>
</a-table>
<BurtPagination :pagination="pagination" @pageChange="getData" />
......@@ -88,41 +48,25 @@
<script>
import BurtPagination from "@/components/CUSTOMER/pagation";
import moment from "moment";
const columns = [
{ title: "序号", dataIndex: "mrnNo", ellipsis: true, width: 72 },
{ title: "EOB名称", dataIndex: "patientName", ellipsis: true, width: 195 },
{ title: "核销时间", dataIndex: "patientName2", ellipsis: true, width: 110 },
{ title: "保险公司", dataIndex: "patientName3", ellipsis: true, width: 110 },
{ title: "EOB状态", dataIndex: "patientName9", ellipsis: true, width: 110 },
{
title: "EOB赔付金额(人民币)",
dataIndex: "patientName4",
ellipsis: true,
width: 190,
},
{
title: "EOB赔付金额(美元)",
dataIndex: "patientName5",
ellipsis: true,
width: 190,
},
{ title: "汇率差", dataIndex: "patientName10", ellipsis: true, width: 110 },
{
title: "操作",
dataIndex: "operation",
scopedSlots: { customRender: "operation" },
fixed: "right",
width: "170px",
},
{ title: "回款编号", dataIndex: "backMoneyNo", ellipsis: true, width: 150 },
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 110 },
{ title: "回款金额(人民币)", dataIndex: "backAmountCny", ellipsis: true, width: 190,},
{ title: "回款金额(美元)", dataIndex: "backAmountUsd", ellipsis: true, width: 190,},
{ title: "汇率差", dataIndex: "backExchangeRate", ellipsis: true, width: 110 },
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" },fixed: "right", width: "200px"},
];
export default {
data() {
return {
columns,
form: {
dateRange: [],
payorCode: '',
eobNo: '',
},
dataList: [],
companyOptions: [], //保险公司
pagination: {
pageNum: 1,
pageSize: 10,
......@@ -133,17 +77,67 @@ export default {
components: {
BurtPagination,
},
created(){
this.getData();
this._getCompanyOptions();
},
methods: {
moment,
pageChange(pager) {
const { current } = pager;
this.pagination.pageNum = current;
this.getData();
},
// 重置
handlerReset() {
this.form = {
payorCode: '',
eobNo: '',
}
},
// 获取保险公司下拉选项
_getCompanyOptions() {
this.$apis.GETCOMPANYOPTIONS().then((res) => {
this.companyOptions = res.content || [];
});
},
handlerSearch() {
this.pagination.pageNum = 1;
this.getData();
},
getData() {},
getData() {
this.$apis.QUERYBACKMONEYLIST({
...this.form,
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
})
.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);
}
});
},
//新建回款
addNewEvt(){
this.$router.push({
path: '/verification/collectionDetail'
})
},
//编辑回款
editEvt(record){
const { backMoneyNo } = record;
localStorage.setItem('backMoneyDataDetail', JSON.stringify(record));
this.$router.push({
path: '/verification/collectionDetail',
query: {
backMoneyNo
}
})
},
//删除记录
delRecord(index) {
this.$modal.confirm({
......@@ -152,19 +146,21 @@ export default {
okText: "确认",
cancelText: "取消",
onOk: () => {
this.$store
.dispatch("medicinal/delMedicine", {
id: this.dataList[index].id,
status: -1,
})
.then(() => {
this.$apis.DELETEBACKMONEY({
backMoneyNo: this.dataList[index].backMoneyNo,
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("删除成功");
this.dataList.splice(index, 1);
});
} else {
this.$message.error(res.returnMsg);
}
});
},
onCancel: () => {},
});
},
}
},
};
</script>
......
<template>
<div>111</div>
</template>
<script>
export default {
data() {
return {};
},
};
</script>
<style lang="less" scoped></style>
This diff is collapsed.
......@@ -4,82 +4,43 @@
<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-select v-model="form.payorId" placeholder="请选择">
<a-select-option value="1">待核销</a-select-option>
<a-select-option value="2">已核销</a-select-option>
<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="EOB收到日期">
<a-range-picker
format="YYYY年MM月DD日"
v-model="form.dateRange"
:placeholder="['开始日期', '结束日期']"
/>
<a-form-model-item label="账单编号">
<a-input v-model="form.receiptNo" placeholder="请输入账单编号" />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="EOB名称">
<a-input v-model="form.mrnNo" placeholder="请输入EOB名称" />
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="EOB金额(人民币)">
<a-input
type="number"
v-model="form.mrnNo"
placeholder="请输入金额"
/>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="EOB金额(美元)">
<a-input
type="number"
v-model="form.mrnNo"
placeholder="请输入金额"
/>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="EOB状态">
<a-select v-model="form.payorId" placeholder="请选择">
<a-select-option value="1">待核销</a-select-option>
<a-select-option value="2">已核销</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :md="24" :lg="12" class="none-label">
<a-col :lg="12" :sm="24" class="none-label">
<a-form-model-item label="button">
<a-button type="primary">导出</a-button>
<a-button class="mar-left10" type="primary">
<Icon name="ssiadd" :size="14" />新建EOB
<a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询
</a-button>
<a-button class="mar-left10" type="primary">
<a-button class="mar-left10" type="primary" @click.stop="handlerReset">
<Icon name="ssireset" :size="14" />重置
</a-button>
<a-button class="mar-left10" type="primary" @click="handlerSearch">
<Icon name="ssisearch_active" :size="14" />查询
<!-- <a-button type="primary">导出</a-button> -->
<a-button class="mar-left10" type="primary" @click="addNewEvt">
<Icon name="ssiadd" :size="14" />新建EOB
</a-button>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
<!-- table -->
<a-table
:columns="columns"
:data-source="dataList"
:scroll="{ x: true }"
:pagination="false"
>
<template slot="operation" slot-scope="record, index">
<a-button type="link">修改</a-button>
<a-button type="link" class="success">新增</a-button>
<a-button type="link" class="danger" @click.stop="delRecord(index)"
>删除</a-button
>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false">
<template slot="sendSts" slot-scope="record, text">
<span>{{text==1?'已寄送':'未寄送'}}</span>
</template>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click.stop="editEvt(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" />
......@@ -88,41 +49,26 @@
<script>
import BurtPagination from "@/components/CUSTOMER/pagation";
import moment from "moment";
const columns = [
{ title: "病历号", dataIndex: "mrnNo", ellipsis: true, width: 100 },
{ title: "客户姓名", dataIndex: "patientName", ellipsis: true, width: 85 },
{ title: "保险公司", dataIndex: "patientName2", ellipsis: true, width: 80 },
{ title: "就诊日期", dataIndex: "patientName3", ellipsis: true, width: 110 },
{ title: "理赔状态", dataIndex: "patientName0", ellipsis: true, width: 90 },
{ title: "账单金额", dataIndex: "patientName4", ellipsis: true, width: 85 },
{ title: "自付金额", dataIndex: "patientName5", ellipsis: true, width: 85 },
{ title: "理赔金额", dataIndex: "patientName6", ellipsis: true, width: 85 },
{ title: "回款金额", dataIndex: "patientName7", ellipsis: true, width: 85 },
{ title: "未清金额", dataIndex: "patientName8", ellipsis: true, width: 85 },
{
title: "保险公司欠费",
dataIndex: "patientName9",
ellipsis: true,
width: 110,
},
{ title: "个人欠费", dataIndex: "patientName9", ellipsis: true, width: 85 },
{ title: "备注", dataIndex: "patientName10", ellipsis: true, width: 120 },
{
title: "操作",
dataIndex: "operation",
scopedSlots: { customRender: "operation" },
fixed: "right",
width: "170px",
},
{ title: "EOB编号", dataIndex: "eobNo", ellipsis: true, width: 100 },
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 80 },
{ title: "理赔状态", dataIndex: "sendSts", ellipsis: true, width: 90, scopedSlots: { customRender: "sendSts" } },
{ title: "EOB赔付金额(人民币)", dataIndex: "eobAmountCny", ellipsis: true, width: 85 },
{ title: "EOB赔付金额(美元)", dataIndex: "eobAmountUsd", ellipsis: true, width: 85 },
{ title: "备注", dataIndex: "sendRemark", ellipsis: true, width: 120 },
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, fixed: "right", width: "200px"},
];
export default {
data() {
return {
columns,
form: {
dateRange: [],
payorCode: '',
receiptNo: '',
},
dataList: [],
companyOptions: [], //保险公司
pagination: {
pageNum: 1,
pageSize: 10,
......@@ -133,12 +79,44 @@ export default {
components: {
BurtPagination,
},
created(){
this.getData();
this._getCompanyOptions();
},
methods: {
moment,
handlerSearch() {
this.pagination.pageNum = 1;
this.getData();
},
getData() {},
// 重置
handlerReset() {
this.form = {
payorCode: '',
receiptNo: '',
}
},
// 获取保险公司下拉选项
_getCompanyOptions() {
this.$apis.GETCOMPANYOPTIONS().then((res) => {
this.companyOptions = res.content || [];
});
},
getData() {
this.$apis.QUERYEOBLIST({
pageNum: this.pagination.pageNum,
pageSize: this.pagination.pageSize,
})
.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);
}
});
},
//删除记录
delRecord(index) {
this.$modal.confirm({
......@@ -147,11 +125,38 @@ export default {
okText: "确认",
cancelText: "取消",
onOk: () => {
console.log(index, 111)
this.$apis.DELEOBRECEIPTINFO({
eobNo: this.dataList[index].eobNo,
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("删除成功");
this.dataList.splice(index, 1);
} else {
this.$message.error(res.returnMsg);
}
});
},
onCancel: () => {},
});
},
//新建EOB
addNewEvt(){
this.$router.push({
path: '/verification/detail'
})
},
//修改
editEvt(record){
const { eobNo } = record;
localStorage.setItem('EobDataDetail', JSON.stringify(record));
this.$router.push({
path: '/verification/detail',
query: {
eobNo
}
})
}
},
};
</script>
......
This diff is collapsed.
<template>
<div class="benefits">
<div class="none-label mar-bottom10">
<a-button type="primary" @click="editBenefitData(null)">
<Icon name="ssiadd" :size="14" />新增福利
</a-button>
</div>
<a-table
:columns="columns"
:locale="{ emptyText: 'No Data' }"
:data-source="benefitData"
row-key="benefitCode"
:pagination="false"
>
<template slot="operation" slot-scope="record">
<a-button type="link" @click.stop="editBenefitData(record)">修改</a-button>
<a-popconfirm
title="你确定要删除吗?"
ok-text="确定"
cancel-text="取消"
@confirm="deleteData(record)"
>
<a-button type="link" class="danger">删除</a-button>
</a-popconfirm>
</template>
<template slot="expandedRowRender" slot-scope="record">
<condition :form-data="{ ...record, conditionType: '01' }" />
</template>
</a-table>
<a-modal
title="福利管理"
v-model="isBenefitEditShow"
:footer="null"
width="500px"
@cancel="isBenefitEditShow = false"
>
<a-form-model ref="editForm" layout="vertical" :model="editForm" :rules="editRule">
<a-row :gutter="20">
<a-col :md="12">
<a-form-model-item label="客户公司名称" prop="corpCode">
<a-input disabled v-model="editForm.corpCode"> </a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="保险计划" prop="planCode">
<a-input disabled v-model="editForm.planCode"> </a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="保险责任" prop="coverageCode">
<a-input disabled v-model="editForm.coverageCode"> </a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="福利项目" prop="benefitCode">
<a-select v-model="editForm.benefitCode" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in benefitCode" :key="item.benefitCode" :vlaue="item.benefitCode">
{{ item.description }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="开始时间" prop="startDate">
<a-date-picker v-model="editForm.startDate" placeholder="请选择开始时间" value-format="YYYY-MM-DD 00:00:00"></a-date-picker>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="结束时间" prop="endDate">
<a-date-picker v-model="editForm.endDate" placeholder="请选择结束时间" value-format="YYYY-MM-DD 00:00:00"></a-date-picker>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="等待期">
<a-input-number v-model="editForm.waitingPeriod">
</a-input-number>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="是否天数">
<a-input-number v-model="editForm.isdays"></a-input-number>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="英文描述">
<a-input v-model="editForm.englishDesc"></a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="描述">
<a-input v-model="editForm.loaDesc"> </a-input>
</a-form-model-item>
</a-col>
<!-- <a-col :md="12">
<a-form-model-item label="状态">
<a-select
v-model="editForm.status"
show-search
allow-clear
@filterOption="filterCode"
>
<a-select-option
v-for="item in statusCode"
:key="item.code"
:vlaue="item.code"
>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col> -->
</a-row>
<a-form-model-item label="备注">
<a-textarea v-model="editForm.remarks" :autoSize="{ minRows: 2, maxRows: 5 }"></a-textarea>
</a-form-model-item>
<a-form-model-item>
<a-button type="primary" @click="saveBenefitData">
<Icon name="ssiadd" :size="14" />保存
</a-button>
<a-button class="mar-left10" @click="isBenefitEditShow = false">取消</a-button>
</a-form-model-item>
</a-form-model>
</a-modal>
</div>
</template>
<script>
import condition from "../condition";
export default {
props: {
formData: {
type: Object,
required: true,
},
},
components: {
condition,
},
data() {
const columns = [
{ title: "责任项目明细", dataIndex: "benefitCode" },
// { title: "预授权申请", dataIndex: "index" },
{ title: "更新日期", dataIndex: "modifierDate" },
{ title: "开始日期", dataIndex: "startDate" },
{ title: "结束日期", dataIndex: "endDate" },
{ title: "备注", dataIndex: "remark" },
{
title: "操作",
key: "operation",
width: "175px",
fixed: "right",
scopedSlots: { customRender: "operation" },
},
];
return {
columns,
isBenefitEditShow: false,
benefitData: [],
benefitCode: [],
editForm: {},
editRule: {
benefitCode: [{ required: true, message: "请选择福利项" }],
startDate: [{ required: true, message: "请选择开始时间" }],
endDate: [{ required: true, message: "请选择结束时间" }],
},
};
},
mounted() {
this._getBenefitList();
},
methods: {
// 选择框筛选
filterCode(input, option) {
return (
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
);
},
// 新增或编辑benefit数据
editBenefitData(data) {
data = data || {
payorCode: this.formData.payorCode,
corpCode: this.formData.corpCode,
planCode: this.formData.planCode,
coverageCode: this.formData.coverageCode,
isDirect: "N",
status: "1",
};
this._getBenefitCode();
this.editForm = this.$lodash.cloneDeep(data);
this.isBenefitEditShow = true;
},
deleteData(record) {
const data = this.$lodash.cloneDeep(record);
data.status = "2"; // 置为无效状态即删除
this._editBenefitData(data);
},
saveBenefitData() {
this.$refs.editForm.validate((valid) => {
if (!valid) {
return false;
}
});
this._editBenefitData(this.editForm);
},
_editBenefitData(data) {
const fn = data.id || data.id === 0 ? this.$apis.EDITBENEFITLIST : this.$apis.ADDBENEFITLIST;
fn(data).then((res) => {
if (res.returnCode === "0000") {
this.$message.success(res.returnMsg || "操作成功");
this._getBenefitList();
this.isBenefitEditShow = false;
} else {
this.$message.error(res.returnMsg || "操作失败");
}
});
},
_getBenefitList() {
const { corpCode, coverageCode, payorCode, planCode } = this.formData;
const data = { corpCode, coverageCode, payorCode, planCode };
this.$apis.GETBENEFITLIST(data).then((res) => {
this.benefitData = res.content || [];
});
},
_getBenefitCode() {
if (this.benefitCode && this.benefitCode.length) {
return true;
}
this.$apis.GETBENEGITTYPE().then((res) => {
this.benefitCode = res.content || [];
});
},
},
};
</script>
<style lang="less" scoped>
.benefits {
.pa(0, 20, 10, 20);
background-color: #fff;
}
</style>
<template>
<div class="condition">
<div class="none-label mar-bottom10">
<a-button type="primary" @click="editConditionData(null)">
<Icon name="ssiadd" :size="14" />新增条件
</a-button>
</div>
<a-table
:columns="columns"
:locale="{ emptyText: 'No Data' }"
:data-source="conditionList"
row-key="id"
:pagination="false"
>
<template slot="operation" slot-scope="record">
<a-button type="link" @click.stop="editConditionData(record)">修改</a-button>
<a-popconfirm
title="你确定要删除吗?"
ok-text="确定"
cancel-text="取消"
@confirm="deleteData(record)"
>
<a-button type="link" class="danger">删除</a-button>
</a-popconfirm>
</template>
</a-table>
<a-modal
title="条件管理"
v-model="isConditionEditShow"
:footer="null"
@cancel="isConditionEditShow = false"
>
<a-form-model ref="editForm" layout="vertical" :model="editForm" :rules="editRule">
<a-form-model-item label="频率" prop="frequencyCode">
<a-select v-model="editForm.frequencyCode" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in frequencyCode" :key="item.frequencyCode" :vlaue="item.frequencyCode">
{{ item.frequencyDesc }}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item label="条件" prop="limitCode">
<a-select v-model="editForm.limitCode" show-search allow-clear @filterOption="limitCode">
<a-select-option v-for="item in limitCode" :key="item.limitCode" :vlaue="item.limitCode">
{{ item.limitDesc }}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item label="开始时间" prop="startDate">
<a-date-picker v-model="editForm.startDate" placeholder="请选择开始时间" value-format="YYYY-MM-DD 00:00:00"></a-date-picker>
</a-form-model-item>
<a-form-model-item label="结束时间" prop="endDate">
<a-date-picker v-model="editForm.endDate" placeholder="请选择结束时间" value-format="YYYY-MM-DD 00:00:00"></a-date-picker>
</a-form-model-item>
<a-row :gutter="10">
<a-col :span="8">
<a-form-model-item label="最小值">
<a-input-number v-model="editForm.minValue"> </a-input-number>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item label="最大值">
<a-input-number v-model="editForm.maxValue"> </a-input-number>
</a-form-model-item>
</a-col>
<a-col :span="8">
<a-form-model-item label="家庭最大值">
<a-input-number v-model="editForm.familyMaxValue">
</a-input-number>
</a-form-model-item>
</a-col>
</a-row>
<a-form-model-item label="币种">
<a-select v-model="editForm.currency" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in currencyCode" :key="item.code" :vlaue="item.code">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
<!-- <a-form-model-item label="状态">
<a-select
v-model="editForm.status"
show-search
allow-clear
@filterOption="filterCode"
>
<a-select-option
v-for="item in statusCode"
:key="item.code"
:vlaue="item.code"
>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item> -->
<a-form-model-item label="备注" prop="remarks">
<a-textarea v-model="editForm.remarks" :autoSize="{ minRows: 2, maxRows: 5 }"></a-textarea>
</a-form-model-item>
<a-form-model-item class="text-r">
<a-button type="primary" @click="saveConditionData">
<Icon name="ssiadd" :size="14" />保存
</a-button>
<a-button class="mar-left10" @click="isConditionEditShow = false">取消</a-button>
</a-form-model-item>
</a-form-model>
</a-modal>
</div>
</template>
<script>
export default {
props: {
formData: {
type: Object,
required: true,
},
},
data() {
const columns = [
{ title: "频率", dataIndex: "frequencyCode" },
{ title: "条件", dataIndex: "limitCode" },
{ title: "开始时间", dataIndex: "startDate" },
{ title: "结束时间", dataIndex: "endDate" },
{ title: "有效", dataIndex: "status" },
// { title: "限额或限次", dataIndex: "index" },
{ title: "最大值", dataIndex: "maxValue" },
{
title: "操作",
key: "operation",
width: "175px",
fixed: "right",
scopedSlots: { customRender: "operation" },
},
];
return {
columns,
conditionList: [],
isConditionEditShow: false,
editForm: {},
frequencyCode: [],
limitCode: [],
currencyCode: [
{ code: "RMB", name: "人民币" },
{ code: "US", name: "美金" },
],
statusCode: [
{ code: "1", name: "有效" },
{ code: "2", name: "无效" },
],
editRule: {
frequencyCode: [{ required: true, message: "请选择频率" }],
limitCode: [{ required: true, message: "请选择条件" }],
startDate: [{ required: true, message: "请选择开始时间" }],
endDate: [{ required: true, message: "请选择结束时间" }],
},
};
},
mounted() {
this._getConditionList();
},
methods: {
// 选择框筛选
filterCode(input, option) {
return (
option.componentOptions.children[0].text
.toLowerCase()
.indexOf(input.toLowerCase()) >= 0
);
},
editConditionData(data) {
const { planCode, payorCode, coverageCode, corpCode, benefitCode, conditionType } = this.formData;
data = data || {
planCode,
payorCode,
coverageCode,
corpCode,
benefitCode,
conditionType,
currency: "RMB",
status: "1",
};
this.editForm = this.$lodash.cloneDeep(data);
this._getFrequencyCode();
this._getLimitCode();
this.isConditionEditShow = true;
},
saveConditionData() {
this.$refs.editForm.validate((valid) => {
if (!valid) {
return false;
}
if (this.editForm.id || this.editForm.id === 0) {
this._editConditionData(this.editForm);
} else {
this._addConditionData(this.editForm);
}
});
},
deleteData(record) {
const data = this.$lodash.cloneDeep(record);
data.status = "2"; // 置为无效状态即删除
this._editConditionData(data);
},
_getConditionList() {
const { planCode, payorCode, coverageCode, corpCode, benefitCode, conditionType } = this.formData;
const data = { planCode, payorCode, coverageCode, corpCode, benefitCode, conditionType };
this.$apis.GETCONDITIONLIST(data).then((res) => {
this.conditionList = res.content || [];
});
},
_getFrequencyCode() {
if (this.frequencyCode && this.frequencyCode.length) {
return true;
}
this.$apis.GETFREQUENCYCODE().then((res) => {
this.frequencyCode = res.content || [];
});
},
_getLimitCode() {
if (this.limitCode && this.limitCode.length) {
return true;
}
this.$apis.GETLIMITCODE().then((res) => {
this.limitCode = res.content || [];
});
},
_addConditionData(data) {
this.$apis.ADDCONDITIONDATA(data).then((res) => {
if (res.returnCode === "0000") {
this._getConditionList();
this.$message.success(res.returnMsg || "操作成功");
this.isConditionEditShow = false;
} else {
this.$message.error(res.returnMsg || "操作失败");
}
});
},
_editConditionData(data) {
this.$apis.EDITCONDITIONDATA(data).then((res) => {
if (res.returnCode === "0000") {
this._getConditionList();
this.$message.success(res.returnMsg || "操作成功");
this.isConditionEditShow = false;
} else {
this.$message.error(res.returnMsg || "操作失败");
}
});
},
},
};
</script>
<style lang="less" scoped>
.condition {
.pa(0, 20, 10, 20);
background-color: #fff;
}
</style>
<template>
<div class="coverage">
<div class="none-label mar-bottom10">
<a-button type="primary" @click="editCoverageData(null)">
<Icon name="ssiadd" :size="14" />新增责任
</a-button>
</div>
<a-table
:columns="columns"
:locale="{ emptyText: 'No Data' }"
:data-source="coverageData"
row-key="coverageCode"
:pagination="false"
>
<template slot="operation" slot-scope="record">
<a-button type="link" @click.stop="editCoverageData(record)">修改</a-button>
<a-popconfirm
title="你确定要删除吗?"
ok-text="确定"
cancel-text="取消"
@confirm="deleteData(record)"
>
<a-button type="link" class="danger">删除</a-button>
</a-popconfirm>
</template>
<template slot="expandedRowRender" slot-scope="record">
<condition class="mar-bottom10" :form-data="{ ...record, conditionType: '02' }"/>
<benefits :formData="record" />
</template>
</a-table>
<a-modal
title="责任管理"
v-model="isCoverageEditShow"
:footer="null"
width="500px"
@cancel="isCoverageEditShow = false"
>
<a-form-model ref="editForm" layout="vertical" :model="editForm" :rules="editRule">
<a-row :gutter="20">
<a-col :md="12">
<a-form-model-item label="客户公司名称" prop="corpCode">
<a-input disabled v-model="editForm.corpCode"> </a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="保险计划" prop="planCode">
<a-input disabled v-model="editForm.planCode"> </a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="保险责任" prop="coverageCode">
<a-select v-model="editForm.coverageCode" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in coverageCode" :key="item.coverageCode" :vlaue="item.coverageCode">
{{ item.coverageDesc }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="等待期">
<a-input-number v-model="editForm.waitingPeriod"></a-input-number>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="英文描述">
<a-input v-model="editForm.englishDesc"></a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="描述">
<a-input v-model="editForm.loaDesc"> </a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="是否直付">
<a-radio-group v-model="editForm.isDirect" :default-value="editForm.isDirect" button-style="solid"
>
<a-radio-button value="Y"></a-radio-button>
<a-radio-button class="mar-left10" value="N"></a-radio-button>
</a-radio-group>
</a-form-model-item>
</a-col>
<!-- <a-col :md="12">
<a-form-model-item label="状态">
<a-select
v-model="editForm.status"
show-search
allow-clear
@filterOption="filterCode"
>
<a-select-option
v-for="item in statusCode"
:key="item.code"
:vlaue="item.code"
>
{{ item.name }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col> -->
</a-row>
<!-- <a-form-model-item label="保险公司" prop="payorCode">
<a-input disabled v-model="editForm.payorCode"> </a-input>
</a-form-model-item> -->
<a-form-model-item label="备注">
<a-textarea v-model="editForm.remarks" :autoSize="{ minRows: 2, maxRows: 5 }"></a-textarea>
</a-form-model-item>
<a-form-model-item>
<a-button type="primary" @click="saveCoverageData">
<Icon name="ssiadd" :size="14" />保存
</a-button>
<a-button class="mar-left10" @click="isCoverageEditShow = false">取消</a-button>
</a-form-model-item>
</a-form-model>
</a-modal>
</div>
</template>
<script>
import benefits from "../benefits";
import condition from "../condition";
export default {
props: {
formData: {
required: true,
type: Object,
},
},
components: {
benefits,
condition,
},
data() {
const columns = [
{ title: "门诊责任", dataIndex: "coverageCode", width: 150 },
{ title: "是否直付", dataIndex: "isDirect", width: 120 },
{ title: "等待期", dataIndex: "waitingPeriod", width: 120 },
// { title: "预授权", dataIndex: "sex", width: 80 },
// { title: "预授权期限", dataIndex: "payorName", width: 180 },
{ title: "状态", dataIndex: "status", width: 180 },
{ title: "备注", dataIndex: "remark" },
{
title: "操作",
key: "operation",
width: "175px",
fixed: "right",
scopedSlots: { customRender: "operation" },
},
];
return {
isCoverageEditShow: false,
columns,
coverageData: [],
editForm: {},
coverageCode: [],
statusCode: [
{ code: "1", name: "有效" },
{ code: "2", name: "无效" },
],
editRule: {
coverageCode: [{ required: true, message: "请选择保险责任" }],
},
};
},
mounted() {
this._getCoverageList();
},
methods: {
// 新增或编辑coverage数据
editCoverageData(data) {
data = data || {
payorCode: this.formData.payorCode,
corpCode: this.formData.corpCode,
planCode: this.formData.planCode,
isDirect: "N",
status: "1",
};
this._getCoverageCode();
this.editForm = this.$lodash.cloneDeep(data);
this.isCoverageEditShow = true;
},
// 选择框筛选
filterCode(input, option) {
return (
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
);
},
saveCoverageData() {
this.$refs.editForm.validate((valid) => {
if (!valid) {
return false;
}
this._editCoverageData(this.editForm);
});
},
deleteData(record) {
const data = this.$lodash.cloneDeep(record);
data.status = "2"; // 置为无效状态即删除
this._editCoverageData(data);
},
_editCoverageData(data) {
const fn = data.id || data.id === 0 ? this.$apis.EDITCOVERAGEDATA : this.$apis.ADDCOVERAGEDATA;
fn(data).then((res) => {
if (res.returnCode === "0000") {
this.$message.success(res.returnMsg || "操作成功");
this._getCoverageList();
this.isCoverageEditShow = false;
} else {
this.$message.error(res.returnMsg || "操作失败");
}
});
},
_getCoverageCode() {
if (this.coverageCode && this.coverageCode.length) {
return true;
}
this.$apis.GETCOVERAGECODE().then((res) => {
this.coverageCode = res.content || [];
});
},
_getCoverageList() {
const { corpCode, payorCode, planCode } = this.formData;
this.$apis.GETCOVERAGELIST({
corpCode,
payorCode,
planCode,
specialtyCode: "",
}).then((res) => {
this.coverageData = res.content || [];
});
},
},
};
</script>
<style lang="less" scoped>
.coverage {
.pa(0, 20, 10, 20);
background-color: #fff;
}
</style>
This diff is collapsed.
This diff is collapsed.
<template>
<div>
<a-collapse v-model="activeKeys" expand-icon-position="right" :bordered="false">
<a-collapse-panel key="1" header="保单信息">
<a-row class="policy_line" :gutter="10">
<a-col :span="6">保险卡号:</a-col>
<a-col :span="6">保单号码:</a-col>
<a-col :span="6">保险计划:</a-col>
<a-col :span="6">客户公司名称:</a-col>
<a-col :span="6">首次入保日期:</a-col>
<a-col :span="6">保单生效日期:</a-col>
<a-col :span="6">保单终止日期:</a-col>
<a-col :span="6">是否承担既往症:</a-col>
<a-col :span="6">保单直付区域:</a-col>
<a-col :span="6">剩余等待期天数</a-col>
<a-col :span="6">其他备注</a-col>
</a-row>
</a-collapse-panel>
</a-collapse>
</div>
</template>
<script>
export default {
props: {
policyData: {
default: {},
},
},
data() {
return {
activeKeys: "1",
};
},
};
</script>
<style lang="less" scoped>
.policy_line {
.pa(0, 30, 0, 30);
line-height: 60px;
.ant-col{
border-bottom: 1px solid #f8fafb;
}
}
</style>
<template>
<div>
<a-table
class="mar-bottom10"
:columns="columns"
:locale="{ emptyText: 'No Data' }"
:data-source="conditionList"
row-key="mrnNo"
:pagination="false"
></a-table>
</div>
</template>
<script>
export default {
props: {
formData: {
default: {},
},
},
data() {
const columns = [
{ title: "频率", dataIndex: "frequencyCode" },
{ title: "条件", dataIndex: "limitCode" },
{ title: "最小值", dataIndex: "minValue" },
{ title: "最大值", dataIndex: "maxValue" },
{ title: "家庭最大值", dataIndex: "familyMaxValue" },
{
title: "操作",
key: "operation",
width: "175px",
fixed: "right",
scopedSlots: { customRender: "operation" },
},
];
return {
columns,
conditionList: [],
};
},
mounted() {
this._getConditionList();
},
methods: {
_getConditionList() {
const {
planCode,
payorCode,
coverageCode,
corpCode,
benefitCode,
conditionType,
} = this.formData;
const data = {
planCode,
payorCode,
coverageCode,
corpCode,
benefitCode,
conditionType,
};
this.$apis.GETCONDITIONLIST(data).then((res) => {
this.conditionList = res.content || [];
});
},
},
};
</script>
<style></style>
This diff is collapsed.
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