Commit 0bef4630 authored by 朱彩云's avatar 朱彩云

Merge branch 'test' into 'master'

ECCS-1459完成

See merge request !3
parents 0f4a59df 830dd7aa
...@@ -11,9 +11,10 @@ export default { ...@@ -11,9 +11,10 @@ export default {
conditionList: "/backstage/auth/conditionList", conditionList: "/backstage/auth/conditionList",
addCondition: "/backstage/auth/conditionCreate", addCondition: "/backstage/auth/conditionCreate",
editCondition: "/backstage/auth/conditionEdit", editCondition: "/backstage/auth/conditionEdit",
benefitList: "/backstage/auth/benefitList", benefitList: "/backstage/auth/benefitListShow",
addBenefit: "/backstage/auth/createBenefit", addBenefit: "/backstage/auth/createBenefit",
editBenefit: "/backstage/auth/benefitEdit", editBenefit: "/backstage/auth/benefitEdit",
getFrequencyCode: "/backstage/auth/frequencyList", getFrequencyCode: "/backstage/auth/frequencyList",
getLimitCode: "/backstage/auth/limitList", getLimitCode: "/backstage/auth/limitList",
remainingQuotaSet: "/backstage/auth/remainingQuotaSet" // 修改剩余金额
}; };
...@@ -66,6 +66,11 @@ const GETLIMITCODE = (data) => { ...@@ -66,6 +66,11 @@ const GETLIMITCODE = (data) => {
return req.post(apis.getLimitCode, data); return req.post(apis.getLimitCode, data);
}; };
// 修改剩余金额
const SETREMAININGQUOTA = (data) => {
return req.post(apis.remainingQuotaSet, data);
};
// 对象数组 // 对象数组
export default { export default {
GETBENEGITTYPE, GETBENEGITTYPE,
...@@ -84,4 +89,5 @@ export default { ...@@ -84,4 +89,5 @@ export default {
EDITCOVERAGEDATA, EDITCOVERAGEDATA,
GETFREQUENCYCODE, GETFREQUENCYCODE,
GETLIMITCODE, GETLIMITCODE,
SETREMAININGQUOTA
}; };
This diff is collapsed.
...@@ -24,7 +24,7 @@ export default { ...@@ -24,7 +24,7 @@ export default {
justify-content: center; justify-content: center;
align-items: center; align-items: center;
min-height: 100vh; min-height: 100vh;
background: url("../../assets/image/login_bg.png") center center no-repeat; background: url("../../assets/image/login_bg.jpg") center center no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
.title { .title {
.fs(90); .fs(90);
......
...@@ -327,7 +327,8 @@ export default { ...@@ -327,7 +327,8 @@ export default {
}, },
// 重置 // 重置
handlerReset() { handlerReset() {
this.form = {}; const { patientNo, patientName } = this.form;
this.form = {patientNo, patientName};
}, },
editEvt(record) { editEvt(record) {
this.editFormObj = { this.editFormObj = {
......
...@@ -168,7 +168,7 @@ export default { ...@@ -168,7 +168,7 @@ export default {
{ title: "应收金额", dataIndex: "chargeAmount", width: 100, align: 'center' }, { title: "应收金额", dataIndex: "chargeAmount", width: 100, align: 'center' },
{ title: "折扣金额", dataIndex: "discountAmount", width: 100, align: 'center' }, { title: "折扣金额", dataIndex: "discountAmount", width: 100, align: 'center' },
{ title: "减免金额", dataIndex: "discountAmount2", width: 100, align: 'center' }, { title: "减免金额", dataIndex: "discountAmount2", width: 100, align: 'center' },
{ title: "客户自", dataIndex: "paidAmount", width: 100, align: 'center' }, { title: "客户自", dataIndex: "paidAmount", width: 100, align: 'center' },
{ title: "理赔金额", dataIndex: "paidamount", width: 100, align: 'center' }, { title: "理赔金额", dataIndex: "paidamount", width: 100, align: 'center' },
// { title: "操作", key: "operation", width: "175px",fixed: "right",scopedSlots: { customRender: "operation" }}, // { title: "操作", key: "operation", width: "175px",fixed: "right",scopedSlots: { customRender: "operation" }},
]; ];
......
...@@ -283,6 +283,14 @@ export default { ...@@ -283,6 +283,14 @@ export default {
this.$apis.GETCUSTOMERDETAIL(data).then((res) => { this.$apis.GETCUSTOMERDETAIL(data).then((res) => {
if (res.returnCode === "0000") { if (res.returnCode === "0000") {
let data = res.content || {}; let data = res.content || {};
// type === '2'说明是新增保单,需要把客户信息清空
if(type === '2') {
const { mrnNo, idNo, patientName, birthday, sex, id } = data
this.form = { ...this.form, mrnNo, idNo, patientName, birthday, sex, id }
this.medCardCopeFiles = [];
this.idCardCopeFiles = [];
return true
}
this._getCorporateCode(data.payorId); this._getCorporateCode(data.payorId);
this._getPlanCode(data.corpId); this._getPlanCode(data.corpId);
const medCardCopeFiles = data.medCardCopeFiles || []; const medCardCopeFiles = data.medCardCopeFiles || [];
...@@ -301,29 +309,6 @@ export default { ...@@ -301,29 +309,6 @@ export default {
name: item.fileName, name: item.fileName,
}) })
}) })
// type === '2'说明是新增保单,需要把客户信息清空
if(type === '2') {
data = {
...data,
payorId: undefined,
corpName: '',
idType: undefined,
policyNo: '',
firstEnrollmentTime: '',
startDate: '',
cardNo: '',
policyDircetArea: undefined,
waitingPeriod: 'N',
isUndertakeAnamnesis: "N",
endDate: '',
planName: undefined,
remark: '',
medCardCopeFiles: [],
idCardCopeFiles: [], // 身份证复印件
}
this.medCardCopeFiles = [];
this.idCardCopeFiles = [];
}
this.form = data; this.form = data;
} }
// this.dataList = (res.content && res.content.list) || []; // this.dataList = (res.content && res.content.list) || [];
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<span>{{text | formatSex}}</span> <span>{{text | formatSex}}</span>
</template> </template>
<template slot="operation" slot-scope="record"> <template slot="operation" slot-scope="record">
<a-button type="link" @click.stop="changeDataStatus(record)">修改</a-button> <a-button type="link" v-if="!record.isExpired" @click.stop="changeDataStatus(record)">修改</a-button>
<a-button type="link" @click.stop="printClaimPdf(record)">打印理赔申请书</a-button> <a-button type="link" @click.stop="printClaimPdf(record)">打印理赔申请书</a-button>
<a-button type="link" @click.stop="changeDataStatus(record, '2')">新增保单</a-button> <a-button type="link" @click.stop="changeDataStatus(record, '2')">新增保单</a-button>
<!-- <a-button type="link" class="success">新增</a-button> --> <!-- <a-button type="link" class="success">新增</a-button> -->
...@@ -86,9 +86,21 @@ export default { ...@@ -86,9 +86,21 @@ export default {
{ title: "出生日期", dataIndex: "birthday", width: 170, customRender: dateFormat}, { title: "出生日期", dataIndex: "birthday", width: 170, customRender: dateFormat},
{ title: "性别", dataIndex: "sex", width: 80, scopedSlots: { customRender: "sex" } }, { title: "性别", dataIndex: "sex", width: 80, scopedSlots: { customRender: "sex" } },
{ title: "保险公司", dataIndex: "payorName", width: 180 }, { title: "保险公司", dataIndex: "payorName", width: 180 },
{ title: "保单号码", dataIndex: "policyNo", width: 190 }, { title: "保险卡号", dataIndex: "cardNo", width: 190 },
{ title: "保单生效日期", dataIndex: "startDate", width: 170, customRender: dateFormat }, { title: "保单生效日期", dataIndex: "startDate", width: 170, customRender: (val, row) => {
{ title: "保单终止日期", dataIndex: "endDate", width: 170, customRender: dateFormat }, const formatDate = dateFormat(val)
if (row.isExpired) {
return <span class="red-text">{formatDate}</span>
}
return formatDate;
}},
{ title: "保单终止日期", dataIndex: "endDate", width: 170, customRender: (val, row) => {
const formatDate = dateFormat(val)
if (row.isExpired) {
return <span class="red-text">{formatDate}</span>
}
return formatDate;
}},
{ title: "操作", key: "operation", width: "270px", fixed: "right", scopedSlots: { customRender: "operation" }, align: 'center'}, { title: "操作", key: "operation", width: "270px", fixed: "right", scopedSlots: { customRender: "operation" }, align: 'center'},
]; ];
return { return {
...@@ -198,8 +210,13 @@ export default { ...@@ -198,8 +210,13 @@ export default {
...this.pager, ...this.pager,
}; };
this.$apis.GETCUSTOMERLIST(data).then((res) => { this.$apis.GETCUSTOMERLIST(data).then((res) => {
this.dataList = (res.content && res.content.list) || [];
this.pager.total = (res.content && res.content.total) || 0; this.pager.total = (res.content && res.content.total) || 0;
const data = (res.content && res.content.list) || [];
data.forEach(item => {
item.isExpired = moment(item.endDate).valueOf() < moment(new Date()).valueOf()
});
console.log(data)
this.dataList = data;
}); });
}, },
}, },
...@@ -215,4 +232,7 @@ export default { ...@@ -215,4 +232,7 @@ export default {
.ant-btn .icon-class { .ant-btn .icon-class {
.mg-r(10); .mg-r(10);
} }
.red-text{
color: red;
}
</style> </style>
...@@ -5,16 +5,11 @@ ...@@ -5,16 +5,11 @@
<a-button type="primary" @click.stop="addCompany">新建保险公司</a-button> <a-button type="primary" @click.stop="addCompany">新建保险公司</a-button>
</div> </div>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: 'max-content' }" :pagination="false"> <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 slot='operation' slot-scope="record">
<template v-if="col.dataIndex == 'operation'">
<a-button type="link" @click.stop="editEvt(record)">修改</a-button> <a-button type="link" @click.stop="editEvt(record)">修改</a-button>
<a-button type="link" class="success" @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> <a-button type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
</template> </template>
<template v-else>
<span>{{ text }}</span>
</template>
</div>
</a-table> </a-table>
<!--分页--> <!--分页-->
<BurtPagination :pagination="pagination" @pageChange="getData" /> <BurtPagination :pagination="pagination" @pageChange="getData" />
...@@ -62,18 +57,23 @@ ...@@ -62,18 +57,23 @@
<script> <script>
import BurtPagination from "@/components/CUSTOMER/pagation"; import BurtPagination from "@/components/CUSTOMER/pagation";
const columns = [
{ title: "序号", dataIndex: "id",width: 120},
{ title: "保险公司名称",dataIndex: "longName", ellipsis: true, scopedSlots: { customRender: "longName" },width: 130},
{ title: "保险公司英文名", dataIndex: "englishName",ellipsis: true,scopedSlots: { customRender: "englishName" },width: 105},
{ title: "联系电话", dataIndex: "contactPhone", scopedSlots: { customRender: "contactPhone" }, width: 125},
{ 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: "200px",align: "center"},
];
export default { export default {
data() { data() {
const columns = [
{ title: "序号", dataIndex: "id",width: 120},
{ title: "保险公司名称",dataIndex: "longName", ellipsis: true,width: 130},
{ title: "保险公司英文名", dataIndex: "englishName",ellipsis: true,width: 105},
{ title: "联系电话", dataIndex: "contactPhone", width: 125, customRender: (val) => {
const valArr = val && val.split(/,|\n/ig) || [];
const valStr = valArr.join('<br />')
return <span domPropsInnerHTML={valStr}></span>
}},
{ title: "联系地址", dataIndex: "address", ellipsis: true, width: 180},
{ title: "Protal链接", dataIndex: "portalUrl", ellipsis: true, width: 155 },
{ title: "联系人", dataIndex: "contactPerson", ellipsis: true, width: 100},
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" },fixed: "right", width: "200px",align: "center"},
];
return { return {
dialogShow: false, dialogShow: false,
columns, columns,
......
...@@ -106,9 +106,16 @@ ...@@ -106,9 +106,16 @@
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="密码"> <a-form-model-item label="密码">
<a-input type="password" v-model="detailObj.loginPwd" placeholder="密码" /> <a-input-password type="password" v-model="detailObj.loginPwd" placeholder="密码" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="备注">
<a-textarea type="password" v-model="detailObj.remark" max-length="500" :auto-size="{minRows: 3}" />
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="30">
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
<a-form-model-item label="理赔申请书模板"> <a-form-model-item label="理赔申请书模板">
<a-upload name="file" :multiple="false" accept="application/pdf" :showUploadList="true" <a-upload name="file" :multiple="false" accept="application/pdf" :showUploadList="true"
......
<template> <template>
<div class="info-doctor"> <div class="info-doctor">
<div class="mar-bottom10">
<a-button type="primary" @click="editEvt({})">
<Icon name="ssiadd" :size="14" />新建医生
</a-button>
</div>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: 'max-content' }" :pagination="false"> <a-table :columns="columns" :data-source="dataList" :scroll="{ x: 'max-content' }" :pagination="false">
<template slot="specialtyList" slot-scope="text, record"> <template slot="specialtyList" slot-scope="text, record">
<span>{{ filterSpecialty(record.specialtyList) }}</span> <span>{{ filterSpecialty(record.specialtyList) }}</span>
...@@ -52,6 +57,13 @@ ...@@ -52,6 +57,13 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="12" :sm="24">
<a-form-model-item label="状态" prop="jobStatus">
<a-select v-model="editFormObj.jobStatus" placeholder="请选择" showSearch allowClear>
<a-select-option :value="item.code" v-for="item in jobStatusCode" :key="item.code">{{ item.name }}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row> </a-row>
</a-form-model> </a-form-model>
</a-modal> </a-modal>
...@@ -60,16 +72,6 @@ ...@@ -60,16 +72,6 @@
<script> <script>
import BurtPagination from "@/components/CUSTOMER/pagation"; import BurtPagination from "@/components/CUSTOMER/pagation";
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: "language", ellipsis: true, width: 120 },
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, fixed: "right", width: "200px", align: "center", },
];
export default{ export default{
props: { props: {
detailObj: { detailObj: {
...@@ -77,6 +79,24 @@ export default{ ...@@ -77,6 +79,24 @@ export default{
} }
}, },
data(){ data(){
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: 180,},
{ title: "国家/区域", dataIndex: "country", ellipsis: true, width: 110, },
{ title: "语言", dataIndex: "language", ellipsis: true, width: 120 },
{ title: "状态", dataIndex: "jobStatus", ellipsis: true, width: 120, customRender: (val) => {
for (let i = 0; i < this.jobStatusCode.length; i ++) {
if (this.jobStatusCode[i].code === val) {
return this.jobStatusCode[i].name
}
}
return val
}},
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, fixed: "right", width: "200px", align: "center", },
];
return { return {
dialogShow: false, dialogShow: false,
columns, columns,
...@@ -104,6 +124,10 @@ export default{ ...@@ -104,6 +124,10 @@ export default{
{ required: true, message: "请选择", trigger: "change" }, { required: true, message: "请选择", trigger: "change" },
], ],
}, },
jobStatusCode: [
{ code: '01', name: '在职' },
{ code: '02', name: '离职' }
]
} }
}, },
components: { components: {
...@@ -180,7 +204,7 @@ export default{ ...@@ -180,7 +204,7 @@ export default{
}, },
editEvt(record) { editEvt(record) {
this.editFormObj = { this.editFormObj = {
id: record.id || "", id: record.id || undefined,
doctorCode: record.doctorCode || "", doctorCode: record.doctorCode || "",
doctorDesc: record.doctorDesc || "", doctorDesc: record.doctorDesc || "",
doctorDescLang1: record.doctorDescLang1 || "", doctorDescLang1: record.doctorDescLang1 || "",
...@@ -194,8 +218,8 @@ export default{ ...@@ -194,8 +218,8 @@ export default{
handleEditOK() { handleEditOK() {
this.$refs.editForm.validate((valid) => { this.$refs.editForm.validate((valid) => {
if (valid) { if (valid) {
this.$apis const fn = this.editFormObj.id ? this.$apis.DOCTORUPDATE : this.$apis.DOCTORCREATE
.DOCTORUPDATE({ fn({
...this.editFormObj, ...this.editFormObj,
language: this.editFormObj.language.join(','), language: this.editFormObj.language.join(','),
specialtyList: this.editFormObj.specialtyList.map((item) => { specialtyList: this.editFormObj.specialtyList.map((item) => {
......
...@@ -69,17 +69,17 @@ ...@@ -69,17 +69,17 @@
</a-col> </a-col>
<a-col :lg="8" :sm="12"> <a-col :lg="8" :sm="12">
<a-form-model-item label="Bank Name 银行名称"> <a-form-model-item label="Bank Name 银行名称">
<a-input v-model="detailObj.bankAddrEng" type="number" placeholder="Bank Name 银行名称" /> <a-input v-model="detailObj.bankAddrEng" placeholder="Bank Name 银行名称" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :sm="12"> <a-col :sm="12">
<a-form-model-item label="Bank Address 银行地址"> <a-form-model-item label="Bank Address 银行地址">
<a-input v-model="detailObj.bankAddr" type="number" placeholder="Bank Address 银行地址"/> <a-input v-model="detailObj.bankAddr" placeholder="Bank Address 银行地址"/>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :sm="12"> <a-col :sm="12">
<a-form-model-item label="Swift Code 国际电汇代码"> <a-form-model-item label="Swift Code 国际电汇代码">
<a-input v-model="detailObj.telegraphicTransferCode" type="number" placeholder="Swift Code 国际电汇代码" /> <a-input v-model="detailObj.telegraphicTransferCode" placeholder="Swift Code 国际电汇代码" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :sm="24" class="none-label"> <a-col :sm="24" class="none-label">
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
</a-col> </a-col>
<a-col :md="12"> <a-col :md="12">
<a-form-model-item label="福利项目" prop="benefitCode"> <a-form-model-item label="福利项目" prop="benefitCode">
<a-select v-model="editForm.benefitCode" show-search allow-clear :filterOption="filterCode"> <a-select v-model="editForm.benefitCode" show-search allow-clear :filterOption="filterCode" :mode="editForm.id ? '' : multiple">
<a-select-option v-for="item in benefitCode" :key="item.benefitCode + item.description" :value="item.benefitCode"> <a-select-option v-for="item in benefitCode" :key="item.benefitCode + item.description" :value="item.benefitCode">
{{ item.description }} {{ item.description }}
</a-select-option> </a-select-option>
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
</a-input-number> </a-input-number>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :md="12"> <!-- <a-col :md="12">
<a-form-model-item label="英文描述"> <a-form-model-item label="英文描述">
<a-input v-model="editForm.englishDesc"></a-input> <a-input v-model="editForm.englishDesc"></a-input>
</a-form-model-item> </a-form-model-item>
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
<a-form-model-item label="描述"> <a-form-model-item label="描述">
<a-input v-model="editForm.loaDesc"> </a-input> <a-input v-model="editForm.loaDesc"> </a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col> -->
<!-- <a-col :md="12"> <!-- <a-col :md="12">
<a-form-model-item label="状态"> <a-form-model-item label="状态">
<a-select <a-select
...@@ -164,12 +164,12 @@ export default { ...@@ -164,12 +164,12 @@ export default {
return val && moment(val).format('YYYY-MM-DD') return val && moment(val).format('YYYY-MM-DD')
} */ } */
const columns = [ const columns = [
{ title: "责任项目明细", dataIndex: "benefitDesc" }, { title: "责任项目明细", dataIndex: "benefitDesc", width: 300 },
// { title: "预授权申请", dataIndex: "index" }, // { title: "预授权申请", dataIndex: "index" },
// { title: "开始日期", dataIndex: "startDate", customRender: dateFormat }, // { title: "开始日期", dataIndex: "startDate", customRender: dateFormat },
// { title: "结束日期", dataIndex: "endDate", customRender: dateFormat }, // { title: "结束日期", dataIndex: "endDate", customRender: dateFormat },
{ title: "更新日期", dataIndex: "modifierDate", width: 180 }, { title: "更新日期", dataIndex: "modifierDate", width: 180 },
{ title: "备注", dataIndex: "remarks", width: 180 }, { title: "备注", dataIndex: "remarks" },
{ {
title: "操作", title: "操作",
key: "operation", key: "operation",
...@@ -184,7 +184,9 @@ export default { ...@@ -184,7 +184,9 @@ export default {
isBenefitEditShow: false, isBenefitEditShow: false,
benefitData: [], benefitData: [],
benefitCode: [], benefitCode: [],
editForm: {}, editForm: {
benefitCode: []
},
editRule: { editRule: {
benefitCode: [{ required: true, message: "请选择福利项" }], benefitCode: [{ required: true, message: "请选择福利项" }],
// startDate: [{ required: true, message: "请选择开始时间" }], // startDate: [{ required: true, message: "请选择开始时间" }],
...@@ -211,12 +213,15 @@ export default { ...@@ -211,12 +213,15 @@ export default {
corpCode: this.formData.corpCode, corpCode: this.formData.corpCode,
planCode: this.formData.planCode, planCode: this.formData.planCode,
coverageCode: this.formData.coverageCode, coverageCode: this.formData.coverageCode,
benefitCode: '',
isDirect: "N", isDirect: "N",
status: "1", status: "1",
}; };
this._getBenefitCode(); this._getBenefitCode();
this.editForm = this.$lodash.cloneDeep(data); this.editForm = this.$lodash.cloneDeep(data);
this.editForm.benefitCode = this.editForm.benefitCode ? this.editForm.benefitCode.split(',') : this.editForm.benefitCode
this.isBenefitEditShow = true; this.isBenefitEditShow = true;
console.log(this.editForm)
}, },
cancel() { cancel() {
this.$refs.editForm.resetFields(); this.$refs.editForm.resetFields();
...@@ -233,7 +238,14 @@ export default { ...@@ -233,7 +238,14 @@ export default {
if (!valid) { if (!valid) {
return false; return false;
} }
this._editBenefitData(this.editForm); // 编辑的时候benefit是单选操作的是String类型 新增的时候为多选 Array类型
const {id, benefitCode} = this.editForm
const data = {
...this.editForm,
benefitCode: id || id === 0 ? benefitCode : benefitCode.join(',')
}
this._editBenefitData(data);
}); });
}, },
_editBenefitData(data) { _editBenefitData(data) {
......
...@@ -122,14 +122,14 @@ export default { ...@@ -122,14 +122,14 @@ export default {
const columns = [ const columns = [
{ title: "条件类型", dataIndex: "frequencyDesc" }, { title: "条件类型", dataIndex: "frequencyDesc" },
{ title: "条件内容", dataIndex: "limitDesc" }, { title: "条件内容", dataIndex: "limitDesc" },
{ title: "状态", dataIndex: "status", customRender: (val) => { // { title: "状态", dataIndex: "status", customRender: (val) => {
for(let i = 0; i < this.statusCode.length; i ++) { // for(let i = 0; i < this.statusCode.length; i ++) {
if (val === this.statusCode[i].code) { // if (val === this.statusCode[i].code) {
return this.statusCode[i].name // return this.statusCode[i].name
} // }
} // }
return val; // return val;
} }, // } },
// { title: "限额或限次", dataIndex: "index" }, // { title: "限额或限次", dataIndex: "index" },
{ title: "福利限制", dataIndex: "maxValue", customRender: (val, row) => { { title: "福利限制", dataIndex: "maxValue", customRender: (val, row) => {
if (row.limitCode.indexOf('07') === 0) { if (row.limitCode.indexOf('07') === 0) {
......
...@@ -25,24 +25,43 @@ ...@@ -25,24 +25,43 @@
</a-table> </a-table>
</div> </div>
</div> --> </div> -->
<a-collapse v-model="activeKeys" expand-icon-position="right" :bordered="false"> <!-- <a-collapse v-model="activeKeys" expand-icon-position="right" :bordered="false">
<a-collapse-panel v-for="item in benefitData" :key="item.benefitCode" :header="item.benefitCode + ' ' +item.benefitDesc"> <a-collapse-panel v-for="item in benefitData" :key="item.benefitCode" :header="item.benefitCode + ' ' +item.benefitDesc">
<div> <div>
<a-row class="policy_line" :gutter="10"> <a-row class="policy_line" :gutter="10">
<a-col :span="6">事先授权:</a-col> <a-col :span="6">事先授权:</a-col>
<a-col :span="6">等待期:{{ item.waitingPeriod }}</a-col> <a-col :span="6">等待期:{{ item.waitingPeriod }}</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>
</div> </div>
<condition :formData="{ ...item, conditionType: '01' }" /> <condition :formData="{ ...item, conditionType: '01' }" />
</a-collapse-panel> </a-collapse-panel>
</a-collapse> </a-collapse> -->
<a-row v-for="(item, index) in benefitData" :key="item.benefitCode" class="policy_line" :gutter="10">
<a-col :span="12">{{item.benefitCode + ' ' +item.benefitDesc}}</a-col>
<a-col :span="12" class="border-r">
<a-row :gutter="10">
<a-col :span="12">{{item.benefitConditionDesc}}</a-col>
<a-col :span="12" class="border-r" v-if="item.remainingQuota || item.remainingQuota === 0">
<a-row v-if="item.isEditRemainingQuota">
<a-col :span="14">
<a-input v-model="remainingQuotaForm[item.benefitCode]" placeholder="请输入剩余金额"></a-input>
</a-col>
<a-col :span="10">
<a-button type="link" @click="saveRemainingQuota(item, index)">保存</a-button>
<a-button type="link" @click="editRemainingQuota(item, index)">取消</a-button>
</a-col>
</a-row>
<p v-else @dblclick="editRemainingQuota(item, index)" title="双击可编辑剩余金额">剩余{{item.remainingQuota}}元</p>
</a-col>
</a-row>
</a-col>
</a-row>
</div> </div>
</template> </template>
<script> <script>
import condition from "../condition";
export default { export default {
props: { props: {
...@@ -52,21 +71,56 @@ export default { ...@@ -52,21 +71,56 @@ export default {
}, },
}, },
components: { components: {
condition,
}, },
data() { data() {
return { return {
benefitData: [], benefitData: [],
activeKeys: "", activeKeys: "",
remainingQuotaForm: {}
}; };
}, },
mounted() { mounted() {
this._getBenefitData(); this._getBenefitData();
}, },
methods: { methods: {
// 编辑剩余金额的打开与取消
editRemainingQuota(data, index) {
const val = data.isEditRemainingQuota
if (! val) {
this.remainingQuotaForm[data.benefitCode] = data.remainingQuota;
}
this.$set(this.benefitData[index], 'isEditRemainingQuota', !val)
},
// 剩余金额保存
saveRemainingQuota(data, index) {
const { benefitCode, corpCode, coverageCode, patientId, payorCode, planCode } = data;
const remainingQuota = this.remainingQuotaForm[benefitCode]
if (! remainingQuota) {
this.$message.error('剩余金额不能为空')
return false;
}
if (! /^\d+$|^\d*\.\d+$/g.test(remainingQuota)) {
this.$message.error('剩余金额应该为数字')
return false;
}
const params = {
benefitCode, corpCode, coverageCode, patientId, payorCode, planCode,
remainingQuota,
quotaType: '01' // 额度类型(01:福利额度 02:责任额度 03:计划额度)
}
this.$apis.SETREMAININGQUOTA(params).then(res => {
if(res.returnCode === '0000') {
this.$message.success(res.returnMsg || '保存成功')
this.editRemainingQuota(data, index) // 转换编辑状态
this.benefitData[index].remainingQuota = remainingQuota // 直接赋值, 就不请求数据初始化了
} else {
this.$message.error(res.returnMsg || '保存失败')
}
})
},
_getBenefitData() { _getBenefitData() {
const { corpCode, coverageCode, payorCode, planCode } = this.formData; const { corpCode, coverageCode, payorCode, planCode } = this.formData;
const data = { corpCode, coverageCode, payorCode, planCode }; const data = { corpCode, coverageCode, payorCode, planCode, patientId: this.formData.id };
this.$apis.GETBENEFITLIST(data).then((res) => { this.$apis.GETBENEFITLIST(data).then((res) => {
this.benefitData = res.content || []; this.benefitData = res.content || [];
}); });
...@@ -77,7 +131,7 @@ export default { ...@@ -77,7 +131,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
.benefits { .benefits {
.pa(0, 20, 10, 20); .pa(0, 0, 10, 0);
background-color: #fff; background-color: #fff;
.save-btn { .save-btn {
.mg-t(20); .mg-t(20);
...@@ -88,10 +142,14 @@ export default { ...@@ -88,10 +142,14 @@ export default {
} }
} }
.policy_line { .policy_line {
display: flex;
align-items: center;
.pa(0, 30, 0, 30); .pa(0, 30, 0, 30);
line-height: 60px; min-height: 60px;
// &:not(:last-child) { line-height: 1.5;
border-bottom: 1px solid #f8fafb; border-bottom: 1px solid #f8fafb;
// } .border-r{
border-right: 1px solid #f8fafb;
}
} }
</style> </style>
...@@ -24,13 +24,14 @@ export default { ...@@ -24,13 +24,14 @@ export default {
{ title: "条件类型", dataIndex: "frequencyDesc" }, { title: "条件类型", dataIndex: "frequencyDesc" },
{ title: "条件内容", dataIndex: "limitDesc" }, { title: "条件内容", dataIndex: "limitDesc" },
// { title: "最小值", dataIndex: "minValue" }, // { title: "最小值", dataIndex: "minValue" },
{ title: "福利限制", dataIndex: "maxValue", customRender: (val, row) => { // { title: "福利限制", dataIndex: "maxValue", customRender: (val, row) => {
if (row.limitCode.indexOf('07') === 0) { // if (row.limitCode.indexOf('07') === 0) {
return val + '%' // return val + '%'
} // }
return val // return val
}}, // }},
{ title: "剩余金额", dataIndex: "leftValue" } { title: "剩余金额", dataIndex: "leftValue" },
{ title: "备注", dataIndex: "remark" }
]; ];
return { return {
columns, columns,
......
...@@ -2,12 +2,14 @@ ...@@ -2,12 +2,14 @@
<div> <div>
<!-- 分类 --> <!-- 分类 -->
<div class="classify clearfix"> <div class="classify clearfix">
<a-button @click="specialtyChange('')" :type="!type ? 'primary' : ''"> <div class="classify-btns">
<a-button @click="specialtyChange(null)" :type="!type || !type.length ? 'primary' : ''">
全部 全部
</a-button> </a-button>
<a-button @click="specialtyChange(item.specialtyCode)" :type="item.specialtyCode === type ? 'primary' : ''" v-for="item in welfareType" :key="item.specialtyCode"> <a-button @click="specialtyChange(item.specialtyCode)" :type="type.indexOf(item.specialtyCode) > -1 ? 'primary' : ''" v-for="item in welfareType" :key="item.specialtyCode">
{{ item.specialtyDesc }} {{ item.specialtyDesc }}
</a-button> </a-button>
</div>
<div class="save-btn"> <div class="save-btn">
<!-- <a-button type="primary" @click="addNew"> <!-- <a-button type="primary" @click="addNew">
<Icon name="ssiadd" :size="14" />新增 <Icon name="ssiadd" :size="14" />新增
...@@ -29,7 +31,7 @@ ...@@ -29,7 +31,7 @@
<a-col :span="6">赔付比例:</a-col> <a-col :span="6">赔付比例:</a-col>
</a-row> </a-row>
</div> </div>
<condition :formData="{ ...item, conditionType: '02' }" /> <condition class="conditions" :formData="{ ...item, conditionType: '02' }" />
<benefits :formData="item" /> <benefits :formData="item" />
</a-collapse-panel> </a-collapse-panel>
</a-collapse> </a-collapse>
...@@ -56,7 +58,7 @@ export default { ...@@ -56,7 +58,7 @@ export default {
activeKeys: "", activeKeys: "",
coverageData: [], coverageData: [],
expandedRowKeys: [], expandedRowKeys: [],
type: "", type: [],
welfareType: [], welfareType: [],
pager: { pager: {
pageNum: 1, pageNum: 1,
...@@ -80,7 +82,7 @@ export default { ...@@ -80,7 +82,7 @@ export default {
immediate: true, immediate: true,
deep: true, deep: true,
handler: function () { handler: function () {
this.type = ""; this.type = [];
this._getCoverageList(); this._getCoverageList();
}, },
}, },
...@@ -116,7 +118,12 @@ export default { ...@@ -116,7 +118,12 @@ export default {
this.coverageData.splice(index, 1); this.coverageData.splice(index, 1);
}, },
specialtyChange(code) { specialtyChange(code) {
this.type = code; if (code || code == 0) {
this.type.push(code)
} else {
this.type = [];
}
console.log(code, code || code == 0, this.type)
this._getCoverageList(); this._getCoverageList();
}, },
// 选择框筛选 // 选择框筛选
...@@ -149,7 +156,7 @@ export default { ...@@ -149,7 +156,7 @@ export default {
corpCode, corpCode,
payorCode, payorCode,
planCode, planCode,
specialtyCode: this.type, specialtyCode: this.type ? this.type.join(';') : this.type,
}).then((res) => { }).then((res) => {
this.coverageData = res.content || []; this.coverageData = res.content || [];
}); });
...@@ -178,17 +185,31 @@ export default { ...@@ -178,17 +185,31 @@ export default {
} }
} }
.classify { .classify {
.pa(10, 20, 10, 20); .pa(0, 20, 0, 20);
.mg-t(30); .mg-t(30);
.mg-b(10); .mg-b(10);
display: flex;
align-items: center;
justify-content: space-between;
background-color: #f8fafb; background-color: #f8fafb;
.ant-btn:not(:first-child) { .ant-btn:not(:first-child) {
.mg-l(30); .mg-l(30);
} }
.classify-btns{
.pa(10, 0, 10, 0);
flex: 1;
overflow-x: auto;
white-space: nowrap;
}
.save-btn { .save-btn {
width: 160px;
text-align: center;
float: right; float: right;
} }
} }
.conditions{
.pa(0, 30, 0, 30)
}
.icon-class { .icon-class {
.mg-r(10); .mg-r(10);
} }
......
...@@ -120,6 +120,7 @@ export default { ...@@ -120,6 +120,7 @@ export default {
sex: undefined, sex: undefined,
idNo: undefined, idNo: undefined,
payorId: undefined, payorId: undefined,
cardNo: undefined
}, },
detailForm: {}, detailForm: {},
coverageForm: {}, 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