Commit 8e2f690b authored by 吴婷慧's avatar 吴婷慧

解决冲突

parents fe3903a0 17bc53ce
......@@ -8,4 +8,5 @@ export default {
specialtyList: "/backstage/auth/specialtyList",
coverageCode: "/backstage/auth/coverageMasterList",
getRefcdByRefgrp: "/common/getRefcdByRefgrp", // 公共获取码表接口
checkUserEmail: "/backstage/user/checkUserEmail", // 校验用户邮箱
};
......@@ -19,4 +19,10 @@ export default {
payorAddDiscount: "/backstage/auth/payorAddDiscount", //新增折扣信息
payorAddDiscountBenefit: "/backstage/auth/payorAddDiscountBenefit", //编辑折扣信息
payorDiscountDelete: "/backstage/auth/payorDiscountDelete", //删除折扣信息
/*-------------科室信息-----------------*/
specialtyCreate: "/backstage/auth/specialtyCreate", //新增科室
specialtyUpdate: "/backstage/auth/specialtyUpdate", //修改科室
specialtyListPage: "/backstage/auth/specialtyListPage", //科室列表
specialtyDelete: "/backstage/auth/specialtyDelete", //科室删除
};
......@@ -46,6 +46,11 @@ const GETREFCDBYREFGRP = (data) => {
return req.post(apis.getRefcdByRefgrp, data);
};
// 校验用户邮箱
const CHECKUSEREMAIL = (data) => {
return req.post(`${apis.checkUserEmail}?userName=${data.userName}`);
};
// 对象数组
export default {
GETUSERINFO,
......@@ -56,4 +61,5 @@ export default {
UPLOADIMG,
GETCOVERAGECODE,
GETREFCDBYREFGRP,
CHECKUSEREMAIL,
};
......@@ -72,6 +72,24 @@ const PAYORDISCOUNTDELETE = (data) => {
return req.post(apis.payorDiscountDelete, data);
};
/*-------------科室信息-----------------*/
//创建科室
const SPECIALTYCREATE = (data) => {
return req.post(apis.specialtyCreate, data);
};
//修改科室
const SPECIALTYUPDATE = (data) => {
return req.post(apis.specialtyUpdate, data);
};
//科室列表
const SPECIALTYLISTPAGE = (data) => {
return req.post(apis.specialtyListPage, data);
};
//科室删除
const SPECIALTYDELETE = (data) => {
return req.post(apis.specialtyDelete, data);
};
// 对象数组
export default {
PROVIDERDETAIL,
......@@ -87,5 +105,9 @@ export default {
PAYORDELETE,
PAYORADDDISCOUNT,
PAYORADDDISCOUNTBENEFIT,
PAYORDISCOUNTDELETE
PAYORDISCOUNTDELETE,
SPECIALTYCREATE,
SPECIALTYUPDATE,
SPECIALTYLISTPAGE,
SPECIALTYDELETE
};
......@@ -10,7 +10,7 @@ const service = axios.create({
return status >= 200 && status <= 504; // 合法状态码
},
baseURL: process.env.VUE_APP_API, // 基础请求路径
timeout: 10000, // 请求超时
timeout: 60000, // 请求超时
});
// 重复尝试此时
service.defaults.retry = 3;
......
......@@ -21,6 +21,7 @@ import {
modal,
Spin,
Collapse,
Tabs
} from "ant-design-vue";
export default () => {
......@@ -46,6 +47,7 @@ export default () => {
modal,
Spin,
Collapse,
Tabs
];
// 注册
els.forEach((item) => {
......
import bus from "../utils/bus";
import {sexOptions} from '@/utils/utilsdictOptions.js'
import {sexOptions, SendStatusOptions, ClaimsStatusOptions} from '@/utils/utilsdictOptions.js'
// 全局混入将会影响每个单文件组件,请慎重思考是否要混入
export default {
......@@ -9,6 +9,7 @@ export default {
};
},
filters: {
//过滤性别
formatSex(val){
if (!val) {
return;
......@@ -18,5 +19,25 @@ export default {
});
return item? item.name: "";
},
//过滤寄送状态
formatSendStatus(val){
if (!val) {
return;
}
const item = SendStatusOptions.find((item) => {
return item.value == val;
});
return item? item.name: "";
},
//过滤理赔状态
formatClaimsStatus(val){
if (!val) {
return;
}
const item = ClaimsStatusOptions.find((item) => {
return item.value == val;
});
return item? item.name: "";
},
}
};
......@@ -8,9 +8,27 @@ const sexOptions = [{
value: 'F'
}];
//寄送状态
const SendStatusOptions = [
{ name: '未寄送', value: '1'},
{ name: '寄送', value: '2'},
{ name: '待寄送', value: '3'},
];
//理赔状态
const ClaimsStatusOptions = [
{ name: '赔付', value: '01'},
{ name: '部分赔付', value: '02'},
{ name: '拒赔', value: '03'},
{ name: '补充材料', value: '04'},
];
module.exports = {
sexOptions,
SendStatusOptions,
ClaimsStatusOptions,
}
\ No newline at end of file
......@@ -111,15 +111,11 @@ export default {
});
},
handlerNext() {
this.$refs.form.validateField(
["userName", "verificationCode"],
(valid) => {
this.$refs.form.validate((valid) => {
if (valid) {
return false;
}
this.activeStep = "2";
}
);
});
},
handlerReset() {
this.$refs.form.validate((valid) => {
......@@ -130,7 +126,31 @@ export default {
this._reset({ userName, verificationCode, newPwd });
});
},
_getVerifyEmail(data) {
//校验用户邮箱
checkUserEmail(data){
return new Promise((resolve,reject)=>{
this.$apis.CHECKUSEREMAIL({
userName: data.userName
})
.then((res)=>{
if (res.returnCode === "0000") {
resolve(res.content);
}else{
this.$message.error(res.returnMsg);
reject();
}
})
});
},
async _getVerifyEmail(data) {
let email = await this.checkUserEmail(data);
if(email){
this.$modal.confirm({
title: "发送到邮箱",
content: `确认发送至邮箱${email}?`,
okText: "确认",
cancelText: "取消",
onOk: () => {
this.$apis.GETVERIFYEMAIL(data).then((res) => {
if (res.returnCode === "0000") {
this.$message.success(res.returnMsg || "发送成功");
......@@ -139,6 +159,10 @@ export default {
}
});
},
onCancel: () => {},
});
}
},
_reset(data) {
this.$apis.RESETPASSWORD(data).then((res) => {
if (res.returnCode === "0000") {
......@@ -175,11 +199,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);
}
}
......
......@@ -50,6 +50,9 @@
:pagination="false"
:customRow="handlerRowClick"
>
<template slot="sex" slot-scope="text">
<span>{{text | formatSex}}</span>
</template>
<template slot="operation" slot-scope="record">
<a-button type="link" @click.stop="changeDataStatus(record)">修改</a-button>
<a-button type="link" @click.stop="printClaimPdf(record)">打印理赔申请书</a-button>
......@@ -69,7 +72,7 @@
import BurtPagination from "@/components/CUSTOMER/pagation";
import {downloadFile} from '@/utils/index'
import moment from 'moment'
import mixins from "@/mixins";
export default {
data() {
const dateFormat = (val) => {
......@@ -79,18 +82,10 @@ export default {
{ title: "病历号", dataIndex: "mrnNo", width: 180, },
{ title: "客户姓名", dataIndex: "patientName", width: 120,},
{ title: "出生日期", dataIndex: "birthday", width: 170, customRender: dateFormat},
{ title: "性别", dataIndex: "sex", width: 80, customRender: (val) => {
if (val === 'M') {
return ''
}
if (val === 'F') {
return ''
}
return val
} },
{ title: "性别", dataIndex: "sex", width: 80, scopedSlots: { customRender: "sex" } },
{ title: "保险公司", dataIndex: "payorName", width: 180 },
{ title: "保单号码", dataIndex: "policyNo", width: 190 },
{ title: "生效日期", dataIndex: "startDate", width: 170, customRender: dateFormat },
{ title: "生效日期", dataIndex: "startDate", width: 170, customRender: dateFormat },
{ title: "保险终止日期", dataIndex: "endDate", width: 170, customRender: dateFormat },
{ title: "操作", key: "operation", width: "260px", fixed: "right", scopedSlots: { customRender: "operation" }},
];
......@@ -107,6 +102,7 @@ export default {
},
};
},
mixins: [mixins],
components: {
BurtPagination,
},
......
<template>
<div class="info-div">
<Goback title="保险公司详情" />
<a-form-model ref="form" layout="vertical">
<a-form-model ref="form" layout="vertical" :model="detailObj" :rules="formRules">
<a-row :gutter="30">
<a-col :lg="6" :sm="12">
<a-form-model-item label="保险公司名称">
<a-form-model-item label="保险公司名称" prop="longName">
<a-input v-model="detailObj.longName" placeholder="保险公司名称" />
</a-form-model-item>
</a-col>
......@@ -13,11 +13,6 @@
<a-input v-model="detailObj.englishName" placeholder="保险公司英文名称" />
</a-form-model-item>
</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-form-model-item label="国家">
<a-select v-model="detailObj.country" placeholder="请选择" showSearch>
......@@ -28,7 +23,7 @@
</a-row>
<a-row :gutter="30">
<a-col :lg="3" :sm="12">
<a-form-model-item label="有效">
<a-form-model-item label="有效" prop="status">
<a-select v-model="detailObj.status" placeholder="请选择">
<a-select-option value="1">有效</a-select-option>
<a-select-option value="2">无效</a-select-option>
......@@ -50,7 +45,7 @@
</a-row>
</a-col>
<a-col :lg="10" :sm="12">
<a-form-model-item label="保险公司地址">
<a-form-model-item label="保险公司地址" prop="address">
<a-input v-model="detailObj.address" placeholder="保险公司地址" />
</a-form-model-item>
</a-col>
......@@ -65,12 +60,12 @@
</a-form-model-item>
</a-col>
<a-col :lg="4" :sm="12">
<a-form-model-item label="保险公司联系电话">
<a-form-model-item label="保险公司联系电话" prop="contactPhone">
<a-input v-model="detailObj.contactPhone" placeholder="保险公司联系电话"/>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="客服电话">
<a-form-model-item label="客服电话" prop="customerTel">
<a-input v-model="detailObj.customerTel" placeholder="客服电话" />
</a-form-model-item>
</a-col>
......@@ -80,7 +75,7 @@
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12">
<a-form-model-item label="保险公司邮件地址">
<a-form-model-item label="保险公司邮件地址" prop="email">
<a-input v-model="detailObj.email" placeholder="保险公司邮件地址" />
</a-form-model-item>
</a-col>
......@@ -150,6 +145,7 @@
<script>
import Goback from "@/components/CUSTOMER/goback";
import moment from "moment";
export default {
props: {
detailObj: {
......@@ -160,6 +156,14 @@ export default {
data() {
return {
countyList: [],
formRules: {
longName: [{ required: true, message: "请输入保险公司名称", trigger: "blur" }],
status: [{ required: true, message: "请选择是否有效", trigger: "change" }],
address: [{ required: true, message: "请输入保险公司地址", trigger: "blur" }],
contactPhone: [{ required: true, message: "请输入保险公司联系电话", trigger: "blur" }],
customerTel: [{ required: true, message: "请输入客服电话", trigger: "blur" }],
email: [{ required: true, message: "请输入保险公司邮件地址", trigger: "blur" }],
},
}
},
components: {
......@@ -194,8 +198,12 @@ export default {
},
//新建保存
handlerSava(){
this.$refs.form.validate((valid) => {
if (valid) {
let formData = {
...this.detailObj,
startDate: this.detailObj.startDate?moment(this.detailObj.startDate).format('YYYY-MM-DD HH:mm:ss'):'',
endDate: this.detailObj.endDate?moment(this.detailObj.endDate).format('YYYY-MM-DD HH:mm:ss'):'',
claimApplicationTemplate: this.detailObj.claimApplicationTemplate.length>0? this.detailObj.claimApplicationTemplate[0].url: '',
authApplicationTemplate: this.detailObj.authApplicationTemplate.length>0? this.detailObj.authApplicationTemplate[0].url: '',
}
......@@ -216,6 +224,8 @@ export default {
this.$message.error(res.returnMsg);
}
});
}
});
},
removeFile(file,type=1){
return new Promise((resolve)=>{
......
<template>
<div class="info-doctor">
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: 'max-content' }" :pagination="false">
<template slot="specialtyList" slot-scope="text, record">
<span>{{ filterSpecialty(record.specialtyList) }}</span>
</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="getDoctorList" />
<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">
<a-row :gutter="30">
<a-col :lg="12" :sm="24">
<a-form-model-item label="工号" prop="doctorCode">
<a-input type="number" :min="0" v-model.trim="editFormObj.doctorCode" placeholder="工号" />
</a-form-model-item>
</a-col>
<a-col :lg="12" :sm="24">
<a-form-model-item label="医生姓名" prop="doctorDesc">
<a-input v-model.trim="editFormObj.doctorDesc" placeholder="医生姓名" />
</a-form-model-item>
</a-col>
<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="language">
<a-select v-model="editFormObj.language" placeholder="请选择" mode="multiple" 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-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>
</template>
<script>
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{
props: {
detailObj: {
default: {}
}
},
data(){
return {
dialogShow: false,
columns,
dataList: [],
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
specialtyList: [], //科室列表
specialtyObj: {}, //科室对象
countyList: [],
languageList: [],
editFormObj: {
id: "",
doctorCode: '',
doctorDesc: '',
doctorDescLang1: '',
country: '',
language: [],
specialtyList: [],
},
editRules: {
specialtyList: [
{ required: true, message: "请选择", trigger: "change" },
],
},
}
},
components: {
BurtPagination,
},
async created() {
this.getSpecialtyList();
this.getDoctorList();
this.getRefcdByRefgrp();
},
methods: {
filterSpecialty(val) {
let txt = (val || []).map((item) => {
return this.specialtyObj[item] || "";
});
return txt.join(",");
},
//获取科室
getSpecialtyList() {
this.$apis.GETSPECIALTYLIST().then((res) => {
if (res.returnCode == "0000") {
this.specialtyList = res.content || [];
(res.content || []).forEach((item) => {
this.specialtyObj[item.id] = item.specialtyDesc;
});
} else {
this.$message.error(res.returnMsg);
}
});
},
getRefcdByRefgrp() {
// 获取国家列表
this.$apis.GETREFCDBYREFGRP({
modid: "CI",
refgrp: "COUNTRY_MAPPING"
}).then((res) => {
this.countyList = res.content || [];
});
// 获取语言列表
this.$apis.GETREFCDBYREFGRP({
modid: "CI",
refgrp: "LANGUAGE_TYPE"
}).then((res) => {
this.languageList = res.content || [];
});
},
//获取医生列表
getDoctorList() {
this.$apis
.DOCTORLIST({
providerId: this.detailObj.id,
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 || []).map((item) => {
let specialtyList = (item.specialtyList || []).map(
(innerItem) => {
return innerItem.specialtyId;
}
);
return {
...item,
specialtyList: specialtyList || [],
};
});
} else {
this.$message.error(res.returnMsg);
}
});
},
editEvt(record) {
this.editFormObj = {
id: record.id || "",
doctorCode: record.doctorCode || "",
doctorDesc: record.doctorDesc || "",
doctorDescLang1: record.doctorDescLang1 || "",
country: record.country || "",
language: record.language? record.language.split(','): [],
specialtyList: record.specialtyList || [],
};
this.dialogShow = true;
},
//编辑保存
handleEditOK() {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$apis
.DOCTORUPDATE({
...this.editFormObj,
language: this.editFormObj.language.join(','),
specialtyList: this.editFormObj.specialtyList.map((item) => {
return {
specialtyId: item,
};
}),
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("编辑成功");
this.dialogShow = false;
this.getDoctorList();
} else {
this.$message.error(res.returnMsg);
}
});
}
});
},
//删除医生
delRecord(index) {
this.$modal.confirm({
title: "删除",
content: "确定删除该条记录?",
okText: "确定",
cancelText: "取消",
onOk: () => {
this.$apis
.DOCTORDELETE({
id: this.dataList[index].id,
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("删除成功");
this.dataList.splice(index, 1);
} else {
this.$message.error(res.returnMsg);
}
});
},
});
},
}
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
<template>
<div class="info-special">
<div class="btn-div">
<a-button type="primary" @click="addNewEvt({})">
<Icon name="ssiadd" :size="14" />新建科室
</a-button>
</div>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: 'max-content' }" :pagination="false">
<template slot="coverageMasterList" slot-scope="text">
<span>{{ filterCoverage(text) }}</span>
</template>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click.stop="addNewEvt(record)">修改</a-button>
<a-button type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
</template>
</a-table>
<!--分页-->
<BurtPagination :pagination="pagination" />
<a-modal :title="editFormObj.id?'编辑':'新建'" :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="specialtyDesc">
<a-input v-model.trim="editFormObj.specialtyDesc" placeholder="科室名称" />
</a-form-model-item>
</a-col>
<a-col :lg="12" :sm="24">
<a-form-model-item label="责任列表" prop="coverageCode">
<a-select v-model="editFormObj.coverageCode" placeholder="请选择责任" search allowClear mode="multiple">
<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-row>
</a-form-model>
</a-modal>
</div>
</template>
<script>
import BurtPagination from "@/components/CUSTOMER/pagation";
const columns = [
{ title: "序号", dataIndex: "id", ellipsis: true, width: 150 },
{ title: "科室名称", dataIndex: "specialtyDesc", ellipsis: true, width: 150 },
{ title: "科室编号", dataIndex: "specialtyCode", ellipsis: true, width: 150 },
{ title: "责任", dataIndex: "coverageMasterList", ellipsis: true, scopedSlots: { customRender: "coverageMasterList" }, width: 155,},
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, fixed: "right", width: "200px", align: "center", },
];
export default{
data(){
return {
dialogShow: false,
columns,
dataList: [],
pagination: {
pageNum: 1,
pageSize: 10,
total: 0,
},
coverageCode: [], //责任列表
editFormObj: {
id: '',
specialtyDesc: '',
coverageCode: []
},
editRules: {
specialtyDesc: [{ required: true, message: "请输入科室名称", trigger: "blur" }, ]
}
}
},
components: {
BurtPagination
},
created(){
this.getData()
this.getCoverageCode();
},
methods: {
filterCoverage(val) {
let txt = (val || []).map((item) => {
return item.coverageDesc || "";
});
return txt.join("");
},
getData(){
this.$apis.SPECIALTYLISTPAGE({
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 || []).map((item) => {
let coverageCode = (item.coverageMasterList || []).map(item => item.coverageCode);
return {
...item,
coverageCode
};
});
console.log(this.dataList, 111)
} else {
this.$message.error(res.returnMsg);
}
});
},
//获取责任列表
getCoverageCode() {
this.$apis.GETCOVERAGECODE().then((res) => {
this.coverageCode = res.content || [];
});
},
addNewEvt(record){
this.dialogShow = true;
this.$nextTick(()=>{
this.$refs.editForm.resetFields();
this.editFormObj = {
id: record.id || "",
specialtyDesc: record.specialtyDesc || "",
coverageCode: record.coverageCode || [],
};
})
},
//新建/编辑
handleEditOK() {
this.$refs.editForm.validate((valid) => {
if (valid) {
let api = this.editFormObj.id? 'SPECIALTYUPDATE': 'SPECIALTYCREATE';
this.$apis[api]({
...this.editFormObj,
coverageMasterList: this.editFormObj.coverageCode.map(item => {
return {
coverageCode: item
}
})
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success(this.editFormObj.id?"编辑成功":'新建成功');
this.dialogShow = false;
this.getData();
} else {
this.$message.error(res.returnMsg);
}
});
}
});
},
//删除科室
delRecord(index) {
this.$modal.confirm({
title: "删除",
content: "确定删除该条记录?",
okText: "确定",
cancelText: "取消",
onOk: () => {
this.$apis.SPECIALTYDELETE({
id: this.dataList[index].id,
})
.then((res) => {
if (res.returnCode == "0000") {
this.$message.success("删除成功");
this.dataList.splice(index, 1);
} else {
this.$message.error(res.returnMsg);
}
});
},
});
},
}
}
</script>
<style lang="less" scoped>
.btn-div{
margin-bottom: 10px;
}
</style>
\ No newline at end of file
This diff is collapsed.
......@@ -84,18 +84,18 @@
</a-form-model-item>
</a-col>
<a-col :lg="12" :sm="24">
<a-form-model-item label="eob核销时间" prop="eobBackDate">
<a-form-model-item label="EOB核销时间" prop="eobBackDate">
<a-date-picker format="YYYY年MM月DD日" v-model="editFormObj.eobBackDate" placeholder="选择日期" />
</a-form-model-item>
</a-col>
<a-col :lg="12" :xs="24">
<a-form-model-item label="eob回款(人民币)" prop="eobBackMoneyCny">
<a-input v-model.trim="editFormObj.eobBackMoneyCny" placeholder="eob回款(人民币)" />
<a-form-model-item label="EOB回款(人民币)" prop="eobBackMoneyCny">
<a-input v-model.trim="editFormObj.eobBackMoneyCny" placeholder="EOB回款(人民币)" />
</a-form-model-item>
</a-col>
<a-col :lg="12" :xs="24">
<a-form-model-item label="eob回款(美元)" prop="eobBackMoneyUsd">
<a-input v-model.trim="editFormObj.eobBackMoneyUsd" placeholder="eob回款(美元)" />
<a-form-model-item label="EOB回款(美元)" prop="eobBackMoneyUsd">
<a-input v-model.trim="editFormObj.eobBackMoneyUsd" placeholder="EOB回款(美元)" />
</a-form-model-item>
</a-col>
</a-row>
......@@ -317,9 +317,13 @@ export default {
handleEditOK() {
this.$refs.editForm.validate((valid) => {
if (valid) {
let editFormObj = {
...this.editFormObj,
eobBackDate: this.editFormObj.eobBackDate?moment(this.editFormObj.eobBackDate).format('YYYY-MM-DD 00:00:00'):"",
}
this.$apis.SAVEBACKMONEY({
...this.form,
backMoneyEobList: [this.editFormObj],
backMoneyEobList: [editFormObj],
backDate: this.form.backDate? moment(this.form.backDate).format('YYYY-MM-DD 00:00:00'):'',
backMoneyNo: this.backMoneyNo, //回款编号
})
......
......@@ -46,7 +46,17 @@
<a-input v-model="form.eobRemark" placeholder="请输入备注"/>
</a-form-model-item>
</a-col>
<a-col :lg="6" :sm="12" class="none-label">
<a-col :lg="6" :sm="12">
<a-form-model-item label="EOB文件">
<a-upload name="file" :multiple="false" :showUploadList="true"
:fileList="form.eobFile"
:customRequest="uploadEvt"
:remove="removeFile">
<a-button type="primary"> <Icon name="ssiupload" :size="18" />上传EOB文件 </a-button>
</a-upload>
</a-form-model-item>
</a-col>
<a-col :lg="24" :sm="24" class="none-label">
<a-form-model-item label="button">
<!-- <a-button type="primary">导出</a-button> -->
<a-button class="mar-left10" type="primary" @click="addNewEvt">
......@@ -74,8 +84,8 @@
<span>{{record.visitTimeStart? moment(record.visitTimeStart).format('YYYY-MM-DD'):''}}</span> ~
<span>{{record.visitTimeEnd? moment(record.visitTimeEnd).format('YYYY-MM-DD'):''}}</span>
</template>
<template slot="sendSts" slot-scope="record, text">
<span>{{text==1?'已寄送':'未寄送'}}</span>
<template slot="claimsStatus" slot-scope="text">
<span>{{text | formatClaimsStatus}}</span>
</template>
<template slot="operation" slot-scope="text, record">
<a-button type="link" @click.stop="editEvt(record)">修改</a-button>
......@@ -90,21 +100,20 @@
<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="paidSts">
<a-select v-model="editFormObj.sendSts" placeholder="请选择理赔状态" allowClear>
<a-select-option :value="1">待核销</a-select-option>
<a-select-option :value="2">已核销</a-select-option>
<a-form-model-item label="理赔状态" prop="claimsStatus">
<a-select v-model="editFormObj.claimsStatus" placeholder="请选择理赔状态" allowClear>
<a-select-option v-for="(item,i) in ClaimsStatusOptions" :key="i" :value="item.value">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :lg="12" :xs="24">
<a-form-model-item label="账单回款金额" prop="paidAmountEob">
<a-input v-model.trim="editFormObj.paidAmountEob" placeholder="账单回款金额" type="number" />
<a-input v-model.trim="editFormObj.paidAmountEob" placeholder="账单回款金额" type="number" @change="moneyChange" />
</a-form-model-item>
</a-col>
<a-col :lg="12" :xs="24">
<a-form-model-item label="未赔付金额" prop="refuseAmountEob">
<a-input v-model.trim="editFormObj.refuseAmountEob" placeholder="未赔付金额" type="number" />
<a-input v-model.trim="editFormObj.refuseAmountEob" placeholder="未赔付金额" type="number" disabled />
</a-form-model-item>
</a-col>
<a-col :lg="12" :xs="24">
......@@ -122,12 +131,14 @@
import Goback from "@/components/CUSTOMER/goback";
import BurtPagination from "@/components/CUSTOMER/pagation";
import moment from "moment";
import {ClaimsStatusOptions} from '@/utils/utilsdictOptions.js'
import mixins from "@/mixins";
const columns = [
{ title: "账单编号", dataIndex: "receiptNo", ellipsis: true, width: 100 },
{ title: "客户姓名", dataIndex: "patientName", ellipsis: true, width: 85 },
{ title: "保险公司", dataIndex: "payorName", ellipsis: true, width: 80 },
{ title: "就诊日期", dataIndex: "visitTimeStart", ellipsis: true, width: 110, scopedSlots: { customRender: "visitTimeStart" } },
{ title: "理赔状态", dataIndex: "sendSts", ellipsis: true, width: 90, scopedSlots: { customRender: "sendSts" } },
{ title: "理赔状态", dataIndex: "claimsStatus", ellipsis: true, width: 90, scopedSlots: { customRender: "claimsStatus" } },
{ title: "账单金额", dataIndex: "receiptAmount", ellipsis: true, width: 85 },
{ title: "自付金额", dataIndex: "selfpaidAmount", ellipsis: true, width: 85 },
{ title: "理赔金额", dataIndex: "eobPaidAmount", ellipsis: true, width: 85 },
......@@ -143,6 +154,7 @@ export default {
return {
dialogShow: false,
columns,
ClaimsStatusOptions,
eobNo: '', //eob编号
form: {
eobDate: '',
......@@ -151,7 +163,8 @@ export default {
eobAmountCny: '',
eobAmountUsd: '',
eobSts: '',
eobRemark: ''
eobRemark: '',
eobFile: []
},
dataList: [],
isEditNewEob: false, //是否在新建EOB
......@@ -164,7 +177,7 @@ export default {
selectedRowKeys: [], // Check here to configure the default column
editFormObj: {
receiptNo: '',
paidSts: '',
claimsStatus: '',
paidAmountEob: '',
refuseAmountEob: ''
},
......@@ -173,6 +186,7 @@ export default {
},
};
},
mixins: [mixins],
components: {
Goback,
BurtPagination,
......@@ -182,7 +196,20 @@ export default {
this._getCompanyOptions();
if(this.eobNo){
let EobDataDetail = localStorage.getItem('EobDataDetail');
this.form = EobDataDetail? JSON.parse(EobDataDetail): {};
let dataDetail = EobDataDetail? JSON.parse(EobDataDetail): {};
if(dataDetail.eobFile){
dataDetail.eobFile = [
{
uid: Math.random()*10000,
name: dataDetail.eobFile.slice(dataDetail.eobFile.lastIndexOf('/')+1),
status: 'done',
url: dataDetail.eobFile,
}
]
}else{
dataDetail.eobFile = [];
}
this.form = dataDetail;
this.getData();
}
},
......@@ -206,6 +233,10 @@ export default {
this.isEditNewEob = false;
this.getData();
},
//回款金额改变
moneyChange(){
this.editFormObj.refuseAmountEob = this.form.eobPaidAmount||0 - this.editFormObj.paidAmountEob||0;
},
// 获取保险公司下拉选项
_getCompanyOptions() {
this.$apis.GETCOMPANYOPTIONS().then((res) => {
......@@ -230,13 +261,17 @@ export default {
},
//修改单条数据
editEvt(record) {
this.dialogShow = true;
this.$nextTick(()=>{
this.editFormObj = {
id: record.id,
receiptNo: record.receiptNo,
refuseAmountEob: record.refuseAmountEob || "",
paidSts: record.paidSts || "",
claimsStatus: record.claimsStatus || "",
paidAmountEob: record.paidAmountEob || "",
};
this.dialogShow = true;
this.moneyChange();
})
},
//编辑保存
handleEditOK() {
......@@ -244,6 +279,7 @@ export default {
if (valid) {
this.$apis.SAVEEOBRECEIPTINFO({
...this.form,
eobFile: this.form.eobFile.length>0? this.form.eobFile[0].url: '',
eobReceiptList: [this.editFormObj],
eobDate: this.form.eobDate?moment(this.form.eobDate).format('YYYY-MM-DD 00:00:00'):''
})
......@@ -314,6 +350,7 @@ export default {
this.dataList.forEach((item,index)=>{
if(this.selectedRowKeys.indexOf(index)!=-1){
eobReceiptList.push({
id: item.id,
receiptNo: item.receiptNo,
refuseAmountEob: item.refuseAmountEob,
paidSts: item.paidSts,
......@@ -323,6 +360,7 @@ export default {
})
let formData = {
...this.form,
eobFile: this.form.eobFile.length>0? this.form.eobFile[0].url: '',
eobReceiptList: eobReceiptList,
eobDate: this.form.eobDate?moment(this.form.eobDate).format('YYYY-MM-DD 00:00:00'):'',
eobNo: this.eobNo
......@@ -342,6 +380,30 @@ export default {
}
});
})
},
removeFile(){
return new Promise((resolve)=>{
this.form.eobFile = [];
resolve();
});
},
//上传
uploadEvt(fileData){
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,
}
]
this.form.eobFile = fileList;
})
}
},
};
......
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