cost-pre-admission-list.vue 13.6 KB
<!--医院对账单 - 列表-->
<template>
    <div class="container resource close-left-menu contaNEW">
        <div class="pop-banner clearfix">
            <div class="operate-btns">
                <a class="fbtn fb-download" @click='download'>导出</a>
            </div>
            <h3 class="current-module">预入库商品管理</h3>
        </div>
        <div class="order-orderlist-view clearfix">
            <div class="pd-form form-label4em mb-20 fast-search-form">
                <div class="group-row">
                    <div class="form-group form-label">
                        <div class="control control-date" style="height:34px;overflow: inherit;">
                            <div style="width:44%;float:left;">
                                <datepicker :target.sync="search.begindate" :readonly="readonlyFlag" placeholder="开始日期"
                                            title='开始日期'
                                            styleobj="width:100% !important;border-radius:8px 0px 0px 8px !important;"></datepicker>
                            </div>
                            <div class="text-and"></div>
                            <div style="width:48%;float:left;">
                                <datepicker :target.sync="search.enddate" :readonly="readonlyFlag" title='结束日期'
                                            placeholder="结束日期"
                                            styleobj="width:100% !important;border-radius:0px 8px 8px 0px !important;"></datepicker>
                            </div>
                        </div>
                    </div>
                    <div class="form-group form-label">
                        <div class="control">
                            <input type="text" v-model="search.billno" title='预入库单号' placeholder="预入库单号" maxlength="26" v-rule></div>
                    </div>
                </div>
                <div class="group-row">
                    <div class="form-group form-label">
                        <div class="control">
                            <input type="text" v-model="search.medplanbillno" title='高值要货单号' placeholder="高值要货单号" maxlength="26" v-rule></div>
                    </div>
                    <div class="form-group form-label">
                        <label for="cn1" class="label">医院</label>
                        <div class="control">
                            <select v-model="search.medguid" id='cn1' class="inp2" @change="getdepname(search.medguid)">
                                <option value="">请选择</option>
                                <option v-for='item in getMedList' :value="item.guid">{{item.name}}</option>
                            </select>
                        </div>
                    </div>
                </div>
                <div class="group-row">
                    <div class="form-group form-label">
                        <div class="control">
                            <input type="text" v-model="search.goodsname" title='商品' placeholder="商品"></div>
                    </div>
                    <div class="form-group form-label">
                        <label for="cn4" class="label">耗材包</label>
                        <div class="control">
                            <select v-model="search.parentpackageguid" id='cn4' class="inp4">
                                <option value="">请选择</option>
                                <option v-for='item in goodscateList' :value="item.guid">{{item.suppliesname}}</option>
                            </select>
                        </div>
                    </div>
                </div>
                <div class="group-row">
                    <div class="form-group form-label">
                        <div class="control ">
                            <input type="text" v-model="search.barcode" title='高值条码' placeholder="高值条码"></div>
                    </div>
                </div>
                <div class="group-row">
                    <div class="form-group w650">
                        <label for="cn3" class="label w60">入库状态</label>
                        <div class="control control-filtering control-filtering-green fl ml-10">
                            <a class="option" href="javascript:;" :class="{'all active':search.goodstate==''}"
                               v-on:click="search.goodstate=''">全部</a>
                            <a class="option" href="javascript:;" style='margin: 4px 14px;'
                               @click="search.goodstate='Y01'" :class="{'all active':search.goodstate=='Y01'}">预入库</a>
                            <a class="option" href="javascript:;" style='margin: 4px 14px;'
                               @click="search.goodstate='Y02'" :class="{'all active':search.goodstate=='Y02'}">已使用</a>
                            <a class="option" href="javascript:;" style='margin: 4px 14px;'
                               @click="search.goodstate='Y03'" :class="{'all active':search.goodstate=='Y03'}">待还货</a>
                            <a class="option" href="javascript:;" style='margin: 4px 14px;'
                               @click="search.goodstate='Y04'" :class="{'all active':search.goodstate=='Y04'}">已还货</a>
                        </div>
                    </div>
                </div>
                <div class="group-row t-right">
                    <button v-on:click="getData(false)"
                            class="fast-search-form-btn btn-d btn-d-lg btn-d-activate btn-d-circle">查 询
                    </button>
                </div>
            </div>
            <div class="purchase-add-plan">
              <div class="pap-tit">
                <div style="height:30px;line-height:30px;" >
<em class="fW" > {{countsum}}</em>个商品,金额合计 <em class="fW" > {{numbersum| numDigit 2}}</em>元。
                </div>
             </div>

              
            </div>
            <table class="itable itable-td-long-text">
                <thead id="t_header">
                <tr>
                    <th class="w60">序号</th>
                    <th class="w100">预入库信息</th>
                    <th class="w80">耗材包</th>
                    <th class="w150">商品信息</th>
                    <th class="w80">批号</th>
                    <th class="w80">金额(元)</th>
                    <th class="w100">高值条码</th>
                    <th class="w80">状态</th>
                    <th class="w140">使用时间/还货时间</th>
                </tr>
                </thead>
                <tbody>
                <tr v-if="list.length==0">
                    <td colspan="15">
                        暂无符合条件的记录
                    </td>
                </tr>
                <tr v-else v-for='item in list'>
                    <td class="v-top">{{$index+1}}</td>
                    <td class="t-left pr10 v-top">{{item.mvdate | getYMD}}<br>{{item.medname}}<br>{{item.medplanbillno}}
                        <br>{{item.billno}}
                    </td>
                    <td class="t-left pl10 v-top">{{item.suppliesname == null?'非耗材包':item.suppliesname}}</td>
                    <td class="t-left pr10 v-top">{{item.goodscode}} <br>{{item.goodsname}} <br> {{item.goodsspec}} <br>{{item.producer}}
                        <br>{{item.registkey}}
                    </td>
                    <td class="t-left v-top">{{item.lot}}</td>
                    <td class="t-right pr10 v-top">{{item.detailmoneysum | numDigit 2 | numFmt}}</td>
                    <td class='t-left pr10 v-top'>{{item.barcode}}</td>
                    <td class="v-top v-top">
                        <span v-if="item.goodstate =='Y01'"
                              class="text-color-yellow">{{item.goodstate | barCodeState}}</span>
                        <span v-if="item.goodstate =='Y03'"
                              class="text-color-red">{{item.goodstate | barCodeState}}</span>
                        <span v-if="item.goodstate =='Y02'"
                              class="text-color-blue">{{item.goodstate | barCodeState}}</span>
                        <span v-if="item.goodstate =='Y04'">{{item.goodstate | barCodeState}}</span>
                    </td>
                    <td class="v-top v-top">{{item.billdate | getYMD}}</td>
                </tr>
                </tbody>
            </table>
            <pagination
                    @page-change="getData(true)" :class="['m-20-0']"
                    :page-no.sync="search.page"
                    :total-pages.sync="search.totalPages">
            </pagination>

        </div>

    </div>
</template>
<script>
    module.exports = {
        data: function () {
            return {
                numbersum:0.00,
                countsum:0,
                list: [],
                getMedList: [],
                goodscateList: [],
                // 查询条件
                search: {
                    pageSize: 50,
                    page: 1,
                    totalPages: 0,
                    total: 0,
                    begindate: '',
                    enddate: '',
                    billno: '',
                    medplanbillno: '',
                    suppliername: '',
                    goodsname: '',
                    barcode: '',
                    parentpackageguid: '',
                    parentpackagename: '',
                    goodstate: '',
                    medguid: '',
                },
                search1: {
                    pageSize: 50,
                    page: 1,
                    totalPages: 0,
                    total: 0,
                    medguid: '',
                },
            };
        },
        watch: {
            'search.goodstate': function (val) {
                this.getData(false);
            },
            'search.medguid': function (val) {
                this.getData(false);
            },
            'search.parentpackageguid': function (val) {
                this.getData(false);
            },
        },
        methods: {
            getmedlist: function () {
                var self = this;
                Ajax.post('/cost/getmedlist', {})
                    .then(function (response) {
                        var data = response.data.data;
                        if (response.data.errorCode == 0) {
                            self.$set('getMedList', data);
                        }
                    })
            },
            getdepname: function (guid) {
                var self = this;
                self.listmedsuppliesBySupplier(guid);
            },
            // 获取当前时间和之前一个月时间
            Date: function () {
                var self = this;
                // 结束日趋
                var nowdate = new Date();
                var y = nowdate.getFullYear();
                var m = nowdate.getMonth() + 1;
                m = m < 10 ? '0' + m : m;
                var d = nowdate.getDate();
                d = d < 10 ? '0' + d : d;
                self.search.enddate = y + '-' + m + '-' + d;

                // 开始日期
                nowdate.setMonth(nowdate.getMonth() - 1);
                var yn = nowdate.getFullYear();
                var mn = nowdate.getMonth() + 1;

                mn = mn < 10 ? '0' + mn : mn;

                var dn = nowdate.getDate();
                dn = dn < 10 ? '0' + dn : dn;
                self.search.begindate = yn + '-' + mn + '-' + dn;
            },
            getData: function (falg) {
                var self = this;
                self.list = [];
                if (!falg) {
                    self.search.page = 1;
                }
                for (var i = 0; i < self.goodscateList.length; i++) {
                    if (self.search.parentpackageguid == self.goodscateList[i].guid) {
                        self.search.parentpackagename = self.goodscateList[i].suppliesname;
                    }
                }
                Ajax.post('/cost/gettrmedhvwvdetails', self.search)
                    .then(function (response) {
                        var data = response.data.data;
                        if (response.data.errorCode == 0) {
                            self.$set('countsum',response.data.senData.countsum);
                            self.$set('numbersum',response.data.senData.numbersum);
                            self.$set('list', data.list);
                            self.search.totalPages = data.totalPages;
                            self.search.total = data.total;
                        }

                    })
            },
            listmedsuppliesBySupplier: function (guid) {
                var self = this;
                self.search1.medguid = guid;
                Ajax.post('/cost/listmedsuppliesBySupplier', self.search1)
                    .then(function (response) {
                        var data = response.data.data;
                        if (response.data.errorCode == 0) {
                            self.$set('goodscateList', data.list);
                        }
                    })
            },
            // 导出
            download: function () {
                var self = this;
                Ajax.post('/cost/exporttrmedhvwvdetails', self.search)
                    .then(function (response) {
                        var res = response.data;
                        window.open(res);
                    })
            }
        },
        route: {
            activate: function () {
                this.Date();
                this.getData(false);
                this.getmedlist();

            }
        },
    };
</script>