Commit 177a872d authored by 吴婷慧's avatar 吴婷慧

Merge branch 'update-0218' into test

parents 3fdd19da a9c22865
......@@ -7,5 +7,5 @@ export default {
uploadImg: "/common/upload",
specialtyList: "/backstage/auth/specialtyList",
coverageCode: "/backstage/auth/coverageMasterList",
getRefcdByRefgrp: "/common/getRefcdByRefgrp", //获取快递列表
getRefcdByRefgrp: "/common/getRefcdByRefgrp", // 公共获取码表接口
};
// 客户管理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" // 删除客户
};
......@@ -41,7 +41,7 @@ const GETCOVERAGECODE = (data) => {
return req.post(apis.coverageCode, data);
};
// 获取快递列表
// 公共获取码表列表
const GETREFCDBYREFGRP = (data) => {
return req.post(apis.getRefcdByRefgrp, data);
};
......
......@@ -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
};
......@@ -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);
}
}
......
......@@ -18,7 +18,7 @@ const TOKEN_INVLIDE_TO_LOGIN = (code) => {
route.replace({
path: "/login",
query: {
refirect: route.currentRoute.fullPath,
redirect: route.currentRoute.fullPath,
},
});
return false;
......
......@@ -2,7 +2,7 @@
<div
class="icon-class"
:style="`font-size:${size}px`"
@click.stop="clickEvent"
@click="clickEvent"
>
<svg class="icon" aria-hidden="true">
<use :xlink:href="iconName" />
......
// 统一暴露工具,供其他地方调用
// 数组转对象
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
......@@ -44,6 +44,7 @@
<script>
import { title } from "@/settings";
import { downloadFile } from '@/utils/index'
export default {
data() {
return {
......@@ -75,7 +76,7 @@ export default {
},
_getVerifyImg() {
this.$apis.GETVERIFYIMG().then((res) => {
const url = window.URL.createObjectURL(res);
const { url } = downloadFile(res);
this.verifyImg = url || "";
});
},
......@@ -145,6 +146,8 @@ export default {
.mg-t(13);
}
.verify-img {
.w(110px);
height: 100%;
cursor: pointer;
}
}
......
......@@ -19,26 +19,50 @@
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="保险公司" prop="payorCode">
<a-select v-model="form.payorCode" placeholder="请选择保险公司" show-search allow-clear @filterOption="filterCode" @change="payorChange">
<a-select-option v-for="item in companyCode" :key="item.payorCode" :value="item.payorCode">
{{ item.longName }}
</a-select-option>
<a-form-model-item label="性别" prop="sex">
<a-radio-group v-model="form.sex" :default-value="form.sex" button-style="solid">
<a-radio-button value="M"></a-radio-button>
<a-radio-button class="mar-left10" value="F"></a-radio-button>
</a-radio-group>
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="证件类型" prop="idType">
<a-select v-model="form.idType" placeholder="请选择证件类型" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in typeCode" :key="item.refcd" :value="item.refcd" :label="item.descCh">{{ item.descCh }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="客户公司名称" prop="corpCode">
<a-select v-model="form.corpCode" placeholder="请选择客户公司名称" show-search allow-clear @filterOption="filterCode" @change="corpChange" @search="corpSearch">
<a-select-option v-for="item in comCorpCode" :key="item.corpCode" :value="item.corpCode">
<a-form-model-item label="证件号码" prop="idNo">
<a-input v-model="form.idNo" allow-clear placeholder="请输入证件号码"></a-input>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="保险公司" prop="payorId">
<a-select v-model="form.payorId" placeholder="请选择保险公司" show-search allow-clear @filterOption="filterCode" @change="payorChange">
<a-select-option v-for="item in companyCode" :key="item.id" :value="item.id" :label="item.longName">{{ item.longName }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="客户公司名称" prop="corpName">
<a-select v-model="form.corpName" placeholder="请选择客户公司名称" show-search allow-clear
@filterOption="filterCode" @change="corpChange" @search="corpSearch">
<a-select-option v-for="item in comCorpCode" :key="item.id" :value="item.id + '$_' + item.longName">
{{ 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="保单卡号" prop="policyNo">
<a-input allow-clear v-model="form.policyNo" placeholder="请输入保单卡号"></a-input>
<a-form-model-item label="保险卡号" prop="cardNo">
<a-input allow-clear v-model="form.cardNo" placeholder="请输入保险卡号"></a-input>
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="保单号码" prop="policyNo">
<a-input allow-clear v-model="form.policyNo" placeholder="请输入保单号码"></a-input>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
......@@ -57,17 +81,20 @@
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="保险计划" prop="planCode">
<a-select v-model="form.planCode" placeholder="请选择保险计划" show-search allow-clear @filterOption="filterCode" @search="codeSearch">
<a-select-option v-for="item in comPlanCode" :key="item.planCode" :vlaue="item.planCode">
<a-form-model-item label="保险计划" prop="planName">
<a-select v-model="form.planName" placeholder="请选择保险计划" show-search allow-clear @filterOption="filterCode" @search="codeSearch"
>
<a-select-option v-for="item in comPlanCode" :key="item.id + '_' + item.longName" :vlaue="item.longName">
{{ 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="其他备注" prop="remark">
<a-input allow-clear v-model="form.remark" placeholder="请输入备注信息"></a-input>
<a-form-model-item label="保单直付区域" prop="policyDircetArea">
<a-select v-model="form.policyDircetArea" placeholder="请选择保单直付区域" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in areaCode" :key="item.refcd" :value="item.refcd" :label="item.descCh">{{ item.descCh }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
......@@ -86,6 +113,11 @@
</a-radio-group>
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="其他备注" prop="remark">
<a-input allow-clear v-model="form.remark" placeholder="请输入备注信息"></a-input>
</a-form-model-item>
</a-col>
</a-row>
<a-row>
<a-col :xl="9" :sm="12">
......@@ -136,12 +168,12 @@
<!-- <a-button type="primary">
<Icon name="ssiprint" :size="14" />打印理赔申请书
</a-button> -->
<a-button type="primary" class="mar-left10 text-r" @click="handlerReset">
<Icon name="ssireset" :size="14" />重置
</a-button>
<a-button class="mar-left10 text-r" type="primary" @click="handlerSave">
<Icon name="ssidownload" :size="14" />保存
</a-button>
<a-button type="primary" class="mar-left10 text-r" @click="handlerReset">
<Icon name="ssireset" :size="14" />重置
</a-button>
</a-form-model-item>
</a-col>
</a-row>
......@@ -162,9 +194,10 @@ export default {
return {
previewVisible: false,
form: {
payorCode: undefined,
corpCode: undefined,
planCode: undefined,
sex: 'U',
payorId: undefined,
corpName: undefined,
planName: undefined,
waitingPeriod: "N",
isUndertakeAnamnesis: "N",
medCardCopeFiles: [],
......@@ -179,6 +212,8 @@ export default {
planCode: [],
comPlanCode: [],
formRules: {},
typeCode: [],
areaCode: []
};
},
mounted() {
......@@ -186,6 +221,7 @@ export default {
this.getCustomerDetail(this.$route.query);
}
this._getPayorCode();
this.initCodeData();
},
methods: {
handlerSave() {
......@@ -199,12 +235,12 @@ export default {
this.$message.success("操作成功");
const { id, patientPolicyId } = res.content || {};
this.$router.push({
name: "customerInfo",
query: { id, patientPolicyId },
name: "welfareInfo",
query: { id: id || this.form.id, patientPolicyId: patientPolicyId || this.form.patientPolicyId },
});
// this.$router.push("/customer");
} else {
this.$message.error(res.returnMsg || "操作失败");
this.$message.success(res.returnMsg || "操作失败");
}
});
});
......@@ -217,7 +253,7 @@ export default {
this.idCardCopeFiles = [];
},
payorChange(val) {
this.form.corpCode = undefined;
this.form.corpName = undefined;
if (!val) {
return false;
}
......@@ -241,6 +277,7 @@ export default {
];
}
},
getCustomerDetail(params) {
// this.queryForm = this.$lodash.cloneDeep(this.form);
const { id, patientPolicyId } = params;
......@@ -293,12 +330,13 @@ export default {
}
},
corpChange(val) {
this.form.planCode = undefined;
// 因为接口要name 但是查计划要用id
this.form.planName = undefined;
if (!val) {
return false;
}
// this.form.corpCode = val.split("$_")[1];
// val = val.split("$_")[0];
this.form.corpName = val.split("$_")[1];
val = val.split("$_")[0];
if (val) {
this._getPlanCode(val);
} else {
......@@ -368,10 +406,27 @@ export default {
handleClose() {
this.previewVisible = false;
},
initCodeData() {
const params = {
typeCode: {
modid: "CI",
refgrp: "ID_TYPE"
},
areaCode: {
modid: "CI",
refgrp: "POLICY_DIRECT_AREA"
},
}
for (let i in params) {
this._getRefcdByRefgrp(params[i], i)
}
},
// 选择框筛选
filterCode(input, option) {
return (
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
option.componentOptions.children[0].text
.toLowerCase()
.indexOf(input.toLowerCase()) >= 0
);
},
_getPayorCode() {
......@@ -380,23 +435,35 @@ export default {
});
},
_getCorporateCode(val) {
this.$apis.GETCORPORATECODEBYPAYOR({
this.$apis
.GETCORPORATECODEBYPAYOR({
longName: "",
payorCode: val,
}).then((res) => {
payorId: val,
})
.then((res) => {
this.corpCode = res.content || [];
this.comCorpCode = res.content || [];
});
},
_getPlanCode(val) {
this.$apis.GETPLANCODEBYCORP({
this.$apis
.GETPLANCODEBYCORP({
longName: "",
corpCdoe: val,
}).then((res) => {
corpId: val,
})
.then((res) => {
this.planCode = res.content || [];
this.comPlanCode = res.content || [];
});
},
_getRefcdByRefgrp(data, prop) {
if (this[prop] && this[prop].length) {
return true
}
this.$apis.GETREFCDBYREFGRP(data).then((res) => {
this[prop] = res.content || [];
});
},
},
};
</script>
......@@ -416,8 +483,8 @@ export default {
.mg-r(10);
}
}
.none-label {
text-align: right;
.none-label .text-r {
float: right;
}
/deep/ .ant-upload {
width: 100%;
......
......@@ -5,29 +5,29 @@
<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 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">
......@@ -52,10 +52,10 @@
>
<template slot="operation" slot-scope="record">
<a-button type="link" @click.stop="changeDataStatus(record)">修改</a-button>
<a-button type="link">打印理赔申请书</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">
<a-button type="link" class="danger">删除</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>
......@@ -66,32 +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,
},
{
title: "客户姓名",
dataIndex: "patientName",
width: 120,
},
{ 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: "260px",
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,
......@@ -155,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() {
......
......@@ -74,39 +74,85 @@
title="计划管理"
v-model="isPlanEditShow"
:footer="null"
width="50%"
@cancel="isPlanEditShow = false"
>
<a-form-model ref="editForm" layout="vertical" :model="editForm" :rules="editRule">
<!-- <a-form-model-item label="保险公司" prop="payorCode">
<a-input disabled v-model="editForm.payorCode"> </a-input>
</a-form-model-item>
<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-row :gutter="20">
<a-col :md="12">
<a-form-model-item label="保险计划" prop="planCode">
<a-input v-model="editForm.planCode"></a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="英文名称" prop="englishName">
<a-input v-model="editForm.englishName"></a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="计划全称" prop="longName">
<a-input v-model="editForm.longName"></a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="计划简称" prop="shortName">
<a-input v-model="editForm.shortName"></a-input>
</a-form-model-item>
<a-form-model-item label="英文名称" prop="englishName">
<a-input v-model="editForm.englishName"></a-input>
</a-col>
<a-col :md="12">
<a-form-model-item label="公司名称" prop="corpName">
<a-input v-model="editForm.corpName"></a-input>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="生效日期" prop="effectiveDate">
<a-date-picker v-model="editForm.effectiveDate" 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="terminationDate">
<a-date-picker v-model="editForm.terminationDate" 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="waitingPeriod">
<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="地区限制" prop="idType">
<a-select v-model="form.idType" placeholder="请选择地区限制" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in companyCode" :key="item.id" :value="item.id" :label="item.longName">{{ item.longName }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :md="12">
<a-form-model-item label="医院限制" prop="idType">
<a-select v-model="form.idType" placeholder="请选择医院限制" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in companyCode" :key="item.id" :value="item.id" :label="item.longName">{{ item.longName }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col> -->
<a-col :md="12">
<a-form-model-item label="状态" prop="idType">
<a-select v-model="form.idType" placeholder="请选择计划状态" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in statusCode" :key="item.code" :value="item.code" :label="item.name">{{ item.name }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :md="12">
<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-col>
</a-row>
<a-form-model-item class="text-r">
<a-button type="primary" @click="savePlanData">
<Icon name="ssiadd" :size="14" />保存
......@@ -122,6 +168,7 @@
import BurtPagination from "@/components/CUSTOMER/pagation";
import condition from "./components/condition";
import coverages from "./components/coverages";
import moment from 'moment'
export default {
components: {
BurtPagination,
......@@ -129,19 +176,33 @@ export default {
coverages,
},
data() {
const dateFormat = (val) => {
return val && moment(val).format('YYYY-MM-DD')
}
const columns = [
{ title: "计划责任", dataIndex: "planCode", width: 180 },
{ title: "全称", dataIndex: "longName", width: 180 },
// { title: "计划责任", dataIndex: "planCode", width: 180 },
{ title: "计划全称", dataIndex: "longName", width: 180},
{ title: "简称", dataIndex: "shortName", width: 180 },
{ title: "起始日期", dataIndex: "effectiveDate", width: 180 },
{ title: "终止日期", dataIndex: "terminationDate", width: 180 },
{ title: "计划状态", dataIndex: "status", width: 180 },
{ title: "等待期", dataIndex: "waitingPeriod" },
{ title: "备注", dataIndex: "remarks" },
{ title: "起始日期", dataIndex: "effectiveDate", width: 180, customRender: dateFormat },
{ title: "终止日期", dataIndex: "terminationDate", width: 180, customRender: dateFormat },
{ title: "计划状态", dataIndex: "status", width: 180, customRender: (val) => {
for(let i = 0; i < this.statusCode.length; i ++) {
if (val === this.statusCode[i].code) {
return this.statusCode[i].name
}
}
return val;
} },
// { title: "医院限制", dataIndex: "status", width: 180 },
// { title: "计划限额", dataIndex: "status", width: 180 },
// { title: "限额消耗", dataIndex: "waitingPeriod" },
{ title: "等待期", dataIndex: "waitingPeriod", width: 120 },
{ title: "更新日期", dataIndex: "modifierDate", width: 180},
{ title: "备注", dataIndex: "remarks", width: 180 },
{
title: "操作",
key: "operation",
width: "175px",
width: "120px",
fixed: "right",
scopedSlots: { customRender: "operation" },
},
......@@ -164,6 +225,10 @@ export default {
companyCode: [],
corpCode: [],
planCode: [],
statusCode: [
{code: "1", name: "有效"},
{code: "2", name: "无效"}
],
queryForm: {},
pager: {
pageNum: 1,
......@@ -178,7 +243,7 @@ export default {
editRule: {
planCode: [{ required: true, message: "请输入保险计划内容" }],
longName: [{ required: true, message: "请输入保险计划全称" }],
shortName: [{ required: true, message: "请输入保险计划简称" }],
// shortName: [{ required: true, message: "请输入保险计划简称" }],
effectiveDate: [{ required: true, message: "请选择生效日期" }],
terminationDate: [{ required: true, message: "请选择失效日期" }],
},
......
......@@ -3,25 +3,17 @@
<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-row>
<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-row>
<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-row>
<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-row>
</a-collapse-panel>
</a-collapse>
......@@ -47,8 +39,8 @@ export default {
.policy_line {
.pa(0, 30, 0, 30);
line-height: 60px;
// &:not(:last-child) {
.ant-col{
border-bottom: 1px solid #f8fafb;
// }
}
}
</style>
......@@ -4,6 +4,11 @@
<a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30">
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="病历号码" prop="mrnNo">
<a-input v-model="form.mrnNo" placeholder="请输入客户号码"></a-input>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="客户姓名" prop="patientName">
<a-input v-model="form.patientName" placeholder="请输入客户姓名"></a-input>
</a-form-model-item>
......@@ -14,79 +19,35 @@
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="保险公司" prop="payorId">
<a-select v-model="form.payorId" placeholder="请选择保险公司" show-search allow-clear @change="payorChange" @filterOption="filterCode">
<a-select-option v-for="item in companyCode" :key="item.id" :value="item.id">
{{ item.longName }}
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="7" :lg="6" :sm="12">
<a-form-model-item label="客户公司名称" prop="corpName">
<a-select v-model="form.corpName" placeholder="请选择客户公司名称" show-search allow-clear @filterOption="filterCode" @change="corpChange">
<a-select-option v-for="item in corpCode" :key="item.id" :value="item.id + '$_' + item.longName">
{{ item.longName }}
</a-select-option>
</a-select>
<a-form-model-item label="性别" prop="sex">
<a-radio-group v-model="form.sex" :default-value="form.sex" button-style="solid">
<a-radio-button value="M"></a-radio-button>
<a-radio-button class="mar-left10" value="F"></a-radio-button>
</a-radio-group>
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="保单卡号" prop="policyNo">
<a-input v-model="form.policyNo" allow-clear placeholder="请输入保单卡号"></a-input>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="首次入保时间" prop="firstEnrollmentTime">
<a-date-picker v-model="form.firstEnrollmentTime" placeholder="请选择首次入保时间" value-format="YYYY-MM-DD"></a-date-picker>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="保单生效日期" prop="startDate">
<a-date-picker v-model="form.startDate" placeholder="请选择保单生效日期" value-format="YYYY-MM-DD"></a-date-picker>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="保单终止日期" prop="endDate">
<a-date-picker v-model="form.endDate" placeholder="请选择保单终止日期" value-format="YYYY-MM-DD"></a-date-picker>
<a-form-model-item label="证件号码" prop="idNo">
<a-input v-model="form.idNo" allow-clear placeholder="请输入证件号码"></a-input>
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="6" :sm="12">
<a-form-model-item label="保险计划" prop="planName">
<a-select v-model="form.planName" placeholder="请选择保险计划" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in planCode" :key="item.id" :vlaue="item.longName">
<a-form-model-item label="保险公司" prop="payorId">
<a-select v-model="form.payorId" placeholder="请选择保险公司" show-search allow-clear @change="payorChange" @filterOption="filterCode">
<a-select-option v-for="item in companyCode" :key="item.id" :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="其他备注" prop="remark">
<a-input v-model="form.remark" allow-clear placeholder="请输入备注信息"></a-input>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="等待期" prop="waitingPeriod">
<a-radio-group v-model="form.waitingPeriod" :default-value="form.waitingPeriod" 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 :xl="4" :lg="6" :sm="12">
<a-form-model-item label="等待期时间" prop="waitingPeriodTime">
<a-date-picker v-model="form.waitingPeriodTime" placeholder="请选择等待期时间" value-format="YYYY-MM-DD"></a-date-picker>
</a-form-model-item>
</a-col>
<a-col :xl="4" :lg="6" :sm="12">
<a-form-model-item label="是否承担既往症" prop="isUndertakeAnamnesis">
<a-radio-group v-model="form.isUndertakeAnamnesis" :default-value="form.isUndertakeAnamnesis" 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 label="是否直付" prop="idType">
<a-select v-model="form.idType" placeholder="请选择保单直付区域" show-search allow-clear @filterOption="filterCode">
<a-select-option v-for="item in companyCode" :key="item.id" :value="item.id" :label="item.longName">{{ item.longName }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :xl="6" :lg="18" :sm="12" class="none-label">
<a-col :xl="14" :lg="12" :sm="24" class="none-label">
<a-form-model-item label="button">
<a-button type="primary" class="text-r" @click="handlerReset">
<Icon name="ssireset" :size="14" />重置
......@@ -111,7 +72,7 @@
/>
</div>
<div v-if="isShowCoverageData">
<PolicyInfo :policyData="{}" />
<PolicyInfo :policyData="coverageForm" />
<coverages :formData="coverageForm"></coverages>
</div>
</div>
......@@ -146,18 +107,13 @@ export default {
isShowCoverageData: false,
customColumns,
form: {
mrnNo: undefined,
patientName: undefined,
payorId: undefined,
corpName: undefined,
planName: undefined,
birthday: undefined,
policyNo: undefined,
firstEnrollmentTime: undefined,
startDate: undefined,
endDate: undefined,
remark: undefined,
waitingPeriod: "N",
isUndertakeAnamnesis: "N",
sex: undefined,
idNo: undefined,
payorId: undefined,
idType: undefined
},
detailForm: {},
coverageForm: {},
......
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