123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349 |
- <template>
- <div class="dashboard-container">
- <div class="tableBox">
- <div class="block">
- <div class="blockCon">
- <div class="selectDns"></div>
- <el-input v-model="formData.recordNum" class="width150" placeholder="病案号"></el-input>
- <span class="kong"></span>
- <el-date-picker v-model="formData.startTime" type="date" format="yyyy 年 MM 月 dd 日" value-format="yyyyMMdd" placeholder="开始日期"></el-date-picker>
- <el-date-picker
- v-model="formData.endTime"
- type="date"
- style="margin-left: 10px"
- format="yyyy 年 MM 月 dd 日"
- value-format="yyyyMMdd"
- placeholder="结束日期"
- ></el-date-picker>
- <span class="kong"></span>
- <!-- <span class="demonstration">反馈关键词</span> -->
- <!-- <el-input class="ins" placeholder="请输入内容"></el-input> -->
- <el-button type="primary" @click="funQuery">查询</el-button>
- <span class="kong"></span>
- <el-button @click="reset">重置条件</el-button>
- <span class="kong"></span>
- <el-button type="text" @click="goto('/data/query')">更多查询条件</el-button>
- <span class="kong"></span>
- <el-button type="primary" icon="el-icon-download" @click="onExport" class="export-btn">导出数据</el-button>
- <span class="kong"></span>
- <el-button style="float: right" @click="toPrePage">返回</el-button>
- </div>
- </div>
- <Title :title="'病案首页列表'" />
- <el-table :data="tableData" style="width: 100%">
- <el-table-column type="index" label="序号"></el-table-column>
- <el-table-column prop="AAA28" label="病案号">
- <template slot-scope="scope">
- <span class="blue" @click="funGoto(scope.row.MED_REC_ID)">
- <template>
- <div>
- {{ scope.row.AAA28 }}
- </div>
- </template>
- </span>
- </template>
- </el-table-column>
- <el-table-column prop="AAA01" label="患者姓名"></el-table-column>
- <el-table-column prop="AAA02C" label="性别"></el-table-column>
- <el-table-column prop="AAA04" label="年龄"></el-table-column>
- <el-table-column prop="AAA29" label="住院次数"></el-table-column>
- <el-table-column prop="AAC11N" label="出院科室"></el-table-column>
- <el-table-column prop="AAC01" label="出院日期"></el-table-column>
- <el-table-column prop="ADA01" label="总费用"></el-table-column>
- <el-table-column prop="F_D" label="药品费用"></el-table-column>
- <el-table-column prop="J" label="材料费用"></el-table-column>
- <el-table-column prop="ABC01N" label="主诊断"></el-table-column>
- <el-table-column prop="ICD9_NAME" label="主手术"></el-table-column>
- <!-- <el-table-column prop="address" label="业务操作人"> </el-table-column> -->
- <el-table-column prop="AAC04" label="实际住院(天)"></el-table-column>
- <el-table-column prop="ATTEND_GRP_NAME" label="主诊组"></el-table-column>
- <el-table-column prop="AEM01C" label="离院方式"></el-table-column>
- <el-table-column prop="AAB06C" label="入院途径"></el-table-column>
- </el-table>
- <!-- 分页控制 -->
- <mPagination v-if="tableData && tableData.length !== 0" :data="paginationData" @pageChangeEvent="pageHasChanged"></mPagination>
- </div>
- </div>
- </template>
- <script>
- import Title from '@/components/Title';
- import { mapGetters } from 'vuex';
- import mPagination from '@/components/m-pagination';
- import { downloadFile } from '@/httpFile';
- export default {
- name: 'Dashboard',
- components: {
- Title,
- mPagination,
- },
- computed: {
- ...mapGetters(['name']),
- },
- data() {
- return {
- formData: {
- // rangeDate: [],
- recordNum: '',
- startTime: '',
- endTime: '',
- },
- tableData: [],
- // 分页数据
- paginationData: {
- total: 10,
- currentPage: 1,
- pageSize: 10,
- },
- };
- },
- mounted() {
- this.formData.endTime = this.storageGet('endTime');
- this.formData.startTime = this.storageGet('startTime');
- this.funQuery();
- },
- beforeRouteEnter(to, from, next) {
- const { path } = from
- if (['/data/front', '/data/after', '/dashboard'].includes(path)) {
- next(vm => {
- vm.formData = {
- // rangeDate: [],
- recordNum: '',
- startTime: vm.storageGet('startTime'),
- endTime: vm.storageGet('endTime'),
- }
- vm.tableData = []
- vm.paginationData ={
- total: 10,
- currentPage: 1,
- pageSize: 10
- }
- vm.funQuery()
- })
- } else {
- next()
- }
- },
- methods: {
- toPrePage() {
- this.$router.go(-1)
- },
- funGoto(val) {
- this.storageSet('getData', val);
- this.goto('/details');
- },
- funDel() {
- this.formData1.seniorList.pop();
- },
- funAdd() {
- this.formData1.seniorList.push({
- key: '',
- value: '',
- type: '1',
- });
- },
- pageHasChanged() {
- this.funQuery();
- },
- // selectInfo() {
- // let pramse = {};
- // this.$axios
- // .post("/selectInfo")
- // .then((res) => {
- // this.payList = res.data.pay;
- // console.log(this.payList);
- // //支付方式 pay
- // this.departmentList = res.data.department;
- // //出院科室 department
- // this.levelList = res.data.level;
- // //问题属性 level
- // this.coderList = res.data.coder;
- // //编码元 coder
- // this.statusList = res.data.status;
- // this.fieldList = res.data.field;
- // });
- // },
- funQuery() {
- //查询
- let pramse = {
- // AAC01: this.formData.rangeDate, //出院时间
- AAC01_start_date: this.formData.startTime || '',
- AAC01_end_date: this.formData.endTime || '',
- AAA28: this.formData.recordNum,
- page: this.paginationData.currentPage, //页码
- limit: this.paginationData.pageSize, //条数
- };
- this.$axios.post('/qualityList', pramse).then(res => {
- console.log(res);
- this.paginationData.total = res.data.count;
- this.tableData = res.data.list;
- });
- },
- reset() {
- // 重置数据
- if (this.choice == 0) {
- Object.assign(this.$data.formData, this.$options.data().formData);
- } else {
- Object.assign(this.$data.formData, this.$options.data().formData);
- }
- },
- // 导出
- onExport() {
- let pramse = {
- start_time:this.formData.startTime,
- end_time:this.formData.endTime,
- AAA28: this.formData.recordNum,
- is_export: 1
- };
- this.funExeclPost('病案首页列表', pramse, '/homeErrorDataList', 'xlsx');
- },
- funExeclPost(fileName, pramse, httpUrl, format) {
- //导出
- let httpUrls = '/api' + httpUrl;
- downloadFile(httpUrls, pramse, format, fileName).then(res => {
- console.log(res);
- });
- }
- },
- };
- </script >
- <style scoped>
- ::v-deep.el-pagination.is-background .btn-next,
- ::v-deep.el-pagination.is-background .btn-prev,
- ::v-deep.el-pagination.is-background .el-pager li {
- margin: 0 5px;
- background-color: #fff;
- color: #606266;
- min-width: 30px;
- border-radius: 2px;
- border: 1px solid #dfe3f3;
- line-height: 27px;
- }
- ::v-deep.el-pagination.is-background .el-pager li:not(.disabled).active {
- background: #7e8bab;
- }
- ::v-deep.el-table .el-table__row td {
- color: #7e8bab;
- border-bottom: 1px solid #f4f4f4;
- }
- ::v-deep.el-table .el-table__header tr th:first-child {
- border-radius: 10px 0px 0px 10px;
- }
- ::v-deep.el-table .el-table__header tr th:last-child {
- border-radius: 0px 10px 10px 0px;
- }
- ::v-deep.el-table .el-table__header tr th {
- background: #f1f6ff;
- color: #13171e;
- border-bottom: 0px;
- }
- </style>
- <style lang="scss" scoped>
- .dashboard-container{
- padding: 0;
- margin: 10px !important;
- }
- .tableBox {
- background: #fff;
- padding: 19px;
- border-radius: 5px;
- font-size: 12px;
- }
- .block {
- border-radius: 5px;
- .fBtn {
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .bnh {
- margin-bottom: 20px;
- }
- .barBtn {
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .selects {
- width: 100%;
- }
- .rowsa {
- margin-bottom: 20px;
- }
- }
- .tableBox {
- background: #fff;
- padding: 19px;
- border-radius: 5px;
- }
- .dashboard {
- &-container {
- margin: 30px;
- }
- &-text {
- font-size: 30px;
- line-height: 46px;
- }
- }
- .pind {
- padding: 0 20px;
- }
- .pind10 {
- padding: 0 5px;
- }
- .width150 {
- width: 200px;
- }
- .width300 {
- width: 295px;
- }
- .width500 {
- width: 645px;
- }
- .width90 {
- width: 90px;
- }
- .blue {
- color: #185da6;
- }
- .block {
- background: #fff;
- display: block;
- align-items: center;
- border-radius: 5px;
- height: 75px;
- margin-bottom: 16px;
- margin-bottom: 20px;
- .blockCon {
- .selectDns {
- span {
- margin-right: 5px;
- }
- }
- .demonstration {
- margin-left: 10px;
- }
- .pickers {
- margin-left: 5px;
- }
- .lsxd {
- margin-left: 20px;
- }
- .ins {
- width: 150px;
- margin: 0 10px;
- }
- }
- .sc {
- background: #185da6;
- color: #fff;
- }
- }
- .kong {
- padding: 0 10px;
- }
- </style>
|