Commit cae27ef6 authored by yanglilong's avatar yanglilong

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

parents 2bb2d139 2fcb7e00
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<title><%= webpackConfig.name %></title> <title><%= webpackConfig.name %></title>
<script <script
type="text/javascript" type="text/javascript"
src="//at.alicdn.com/t/font_3020450_5d4bvzz8pmi.js" src="//at.alicdn.com/t/font_3020450_tux1s49rh3f.js"
></script> ></script>
</head> </head>
<body> <body>
......
...@@ -11,6 +11,5 @@ export default { ...@@ -11,6 +11,5 @@ export default {
getChargeListDetail:"/backstage/auth/receiptDetailList",//账单明细 getChargeListDetail:"/backstage/auth/receiptDetailList",//账单明细
getReceiptPaymentDetail:"/backstage/auth/receiptPaymentDetail",//账单明细 getReceiptPaymentDetail:"/backstage/auth/receiptPaymentDetail",//账单明细
queryCiReceipSendList:"/backstage/auth/queryCiReceipSendList",//理赔件账单寄送查询 queryCiReceipSendList:"/backstage/auth/queryCiReceipSendList",//理赔件账单寄送查询
receiptSettlement:"/backstage/auth/receiptSettlement",//账单结算
}; };
...@@ -45,6 +45,10 @@ const GETRECEIPTPAYMENTDETAIL= function (data) { ...@@ -45,6 +45,10 @@ const GETRECEIPTPAYMENTDETAIL= function (data) {
const QUERYCIRECEIPSENDLIST= function (data) { const QUERYCIRECEIPSENDLIST= function (data) {
return req.post(apis.queryCiReceipSendList, data); return req.post(apis.queryCiReceipSendList, data);
}; };
// 账单结算
const RECEIPTSETTLEMENT= function (data) {
return req.post(apis.receiptSettlement, data);
};
// 对象数组 // 对象数组
...@@ -60,6 +64,6 @@ export default { ...@@ -60,6 +64,6 @@ export default {
GETCHARGELISTDETAIL, GETCHARGELISTDETAIL,
GETRECEIPTPAYMENTDETAIL, GETRECEIPTPAYMENTDETAIL,
QUERYCIRECEIPSENDLIST, QUERYCIRECEIPSENDLIST,
RECEIPTSETTLEMENT,
}; };
...@@ -86,7 +86,7 @@ export default [ ...@@ -86,7 +86,7 @@ export default [
{ {
path: "/info/company", path: "/info/company",
title: "保险公司信息", title: "保险公司信息",
}, }
], ],
}, },
{ {
......
...@@ -77,34 +77,15 @@ ...@@ -77,34 +77,15 @@
{{ index + 1 }} {{ index + 1 }}
</template> </template>
<template slot="operation" slot-scope="record"> <template slot="operation" slot-scope="record">
<a-button type="link" @click.stop="editEvt(record)">修改</a-button> <a-button type="link" @click.stop="receiptEvt(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-popconfirm title="你确定要关闭吗?" ok-text="确定" cancel-text="取消" @confirm="deleteData" > <!-- <a-popconfirm title="你确定要关闭吗?" ok-text="确定" cancel-text="取消" @confirm="deleteData" >
<a-button type="link" class="danger">删除</a-button> <a-button type="link" class="danger">删除</a-button>
</a-popconfirm> </a-popconfirm> -->
</template> </template>
</a-table> </a-table>
<!--分页--> <!--分页-->
<BurtPagination :pagination="pagination" @pageChange="_getChargeList" /> <BurtPagination :pagination="pagination" @pageChange="_getChargeList" />
<a-modal title="编辑" :visible="dialogShow" width="700px" :maskClosable="false"
okText="确定" cancelText="取消"
@ok="handleEditOK" @cancel="dialogShow = false">
<a-form-model ref="editForm" :model="editFormObj" :rules="editRules">
<a-row :gutter="30">
<a-col :lg="12" :xs="24">
<a-form-model-item label="病历号" prop="patientNo">
<a-input v-model.trim="editFormObj.patientNo" placeholder="病历号" />
</a-form-model-item>
</a-col>
<a-col :lg="12" :xs="24">
<a-form-model-item label="客户姓名" prop="patientName">
<a-input v-model.trim="editFormObj.patientName" placeholder="客户姓名" />
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</div> </div>
</template> </template>
...@@ -133,10 +114,9 @@ export default { ...@@ -133,10 +114,9 @@ export default {
{ title: "保险欠费", dataIndex: "insuranceArrearsAmount", width: 180 }, { title: "保险欠费", dataIndex: "insuranceArrearsAmount", width: 180 },
{ title: "个人欠费", dataIndex: "personalArrearsAmount", width: 180 }, { title: "个人欠费", dataIndex: "personalArrearsAmount", width: 180 },
{ title: "发票号码", dataIndex: "receiptNo", width: 180 }, { title: "发票号码", dataIndex: "receiptNo", width: 180 },
{ title: "操作", key: "operation", width: "175px",fixed: "right",scopedSlots: { customRender: "operation" }}, { title: "操作", key: "operation", width: "175px",fixed: "right",scopedSlots: { customRender: "operation" }, align: "center"},
]; ];
return { return {
dialogShow: false,
columns, columns,
form: {}, form: {},
pageForm: { pageForm: {
...@@ -168,15 +148,6 @@ export default { ...@@ -168,15 +148,6 @@ export default {
pageSize: 10, pageSize: 10,
total: 0, total: 0,
}, },
editFormObj: {
id: "",
patientNo: '',
patientName: '',
},
editRules: {
patientNo: [{ required: true, message: "病历号", trigger: "blur" }],
patientName: [{ required: true, message: "客户姓名", trigger: "blur" }],
},
}; };
}, },
components: { components: {
...@@ -219,7 +190,6 @@ export default { ...@@ -219,7 +190,6 @@ export default {
}else{ }else{
this.$message.success(res.returnMsg); this.$message.success(res.returnMsg);
} }
}); });
}, },
// 选中就诊时间 // 选中就诊时间
...@@ -238,30 +208,25 @@ export default { ...@@ -238,30 +208,25 @@ export default {
query: { receiptNo }, query: { receiptNo },
}); });
}, },
editEvt(record) { //账单结算
this.editFormObj = { receiptEvt(record){
id: record.id || "", this.$modal.confirm({
patientNo: record.patientNo || "", title: "结算",
patientName: record.patientName || "", content: "确定结算该账单?",
}; okText: "确定",
this.dialogShow = true; cancelText: "取消",
}, onOk: () => {
//编辑保存 this.$apis.RECEIPTSETTLEMENT({
handleEditOK() { id: record.id
this.$refs.editForm.validate((valid) => { }).then((res) => {
if (valid) { if (res.returnCode === "0000") {
//下面接口没有给到 this.$message.success('结算成功');
this.$apis.DOCTORUPDATE(this.editFormObj) this._getChargeList();
.then((res) => { }else{
if (res.returnCode == "0000") { this.$message.error(res.returnMsg);
this.$message.success("编辑成功"); }
this.dialogShow = false; });
this._getChargeList(); },
} else {
this.$message.error(res.returnMsg);
}
});
}
}); });
}, },
handlerSearch() { handlerSearch() {
...@@ -274,9 +239,6 @@ export default { ...@@ -274,9 +239,6 @@ export default {
this._getChargeList(); this._getChargeList();
}); });
}, },
deleteData() {
this.$message.success("删除成功");
},
// 新建账单信息 // 新建账单信息
addNewCharge() { addNewCharge() {
// this.$router.push("/customer/edit"); // this.$router.push("/customer/edit");
......
...@@ -134,22 +134,9 @@ export default { ...@@ -134,22 +134,9 @@ export default {
}, },
//新增保险公司 //新增保险公司
addCompany(){ addCompany(){
this.$apis.CREATEPAY({ this.$router.push({
...this.detailObj path: '/info/companyDetail'
}) })
.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) { editEvt(record) {
......
...@@ -16,6 +16,8 @@ export default { ...@@ -16,6 +16,8 @@ export default {
id: '', //公司id id: '', //公司id
detailObj: { //公司详情 detailObj: { //公司详情
discountList: [], //折扣列表 discountList: [], //折扣列表
claimApplicationTemplate: [],
authApplicationTemplate: []
} }
} }
}, },
...@@ -25,7 +27,9 @@ export default { ...@@ -25,7 +27,9 @@ export default {
}, },
created(){ created(){
this.id = this.$route.query.id; this.id = this.$route.query.id;
this.getDetail(); if(this.id){
this.getDetail();
}
}, },
methods: { methods: {
//获取详细信息 //获取详细信息
...@@ -35,7 +39,32 @@ export default { ...@@ -35,7 +39,32 @@ export default {
}) })
.then((res) => { .then((res) => {
if (res.returnCode == "0000") { if (res.returnCode == "0000") {
this.detailObj = res.content || {}; let data = res.content || {};
if(data.claimApplicationTemplate){
data.claimApplicationTemplate = [
{
uid: Math.random()*10000,
name: data.claimApplicationTemplate.slice(data.claimApplicationTemplate.lastIndexOf('/')+1),
status: 'done',
url: data.claimApplicationTemplate,
}
]
}else{
data.claimApplicationTemplate = [];
}
if(data.authApplicationTemplate){
data.authApplicationTemplate = [
{
uid: Math.random()*10000,
name: data.authApplicationTemplate.slice(data.authApplicationTemplate.lastIndexOf('/')+1),
status: 'done',
url: data.authApplicationTemplate,
}
]
}else{
data.authApplicationTemplate = [];
}
this.detailObj = data;
} else { } else {
this.$message.error(res.returnMsg); this.$message.error(res.returnMsg);
} }
......
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
<div class="flex btns-div"> <div class="flex btns-div">
<div class="title-div">折扣信息</div> <div class="title-div">折扣信息</div>
<div class="flex btns"> <div class="flex btns">
<a-button type="primary" icon="plus" @click.stop="editEvt({})">新增</a-button> <a-button type="primary" icon="plus" @click.stop="editEvt({})">新增折扣信息</a-button>
<a-button type="primary">医科理赔申请书模版</a-button> <!-- <a-button type="primary">医科理赔申请书模版</a-button>
<a-button type="primary">齿科理赔申请书模版</a-button> <a-button type="primary">齿科理赔申请书模版</a-button>
<a-button type="primary">预授权申请书模版</a-button> <a-button type="primary">预授权申请书模版</a-button> -->
</div> </div>
</div> </div>
<a-table :columns="columns" :data-source="tableList" :scroll="{ x: 'max-content' }" :pagination="false" > <a-table :columns="columns" :data-source="tableList" :scroll="{ x: 'max-content' }" :pagination="false" >
......
...@@ -12,9 +12,14 @@ ...@@ -12,9 +12,14 @@
<a-input v-model="detailObj.englishName" placeholder="保险公司英文名称" /> <a-input v-model="detailObj.englishName" placeholder="保险公司英文名称" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="保险公司Code">
<a-input v-model="detailObj.payorCode" placeholder="保险公司Code" />
</a-form-model-item>
</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-select v-model="detailObj.country" placeholder="请选择"> <a-select v-model="detailObj.country" placeholder="请选择" showSearch>
<a-select-option v-for="(item) in countyList" :value="item.descCh" :key="item.id">{{item.descCh}}</a-select-option> <a-select-option v-for="(item) in countyList" :value="item.descCh" :key="item.id">{{item.descCh}}</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
...@@ -108,12 +113,32 @@ ...@@ -108,12 +113,32 @@
<a-input type="password" v-model="detailObj.loginPwd" placeholder="密码" /> <a-input 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-upload name="file" :multiple="false" accept="application/pdf" :showUploadList="true"
:fileList="detailObj.claimApplicationTemplate"
:customRequest="file => uploadPdf(file, 1)"
:remove="(file)=> removeFile(file, 1)">
<a-button type="primary"> <Icon name="ssiupload" :size="18" />上传模板 </a-button>
</a-upload>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="预授权申请书模板">
<a-upload name="file" :multiple="false" accept="application/pdf" :showUploadList="true"
:fileList="detailObj.authApplicationTemplate"
:customRequest="file => uploadPdf(file, 2)"
:remove="(file)=> removeFile(file, 2)">
<a-button type="primary"> <Icon name="ssiupload" :size="18" />上传模板 </a-button>
</a-upload>
</a-form-model-item>
</a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :sm="24" class="none-label"> <a-col :sm="24" class="none-label">
<a-form-model-item label="button"> <a-form-model-item label="button">
<a-button type="primary" @click="handlerSava"> <a-button type="primary" @click="handlerSava">
<Icon name="ssibaocun" :size="14" />保存 <Icon :name="detailObj.id?'ssibaocun':'ssiadd'" :size="14" />{{detailObj.id?'保存':'新建'}}
</a-button> </a-button>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
...@@ -125,7 +150,10 @@ ...@@ -125,7 +150,10 @@
<script> <script>
export default { export default {
props: { props: {
detailObj: {} detailObj: {
claimApplicationTemplate: [],
authApplicationTemplate: []
}
}, },
data() { data() {
return { return {
...@@ -136,6 +164,20 @@ export default { ...@@ -136,6 +164,20 @@ export default {
this.getRefcdByRefgrp(); this.getRefcdByRefgrp();
}, },
methods: { methods: {
comfileList1(){
if(this.detailObj.claimApplicationTemplate){
return [
{
uid: Math.random()*10000,
name: this.detailObj.claimApplicationTemplate.slice(this.detailObj.claimApplicationTemplate.lastIndexOf('/')+1),
status: 'done',
url: this.detailObj.claimApplicationTemplate,
}
]
}else{
return [];
}
},
// 获取国家列表 // 获取国家列表
getRefcdByRefgrp() { getRefcdByRefgrp() {
this.$apis.GETREFCDBYREFGRP({ this.$apis.GETREFCDBYREFGRP({
...@@ -147,16 +189,60 @@ export default { ...@@ -147,16 +189,60 @@ export default {
}, },
//新建保存 //新建保存
handlerSava(){ handlerSava(){
this.$apis.PAYORUPDATE({ let formData = {
...this.detailObj ...this.detailObj,
}) claimApplicationTemplate: this.detailObj.claimApplicationTemplate.length>0? this.detailObj.claimApplicationTemplate[0].url: '',
authApplicationTemplate: this.detailObj.authApplicationTemplate.length>0? this.detailObj.authApplicationTemplate[0].url: '',
}
let api = this.detailObj.id? 'PAYORUPDATE': 'CREATEPAY';
this.$apis[api](formData)
.then((res) => { .then((res) => {
if (res.returnCode == "0000") { if (res.returnCode == "0000") {
this.$message.success("保存成功"); this.$message.success("保存成功");
this.$router.replace({
path: '/info/companyDetail',
query: {
id: res.content
}
})
} else { } else {
this.$message.error(res.returnMsg); this.$message.error(res.returnMsg);
} }
}); });
},
removeFile(file,type=1){
return new Promise((resolve)=>{
if(type==1){
this.detailObj.claimApplicationTemplate = [];
}else{
this.detailObj.authApplicationTemplate = [];
}
resolve();
});
},
//上传pdf
uploadPdf(fileData, type=1){
let formData = new FormData();
formData.append("file", fileData.file);
this.$apis.UPLOADIMG(formData)
.then((res)=>{
fileData.onSuccess();
let fileList = [
{
uid: Math.random()*10000,
name: res.title,
status: 'done',
url: res.url,
}
]
if(type==1){
this.detailObj.claimApplicationTemplate = fileList;
}else{
this.detailObj.authApplicationTemplate = fileList;
}
this.$forceUpdate();
})
} }
}, },
}; };
......
...@@ -127,6 +127,13 @@ ...@@ -127,6 +127,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="language">
<a-select v-model="editFormObj.language" placeholder="请选择" showSearch allowClear>
<a-select-option v-for="(item) in languageList" :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-col :lg="12" :sm="24">
<a-form-model-item label="科室" prop="specialtyList"> <a-form-model-item label="科室" prop="specialtyList">
<a-select v-model="editFormObj.specialtyList" placeholder="请选择" mode="multiple" showSearch allowClear> <a-select v-model="editFormObj.specialtyList" placeholder="请选择" mode="multiple" showSearch allowClear>
...@@ -167,10 +174,12 @@ export default { ...@@ -167,10 +174,12 @@ export default {
specialtyList: [], //科室列表 specialtyList: [], //科室列表
specialtyObj: {}, //科室对象 specialtyObj: {}, //科室对象
countyList: [], countyList: [],
languageList: [],
editFormObj: { editFormObj: {
id: "", id: "",
doctorDescLang1: '', doctorDescLang1: '',
country: '', country: '',
language: '',
specialtyList: [], specialtyList: [],
}, },
editRules: { editRules: {
...@@ -200,14 +209,21 @@ export default { ...@@ -200,14 +209,21 @@ export default {
this.pagination.pageNum = 1; this.pagination.pageNum = 1;
this.getData(); this.getData();
}, },
// 获取国家列表
getRefcdByRefgrp() { getRefcdByRefgrp() {
// 获取国家列表
this.$apis.GETREFCDBYREFGRP({ this.$apis.GETREFCDBYREFGRP({
modid: "CI", modid: "CI",
refgrp: "COUNTRY_MAPPING" refgrp: "COUNTRY_MAPPING"
}).then((res) => { }).then((res) => {
this.countyList = res.content || []; this.countyList = res.content || [];
}); });
// 获取语言列表
this.$apis.GETREFCDBYREFGRP({
modid: "CI",
refgrp: "LANGUAGE_TYPE"
}).then((res) => {
this.languageList = res.content || [];
});
}, },
//获取科室 //获取科室
getSpecialtyList() { getSpecialtyList() {
...@@ -280,6 +296,7 @@ export default { ...@@ -280,6 +296,7 @@ export default {
id: record.id || "", id: record.id || "",
doctorDescLang1: record.doctorDescLang1 || "", doctorDescLang1: record.doctorDescLang1 || "",
country: record.country || "", country: record.country || "",
language: record.language || "",
specialtyList: record.specialtyList || [], specialtyList: record.specialtyList || [],
}; };
this.dialogShow = true; this.dialogShow = true;
......
...@@ -2,15 +2,18 @@ ...@@ -2,15 +2,18 @@
<div class="header-container"> <div class="header-container">
<div class="logo">{{title}}</div> <div class="logo">{{title}}</div>
<div class="user-info"> <div class="user-info">
<p class="name"><Icon :name="'ssicb'" :size="24" />{{ userInfo.name }}</p> <p class="flex name">
<Icon :name="'ssicb'" :size="24" />
{{ userInfo.name }}
</p>
<a-dropdown <a-dropdown
class="avator" class="flex avator"
:getPopupContainer="getPopupContainer" :getPopupContainer="getPopupContainer"
placement="bottomRight" placement="bottomRight"
> >
<div @click="(e) => e.preventDefault()"> <div @click="(e) => e.preventDefault()">
<img v-if="userInfo.avator" :src="userInfo.avator" alt="avator" /> <img v-if="userInfo.avator" :src="userInfo.avator" alt="avator" />
<Icon v-else :name="'ssiuser'" :size="36" /> <Icon v-else :name="'ssiuser'" :size="24" />
</div> </div>
<a-menu slot="overlay"> <a-menu slot="overlay">
<a-menu-item key="1" @click="loginOut"> 退出登录 </a-menu-item> <a-menu-item key="1" @click="loginOut"> 退出登录 </a-menu-item>
...@@ -52,6 +55,10 @@ export default { ...@@ -52,6 +55,10 @@ export default {
</script> </script>
<style lang="less"> <style lang="less">
.flex{
display: flex;
align-items: center;
}
.header-container { .header-container {
position: fixed; position: fixed;
width: 100%; width: 100%;
......
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