123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- <template>
- <div class="dashboard-container">
- <div class="tableBox">
-
- <div class="block">
- <div class="blockCon">
- <div class="selectDns"></div>
- <el-select v-model="formData.Department" class="selects" placeholder="出院科室">
- <el-option v-for="(item, index) in departmentList" :label="item.name" :value="item.id" :key="index"></el-option>
- </el-select>
- <span class="kong"></span>
- <el-select v-model="formData.problem" class="selects" placeholder="问题属性">
- <el-option v-for="(item, index) in levelList" :label="item.name" :value="item.id" :key="index"></el-option>
- </el-select>
- <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>
- <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="primary" icon="el-icon-download">导出Excel表格</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)">{{ scope.row.AAA28 }}</span>
- </template>
- </el-table-column>
- <el-table-column prop="AAA01" label="患者姓名"></el-table-column>
- <el-table-column prop="AAC03" label="出院科室"></el-table-column>
- <el-table-column prop="AAA01" label="出院病房"></el-table-column>
- <el-table-column prop="AAC01" label="出院时间"></el-table-column>
- <el-table-column prop="AEE04" label="住院医师"></el-table-column>
- <el-table-column prop="AAA01" label="缺陷项"></el-table-column>
- <el-table-column prop="AAA01" label="取值"></el-table-column>
- <el-table-column prop="desc" label="修订建议"></el-table-column>
- <el-table-column prop="AAA01" 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';
- export default {
- name: 'Dashboard',
- components: {
- Title,
- mPagination,
- },
- computed: {
- ...mapGetters(['name']),
- },
- data() {
- return {
- formData: {
- problem: 'all',
- Department: '',
- },
- tableData: [],
- // 分页数据
- paginationData: {
- total: 10,
- currentPage: 1,
- pageSize: 10,
- },
- levelList: [], //问题属性
- departmentList: [],
- AAC11C: this.$route.query.AAC11C,
- };
- },
- mounted() {
- console.log(this.$route.query.AAC11C);
- this.formData.endTime = this.storageGet('endTime');
- this.formData.startTime = this.storageGet('startTime');
- this.selectInfo();
- this.funQuery();
- },
- methods: {
- 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;
- });
- },
- funGoto(val) {
- this.storageSet('getData', val);
- this.goto('/details');
- },
- pageHasChanged() {
- this.funQuery();
- },
- funQuery() {
- //查询
- const AAC01 = [];
- AAC01.push(this.formData.startTime);
- AAC01.push(this.formData.endTime);
- let pramse = {
- AAC01, //时间段
- AAA28: '',
- start_time:this.formData.startTime,
- end_time:this.formData.endTime,
- // AAC11C: this.departId, //科室ID
- // level: this.formData.level, //错误等级
- page: this.paginationData.currentPage, //页码
- limit: this.paginationData.pageSize, //条数
- isPage:1
- };
- if (this.AAC11C) {
- pramse.AAC11C = this.AAC11C;
- }
- 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);
- }
- },
- },
- };
- </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>
- .tableBox {
- background: #fff;
- padding: 19px;
- border-radius: 5px;
- font-size: 12px;
- }
- .block {
- background: #fff;
- border-radius: 5px;
- margin-bottom: 16px;
- padding: 20px 30px;
- margin-bottom: 20px;
- .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: flex;
- align-items: center;
- border-radius: 5px;
- height: 75px;
- margin-bottom: 16px;
- padding-left: 0;
- padding-right: 0;
- margin-bottom: 20px;
- margin-bottom: 20px;
- .blockCon {
- display: flex;
- align-items: center;
- .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>
|