Commit c400445b authored by yanglilong's avatar yanglilong

修改

parent dded8e7b
// 报表api // 报表api
export default { export default {
createAuthorize: "/backstage/auth/createAuthorize", //创建预授权
authorizeList: "/backstage/auth/authorizeList", //预授权列表
authorizeDetail: "/backstage/auth/authorizeDetail", //预授权详情
authorizeUpdate: "/backstage/auth/authorizeUpdate", //预授权修改
authorizeDelete: "/backstage/auth/authorizeDelete", //预授权删除
}; };
// 预授权api // 预授权api
export default {}; export default {
patientListNoPage: "/backstage/auth/patientListNoPage", //患者列表无分页
patientPayorList: "/backstage/auth/patientPayorList", //根据患者查询保司列表
patientPolicyList: "/backstage/auth/patientPolicyList", //根据患者查询保单列表
createAuthorize: "/backstage/auth/createAuthorize", //创建预授权
authorizeList: "/backstage/auth/authorizeList", //预授权列表
authorizeDetail: "/backstage/auth/authorizeDetail", //预授权详情
authorizeUpdate: "/backstage/auth/authorizeUpdate", //预授权修改
authorizeDelete: "/backstage/auth/authorizeDelete", //预授权删除
authorizeUseList: "/backstage/auth/authorizeUseList", //预授权使用列表
authorizeUseAdd: "/backstage/auth/authorizeUseAdd", //新增预授权使用
};
// 报表函数库 // 报表函数库
import apis from "../apis_moudles/index"; // import apis from "../apis_moudles/index";
import req from "../request"; // import req from "../request";
//创建预授权
const AUTHORIZECREATE = function (data) {
return req.post(apis.createAuthorize, data);
};
//预授权列表
const AUTHORIZELIST = function (data) {
return req.post(apis.authorizeList, data);
};
//预授权详情
const AUTHORIZEDETAIL = function (data) {
return req.post(apis.authorizeDetail, data);
};
//预授权修改
const AUTHORIZEUPDATE = function (data) {
return req.post(apis.authorizeUpdate, data);
};
//预授权删除
const AUTHORIZEDELETE = function (data) {
return req.post(apis.authorizeDelete, data);
};
// 对象数组 // 对象数组
export default { export default {
AUTHORIZECREATE,
AUTHORIZELIST,
AUTHORIZEDETAIL,
AUTHORIZEUPDATE,
AUTHORIZEDELETE,
}; };
// 预授权函数库 // 预授权函数库
// import apis from "../apis_moudles/index"; import apis from "../apis_moudles/index";
// import req from "../request"; import req from "../request";
//患者列表无分页
const PATIENTLISTNOPAGE = (data) => {
return req.post(apis.patientListNoPage, data);
};
//根据患者查询保司列表
const PATIENTPAYORLIST = (data) => {
return req.post(apis.patientPayorList, data);
};
//根据患者查询保单列表
const PATIENTPOLICYLIST = (data) => {
return req.post(apis.patientPolicyList, data);
};
//创建预授权
const AUTHORIZECREATE = function (data) {
return req.post(apis.createAuthorize, data);
};
//预授权列表
const AUTHORIZELIST = function (data) {
return req.post(apis.authorizeList, data);
};
//预授权详情
const AUTHORIZEDETAIL = function (data) {
return req.post(apis.authorizeDetail, data);
};
//预授权修改
const AUTHORIZEUPDATE = function (data) {
return req.post(apis.authorizeUpdate, data);
};
//预授权删除
const AUTHORIZEDELETE = function (data) {
return req.post(apis.authorizeDelete, data);
};
//预授权使用列表
const AUTHORIZEUSELIST = function (data) {
return req.post(apis.authorizeUseList, data);
};
//新增预授权使用
const AUTHORIZEUSEADD = function (data) {
return req.post(apis.authorizeUseAdd, data);
};
// 对象数组 // 对象数组
export default {}; export default {
PATIENTLISTNOPAGE,
PATIENTPAYORLIST,
PATIENTPOLICYLIST,
AUTHORIZECREATE,
AUTHORIZELIST,
AUTHORIZEDETAIL,
AUTHORIZEUPDATE,
AUTHORIZEDELETE,
AUTHORIZEUSELIST,
AUTHORIZEUSEADD,
};
...@@ -46,10 +46,10 @@ const ApproveStatusOptions = [ ...@@ -46,10 +46,10 @@ const ApproveStatusOptions = [
//monetUnit //monetUnit
const MoneyUnitOptions = [ const MoneyUnitOptions = [
{ name: '', value: '1'}, { name: '', value: '01'},
{ name: '美元', value: '2'}, { name: '美元', value: '02'},
{ name: '英镑', value: '3'}, { name: '英镑', value: '03'},
{ name: '欧元', value: '4'}, { name: '欧元', value: '04'},
]; ];
......
...@@ -3,13 +3,18 @@ ...@@ -3,13 +3,18 @@
<a-form-model ref="form" layout="vertical" :model="form"> <a-form-model ref="form" layout="vertical" :model="form">
<a-row :gutter="30"> <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-input v-model="form.patientNo" placeholder="请输入客户信息" allow-clear /> <a-select show-search v-model="form.patientId"
placeholder="病历号" :filter-option="false"
@search="getPatienList"
@change="patienListChange">
<a-select-option v-for="item in patientList" :key="item.id" :value="item.id">{{item.patientName}}</a-select-option>
</a-select>
</a-form-model-item> </a-form-model-item>
</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 v-model="form.patientNo" placeholder="请输入客户姓名" allow-clear /> <a-input v-model="form.patientName" placeholder="请输入客户姓名" allow-clear />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :lg="6" :sm="12"> <a-col :lg="6" :sm="12">
...@@ -19,7 +24,8 @@ ...@@ -19,7 +24,8 @@
</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-select v-model="form.payorCode" placeholder="请选择保险公司" allowClear> <a-select v-model="form.payorCode" placeholder="请选择保险公司"
@change="_getPatientPolicyList">
<a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode"> <a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode">
{{ item.longName }} {{ item.longName }}
</a-select-option> </a-select-option>
...@@ -28,14 +34,19 @@ ...@@ -28,14 +34,19 @@
</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 v-model="form.patientNo" placeholder="请输入保单号码" allow-clear /> <a-select v-model="form.policyNo" placeholder="请选择保单号码" allowClear>
<a-select-option v-for="item in PolicyOptions" :key="item.id" :value="item.policyNo">
{{ item.policyNo }}
</a-select-option>
</a-select>
</a-form-model-item> </a-form-model-item>
</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-select v-model="form.payorCode" placeholder="请选择主治医生" allowClear> <a-select v-model="form.doctorCode" placeholder="请选择主治医生" showSearch :filter-option="filterOption" optionFilterProp="label">
<a-select-option v-for="item in companyOptions" :key="item.id" :value="item.payorCode"> <a-select-option v-for="item in doctorOptions" :key="item.doctorCode" :value="item.doctorCode"
{{ item.longName }} :label="item.doctorDesc+item.doctorCode">
{{ item.doctorDesc }}
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
...@@ -43,20 +54,20 @@ ...@@ -43,20 +54,20 @@
<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="form.authProject" placeholder="请选择预授权项目" allowClear> <a-select v-model="form.authProject" placeholder="请选择预授权项目" allowClear>
<a-select-option v-for="(item) in ProjectList" :key="item.id" :value="item.descCh">{{item.descCh}}</a-select-option> <a-select-option v-for="(item) in ProjectList" :key="item.id" :value="item.refcd">{{item.descCh}}</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</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-date-picker allow-clear v-model="form.firstEnrollmentTime" placeholder="请选择预计治疗时间" value-format="YYYY-MM-DD 00:00:00" /> <a-date-picker allow-clear v-model="form.authorDate" placeholder="请选择预计治疗时间" value-format="YYYY-MM-DD 00:00:00" />
</a-form-model-item> </a-form-model-item>
</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="预计治疗费用">
<div class="flex input-div"> <div class="flex input-div">
<a-input v-model="form.patientNo" placeholder="请输入费用" type="number" /> <a-input v-model="form.authorAmount" placeholder="请输入费用" type="number" :min="0" />
<a-select v-model="form.authProject" style="width:85px;"> <a-select v-model="form.authorAmountUnit" style="width:90px;">
<a-select-option v-for="(item) in MoneyUnitOptions" :key="item.value" :value="item.value">{{item.name}}</a-select-option> <a-select-option v-for="(item) in MoneyUnitOptions" :key="item.value" :value="item.value">{{item.name}}</a-select-option>
</a-select> </a-select>
</div> </div>
...@@ -64,36 +75,35 @@ ...@@ -64,36 +75,35 @@
</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-date-picker allow-clear v-model="form.firstEnrollmentTime" placeholder="请选择初诊日期" value-format="YYYY-MM-DD 00:00:00" /> <a-date-picker allow-clear v-model="form.firstVisitDate" placeholder="请选择初诊日期" value-format="YYYY-MM-DD 00:00:00" />
</a-form-model-item> </a-form-model-item>
</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-select v-model="form.authProject" placeholder="请选择治疗目的"> <a-select v-model="form.purpose" placeholder="请选择治疗目的">
<a-select-option value="1">疾病</a-select-option> <a-select-option value="01">疾病</a-select-option>
<a-select-option value="2">事故</a-select-option> <a-select-option value="02">事故</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</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-select v-model="form.authProject" placeholder="请选择治疗方案"> <a-select v-model="form.treatmentPlan" placeholder="请选择治疗方案">
<a-select-option value="1">疾病</a-select-option> <a-select-option v-for="(item,i) in treatmentPlanList" :key="i" :value="item.refcd">{{item.descCh}}</a-select-option>
<a-select-option value="2">事故</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</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 v-model="form.patientNo" placeholder="请输入诊断" allow-clear /> <a-input v-model="form.diagnosis" placeholder="请输入诊断" allow-clear />
</a-form-model-item> </a-form-model-item>
</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-upload name="file" :multiple="false" :showUploadList="true" <a-upload name="file" :multiple="false" :showUploadList="true"
:fileList="form.bingli" :fileList="form.medicalRecord"
:customRequest="(file)=>uploadFile(file, 1)" :customRequest="(file)=>uploadFile(file, 1)"
:beforeUpload="beforeUpload" :beforeUpload="()=>beforeUpload(1)"
:remove="(file)=>removeFile(file, 1)"> :remove="(file)=>removeFile(file, 1)">
<a-button type="primary"> <Icon name="ssiupload" :size="18" />上传病历 </a-button> <a-button type="primary"> <Icon name="ssiupload" :size="18" />上传病历 </a-button>
</a-upload> </a-upload>
...@@ -102,33 +112,34 @@ ...@@ -102,33 +112,34 @@
</a-row> </a-row>
<!--费用明细--> <!--费用明细-->
<a-row> <a-row>
<FeeDetail :ProjectList="ProjectList" /> <FeeDetail :ProjectList="ProjectList" @authorizeItemVoListChange="authorizeItemVoListChange" />
</a-row> </a-row>
<a-row :gutter="30" class="footer-body"> <a-row :gutter="30" class="footer-body">
<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="form.authProject" placeholder="请选择申请状态"> <a-select v-model="form.authorStatus" placeholder="请选择申请状态">
<a-select-option v-for="(item) in ApplyStatusOptions" :key="item.value" :value="item.value">{{item.name}}</a-select-option> <a-select-option v-for="(item) in ApplyStatusOptions" :key="item.value" :value="item.value">{{item.name}}</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</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 v-model="form.patientNo" placeholder="请输入批准次数/金额" allow-clear /> <a-input v-model="form.approvalAmount" placeholder="请输入批准次数/金额" allow-clear />
</a-form-model-item> </a-form-model-item>
</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-select v-model="form.authProject" placeholder="请选择拒绝原因"> <a-select v-model="form.rejectReason" placeholder="请选择拒绝原因">
<a-select-option v-for="(item,i) in ProjectList" :key="i" :value="item.refcd">{{item.descCh}}</a-select-option> <a-select-option v-for="(item,i) in rejectReason" :key="i" :value="item.refcd">{{item.descCh}}</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</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-upload name="file" :multiple="false" :showUploadList="true" <a-upload name="file" :multiple="false" :showUploadList="true"
:fileList="form.supplementalResultUrl" :fileList="form.supplementalResult"
:customRequest="(file)=>uploadFile(file, 2)" :customRequest="(file)=>uploadFile(file, 2)"
:beforeUpload="()=>beforeUpload(2)"
:remove="(file)=>removeFile(file, 2)"> :remove="(file)=>removeFile(file, 2)">
<a-button type="primary"> <Icon name="ssiupload" :size="18" />上传材料</a-button> <a-button type="primary"> <Icon name="ssiupload" :size="18" />上传材料</a-button>
</a-upload> </a-upload>
...@@ -138,7 +149,7 @@ ...@@ -138,7 +149,7 @@
<a-row> <a-row>
<a-col :lg="24" :sm="12" class="none-label"> <a-col :lg="24" :sm="12" class="none-label">
<a-form-model-item label="button"> <a-form-model-item label="button">
<a-button type="primary" @click="saveEvt"> <a-button type="primary" @click="saveEvt" :loading="loading">
<Icon name="ssibaocun" :size="14" />保存 <Icon name="ssibaocun" :size="14" />保存
</a-button> </a-button>
</a-form-model-item> </a-form-model-item>
...@@ -151,34 +162,125 @@ ...@@ -151,34 +162,125 @@
<script> <script>
import {MoneyUnitOptions,ApplyStatusOptions} from '@/utils/utilsdictOptions'; import {MoneyUnitOptions,ApplyStatusOptions} from '@/utils/utilsdictOptions';
import FeeDetail from './components/feeDetail.vue'; import FeeDetail from './components/feeDetail.vue';
import debounce from 'lodash/debounce';
import moment from 'moment';
import { mapState } from "vuex"
export default{ export default{
data(){ data(){
this.lastFetchId = 0;
this.getPatienList = debounce(this.getPatienList, 800);
return{ return{
loading: false,
MoneyUnitOptions, MoneyUnitOptions,
ApplyStatusOptions, ApplyStatusOptions,
form: { form: {
bingli: [], mrnNo: '',
supplementalResultUrl: [], //补充材料 payorCode: '',
policyNo: '',
firstEnrollmentTime: '',
authorAmountUnit: '01',
medicalRecord: [], //病历资料
supplementalResult: [], //补充材料
authorizeItemVoList: [], //预授权费用数据
}, },
fetching: false,
patientList: [], //远程搜到的客户信息
companyOptions: [], //保险公司 companyOptions: [], //保险公司
PolicyOptions: [], //保单号码
doctorOptions: [], //医生列表
ProjectList: [], //预授权项目 ProjectList: [], //预授权项目
rejectReason: [], //拒绝原因 rejectReason: [], //拒绝原因
treatmentPlanList: [], //治疗方案
} }
}, },
components: { components: {
FeeDetail, FeeDetail,
}, },
computed: {
...mapState({
userInfo: (state) => state.common.userInfo
})
},
created(){ created(){
this._getCompanyOptions();
this.getRefcdByRefgrp(); this.getRefcdByRefgrp();
this._getDoctorListNoPage();//获取看诊医生下拉选项
}, },
methods: { methods: {
init(){
this.form = {
payorCode: '',
policyNo: '',
firstEnrollmentTime: '',
authorAmountUnit: '01',
medicalRecord: [], //病历资料
supplementalResult: [], //补充材料
authorizeItemVoList: [], //预授权费用数据
}
},
filterOption(val, option){
let item = option.componentOptions.propsData; //propsData里面可以可以拿到lebel和value的值
return item.label.toLowerCase().indexOf(val.toLowerCase()) >= 0
},
//预授权费用数据变更
authorizeItemVoListChange(data){
this.form.authorizeItemVoList = data;
},
// 获取看诊医生下拉选项
_getDoctorListNoPage(){
this.$apis.GETDOCTORlISTNOPAGE({"providerId": this.userInfo.providerId}).then((res) => {
if (res.returnCode === "0000") {
this.doctorOptions = res.content || [];
}else{
this.$message.success(res.returnMsg);
}
});
},
getPatienList(value){
this.lastFetchId += 1;
this.fetching = true;
const fetchId = this.lastFetchId;
this.$apis.PATIENTLISTNOPAGE({
mrnNo: value
})
.then((res)=>{
if (fetchId !== this.lastFetchId) {
return;
}
if(res.returnCode == '0000'){
this.patientList = res.content || [];
}
this.fetching = false;
})
},
patienListChange(){
this.form.payorCode = "";
this.form.policyNo = "";
let itemObj = this.patientList.find((item)=>{
return this.form.patientId == item.id;
}) || {};
this.form.mrnNo = itemObj.mrnNo;
this.form.patientName = itemObj.patientName;
this.form.firstEnrollmentTime = itemObj.firstEnrollmentTime? moment(itemObj.firstEnrollmentTime).format('YYYY-MM-DD 00:00:00'): '';
this._getCompanyOptions()
},
// 获取保险公司下拉选项 // 获取保险公司下拉选项
_getCompanyOptions() { _getCompanyOptions() {
this.$apis.GETCOMPANYOPTIONS().then((res) => { this.$apis.PATIENTPAYORLIST({
patientId: this.form.patientId
}).then((res) => {
this.companyOptions = res.content || []; this.companyOptions = res.content || [];
}); });
}, },
// 获取保单号码下拉选项
_getPatientPolicyList() {
this.$apis.PATIENTPOLICYLIST({
patientId: this.form.patientId,
payorCode: this.form.payorId,
}).then((res) => {
this.PolicyOptions = res.content || [];
});
},
// 获取码表 // 获取码表
getRefcdByRefgrp() { getRefcdByRefgrp() {
//预授权项目 //预授权项目
...@@ -195,10 +297,18 @@ export default{ ...@@ -195,10 +297,18 @@ export default{
}).then((res) => { }).then((res) => {
this.rejectReason = res.content || []; this.rejectReason = res.content || [];
}); });
//治疗方案
this.$apis.GETREFCDBYREFGRP({
modid: "CI",
refgrp: "TREATMENT_PLAN"
}).then((res) => {
this.treatmentPlanList = res.content || [];
});
}, },
//上传之前 //上传之前
beforeUpload(){ beforeUpload(type){
if(this.form.bingli.length >= 5){ let len = type==1? this.form.medicalRecord.length: this.form.supplementalResult.length;
if(len >= 5){
this.$message.warning('不能超过5个文件'); this.$message.warning('不能超过5个文件');
return false; return false;
} }
...@@ -209,15 +319,21 @@ export default{ ...@@ -209,15 +319,21 @@ export default{
* **/ * **/
removeFile(file, type){ removeFile(file, type){
if(type == 2){ if(type == 2){
this.form.supplementalResultUrl = []; let index;
this.form.supplementalResult.forEach((item, i) => {
if (item.uid == file.uid) {
index = i;
}
});
this.form.supplementalResult.splice(index, 1);
}else{ }else{
let index; let index;
this.form.bingli.forEach((item, i) => { this.form.medicalRecord.forEach((item, i) => {
if (item.uid == file.uid) { if (item.uid == file.uid) {
index = i; index = i;
} }
}); });
this.form.bingli.splice(index, 1); this.form.medicalRecord.splice(index, 1);
} }
return true; return true;
}, },
...@@ -237,16 +353,28 @@ export default{ ...@@ -237,16 +353,28 @@ export default{
url: res.url, url: res.url,
} }
if(type==2){ if(type==2){
this.form.supplementalResultUrl = [tmp]; this.form.supplementalResult.push(tmp);
}else{ }else{
this.form.bingli.push(tmp); this.form.medicalRecord.push(tmp);
} }
this.$forceUpdate(); this.$forceUpdate();
}) })
}, },
//保存 //保存
saveEvt(){ saveEvt(){
this.loading = true;
this.$apis.AUTHORIZECREATE({
...this.form
})
.then((res)=>{
this.loading = false;
if(res.returnCode == '0000'){
this.$message.success('保存成功');
this.init();
}else{
this.$message.warning(res.returnMsg);
}
})
} }
} }
} }
......
...@@ -2,34 +2,154 @@ ...@@ -2,34 +2,154 @@
<!--预授权费用数据--> <!--预授权费用数据-->
<a-modal title="预授权费用数据" :visible="dialogShow1" width="900px" :maskClosable="false" <a-modal title="预授权费用数据" :visible="dialogShow1" width="900px" :maskClosable="false"
:footer="null" @cancel="dialogShow1 = false"> :footer="null" @cancel="dialogShow1 = false">
<a-table :columns="columns" :data-source="dataList" :pagination="false">
<template slot="title">
<div class="flex header-div">
<div class="flex left-div">
<div class="item">
<span>批准次数/金额: </span>
<span class="val money">{{detailObj.approvalAmount}}</span>
</div>
<div class="item">
<span>是否已使用: </span>
<span class="val">{{detailObj.isUse}}</span>
</div>
</div>
<a-button type="primary" @click="editEvt({})">
<Icon name="ssiadd" :size="14" />添 加
</a-button>
</div>
</template>
<template slot="userTime" slot-scope="text">
{{text? moment(text).format('YYYY-MM-DD'): ''}}
</template>
<template slot="operation" slot-scope="text, record, index">
<a-button type="link" @click.stop="editEvt(index)">修改</a-button>
<a-button v-if="record.eobNo" type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
</template>
</a-table>
<a-modal title="编辑" :visible="dialogShow2" width="60%" :maskClosable="false"
okText="确定" cancelText="取消"
@ok="handleEditOK" @cancel="dialogShow2 = 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="userd">
<a-input type="number" v-model.trim="editFormObj.userd" placeholder="次数/金额" />
</a-form-model-item>
</a-col>
<a-col :lg="12" :xs="24">
<a-form-model-item label="日期" prop="userTime">
<a-date-picker allow-clear v-model="editFormObj.userTime" placeholder="请选择日期" value-format="YYYY-MM-DD 00:00:00" />
</a-form-model-item>
</a-col>
<a-col :lg="12" :xs="24">
<a-form-model-item label="剩余次数/金额" prop="surplus">
<a-input type="number" v-model.trim="editFormObj.surplus" placeholder="剩余次数/金额" />
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</a-modal> </a-modal>
</template> </template>
<script> <script>
import moment from 'moment';
export default{ export default{
data(){ data(){
const columns = [ const columns = [
{ title: "次数/金额", dataIndex: "userd", align: 'center' },
{ title: "日期", dataIndex: "userTime",scopedSlots: { customRender: "userTime" }, align: 'center'},
{ title: "剩余次数/金额", dataIndex: "surplus", align: 'center'},
]; ];
return{ return{
columns, columns,
dialogShow1: false, dialogShow1: false,
dialogShow2: false,
detailObj: {},
dataList: [], dataList: [],
editFormObj: {
userd: '',
userTime: '',
surplus: ''
},
editRules: {
userd: [{ required: true, message: "请输入", trigger: "blur" }],
userTime: [{ required: true, message: "请选择", trigger: "change" }],
surplus: [{ required: true, message: "请输入", trigger: "blur" }],
},
} }
}, },
created(){ created(){
}, },
methods: { methods: {
moment,
showModal1(data){ showModal1(data){
this.dialogShow1 = true; this.dialogShow1 = true;
this.dataList = data; this.detailObj = data || {};
this.getData();
},
getData(){
this.$apis.AUTHORIZEUSELIST({
authorizeId: this.detailObj.id
})
.then((res)=>{
if (res.returnCode == "0000") {
this.dataList = res.content || [];
} else {
this.$message.error(res.returnMsg);
}
});
},
editEvt(record){
this.editFormObj = {
userd: record.userd || "",
userTime: record.userTime? moment(record.userTime).format('YYYY-MM-DD 00:00:00'): '',
surplus: record.surplus
};
this.dialogShow2 = true;
},
//编辑保存
handleEditOK() {
this.$refs.editForm.validate((valid) => {
if (valid) {
this.$apis.AUTHORIZEUSEADD({
authorizeId: this.detailObj.id,
...this.editFormObj
})
.then((res)=>{
if (res.returnCode == "0000") {
this.dialogShow2 = false;
this.getData();
} else {
this.$message.error(res.returnMsg);
} }
});
}
});
},
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.header-div{
font-weight: bold;
justify-content: space-between;
.item{
&:nth-child(2){
margin-left: 50px;
}
.val{
margin-left: 8px;
}
.money{
color: red;
}
}
}
</style> </style>
\ No newline at end of file
...@@ -132,6 +132,7 @@ export default{ ...@@ -132,6 +132,7 @@ export default{
this.dataList.splice(this.chooseIdex, 1, {...this.editFormObj}); this.dataList.splice(this.chooseIdex, 1, {...this.editFormObj});
} }
this.dialogShow = false; this.dialogShow = false;
this.$emit('authorizeItemVoListChange', this.dataList);
} }
}); });
}, },
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<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="form.authProject" placeholder="请选择项目" allowClear> <a-select v-model="form.authProject" placeholder="请选择项目" allowClear>
<a-select-option v-for="(item) in ProjectList" :key="item.id" :value="item.descCh">{{item.descCh}}</a-select-option> <a-select-option v-for="(item) in ProjectList" :key="item.id" :value="item.refcd">{{item.descCh}}</a-select-option>
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
...@@ -53,13 +53,19 @@ ...@@ -53,13 +53,19 @@
</a-row> </a-row>
</a-form-model> </a-form-model>
<a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false"> <a-table :columns="columns" :data-source="dataList" :scroll="{ x: true }" :pagination="false">
<template slot="authorStatus" slot-scope="text">
{{text | formatApplyStatus}}
</template>
<template slot="authProject" slot-scope="text">
{{formatProject(text)}}
</template>
<template slot="authorizeItemVoList" slot-scope="text, record"> <template slot="authorizeItemVoList" slot-scope="text, record">
<a-button type="link" @click.stop="seeEvt(record)">查看</a-button> <a-button type="link" @click.stop="seeEvt(record)">查看</a-button>
</template> </template>
<template slot="operation" slot-scope="text, record, index"> <template slot="operation" slot-scope="text, record, index">
<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="addEvt(record)">新增</a-button> <a-button type="link" class="success" @click.stop="addEvt(record)">新增</a-button>
<a-button v-if="record.eobNo" type="link" class="danger" @click.stop="delRecord(index)">删除</a-button> <a-button type="link" class="danger" @click.stop="delRecord(index)">删除</a-button>
</template> </template>
</a-table> </a-table>
<!--分页--> <!--分页-->
...@@ -73,7 +79,7 @@ ...@@ -73,7 +79,7 @@
import BurtPagination from "@/components/CUSTOMER/pagation"; import BurtPagination from "@/components/CUSTOMER/pagation";
import authorizeVoList from './components/authorizeVoList'; import authorizeVoList from './components/authorizeVoList';
import moment from 'moment' import moment from 'moment'
import {ClaimsStatusOptions,ApplyStatusOptions} from '@/utils/utilsdictOptions'; import {ApplyStatusOptions} from '@/utils/utilsdictOptions';
import mixins from '@/mixins/index'; import mixins from '@/mixins/index';
export default{ export default{
data(){ data(){
...@@ -81,20 +87,19 @@ export default{ ...@@ -81,20 +87,19 @@ export default{
{ title: "病历号", dataIndex: "mrnNo", key:"receiptNo",align:'center', width: 136}, { title: "病历号", dataIndex: "mrnNo", key:"receiptNo",align:'center', width: 136},
{ title: "客户姓名", dataIndex: "patientName", key:"patientNo",align:'center', width: 136}, { title: "客户姓名", dataIndex: "patientName", key:"patientNo",align:'center', width: 136},
{ title: "保险公司", dataIndex: "payorName", width: 110 }, { title: "保险公司", dataIndex: "payorName", width: 110 },
{ title: "申请项目", dataIndex: "authProject", width: 100}, { title: "申请项目", dataIndex: "authProject", width: 100, scopedSlots: { customRender: "authProject" }},
{ title: "申请金额", dataIndex: "authorAmount", width: 100, align: 'center' }, { title: "申请金额", dataIndex: "authorAmount", width: 100, align: 'center' },
{ title: "申请状态", dataIndex: "authorStatus", width: 100, align: 'center' }, { title: "申请状态", dataIndex: "authorStatus", width: 100, align: 'center', scopedSlots: { customRender: "authorStatus" } },
{ title: "申请日期", dataIndex: "paidAmount", width: 100, align: 'center' }, { title: "申请日期", dataIndex: "paidAmount", width: 100, align: 'center' },
{ title: "批准金额", dataIndex: "approvalAmount", width: 100, align: 'center' }, { title: "批准金额", dataIndex: "approvalAmount", width: 100, align: 'center' },
{ title: "批准天数", dataIndex: "authorDays", width: 110, align: 'center' }, { title: "批准天数", dataIndex: "authorDays", width: 110, align: 'center' },
{ title: "不予批准原因", dataIndex: "rejectReason", width: 120, align: 'center' }, { title: "不予批准原因", dataIndex: "rejectReason", width: 120, align: 'center', scopedSlots: { customRender: "authorStatus" } },
{ title: "预授权使用情况", dataIndex: "authorizeItemVoList", width: 120, align: 'center', scopedSlots: { customRender: "authorizeItemVoList" } }, { title: "预授权使用情况", dataIndex: "authorizeItemVoList", width: 130, align: 'center', scopedSlots: { customRender: "authorizeItemVoList" } },
{ title: "备注", dataIndex: "remark", width: 100, align: 'center' }, { title: "备注", dataIndex: "remark", width: 100, align: 'center' },
{ title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, fixed: "right", width: "200px", align: 'center'}, { title: "操作", dataIndex: "operation", scopedSlots: { customRender: "operation" }, fixed: "right", width: "200px", align: 'center'},
]; ];
return { return {
columns, columns,
ClaimsStatusOptions,
ApplyStatusOptions, ApplyStatusOptions,
form: { form: {
dateRange: [], dateRange: [],
...@@ -102,7 +107,7 @@ export default{ ...@@ -102,7 +107,7 @@ export default{
authProject: '', authProject: '',
authorStatus: '', authorStatus: '',
mrnNo: '', mrnNo: '',
patientName: '' patientName: '',
}, },
companyOptions: [], //保险公司 companyOptions: [], //保险公司
ProjectList: [], //预授权项目 ProjectList: [], //预授权项目
...@@ -125,6 +130,15 @@ export default{ ...@@ -125,6 +130,15 @@ export default{
}, },
methods: { methods: {
moment, moment,
formatProject(val){
if (!val) {
return;
}
const item = this.ProjectList.find((item) => {
return item.refcd == val;
});
return item? item.descCh: "";
},
//新建预授权 //新建预授权
addPreAuth(){ addPreAuth(){
this.$router.push({ this.$router.push({
...@@ -146,7 +160,7 @@ export default{ ...@@ -146,7 +160,7 @@ export default{
//预授权项目 //预授权项目
this.$apis.GETREFCDBYREFGRP({ this.$apis.GETREFCDBYREFGRP({
modid: "CI", modid: "CI",
refgrp: "预授权项目" refgrp: "AUTH_PROJECT"
}).then((res) => { }).then((res) => {
this.ProjectList = res.content || []; this.ProjectList = res.content || [];
}); });
...@@ -177,11 +191,33 @@ export default{ ...@@ -177,11 +191,33 @@ export default{
}, },
//查看预授权使用数据 //查看预授权使用数据
seeEvt(record={}){ seeEvt(record={}){
let data = record.authorizeItemVoList || []; this.$refs.authData.showModal1(record);
this.$refs.authData.showModal1(data);
}, },
addEvt(){ addEvt(){
},
//删除记录
delRecord(index) {
this.$modal.confirm({
title: "删除",
content: "确定删除该条记录?",
okText: "确认",
cancelText: "取消",
onOk: () => {
this.$apis.AUTHORIZEDELETE({
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);
}
});
},
onCancel: () => {},
});
} }
} }
} }
......
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