<template> <div id="DayCost"> <Row :gutter="16" class-name="DayCost-warp"> <!--内容区域 1--> <Col span="16" class-name="DayCost-warp"> <Row class="listTitle"> <Form :label-width="90" inline> <!-- <Col span="5" style="padding: 0" class="titleZY">--> <Col span="6"> <FormItem label="住院信息:"> <Select v-model="EnterType" @on-change="loadList" style="width: 1.2rem;"> <Option value="0">全部</Option> <Option value="1">住院</Option> <Option value="2">门诊</Option> </Select> </FormItem> </Col> <Col span="6"> <FormItem label="医保类型:"> <Select v-model="YbType" @on-change="loadList" style="width: 1.2rem;"> <Option value="0">全部</Option> <Option value="1">省医保</Option> <Option value="2">市医保</Option> <Option value="3">居民医保</Option> <Option value="4">农合医保</Option> </Select> </FormItem> </Col> <Col span="6"> <FormItem label="透析时间:"> <Select v-model="WordType" @on-change="loadList" style="width: 1.2rem;"> <Option value="0">全部</Option> <Option v-for="item in shiftsList" :value="item.id" :key="item.id">{{item.name}}</Option> </Select> </FormItem> </Col> <Col span="6"> <FormItem label="选择时间:"> <DatePicker v-model="dateData" type="date" style="width: 1.2rem;" placeholder="请选择日期" @on-change="loadList" ref="datas" :clearable="false"></DatePicker> </FormItem> </Col> </Form> </Row> <Row class="myTable"> <Table :columns="columns1" :data="dataList1" :class="active1Color" nodata-text="暂无数据" :height="tableHeight" @on-row-click="getList" highlight-row></Table> </Row> </Col> <!--内容区域 2--> <Col span="8" class-name="DayCost-warp"> <Row class="listTitle"> <Col span="8" style="font-size: 0.15rem;padding: 0"> <span v-if="EnterType==0">治疗费明细:全部</span> <span v-else-if="EnterType==1">治疗费明细:住院</span> <span v-else-if="EnterType==2">治疗费明细:门诊</span> </Col> <Col span="12"> <Form :label-width="90" inline> <FormItem label="选择模式:"> <Select v-model="priceType" @on-change="detailList" style="width: 1.2rem;"> <Option value="0">全部</Option> <Option value="1">计费</Option> <Option value="2">自费</Option> <Option value="3">免费</Option> <Option value="4">代管</Option> </Select> </FormItem> </Form> </Col> </Row> <Row class="myTable"> <Table :columns="columns2" :data="dataList2" no-data-text="暂无数据 " :height="tableHeight"></Table> <!--@on-row-click="gotoReCode"--> </Row> </Col> </Row> </div> </template> <script type='text/ecmascript-6'> export default { name: "DayCost", data() { return { id:null, shiftsList: [], //班次列表 tableHeight: "", EnterType: "0", YbType: "0", WordType: "0", dateData: "", priceType:"0", columns1: [ { title: '姓名', align: "center", key: 'patientName', render: (h, params) => { return h('Tooltip', { props: { content: params.row.patientName, placement: "right" }, attrs: { style: 'width:100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' }, },params.row.patientName ) } }, { title: '医保类型', align: "center", key: 'payModel', render: (h, params) => { let name = ""; if(params.row.payModel == '农村合作医疗'){ name = "新农合" }else{ name = params.row.payModel } return h('span', {}, name) } }, { title: '总费用', align: "center", key: 'totalFee', }, { title: '透析治疗', align: "center", key: 'dialysisTreatmentFee', }, { title: '透析耗材', align: "center", key: 'dialysisSupplyFee', }, { title: '透析用药', align: "center", key: 'drugFee', }, { title: '常规耗材', align: "center", key: 'genericSupplyFee', }, { title: '常规治疗', align: "center", key: 'genericTreatmentFee', }, { title: '常规用药', align: "center", key: 'drugFee', }, { title: '化验', align: "center", key: 'assayFee', }, { title: '检查', align: "center", key: 'checkFee', }, { title: '其他', align: "center", key: 'quantity', }, ], dataList1: [], columns2: [ { title: '项目名称', align: "center", key: 'productName', }, { title: '计数', align: "center", render: (h, params) => { return h('span', {}, params.row.num + " " + params.row.unit) } }, { title: '计费模式', align: "center", key: 'payModelStr', render: (h, params) => { let name = ""; if (params.row.payModel == 1) { name = "计费" } if (params.row.payModel == 2) { name = "自费" } if (params.row.payModel == 3) { name = "免费" } if (params.row.payModel == 4) { name = "代管" } return h('span', {}, name) } }, { title: '金额/元', align: "center", key: 'productMoney', }, { title: '实施者', align: "center", key: 'operationName', } ], dataList2: [], active1Color:'patient-list-content_active', } }, created: function () { this.dateData = new Date() }, mounted: function () { //判断登录者设置颜色 var user=JSON.parse(localStorage.getItem('userState')); if(user.user.identityOrder==2){ this.active1Color = 'patient-list-content_active1'; } //设置 table 高度 var rem = parseInt($("html").css("fontSize")); this.tableHeight = $(window).height() - 2.2 * rem; this.loadList(); this.loadShiftsList() //获取班次列表 }, methods: { loadList() { this.dataList1 = [];//初始化左表格 this.dataList2 = [];//初始化右表格 var _this = this; this.getData('patientFee/queryByDay', { treatmentModel: _this.EnterType, payModel: _this.YbType, dialysisTime: _this.WordType, date: _this.$refs.datas.visualValue, }, function (data) { _this.dataList1 = data; if (data.length != 0) { _this.id = data[0].id; _this.detailList(); _this.dataList1[0]._highlight = true;//默认第一行高亮 } }, true) }, detailList() { var _this = this; if (this.dataList1.length != 0) { this.getData('patientFee/detailForDay', { feeId: _this.id, chargingModel:_this.priceType, }, function (data) { _this.dataList2 = data; // console.log(data) }, true) } }, getList(row) { this.id = row.id; this.detailList(); }, loadShiftsList() { var _this = this; this.getData('settingIntegration/getClassAndClassTime.do', {}, function (data) { if (data.length != 0) { _this.shiftsList = data } }, true) } }, } </script> <style> #DayCost .ivu-tooltip-rel{ width: 100%; overflow: hidden ; text-overflow: ellipsis; white-space: nowrap; } #DayCost .listTitle { background: #fff; line-height: 0.5rem; padding: 0 0.2rem; } #DayCost .ivu-form-item { margin-bottom: 0 !important; vertical-align: middle; } #DayCost .myTable { padding: 0 0.2rem; background-color:#fff ; } #DayCost .titleZY .ivu-form-item-label { text-align: left; } #DayCost .patient-list-content_active .ivu-table-row-highlight td{ background-color: #cbede5; color: #5c6166; font-size: 0.14rem; } #DayCost .patient-list-content_active1 .ivu-table-row-highlight td{ background-color: #c9d0e7; color: #5c6166; font-size: 0.14rem; } </style> <template> <div id="MonthCost"> <Row :gutter="16" class-name="MonthCost-warp"> <!--内容区域 1--> <Col span="16" class-name="MonthCost-warp"> <Row class="listTitle"> <Form :label-width="100" inline> <!-- <Col span="5" style="padding: 0">--> <Col span="5"> <FormItem label="患者:" :label-width="60"> <Input type="text" icon="ios-search-strong" vmodel="searchPatient" placeholder="搜索患者" @on-change="search" style="width: 1.2rem;"></Input> </FormItem> </Col> <Col span="6"> <FormItem label="住院信息:"> <Select v-model="EnterType" @on-change="loadList" style="width: 1.2rem;"> <Option value="0">全部</Option> <Option value="1">住院</Option> <Option value="2">门诊</Option> </Select> </FormItem> </Col> <Col span="6"> <FormItem label="医保类型:"> <Select v-model="YbType" @on-change="loadList" style="width: 1.2rem;"> <Option value="1">省医保</Option> <Option value="2">市医保</Option> <Option value="3">居民医保</Option> <Option value="4">农合医保</Option> <Option value="0">全部</Option> </Select> </FormItem> </Col> <Col span="6"> <FormItem label="选择日期:"> <DatePicker v-model="dateData" type="month" style="width: 1.2rem" placeholder="请选择日期" @on-change="loadList" ref="datas" :clearable="false"></DatePicker> </FormItem> </Col> </Form> </Row> <Row class="myTable"> <Table :columns="columns1" :data="dataList1" :class="active1Color" nodata-text="暂无数据" :height="tableHeight" @on-row-click="tabType" highlight-row></Table> </Row> </Col> <!--内容区域 2--> <Col span="8" class-name="MonthCost-warp"> <Row class="listTitle" type="flex" align="middle"> <Col span="8" style="font-size: 0.15rem" class="titleZY"> 治疗费明细:{{EnterType==0?'全部':EnterType==1?'住院':'门诊'}} </Col> <Col span="12"> <Form :label-width="90" inline> <FormItem label="选择模式:"> <Select v-model="priceType" @on-change="detailList" style="width: 1.2rem;"> <Option value="0">全部</Option> <Option value="1">计费</Option> <Option value="2">自费</Option> <Option value="3">免费</Option> <Option value="4">代管</Option> </Select> </FormItem> </Form> </Col> </Row> <Row class="myTable"> <Table :columns="columns2" :data="dataList2" no-data-text="暂无数据 " :height="tableHeight"></Table> </Row> </Col> </Row> </div> </template> <script type='text/ecmascript-6'> export default { name: "MonthCost", data() { return { id: null, tableHeight: "", modal1: false, EnterType: "0", YbType: "0", dateData: "", priceType: "0", oldList: [], searchFlag: true, searchPatient: "", MonthCostModes: [ { text: 'HD', value: '1', checked: false }, { text: 'HDF', value: '2', checked: false }, { text: 'HD+HP', value: '3', checked: false }, { text: 'HDF+HP', value: '4', checked: false }, { text: 'HP', value: '5', checked: false }, { text: 'CHDF', value: '6', checked: false }, { text: 'CHDF+HP', value: '7', checked: false }, { text: 'HF', value: '8', checked: false }, { text: 'HFHD', value: '9', checked: false }, { text: 'HFHD+HP', value: '10', checked: false }, { text: 'SUCF', value: '11', checked: false }, { text: 'ISO', value: '12', checked: false }, { text: 'CRRT', value: '13', checked: false } ], columns1: [ { title: '姓名', align: "center", key: 'patientName', render: (h, params) => { return h('Tooltip', { props: { content: params.row.patientName, placement: "right" }, attrs: { style: 'width:100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' }, },params.row.patientName ) } }, { title: '医保类型', align: "center", key: 'payModel', render: (h, params) => { let name = ""; if (params.row.payModel == '农村合作医疗') { name = "新农合" } else { name = params.row.payModel } return h('span', {}, name) } }, { title: '透析治疗', align: "center", key: 'dialysisTreatmentFee', }, { title: '透析耗材', align: "center", key: 'dialysisSupplyFee', }, { title: '常规耗材', align: "center", key: 'genericSupplyFee', }, { title: '常规治疗', align: "center", key: 'genericTreatmentFee', }, { title: '常规用药', align: "center", key: 'drugFee', }, { title: '其他', align: "center", key: 'quantity', render: (h, params) => { let name = params.row.assayFee + params.row.checkFee; return h('span', {}, name) } }, { title: '医保支付', align: "center", key: 'insuranceMoneyTotal', }, { title: '个人负担', align: "center", key: 'realPaymentMoneyTotal', }, { title: '总费用', align: "center", key: 'totalFee', }, ], dataList1: [], columns2: [ { title: '项目名称', align: "center", key: 'itemFee', render: (h, params) => { return h('span', {}, params.row.itemFee.productName) } }, { title: '计数', align: "center", key: 'suppliesType', render: (h, params) => { return h('span', {}, params.row.count + " " + params.row.itemFee.unit) } }, { title: '种类', align: "center", key: 'insuranceModel', render: (h, params) => { let name = ""; if (params.row.itemFee.payModel == 1) { name = "计费" } if (params.row.itemFee.payModel == 2) { name = "自费" } if (params.row.itemFee.payModel == 3) { name = "免费" } if (params.row.itemFee.payModel == 4) { name = "代管" } return h('span', {}, name) } }, { title: '医保支付', align: "center", key: 'insurancePrice', }, { title: '个人负担', align: "center", key: 'personalPrice', } ], dataList2: [], active1Color: 'patient-list-content_active', } }, created: function () { this.dateData = new Date() }, mounted: function () { //判断登录者设置颜色 var user = JSON.parse(localStorage.getItem('userState')); if (user.user.identityOrder == 2) { this.active1Color = 'patient-list-content_active1'; } //设置 table 高度 var rem = parseInt($("html").css("fontSize")); this.tableHeight = $(window).height() - 2.2 * rem; this.loadList(); }, methods: { loadList() { this.dataList2 = [];//初始化右表格 var _this = this; this.getData('patientFee/queryByMonth', { treatmentModel: _this.EnterType, payModel: _this.YbType, date: _this.$refs.datas.visualValue + '-01', }, function (data) { _this.dataList1 = data; if (data.length != 0) { _this.id = data[0].patientId; _this.detailList(); _this.dataList1[0]._highlight = true;//默认第一行高亮 } }, true) }, tabType(row) { this.id = row.patientId; this.detailList(); }, detailList() { var _this = this; if (this.dataList1.length != 0) { //判断是否需要发送请求 this.getData('patientFee/detailForMonth', { patientId: _this.id, treatmentModel: _this.EnterType, payModel: _this.YbType, date: _this.$refs.datas.visualValue + '-01', chargingModel: _this.priceType, }, function (data) { _this.dataList2 = data; }, true) } }, //模糊查找 search() { let list = this.dataList1; let name = this.searchPatient; let newList = []; if (this.searchFlag) { //第一次拷贝原始数组 this.oldList = this.dataList1.concat(); this.searchFlag = false; } if (this.dataList1.length != this.oldList.length) { //判断数据是否变化 list = this.oldList } for (var i = 0; i < list.length; i++) { if (list[i].patientName.indexOf(name) >= 0 || name == ' ' || list[i].patientNamePinYin.toLocaleLowerCase().indexOf(name.toLowerCase()) >= 0) { newList.push(list[i]); } } this.dataList1 = newList; } } } </script> <style> #MonthCost .ivu-tooltip-rel{ width: 100%; overflow: hidden ; text-overflow: ellipsis; white-space: nowrap; } #MonthCost .listTitle { background: #fff; line-height: 0.5rem; padding: 0 0.2rem; } #MonthCost .ivu-form-item { margin-bottom: 0 !important; vertical-align: middle; } #MonthCost .dragInfoMan { width: 0.9rem; height: 0.3rem; font-size: 0.14rem; text-align: center; line-height: 0.3rem; cursor: pointer; } /*#MonthCost .ivu-table-row-highlight td {*/ /* background: #cbede5 !important;*/ /*}*/ #MonthCost .patient-list-content_active .ivu-table-row-highlight td { background-color: #cbede5; color: #5c6166; font-size: 0.14rem; } #MonthCost .patient-list-content_active1 .ivu-table-row-highlight td { background-color: #c9d0e7; color: #5c6166; font-size: 0.14rem; } #MonthCost .myTable { padding: 0 0.2rem; background-color: #fff; } #MonthCost .titleZY .ivu-form-item-label { text-align: left; } #MonthCost .titleZY { padding: 0; } </style> <template> <div id="SetCost"> <Row :gutter="20" class-name="record-warp"> <!--项目分类列表--> <Col span="6" class-name="record-warp leftHeight"> <!--打包--> <div class="record-list" style="margin-bottom:0.24rem;overflow-y: auto;height:40%"> <Row class-name="record-list-top"> <Col span="24"> <span>打包报销</span> </Col> </Row> <Row class-name="record-list-title bgcolorComm"> <Col span="9" class="overall_align_left"> <span>报销名称</span> </Col> <Col span="10" class="overall_align_left"> <span>次/方式</span> </Col> <Col span="5" class="overall_align_left"> <span>操作</span> </Col> </Row> <div class="record-list-bottom"> <Row class-name="record-list-content" v-for="(item,index) in leftData1" :key="item.id"> <Col span="9"> <span>{{item.name}}</span> </Col> <Col span="10"> <span v-if="item.useTag==0">{{item.countLimit}}次/不打包</span> <span v-if="item.useTag==1">{{item.countLimit}}次 /{{item.rate*100}}%</span> <span v-if="item.useTag==2">{{item.countLimit}}次/ ¥{{item.priceLimit}}</span> </Col> <Col span="5" class="limit_list"> <span @click="YbModal(index)"> <!--修改--> <Tooltip content="修改" placement="left" vif="item.hasNext==!0"> <img src="../../../assets/images/edit.png" class="overall_detail_icon"/> </Tooltip> <Tooltip content="添加" placement="left" v-else> <Icon type="ios-plus-empty" class="overall_add_icon"></Icon> </Tooltip> </span> </Col> </Row> </div> </div> <!--分类--> <div class="record-list" style="height:57%"> <Row class-name="record-list-top"> <Col span="24"> <span>医疗项目分类</span> </Col> </Row> <Row class-name="record-list-title bgcolorComm"> <Col span="9" class="overall_align_left"> <span>分类名称</span> </Col> <Col span="10" class="overall_align_left"> <span>省/市/居/农</span> </Col> <Col span="5" class="overall_align_left"> <span>操作</span> </Col> </Row> <div class="record-list-bottom"> <Row class-name="record-list-content" :class="infoIndex === index?active1Color:''" v-for="(item,index) in leftData" :key="item.id"> <Col span="8" @click.native="showInfo(index)" class="overall_align_left"> <span>{{item.name}}</span> </Col> <Col span="12" @click.native="showInfo(index)" class="overall_align_left"> <span>{{item.provinceDabao==1?'':(item.provinceUseTag==1)?item.provinceRate*100+'%':'-'}}/{{item.cityDabao==1?'':(item.cityUseTag==1)?item.cityRate*100+'%':'-'}}/{{item.residentsDabao==1?'':(item.residentsUseTag==1)?item.residentsRate*100+'%':''}}/{{item.ruralDabao==1?'-':(item.ruralUseTag==1)?item.ruralRate*100+'%':''}}</span> </Col> <Col span="4" class="limit_list"> <span @click="TypemModal(index)"> <Tooltip content="添加" placement="left"> <Icon type="ios-plus-empty" class="overall_add_icon"></Icon> </Tooltip> </span> </Col> </Row> </div> </div> </Col> <!--内容区域--> <Col span="18"> <!--项目价格列表--> <Row class="listTitle clear"> <p style="font-size: 0.15rem" class="fl">项目价格列表</p> <span @click="addCost" class="fr" style="margin-right: 0.24rem;"> <Tooltip content="添加" placement="left"> <Icon type="ios-plus-empty" class="overall_add_icon"></Icon> </Tooltip> </span> </Row> <Row class="myTable"> <Table :columns="columns1" :data="dataList1" no-data-text="暂无数据 " :height="tableHeight"></Table> </Row> </Col> <!--打包弹框--> <Modal id="modalSupplies2" v-model="modal2" :styles="{width:'7.4rem'}" @oncancel="cancleClick"> <div slot="header"> <span>打包类型设置</span> </div> <div> <Form ref="formDbModal" :model="formDbModal" :rules="ruleValidate1" :label-width="100"> <div class="borderBottomComm" style="margin-bottom: 0.24rem"> <Row style="margin-bottom: 0.12rem"> <Col span="4">当前使用</Col> <Col span="9">启用日期:{{formDbModal.nowDateData}}</Col> <Col span="6" v-if="formDbModal.nowtype==0">方式:不打包</Col> <Col span="6" v-if="formDbModal.nowtype==1">方式:比例 &nbsp;&nbsp;{{formDbModal.nowDbscale}}</Col> <Col span="6" v-if="formDbModal.nowtype==2">方式:价格 &nbsp;&nbsp;{{formDbModal.nowDbprice}}</Col> <Col span="5">数量上限:{{formDbModal.nowDbNum}}</Col> </Row> </div> <Row> <Col span="12"> <FormItem prop="dateData" label="启用日期:"> <DatePicker :options="birthdays" type="date" v-model="formDbModal.dateData" placeholder="请选择日 期"> </DatePicker> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> <Col span="11"> <FormItem label="月次数上限:" prop="DbNum"> <Input v-model="formDbModal.DbNum"></Input> </FormItem> </Col> </Row> <Row> <Col span="12"> <FormItem label="选择方式:"> <Select v-model="formDbModal.type" placeholder="请选择"> <Option :value="0">不打包</Option> <Option :value="1">比例打包</Option> <Option :value="2">价格打包</Option> </Select> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="11"> <FormItem label="比例报销:" prop="Dbscale" vif="formDbModal.type==1"> <Input vmodel="formDbModal.Dbscale" :disabled="formDbModal.Dbcheck==false"></Input> </FormItem> <FormItem label="价格报销:" prop="Dbprice" vif="formDbModal.type==2"> <Input vmodel="formDbModal.Dbprice" :disabled="formDbModal.Dbcheck==false"></Input> </FormItem> <FormItem label="打包报销:" prop="Dbprice" vif="formDbModal.type==0"> <Input disabled></Input> </FormItem> </Col> </Row> </Form> </div> <div slot="footer"> <span class="overall_sure_btn" @click="DbsaveClick">保&nbsp;存</span> <span class="overall_cancle_btn" @click="cancleClick">取&nbsp;消</span> </div> </Modal> <!--分类弹框--> <Modal id="modalSupplies3" v-model="modal3" :styles="{width:'8rem'}" @oncancel="cancleClick2"> <div slot="header"> <span>项目报销设置</span> </div> <div> <Form ref="formTypeDate" :model="formTypeDate" :rules="ruleValidate1" :labelwidth="110"> <div class="borderBottomComm" style="margin-bottom: 0.24rem;"> <Row style="margin-bottom: 0.12rem"> <Col span="4">当前使用:</Col> <Col span="8">启用日期:{{formTypeDate.nowDate}}</Col> <Col span="12"> 各项比例: <span>省:{{formTypeDate.nowprovinceScale}}</span> <span>市:{{formTypeDate.nowcityScale}}</span> <span>居民:{{formTypeDate.nowresidentScale}}</span> <span>农合:{{formTypeDate.nowruralScale}}</span> </Col> </Row> </div> <Row> <Col span="12"> <FormItem prop="dateData" label="启用日期:"> <DatePicker :editable="false" ref="updateDateType" :options="birthdays" type="date" v-model="formTypeDate.dateData" placeholder="请选择 日期"> </DatePicker> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> </Row> <Row> <Col span="12"> <FormItem label="省医保:"> <Select v-model="formTypeDate.provinceType" placeholder="请选择 "> <Option :value="0">不打包</Option> <Option :value="1">比例打包</Option> <Option :value="2">价格打包</Option> </Select> </FormItem> </Col> <Col span="12" v-if="formTypeDate.provinceType==1"> <FormItem label="比例报销:"> <Input vmodel="formTypeDate.provinceScale" :disabled="formTypeDate.provinceCheck==false">< /Input> </FormItem> </Col> <Col span="12" v-if="formTypeDate.provinceType==2"> <FormItem label="价格报销:"> <Input v- model="formTypeDate.provinceLimit" :disabled="formTypeDate.provinceCheck==false">< /Input> </FormItem> </Col> </Row> <Row> <Col span="12"> <FormItem label="市医保:"> <Select v-model="formTypeDate.cityType" placeholder="请选择"> <Option :value="0">不打包</Option> <Option :value="1">比例打包</Option> <Option :value="2">价格打包</Option> </Select> </FormItem> </Col> <Col span="12" v-if="formTypeDate.cityType==1"> <FormItem label="比例报销:"> <Input v-model="formTypeDate.cityScale"></Input> </FormItem> </Col> <Col span="12" v-if="formTypeDate.cityType==2"> <FormItem label="价格报销:"> <Input v-model="formTypeDate.cityLimit"></Input> </FormItem> </Col> </Row> <Row> <Col span="12"> <FormItem label="居民医保:"> <Select v-model="formTypeDate.residentType" placeholder="请选择 "> <Option :value="0">不打包</Option> <Option :value="1">比例打包</Option> <Option :value="2">价格打包</Option> </Select> </FormItem> </Col> <Col span="12" v-if="formTypeDate.residentType==1"> <FormItem label="比例报销:"> <Input v-model="formTypeDate.residentScale"></Input> </FormItem> </Col> <Col span="12" v-if="formTypeDate.residentType==2"> <FormItem label="价格报销:"> <Input v-model="formTypeDate.residentLimit"></Input> </FormItem> </Col> </Row> <Row> <Col span="12"> <FormItem label="农合医保:"> <Select v-model="formTypeDate.ruralType" placeholder="请选择"> <Option :value="0">不打包</Option> <Option :value="1">比例打包</Option> <Option :value="2">价格打包</Option> </Select> </FormItem> </Col> <Col span="12" v-if="formTypeDate.ruralType==1"> <FormItem label="比例报销:"> <Input v-model="formTypeDate.ruralScale"></Input> </FormItem> </Col> <Col span="12" v-if="formTypeDate.ruralType==2"> <FormItem label="价格报销:"> <Input v-model="formTypeDate.ruralLimit"></Input> </FormItem> </Col> </Row> </Form> </div> <div slot="footer"> <span class="overall_sure_btn" @click="typeSaveClick('formTypeDate')">保 &nbsp;存</span> <span class="overall_cancle_btn" @click="cancleClick2">取&nbsp;消</span> </div> </Modal> <!--新增--> <Modal id="modalSupplies1" v-model="modal1" :styles="{width:'10rem'}" @oncancel="cancleClick1"> <div slot="header"> <span>{{modTitle}}</span> </div> <div> <Form ref="formValidate" :model="formValidate" :rules="ruleValidate1" :label-width="90"> <div class="borderBottomComm" style="margin-bottom: 0.24rem;"> <Row> <Col span="8"> <FormItem prop="dateData" label="启用日期:"> <DatePicker :options="birthdays" type="date" vmodel="formValidate.dateData" placeholder="请选择日期 " :clearable="false"></DatePicker> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> </Row> </div> <Row> <Col span="7"> <FormItem label="物品分类:"> <Select v-model="formValidate.type" placeholder="请选择" @onchange="loadName" :disabled="disFlag"> <Option v-for="item in formValidate.typeList" :value="item.id" :key="item.id+item.name">{{item.name}}</Op tion> </Select> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> <Col span="9"> <FormItem prop="name" label="物品名称:"> <Select v-model="formValidate.name" placeholder="请选择" @onchange="loadUnitName()"> <Option v-for="(item ,index) in formValidate.nameList" :value="item.id" :key="item.id+index"> {{!item.name?item.groupName:item.name}} </Option> </Select> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> <Col span="6"> <FormItem label="最小规格:" prop="unit"> <Input v-model="formValidate.units==''?'次':formValidate.units" disabled></Input> </FormItem> </Col> </Row> <Row> <Col span="7"> <FormItem label="省医保:"> <Checkbox v-model="formValidate.provinceState">是否报销 </Checkbox> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="报销比例:"> <Input v-model="formValidate.provinceYb" placeholder="%" :disabled="formValidate.provinceState==false"></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="月数量上限:" prop="provinceYbTop" :labelwidth="110"> <Input vmodel="formValidate.provinceYbTop" :disabled="formValidate.provinceState==false">< /Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule" style="color: #000;font-size: 0.14rem;">{{formValidate.unit==undefined?'次 ':formValidate.unit}}</span> </Col> </Row> <Row> <Col span="7"> <FormItem label="市医保:"> <Checkbox v-model="formValidate.cityState">是否报销</Checkbox> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="报销比例:"> <Input v-model="formValidate.cityYb" placeholder="%" :disabled="formValidate.cityState==false"></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="月数量上限:" prop="cityYbTop" :labelwidth="110"> <Input vmodel="formValidate.cityYbTop" :disabled="formValidate.cityState==false"></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule" style="color: #000;font-size: 0.14rem;">{{formValidate.unit==undefined?'次 ':formValidate.unit}}</span> </Col> </Row> <Row> <Col span="7"> <FormItem label="居民报销:"> <Checkbox v-model="formValidate.residentState">是否报销 </Checkbox> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="报销比例:"> <Input v-model="formValidate.residentYb" placeholder="%" :disabled="formValidate.residentState==false"></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="月数量上限:" prop="residentYbTop" :labelwidth="110"> <Input vmodel="formValidate.residentYbTop" :disabled="formValidate.residentState==false">< /Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule" style="color: #000;font-size: 0.14rem;">{{formValidate.unit==undefined?'次 ':formValidate.unit}}</span> </Col> </Row> <Row> <Col span="7"> <FormItem label="农合医保:"> <Checkbox v-model="formValidate.ruralState">是否报销</Checkbox> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="报销比例:"> <Input v-model="formValidate.ruralYb" placeholder="%" :disabled="formValidate.ruralState==false"></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="月数量上限:" prop="ruralYbTop" :labelwidth="110"> <Input vmodel="formValidate.ruralYbTop" :disabled="formValidate.ruralState==false"></Input > </FormItem> </Col> <Col span="1"><span class="overall_basic_rule" style="color: #000;font-size: 0.14rem;">{{formValidate.unit==undefined?'次 ':formValidate.unit}}</span> </Col> </Row> <Row> <Col span="23"> <FormItem label="备注:" prop="remark"> <Input v-model="formValidate.remark" number placeholder="请输入 "></Input> </FormItem> </Col> </Row> </Form> </div> <div slot="footer"> <span class="overall_sure_btn" @click="saveClick('formValidate',1)">保 &nbsp;存</span> <span class="overall_cancle_btn" @click="cancleClick1">取&nbsp;消</span> </div> </Modal> <!-- 修改--> <Modal id="modalSupplies" v-model="modal" :styles="{width:'10rem'}" @oncancel="cancleClick3"> <div slot="header"> <span>{{modTitle}}</span> </div> <div> <Form :model="formValidate" :label-width="90"> <div class="borderBottomComm" style="margin-bottom: 0.24rem;"> <Row> <Col span="9"> <FormItem label="启用日期:"> <DatePicker :options="birthdays" type="date" vmodel="formValidate.dateData" placeholder="请选择日期"></DatePicker> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> </Row> </div> <Row> <Col span="7"> <FormItem label="物品分类:"> <Input v-model="formValidate.type" disabled></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> <Col span="9"> <FormItem label="物品名称:"> <Input v-model="formValidate.names" disabled></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> <Col span="6"> <FormItem label="最小规格:"> <Input v-model="formValidate.units==''?'次':formValidate.units" disabled></Input> </FormItem> </Col> </Row> <Row> <Col span="7"> <FormItem label="省医保:"> <Checkbox v-model="formValidate.provinceState">是否报销 </Checkbox> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="报销比例:"> <Input v-model="formValidate.provinceYb" placeholder="%" :disabled="formValidate.provinceState==false"></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="月数量上限:" :label-width="100"> <Input vmodel="formValidate.provinceYbTop" :disabled="formValidate.provinceState==false">< /Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule" style="color: #000;font-size: 0.14rem;">{{formValidate.unit==undefined?'次 ':formValidate.unit}}</span> </Col> </Row> <Row> <Col span="7"> <FormItem label="市医保:"> <Checkbox v-model="formValidate.cityState">是否报销</Checkbox> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="报销比例:"> <Input v-model="formValidate.cityYb" placeholder="%" :disabled="formValidate.cityState==false"></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="月数量上限:" :label-width="100"> <Input vmodel="formValidate.cityYbTop" :disabled="formValidate.cityState==false"></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule" style="color: #000;font-size: 0.14rem;">{{formValidate.unit==undefined?'次 ':formValidate.unit}}</span> </Col> </Row> <Row> <Col span="7"> <FormItem label="居民报销:"> <Checkbox v-model="formValidate.residentState">是否报销 </Checkbox> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="报销比例:"> <Input v-model="formValidate.residentYb" placeholder="%" :disabled="formValidate.residentState==false"></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="月数量上限:" :label-width="100"> <Input vmodel="formValidate.residentYbTop" :disabled="formValidate.residentState==false">< /Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule" style="color: #000;font-size: 0.14rem;">{{formValidate.unit==undefined?'次 ':formValidate.unit}}</span> </Col> </Row> <Row> <Col span="7"> <FormItem label="农合医保:"> <Checkbox v-model="formValidate.ruralState">是否报销</Checkbox> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="报销比例:"> <Input v-model="formValidate.ruralYb" placeholder="%" :disabled="formValidate.ruralState==false"></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="7"> <FormItem label="月数量上限:" :label-width="100"> <Input v- model="formValidate.ruralYbTop" :disabled="formValidate.ruralState==false"></Input > </FormItem> </Col> <Col span="1"><span class="overall_basic_rule" style="color: #000;font-size: 0.14rem;">{{formValidate.unit==undefined?'次 ':formValidate.unit}}</span> </Col> </Row> <Row> <Col span="23"> <FormItem label="备注:"> <Input v-model="formValidate.remark" number placeholder="请输入 "></Input> </FormItem> </Col> </Row> </Form> </div> <div slot="footer"> <span class="overall_sure_btn" @click="saveClick('formValidate',2)">更 &nbsp;新</span> <span class="overall_cancle_btn" @click="cancleClick3">取&nbsp;消</span> </div> </Modal> </Row> </div> </template> <script type='text/ecmascript-6'> import deleteimg from "@/assets/images/delete.png"; import editimg from "@/assets/images/edit.png"; import expandRow from './SetCostData.vue'; export default { data() { return { nameType: 0, requ: true, //请求判断 addFlag: false, deleteimg: deleteimg, editimg: editimg, modal: false, //修改药品弹框 modal1: false, //新增药品弹框 modal2: false, //打包弹框 modal3: false, //分类修改弹框 tableHeight: "", modTitle: "", birthdays: { disabledDate(date) { return date && date.valueOf() < Date.now(); } }, openInfo: [], //展开数据 formValidate: { id: '', dateData: "", type: "", provinceYb: 100, provinceYbTop: "", provinceFlag: true, provinceState: true, name: "", names: "", nameId: 0, cityYb: 100, cityYbTop: "", cityState: true, cityFlag: true, unit: "", units: "", residentYb: 100, residentYbTop: "", residentFlag: true, residentState: true, price: "", ruralYb: 100, ruralYbTop: "", ruralFlag: true, ruralState: true, remark: "", typeList: [], nameList: [], firstNameList: [], //储存第一次名称列表 firstNameFlag: true, }, //新增项目 formDbModal: { id: 0, dateData: "", type: 0, DbNum: "", Dbscale: "", Dbprice: "", // 当前 nowDateData: "", nowTypeName: "", nowType: 0, nowDbNum: "", nowDbscale: "", nowDbprice: "", }, //修改打包报销 formTypeDate: { id: '', dateData: "", provinceType: "", provinceScale: "", provinceLimit: "", cityType: "", cityScale: "", cityLimit: "", residentType: "", residentScale: "", residentLimit: "", ruralType: "", ruralScale: "", ruralLimit: "", // now nowDate: "", nowprovinceScale: "", nowcityScale: "", nowresidentScale: "", nowruralScale: "", },//修改项目类别报销 infoIndex: 0, infoId: 0, disFlag: false, //药品分类 drugType: [], //透析耗材分类 regularDialysiType: [ { name: "透析器", id: 1, }, { name: "灌流器", id: 2, }, { name: "血路管", id: 3, }, { name: "穿刺针", id: 4, }, { name: "透析液", id: 5, }, { name: "护理包", id: 6, }], userIndex: 0, tableList: true, leftData: [], //左表格数据 leftData1: [], //打包列表 columns1: [ // 表头 { type: 'expand', width: 35, render: (h, params) => { return h(expandRow, { props: { row: params.row, }, }) } }, { title: '名称', align: "left", key: 'name', width: 90, }, { title: '规格/单位', align: "center", key: 'unitName' }, { title: '市医保', align: "center", key: 'cityRate', render: (h, params) => { return h('span', {}, params.row.cityRate < 0 ? '-' : params.row.cityRate * 100 + '%') } }, { title: '省医保', align: "center", key: 'provinceRate', render: (h, params) => { return h('span', {}, params.row.provinceRate < 0 ? '-' : params.row.provinceRate * 100 + '%') } }, { title: '居民医保', align: "center", key: 'residentsRate', render: (h, params) => { return h('span', {}, params.row.residentsRate < 0 ? '-' : params.row.residentsRate * 100 + '%') } }, { title: '新农合', align: "center", key: 'ruralRate', render: (h, params) => { return h('span', {}, params.row.ruralRate < 0 ? '-' : params.row.ruralRate * 100 + '%') } }, { title: '备注', align: "center", key: 'remark', }, { title: '签名', align: "center", key: 'operationName', }, { title: '状态', align: "left", key: 'useTag', render: (h, params) => { if (params.row.useTag == -1) { return h('span', {}, '已废弃') } else if (params.row.useTag == 0) { return h('span', {}, '未启用') } else { return h('span', {}, '已启用') } } }, { title: '操作', key: 'edit', align: "center", render: (h, params) => { return h('div', [ h('Tooltip', { props: { content: '修改', placement: "left" } }, [ h('img', { props: { type: 'text', size: 'large' }, attrs: { src: this.editimg, style: 'width: 13px;margin-right: 10px;cursor: pointer;' }, on: { click: () => { // this.addCost(); this.disFlag = true; this.modTitle = '修改费用设置'; this.getCurrentData(params); this.modal = true; } } }, '') ] ), h('Tooltip', { props: { content: '删除', placement: "right" } }, [ h('img', { props: { type: 'text', size: 'large' }, attrs: { src: this.deleteimg, style: 'width: 13px;margin-left: 10px;cursor: pointer;' }, on: { click: () => { this.confir(params); } } }, '') ] ) ]); } } ], dataList1: [], //右表格数据 ruleValidate1: { //验证 name: [ {required: true, type: 'number', message: '请选择名称', trigger: 'change'} ], dateData: [ {required: true, type: "date", message: '请选择启用日期', trigger: 'blur', pattern: /.+/} ], provinceYbTop: [ {validator: this.$store.state.valNumberInt, name: "上限"} ], cityYbTop: [ {validator: this.$store.state.valNumberInt, name: "上限"} ], residentYbTop: [ {validator: this.$store.state.valNumberInt, name: "上限"} ], ruralYbTop: [ {validator: this.$store.state.valNumberInt, name: "上限"} ], provinceYb: [ {validator: this.$store.state.valNumberFloat, name: "省"} ], cityYb: [ {validator: this.$store.state.valNumberFloat, name: "市"} ], residentYb: [ {validator: this.$store.state.valNumberFloat, name: "居民"} ], ruralYb: [ {validator: this.$store.state.valNumberFloat, name: "农合"} ], remark: [ {validator: this.$store.state.valMaxString50, name: "备注"} ], // 打包 DbNum: [ {validator: this.$store.state.valNumberInt, name: "次数"} ], Dbprice: [ {validator: this.$store.state.valNumberInt, max: 9999, name: "次数"} ], Dbscale: [ {validator: this.$store.state.valNumberFloat, max: 100, name: "次数"} ], }, active1Color:'patient-list-content_active', } }, mounted: function () { //判断登录者设置颜色 var user=JSON.parse(localStorage.getItem('userState')); if(user.user.identityOrder==2){ this.active1Color = 'patient-list-content_active1'; } var rem = parseInt($("html").css("fontSize")); //设置 table 高度 this.tableHeight = $(window).height() - 2.2 * rem; $('.leftHeight').height($(window).height() - 1.7 * rem); this.moveModel("modalSetCost1"); }, created: function () { this.loadData();// 获取药品分类 this.loadData1();//获取打包列表 this.queryDrugClassify() }, methods: { //获取打包列表 loadData1() { var _this = this; this.getData("overView/queryAll", {}, function (data) { _this.leftData1 = data; // console.log(data) }, true) }, //获取项目分类 loadData() { var _this = this; this.getData("insuranceMenus/getAllMenus", {}, function (data) { _this.leftData = data; // console.log(data) _this.infoId = data[0].nameType; _this.showInfo(0) }, true) }, showInfo(index) { this.infoIndex = index; this.infoId = this.leftData[index].nameType; // 请求单挑数据 var _this = this; this.getData("insuranceItem/queryByMenusId", { menusId: _this.infoId, pageNum: 1, pageSize: 50 }, function (data) { _this.dataList1 = data; // console.log(data) }, true); this.disFlag = false; //分类初始化 this.formValidate.nameList = []; //物品分类初始化 }, addCost() { this.$refs['formValidate'].resetFields(); //清空验证 let data = new Date(); data.setDate(data.getDate() + 1); this.formValidate.dateData = data; this.formValidate.type = ""; this.formValidate.provinceYb = 100; this.formValidate.provinceYbTop = ""; this.formValidate.provinceState = true; this.formValidate.name = ""; this.formValidate.names = ""; this.formValidate.cityYb = 100; this.formValidate.cityYbTop = ""; this.formValidate.cityState = true; this.formValidate.unit = ""; this.formValidate.units = ""; this.formValidate.residentYb = 100; this.formValidate.residentYbTop = ""; this.formValidate.residentState = true; this.formValidate.ruralYb = 100; this.formValidate.ruralYbTop = ""; this.formValidate.ruralState = true; this.formValidate.remark = ""; this.formValidate.typeList = []; this.formValidate.nameList = []; this.requ = false; let id = this.infoId; let _this = this; // 分类数据处理 if (id == 4) { this.formValidate.typeList = this.regularDialysiType; } else if (id == 6) { this.formValidate.typeList = this.drugType; } else { this.disFlag = true; // 获取物品名称数据 this.getData("insuranceMenus/queryById", { menusId: _this.infoId }, function (data) { _this.formValidate.nameList = data.resultList; }, true) } this.modTitle = "新增费用设置"; this.modal1 = true; }, cancleClick() { this.formDbModal.type = 0; this.formDbModal.DbNum = ''; this.formDbModal.Dbscale = ''; this.formDbModal.Dbprice = ''; this.formDbModal.nowTypeName = ''; this.formDbModal.nowDbNum = ''; this.formDbModal.nowDbscale = ''; this.formDbModal.nowDbprice = ''; this.formDbModal.dateData = new Date(); this.modal2 = false; this.requ = true; }, cancleClick2() { //分类清空 this.formTypeDate.dateData = ""; this.formTypeDate.provinceType = 0; this.formTypeDate.provinceScale = ""; this.formTypeDate.provinceLimit = ""; this.formTypeDate.cityType = 0; this.formTypeDate.cityScale = ""; this.formTypeDate.cityLimit = ""; this.formTypeDate.residentType = 0; this.formTypeDate.residentScale = ""; this.formTypeDate.residentLimit = ""; this.formTypeDate.ruralType = 0; this.formTypeDate.ruralScale = ""; this.formTypeDate.ruralLimit = ""; this.modal3 = false; }, cancleClick1() { this.modal1 = false; }, cancleClick3() { this.modal = false; }, //新增保存 saveClick(name, flag) { var _this = this; let provinceName = ""; //省 if(!_this.formValidate.provinceState){ provinceName = 0; }else if(_this.formValidate.provinceYb == ''){ provinceName = 0 }else{ provinceName =_this.formValidate.provinceYb; } let cityName = ""; //省 if(!_this.formValidate.cityState){ cityName = 0; }else if(_this.formValidate.cityYb == ''){ cityName = 0 }else{ cityName = _this.formValidate.cityYb; } let residentsName = ""; //省 if(!_this.formValidate.residentState){ residentsName = 0; }else if(_this.formValidate.residentYb == ''){ residentsName = 0 }else{ residentsName = _this.formValidate.residentYb; } let ruralName = ""; //省 if(!_this.formValidate.ruralState){ ruralName = 0; }else if(_this.formValidate.ruralYb == ''){ ruralName = 0 }else{ ruralName = _this.formValidate.ruralYb; } if (flag == 1) { this.$refs[name].validate((valid) => { if (valid) { this.getData("insuranceItem/add", { insuranceMenu: _this.infoId, useFromTime: _this.formValidate.dateData.getFullYear() + '-' + (_this.formValidate.dateData.getMonth() + 1) + '-' + _this.formValidate.dateData.getDate(), categoryName: _this.formValidate.type, typeId: this.formValidate.name, remark: _this.formValidate.remark, provinceLimit: _this.formValidate.provinceYbTop == '' ? 10000 : _this.formValidate.provinceYbTop, provinceRate: provinceName, cityLimit: _this.formValidate.cityYbTop == '' ? 10000 : _this.formValidate.cityYbTop, cityRate: cityName, residentsLimit: _this.formValidate.residentYbTop == '' ? 10000 : _this.formValidate.residentYbTop, residentsRate: residentsName, ruralLimit: _this.formValidate.ruralYbTop == '' ? 10000 : _this.formValidate.ruralYbTop, ruralRate: ruralName, }, function (data) { _this.showInfo(_this.infoIndex); _this.modal1 = false; }, true) } }) } if (flag == 2) { let date = ""; let type = typeof(this.formValidate.dateData) if(type == 'string'){ date = this.formValidate.dateData; }else{ date = this.formValidate.dateData.getFullYear() + '-' + (this.formValidate.dateData.getMonth() + 1) + '-' + this.formValidate.dateData.getDate(); } this.getData("insuranceItem/update", { insuranceMenu: _this.infoId, useFromTime: date, categoryName: _this.formValidate.type, typeId: this.formValidate.nameId, remark: _this.formValidate.remark, provinceLimit: _this.formValidate.provinceYbTop == '' ? 10000 : _this.formValidate.provinceYbTop, provinceRate: provinceName, cityLimit: _this.formValidate.cityYbTop == '' ? 10000 : _this.formValidate.cityYbTop, cityRate: cityName, residentsLimit: _this.formValidate.residentYbTop == '' ? 10000 : _this.formValidate.residentYbTop, residentsRate: residentsName, ruralLimit: _this.formValidate.ruralYbTop == '' ? 10000 : _this.formValidate.ruralYbTop, ruralRate: ruralName, }, function (data) { _this.showInfo(_this.infoIndex); _this.modal = false; }, true) } }, getCurrentData(data) { this.$refs['formValidate'].resetFields(); //清空验证 let row = ""; //判断有无预设,是否启用 if (data.row.otherVersions.length != 0) { row = data.row.otherVersions[0]; } else if (data.row.useTag == 0) { row = data.row; } else { // 无数据 // console.log(data) this.formValidate.type = data.row.categoryName; this.formValidate.names = data.row.name; this.formValidate.nameId = data.row.typeId; let aa = new Date(); aa.setDate(aa.getDate() + 1);//data.getTime() + 24*60*60*1000 this.formValidate.dateData = aa; return; } this.formValidate.dateData = row.useFromTime; this.formValidate.type = row.categoryName; this.formValidate.provinceYb = row.provinceRate == 1 ? 100 : row.provinceRate * 100 this.formValidate.provinceYbTop = row.provinceLimit; this.formValidate.names = row.name; this.formValidate.nameId = row.typeId; this.formValidate.cityYb = row.cityRate == 1 ? 100 : row.cityRate * 100 this.formValidate.cityYbTop = row.cityLimit; this.formValidate.unit = row.unitName; this.formValidate.residentYb = row.residentsRate == 1 ? 100 : row.residentsRate * 100 this.formValidate.residentYbTop = row.residentsLimit; this.formValidate.price = row.price; this.formValidate.ruralYb = row.ruralRate == 1 ? 100 : row.ruralRate * 100 this.formValidate.ruralYbTop = row.ruralLimit; this.formValidate.remark = row.remark; }, confir(index) { //删除一条费用 this.agent = index.row.id; let _this = this; this.showConFirm("确定删除该条信息?<br/>如果想恢复需手动添加", function () { _this.getData("insuranceItem/delete", { itemId: _this.agent }, function (data) { _this.showInfo(_this.infoIndex); }); }); }, // 获取药品分类 queryDrugClassify() { let _this = this; this.getData("drugCategory/queryAll.do", {}, function (data) { _this.drugType = data; }, true); }, // 物品分类改变获取物品名称 loadName() { this.requ = true; if (this.requ) { let _this = this; let id = this.formValidate.type; this.getData("insuranceMenus/queryById", { menusId: _this.infoId, // categoryId: _this.formValidate.type categoryId: id, }, function (data) { _this.formValidate.nameList = data.resultList; }, true) } }, // 查找规格单位 loadUnitName(index) { let nameId = this.formValidate.name; let nameList = this.formValidate.nameList; for (let i in nameList) { if (nameList[i].id == nameId) { if (nameList[i].drugPackingSpecificationName != undefined) { this.formValidate.unit = nameList[i].drugPackingSpecificationName; if (nameList[i].value != '') { this.formValidate.units = nameList[i].value + nameList[i].unitName + '/' + nameList[i].drugPackingSpecificationName; } } else { this.formValidate.unit = nameList[i].unitName } break; } } }, // 打包弹框 YbModal(index) { //根据 ID 获取 name if (this.leftData1[index].name == "省医保") { this.formDbModal.id = 1; } if (this.leftData1[index].name == "市医保") { this.formDbModal.id = 2; } if (this.leftData1[index].name == "城镇居民医保") { this.formDbModal.id = 3; } if (this.leftData1[index].name == "农村合作医疗") { this.formDbModal.id = 4; } //当前数据赋值 this.formDbModal.nowtype = this.leftData1[index].useTag; this.formDbModal.nowDbNum = this.leftData1[index].countLimit; this.formDbModal.nowDbscale = this.leftData1[index].rate * 100; this.formDbModal.nowDbprice = this.leftData1[index].priceLimit; this.formDbModal.nowTypeName = this.leftData1[index].name; this.formDbModal.nowDateData = this.leftData1[index].useFromTime; //未来版本赋值 if (this.leftData1[index].hasNext != null) { this.formDbModal.type = this.leftData1[index].hasNext.useTag; this.formDbModal.DbNum = this.leftData1[index].hasNext.countLimit; this.formDbModal.Dbscale = this.leftData1[index].hasNext.rate * 100; this.formDbModal.Dbprice = this.leftData1[index].hasNext.priceLimit; this.formDbModal.dateData = this.leftData1[index].hasNext.useFromTime; } else { let data = new Date(); data.setDate(data.getDate() + 1);//data.getTime() + 24*60*60*1000 this.formDbModal.dateData = data; } this.modal2 = true; }, // 打包修改保存 DbsaveClick(name) { var _this = this; let time = typeof (_this.formDbModal.dateData); if (time == 'string') { time = _this.formDbModal.dateData } else { time = _this.formDbModal.dateData.getFullYear() + '-' + (_this.formDbModal.dateData.getMonth() + 1) + '-' + _this.formDbModal.dateData.getDate(); } this.getData("overView/modify", { nameType: _this.formDbModal.id, useTag: _this.formDbModal.type, countLimit: _this.formDbModal.DbNum, rate: _this.formDbModal.Dbscale, priceLimit: _this.formDbModal.Dbprice, useFromTime: time, }, function (data) { _this.loadData1(); _this.loadData(); _this.modal2 = false; }, true) }, // 分类修改弹框 TypemModal(index) { this.infoId = this.leftData[index].nameType; //设置当前各项比例 this.formTypeDate.nowDate = this.leftData[index].useFromTime; if (this.leftData[index].provinceDabao == 1) { this.formTypeDate.nowprovinceScale = "-"; } else { this.formTypeDate.nowprovinceScale = this.leftData[index].provinceRate * 100 } if (this.leftData[index].cityDabao == 1) { this.formTypeDate.nowcityScale = "-"; } else { this.formTypeDate.nowcityScale = this.leftData[index].cityRate * 100 } if (this.leftData[index].residentsDabao == 1) { this.formTypeDate.nowresidentScale = "-"; } else { this.formTypeDate.nowresidentScale = this.leftData[index].residentsRate * 100 } if (this.leftData[index].ruralDabao == 1) { this.formTypeDate.nowruralScale = "-"; } else { this.formTypeDate.nowruralScale = this.leftData[index].ruralRate * 100 } if (this.leftData[index].hasNext != null) { this.formTypeDate.provinceType = this.leftData[index].hasNext.provinceUseTag; this.formTypeDate.provinceScale = this.leftData[index].hasNext.provinceRate * 100; this.formTypeDate.provinceLimit = this.leftData[index].hasNext.provinceLimit; this.formTypeDate.cityType = this.leftData[index].hasNext.cityUseTag; this.formTypeDate.cityScale = this.leftData[index].hasNext.cityRate * 100; this.formTypeDate.cityLimit = this.leftData[index].hasNext.cityLimit; this.formTypeDate.residentType = this.leftData[index].hasNext.residentsUseTag; this.formTypeDate.residentScale = this.leftData[index].hasNext.residentsRate * 100; this.formTypeDate.residentLimit = this.leftData[index].hasNext.residentsLimit; this.formTypeDate.ruralType = this.leftData[index].hasNext.ruralUseTag; this.formTypeDate.ruralScale = this.leftData[index].hasNext.ruralRate * 100; this.formTypeDate.ruralLimit = this.leftData[index].hasNext.ruralLimit; this.formTypeDate.dateData = this.leftData[index].hasNext.useFromTime; } else { let data = new Date(); data.setDate(data.getDate() + 1); this.formTypeDate.dateData = data; } this.modal3 = true; }, //分类修改 typeSaveClick(name) { this.$refs[name].validate((valid) => { if (valid) { var _this = this; this.getData("insuranceMenus/modify", { nameType: _this.infoId, useFromTime: _this.$refs.updateDateType.visualValue, provinceUseTag: _this.formTypeDate.provinceType == '' ? 0 : _this.formTypeDate.provinceType, provinceRate: _this.formTypeDate.provinceScale == '' ? 100 : _this.formTypeDate.provinceScale, provinceLimit: _this.formTypeDate.provinceLimit == '' ? 0 : _this.formTypeDate.provinceLimit, cityUseTag: _this.formTypeDate.cityType == '' ? 0 : _this.formTypeDate.cityType, cityRate: _this.formTypeDate.cityScale == '' ? 100 : _this.formTypeDate.cityScale, cityLimit: _this.formTypeDate.cityLimit == '' ? 0 : _this.formTypeDate.cityLimit, residentsUseTag: _this.formTypeDate.residentType == '' ? 0 : _this.formTypeDate.residentType, residentsRate: _this.formTypeDate.residentScale == '' ? 100 : _this.formTypeDate.residentScale, residentsLimit: _this.formTypeDate.residentLimit = '' ? 0 : _this.formTypeDate.residentLimit, ruralUseTag: _this.formTypeDate.ruralType == '' ? 0 : _this.formTypeDate.ruralType, ruralRate: _this.formTypeDate.ruralScale == '' ? 100 : _this.formTypeDate.ruralScale, ruralLimit: _this.formTypeDate.ruralLimit == '' ? 0 : _this.formTypeDate.ruralLimit }, function (data) { _this.loadData(); _this.cancleClick2(); _this.modal3 = false; }, true) } }) }, }, } </script> <style> #SetCost .record-list, .record-list1, #SetCost .record-content { background: #fff; border-radius: 0.05rem; } #SetCost .record-list .record-list-top { line-height: 0.5rem; height: 0.5rem; font-size: 0.15rem; color: #45494c; padding: 0 0.1rem; } #SetCost .record-list .record-list-top .add_user { text-align: right; font-size: 0.3rem; cursor: pointer; } #SetCost .record-list .record-list-title { line-height: 0.36rem; height: 0.36rem; font-size: 0.14rem; color: #fff; padding: 0 0.1rem; } #SetCost .record-list .record-list-content { line-height: 0.43rem; font-size: 0.14rem; color: #5c6166; padding: 0 0.1rem; cursor: pointer; border-bottom: 1px solid #f0f0f2; } /*#SetCost .record-list .record_list_content_active {*/ /* background-color: #cbede5;*/ /*}*/ #SetCost .patient-list-content_active{ background-color: #cbede5; color: #5c6166; font-size: 0.14rem; } #SetCost .patient-list-content_active1{ background-color: #c9d0e7; color: #5c6166; font-size: 0.14rem; } #SetCost .limit_list { text-align: center; } #SetCost .limit_list span { margin: 0 0.1rem; } #SetCost .listTitle { background: #fff; line-height: 0.5rem; padding: 0 0.2rem; } .overall_basic_rule { line-height: 0.34rem; } #SetCost .record-list .record-list-bottom { overflow-y: auto; } #SetCost .ivu-table-expanded-cell { padding: 0 !important; } #SetCost .myTable { padding: 0 0.2rem; background-color:#fff ; overflow: auto; overflow-x: hidden; } </style> <template> <div id="SetCostData"> <Table :columns="columns11" :data="row.otherVersions" no-data-text="暂无数据" v-if="row.otherVersions!=''"></Table> <div class="tab" v-if="row.otherVersions==''">暂无修改记录</div> </div> </template> <script> export default { data(){ return { columns11: [ // 表头 { title: '名称', align: "left", key: 'name', }, { title: '省比例', align: "left", key: 'provinceRate', render: (h,params)=>{ return h('span',{ },params.row.provinceRate<0?'-':params.row.provinceRate*100+'%') } }, { title: '市比例', align: "left", key: 'cityRate', render: (h,params)=>{ return h('span',{ },params.row.cityRate<0?'-':params.row.cityRate*100+'%') } }, { title: '居民比例', align: "left", key: 'residentsRate', render: (h,params)=>{ return h('span',{ },params.row.residentsRate<0?'-':params.row.residentsRate*100+'%') } }, { title: '农合比例', align: "left", key: 'ruralRate', render: (h,params)=>{ return h('span',{ },params.row.ruralRate<0?'-':params.row.ruralRate*100+'%') } }, { title: '省上限', align: "left", key: 'provinceLimit' }, { title: '市上限', align: "left", key: 'cityLimit' }, { title: '居民上限', align: "left", key: 'residentsLimit' }, { title: '农合上限', align: "left", key: 'ruralLimit' }, { title: '备注', align: "left", key: 'remark', }, { title: '创建时间', align: "left", key: 'createTime' }, { title: '更新时间', align: "left", key: 'updateTime', }, { title: '状态', align: "left", key: 'useTag', render:(h,params)=>{ // const text = '已废弃' if(params.row.useTag == -1){ return h('span',{ },'已废弃') }else if(params.row.useTag == 0){ return h('span',{ },'未启用') }else{ return h('span',{ },'已启用') } } }, { title: '操作人', align: "left", key: 'operationName', }, ], // dataList11: [], //右表格数据 } }, props: { row: Object } } </script> <style> #SetCostData .tab{ text-align: center; font-size: 0.12rem; } #SetCostData .expand-row { line-height: 0.4rem; margin: 0.2rem; } #SetCostData .ivu-table-expanded-cell{ padding: 0 !important; } #SetCostData .ivu-table th{ color: #000 !important; background: none !important; font-size: 0.12rem; } #SetCostData .ivu-table td{ background: rgb(247,249,250); font-size: 0.12rem; } #SetCostData .ivu-table{ background: rgb(247,249,250); } </style> <template> <div id="YbReport"> <div class="yulanFixedDiv2 colorTextComm" style="cursor: pointer;;right: 0.2rem;" @click="yunlanPrintBtn1"> <span> <img style="vertical-align: middle" src="../../../assets/images/export.png" class="overall_export_icon" v-show="showIcon"/> <img style="vertical-align: middle" src="../../../assets/images/export1.png" class="overall_export_icon" v-show="!showIcon"/> </span> <span style="vertical-align: bottom">导出详情</span> </div> <div class="yulanFixedDiv2 colorTextComm" style="cursor: pointer;;right: 1.1rem;margin-right: 0.1rem" @click="yunlanPrintBtn"> <span> <img style="vertical-align: middle" src="../../../assets/images/export.png" class="overall_export_icon" v-show="showIcon"/> <img style="vertical-align: middle" src="../../../assets/images/export1.png" class="overall_export_icon" v-show="!showIcon"/> </span> <span style="vertical-align: bottom">导出</span> </div> <Row :gutter="16" class-name="YbReport-warp"> <!--内容区域 1--> <Col span="16" class-name="YbReport-warp"> <Row class="listTitle"> <Form :label-width="100" inline> <!-- <Col span="5" style="padding: 0">--> <FormItem label="患者:" :label-width="60"> <Input type="text" icon="ios-search-strong" v- model="searchPatient" placeholder="搜索患者" @on-change="search" style="width: 1.2rem;"></Input> </FormItem> <!-- </Col>--> <FormItem label="医保类型:"> <Select v-model="YbType" style="width: 1.2rem;" @on- change="loadList"> <Option value="1">省医保</Option> <Option value="2">市医保</Option> <Option value="3">居民医保</Option> <Option value="4">农合医保</Option> <Option value="0">全部</Option> </Select> </FormItem> <FormItem label="选择日期:"> <DatePicker v-model="dateData" style="width: 1.2rem" type="month" ref="datas" placeholder="请选择日期" :clearable="false" @on-change="loadList"></DatePicker> </FormItem> </Form> </Row> <Row class="myTable"> <Table :columns="columns1" :data="dataList1" :class="active1Color" nodata-text="暂无数据" :height="tableHeight" @on-row-click="detailList" highlight-row></Table> </Row> </Col> <!--内容区域 2--> <Col span="8" class-name="YbReport-warp"> <Row class="listTitle" type="flex" align="middle" style="padding: 0 0.2rem"> <Col span="12" style="font-size: 0.15rem" class="titleZY"> 预设治疗: </Col> <Col span="4"> <section class="dragInfoMan colorTextComm borderComm" @click="grasp"> 抓取</section> </Col> <Col span="4"> <section class="dragInfoMan colorTextComm borderComm" @click="addPro"> 添加</section> </Col> <Col span="4"> <section class="dragInfoMan colorTextComm borderComm" @click="submits">确定</section> </Col> </Row> <Row class="myTable"> <Table :columns="columns2" :data="dataList2" no-data-text="暂无数据 " :height="tableHeight/2" style="border-bottom: 1px solid green"></Table> <Table :columns="columns3" :data="dataList3" no-data-text="暂无数据 " :height="tableHeight/2" :show-header="false"></Table> </Row> </Col> </Row> <!--新增/编辑常规耗材弹框--> <Modal id="modalSupplies1" v-model="modal1" :styles="{width:'8.22rem'}" classname="overall_modal" @on-cancel="cancleClick('formValidate')"> <div slot="header"> <span>{{modTitle}}</span> </div> <div> <Form ref="formValidate" :model="formValidate" :rules="ruleValidate" :label-width="110"> <div class="borderBottomComm colorTextComm"> <Row> <Col span="8"> <FormItem style="margin: 0 0 0.24rem -1rem;" prop="dateData"> <DatePicker v-model="formValidate.dateData" ref="data" style="width: 2rem" type="date" placeholder="请选择日期 " :options="options1"></DatePicker> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> </Row> </div> <Row style="margin-top: 0.24rem"> <Col span="11"> <FormItem label="项目分类:" prop="proType"> <Select v-model="formValidate.proType" placeholder="请选择" @onchange="loadUnitName"> <Option v-for="item in formValidate.typeList" :value="item.id" :key="item.id">{{item.name}}</Option> </Select> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> <Col span="11"> <FormItem label="规格单位:"> <Input v-model="formValidate.unit" disabled></Input> </FormItem> </Col> </Row> <Row> <Col span="11"> <FormItem label="项目名称:"> <Select v-model="formValidate.name" placeholder="请选择" @onchange="loadUnit"> <Option v-for="item in formValidate.nameList" :value="item.typeId" :key="item.id"> {{item.name==undefined?item.groupName:item.name}} </Option> </Select> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">&nbsp;</span></Col> <Col span="11"> <FormItem label="项目计数:" prop="num"> <Input v-model="formValidate.num" number placeholder="请输入 "></Input> </FormItem> </Col> <Col span="1"><span class="overall_basic_rule">*</span></Col> </Row> </Form> </div> <div slot="footer"> <span class="overall_sure_btn" @click="saveClick('formValidate')" vif="updateFlag==false">保&nbsp;存</span> <span class="overall_sure_btn" @click="updateClick('formValidate')" velse>更&nbsp;新</span> <span class="overall_cancle_btn" @click="cancleClick('formValidate')">取 &nbsp;消</span> </div> </Modal> </div> </template> <script type='text/ecmascript-6'> import Vue from "vue"; import Vuex from "vuex"; import deleteimg from "@/assets/images/delete.png"; import editimg from "@/assets/images/edit.png"; Vue.use(Vuex); export default { name: "YbReport", data() { return { index:null, topFlag: 0, //判断是哪个修改 updateId: 0, updateFlag: false, modTitle: "", deleteimg: deleteimg, editimg: editimg, formValidate: { dateData: "", proType: "", name: "", num: "", unit: "", categoryName:"", typeList: [ { id: 1, name: "透析治疗" }, { id: 2, name: "常规治疗" }, { id: 3, name: "常规耗材" }, { id: 4, name: "透析耗材" }, { id: 5, name: "化验" }, { id: 6, name: "药品" }, { id: 7, name: "检查" }, ], nameList: [], // 请求所需字段 names: "", price: "", }, cacalFlag: true, //新增时间限制 detailId: 0, startTime: "", endTime: "", options1: { disabledDate(date) { let data = new Date(); let new_data = new Date(data.getFullYear(), data.getMonth() + 1, 0); let start = data.getDate(); //获取当前日 let end = new_data.getDate() - start; //结束天数 return date && date.valueOf() < Date.now() - 86400000 * start || date.valueOf() > Date.now() + 86400000 * end; } }, searchFlag: true, oldList: [], showIcon: true, tableHeight: "", modal1: false, EnterType: "", YbType: "0", WordType: "", dateData: "", searchPatient: "", columns1: [ { title: '姓名', align: "center", key: 'patientName', render: (h, params) => { return h('Tooltip', { props: { content: params.row.patientName, placement: "right" }, attrs: { style: 'width:100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' }, },params.row.patientName ) } }, { title: '医保类型', align: "center", key: 'paymentModelStr', render: (h, params) => { let name = ""; if(params.row.paymentModelStr == '农村合作医疗'){ name = "新农合" }else{ name = params.row.paymentModelStr } return h('span', {}, name) } }, { title: 'HD / 次', align: "center", key: 'countHd', }, { title: 'HDF / 次', align: "center", key: 'countHdf', }, { title: 'HP / 次', align: "center", key: 'countHp', }, { title: '充值金额', align: "center", key: 'rechargeFee', }, { title: '透析项目', align: "center", key: 'dialysisTreatmentFee', }, { title: '透析耗材', align: "center", key: 'dialysisSupplyFee', }, { title: '药费', align: "center", key: 'drugFee', }, { title: '费用金额', align: "center", key: 'totalFee', }, { title: '医保支付', align: "center", key: 'insuranceFee', }, { title: '个人自费', align: "center", key: 'persionalFee', }, ], dataList1: [], columns2: [ { title: '日期', align: "center", key: 'dialysisDate', width:120 }, { title: '项目', align: "center", key: 'productName', }, { title: '计数', align: "center", key: 'count', }, { title: '操作', key: 'edit', align: "center", render: (h, params) => { return h('div', [ h('Tooltip', { props: { content: '修改', placement: "left" } }, [ h('img', { props: { type: 'text', size: 'large' }, attrs: { src: this.editimg, style: 'width: 13px;margin-right: 10px;cursor: pointer;' }, on: { click: () => { this.topFlag = 1; this.modTitle = '修改项目'; this.cacalFlag = true; this.updateFlag = true; this.getCurrentData(params.row); this.modal1 = true; } } }, '') ] ), h('Tooltip', { props: { content: '删除', placement: "right" } }, [ h('img', { props: { type: 'text', size: 'large' }, attrs: { src: this.deleteimg, style: 'width: 13px;margin-left: 10px;cursor: pointer;' }, on: { click: () => { this.confir(params); } } }, '') ] ) ]); } } ], dataList2: [], columns3: [ { title: '日期', align: "center", key: 'dialysisDate', width:120 }, { title: '项目', align: "center", key: 'productName', }, { title: '计数', align: "center", key: 'count', }, { title: '操作', key: 'edit', align: "center", render: (h, params) => { return h('div', [ h('Tooltip', { props: { content: '修改', placement: "left" } }, [ h('img', { props: { type: 'text', size: 'large' }, attrs: { src: this.editimg, style: 'width: 13px;margin-right: 10px;cursor: pointer;' }, on: { click: () => { this.topFlag = 2; this.modTitle = '修改项目'; this.cacalFlag = true; this.updateFlag = true; this.getCurrentData(params.row); this.modal1 = true; } } }, '') ] ), h('Tooltip', { props: { content: '删除', placement: "right" } }, [ h('img', { props: { type: 'text', size: 'large' }, attrs: { src: this.deleteimg, style: 'width: 13px;margin-left: 10px;cursor: pointer;' }, on: { click: () => { this.confir(params); } } }, '') ] ) ]); } } ], dataList3: [], ruleValidate: { dateData: [ {required: true, type: "date", message: '请选择日期', trigger: 'change'} ], proType: [ {required: true, type: 'number', message: '项目分类不能为空', trigger: 'blur'} ], // name: [ // {validator: this.$store.state.valNumberIntRquire, name: "项目名称"} // ], num: [ {validator: this.$store.state.valNumberIntRquire, name: "项目计数"} ], }, active1Color:'patient-list-content_active', } }, created: function () { this.dateData = new Date() }, mounted: function () { //判断登录者设置颜色 var user=JSON.parse(localStorage.getItem('userState')); if(user.user.identityOrder==2){ this.active1Color = 'patient-list-content_active1'; } //设置 table 高度 var rem = parseInt($("html").css("fontSize")); this.tableHeight = $(window).height() - 2.2 * rem; // this.loadHz(); // 导出 var user = JSON.parse(localStorage.getItem('userState')); if (user.user.identityOrder == 2) { this.showIcon = false; } this.loadList(); }, methods: { loadList() { this.dataList2 = [];//初始化右表格 this.dataList3 = [];//初始化右表格 var _this = this; this.getData('insuranceReport/queryAll', { paymentModel: _this.YbType, date: _this.$refs.datas.visualValue + '-01', }, function (data) { _this.dataList1 = data; if (data.length != 0) { _this.detailId = data[0].id; _this.dataList1[0]._highlight = true;//默认第一行高亮 _this.detailList() } }, true) }, //查找详情列表 detailList(index) { if (index != undefined) { this.detailId = index.id; } let _this = this; this.getData('insuranceReport/getPresetById', { reportId: _this.detailId, }, function (data) { _this.dataList2 = data.presetList; _this.dataList3 = data.historyList; // console.log(data) }, true) }, addPro() { this.$refs['formValidate'].resetFields(); //清空验证 this.modTitle = "新增项目" this.modal1 = true; this.cacalFlag = true; this.formValidate.dateData = ""; this.formValidate.proType = ""; this.formValidate.name = ""; this.formValidate.num = ""; this.formValidate.unit = ""; this.formValidate.nameList = []; }, //新增保存 saveClick(name) { this.$refs[name].validate((valid) => { if (valid) { var _this = this this.getData("insuranceReport/addPreset", { reportId: _this.detailId, dialysisDate: _this.$refs.data.visualValue, menuId: _this.formValidate.proType, count: _this.formValidate.num, productId: _this.formValidate.name, productName: _this.formValidate.names, productPrice: _this.formValidate.price, productUnit: _this.formValidate.unit, categoryName: _this.formValidate.categoryName, }, function (data) { _this.detailList(); _this.cancleClick(); }, true) } }) }, //修改保存 updateClick(name) { this.$refs[name].validate((valid) => { if (valid) { var _this = this; this.getData("insuranceReport/modifyPreset", { id: _this.updateId, reportId: _this.detailId, dialysisDate: _this.$refs.data.visualValue, menuId: _this.formValidate.proType, count: _this.formValidate.num, productId: _this.formValidate.name, productName: _this.formValidate.names, productPrice: _this.formValidate.price, productUnit: _this.formValidate.unit, categoryName: _this.formValidate.categoryName, }, function (data) { if (_this.topFlag == 1) { _this.detailList(); } if (_this.topFlag == 2) { _this.grasp(); } _this.cancleClick(); }, true) } }) }, cancleClick(name) { this.updateFlag = false; this.cacalFlag = false; // this.handleReset(name); this.modal1 = false; }, //下载 yunlanPrintBtn() { let data = "date=" + this.$refs.datas.visualValue + '-01'; if(this.YbType != 0){ data+='&payment='+this.YbType; } let api = this.$store.state.hdmsHost; window.open(api + "insuranceReport/downloadExcel?"+data); }, yunlanPrintBtn1() { let data = "date=" + this.$refs.datas.visualValue + '-01'; let api = this.$store.state.hdmsHost; window.open(api + "insuranceReport/downloadExcelDetail?"+data); }, search() { let list = this.dataList1; let name = this.searchPatient; let newList = []; if (this.searchFlag) { //第一次拷贝原始数组 this.oldList = this.dataList1.concat(); this.searchFlag = false; } if (this.dataList1.length != this.oldList.length) { //判断数据是否变化 list = this.oldList } for (var i = 0; i < list.length; i++) { if (list[i].patientName.indexOf(name) >= 0 || name == ' ' || list[i].patientNamePinYin.toLocaleLowerCase().indexOf(name.toLowerCase()) >= 0) { newList.push(list[i]); } } this.dataList1 = newList; }, // 查找分类名称 loadUnitName() { // debugger if(this.formValidate.proType!=undefined){ let id = this.formValidate.proType; let _this = this; if (this.cacalFlag) { this.getData("insuranceItem/queryByMenusId", { menusId: id, pageNum: 1, pageSize: 50, }, function (data) { _this.formValidate.nameList = data; // console.log(data) }, true) } } }, //获取项目名称规格 loadUnit(index) { for (let i in this.formValidate.nameList) { if (this.formValidate.nameList[i].typeId == index) { this.formValidate.unit = this.formValidate.nameList[i].unitName; this.formValidate.names = this.formValidate.nameList[i].name; this.formValidate.price = this.formValidate.nameList[i].price; this.formValidate.categoryName = this.formValidate.nameList[i].categoryName; break; } } }, //抓取 grasp() { let _this = this; this.getData('insuranceReport/grabPreset', { reportId: _this.detailId, }, function (data) { _this.dataList3 = data; }, true) }, //删除一条费用 confir(index) { let id = index.row.id; let _this = this; this.showConFirm("确定删除该条信息?<br/>如果想恢复需手动添加", function () { _this.getData("insuranceReport/deletePreset", { id: id }, function (data) { _this.detailList(); }); },true); }, // 修改赋值 getCurrentData(data) { this.updateId = data.id; //获取分类名称 this.formValidate.proType = data.menuId this.loadUnitName(); this.formValidate.dateData = data.dialysisDate this.formValidate.proType = data.menuId; this.formValidate.name = data.productId; this.formValidate.num = data.count; this.formValidate.unit = data.productUnit; this.formValidate.categoryName = data.categoryName; }, //确认 submits() { let id = this.detailId; let _this = this; this.getData('insuranceReport/confirm', { reportId: id, }, function (data) { _this.dataList2 = []; _this.dataList3 = []; _this.loadList(); }, true) } } } </script> <style> #YbReport .ivu-tooltip-rel{ width: 100%; overflow: hidden ; text-overflow: ellipsis; white-space: nowrap; } #YbReport .listTitle { background: #fff; line-height: 0.5rem; padding: 0 0.2rem; } #YbReport .ivu-form-item { margin-bottom: 0 !important; vertical-align: middle; } #YbReport .dragInfoMan { width: 0.6rem; height: 0.25rem; font-size: 0.14rem; text-align: center; line-height: 0.25rem; cursor: pointer; } /*导出*/ #YbReport .yulanFixedDiv2 { position: fixed; z-index: 999; top: 1.07rem; font-size: 0.14rem; padding-right: 20px; } /*#YbReport .ivu-table-row-highlight td {*/ /* background: #cbede5 !important;*/ /*}*/ #YbReport .patient-list-content_active .ivu-table-row-highlight td{ background-color: #cbede5; color: #5c6166; font-size: 0.14rem; } #YbReport .patient-list-content_active1 .ivu-table-row-highlight td{ background-color: #c9d0e7; color: #5c6166; font-size: 0.14rem; } #YbReport .myTable { padding: 0 0.2rem; background-color:#fff ; } #YbReport .titleZY .ivu-form-item-label { text-align: left; } #YbReport .titleZY { padding: 0; } </style>