hospital-stockout-list.vue 11.4 KB
<template>
    <div class="container resource close-left-menu">
        <div class="pop-banner clearfix">
            <!-- <div class="operate-btns">
        </div> -->
            <h3 class="current-module">库房缺货单</h3>
        </div>
        <!--purchase-plan start-->
        <div class="purchase-plan">
            <div class="pd-form form-label4em mb-40 fast-search-form">
                <div class="group-row">
                    <div class="form-group form-label">
                        <div class="control">
                            <input type="text" maxlength="17" v-rule v-model="search.billno" title='申领单号' placeholder="申领单号"></div>
                    </div>
                    <div class="form-group form-label">
                        <div class="control">
                            <input type="text" maxlength="50" v-rule v-model="search.goodsinfo" title='商品名称、编号、厂商、注册证号'
                                   placeholder="商品名称、编号、厂商、注册证号"></div>
                    </div>
                </div>
                <div class="group-row">
                    <div class="form-group form-label">
                        <!-- <label for="cn1" class="label">结算日期</label> -->
                        <div class="control control-date" style="height:34px;overflow: inherit;">
                            <div style="width:44%;float:left;">
                                <datepicker :target.sync="search.startdate" :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">
                        <label for="cn4" class="label">科室</label>
                        <div class="control">
                            <select v-model="search.deptguid" id='cn4' class="inp2">
                                <option value="">请选择</option>
                                <option v-for='item in deptlist' :value="item.value">{{item.label}}</option>
                            </select>
                        </div>
                    </div>
                </div>
                <div class="group-row">
                    <div class="form-group form-label">
                        <div class="control">
                            <input type="text" maxlength="20" v-rule v-model="search.suppliername" title='供应商' placeholder='供应商'></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="m-20-0">
                <button class="btn button-green"  @click="addMfmedgoods">生成计划单</button>
            </div>
            <table class="itable itable-td-long-text">
                <thead id="t_header">
                <tr>
                    <th class="w60">序号</th>
                    <th class="w100">申领日期</th>
                    <th class="w100">单据编号</th>
                    <th class="w80">申领科室</th>
                    <!-- <th class="w100">供应商</th> -->
                    <th class="w80">商品编码</th>
                    <th class="w120">商品</th>
                    <th class="w80">单位</th>
                    <th class="w60">申领数</th>
                    <th class="w60">库存缺货数</th>
                    <th class="w60">缺货原因</th>
                    <th class="w60">采购数量</th>
                </tr>
                </thead>
                <tbody class="txt_v">
                <tr v-if="trmedplanList.length==0">
                    <td colspan="15" >
                        暂无符合条件的记录
                    </td>
                </tr>
                <tr v-else v-for='item in trmedplanList'>
                    <td>
                        <div class="checkbox-control">
                            <input type="checkbox" :id="item.guid+item.rowno" v-model="item.checked">
                            <label class="checkbox" :for="item.guid+item.rowno">{{$index+1}}</label>
                        </div>
                    </td>
                    <td>{{item.applydate | getYMD}}</td>
                    <td class="t-left pr10">{{item.billno}}</td>
                    <td class="pr10">{{item.meddeptname}}</td>
                    <!-- <td class="t-left pr10">
                       {{item.suppliername}}
                    </td> -->
                    <td class='t-left pr10'>{{item.goodscode}}</td>
                    <td class="t-left pr10">{{item.goodsname}} <br> {{item.goodsspec}} <br>{{item.producer}}</td>
                    <td>{{item.unit}}</td>
                    <td>{{item.applyqty}}</td>
                    <td>{{item.osqty}}</td>
                    <td>{{item.varchar1}}</td>
                    <td>{{item.poqty}}</td>
                </tr>
                </tbody>
            </table>
            <pagination
                @page-change="getData(false)"
                :class="['m-20-0']"
                :page-no.sync="search.page"
                :total-pages.sync="search.totalPages"></pagination>
        </div>
        <!--purchase-plan end-->
    </div>
</template>
<script>
    module.exports={
        data:function(){
            return{
                shortageselectlist:[],
                addSign: [],
                trmedplanList:[],
                shortageList:[],
                HospitalCreateCollTrplanVO:{
                    list:[],
                },
                search:{
                    pageSize:50,
                    page:1,
                    totalPages:0,
                    suppliername: '',
                    goodsinfo:'',
                    startdate:this.GetDate().begindate,
                    enddate:this.GetDate().enddate,
                    billno:'',
                    deptguid:''
                },
                authoritySetting:{
                    oneSearchFlag:false,
                    oneMakeMonthPlanFlag:true,
                    twoDetailFlag:true,
                    twoTraceFlag:true,
                },
                step:1,//第一步
            };
        },

        methods:{
            checkStep:function(){
                var self = this;
                Ajax.post('/hospitalTrmedplan/findTptrmedPlanDetailListdoosBypriorityNumber',{})
                    .then(function (response){
                        var data = response.data.data;
                        if(response.data.errorCode == 0){
                            if(data && data == "2"){//有
                                self.step = "2"
                            }
                        }else{
                            self.MessageBox.alert(response.data.message);
                        }
                    })
            },
            // 添加商品
            addMfmedgoods: function(){
                var self = this;
                // var flg = true;
                self.HospitalCreateCollTrplanVO.list=[];
                // addSign
                for(var i=0;i<self.trmedplanList.length;i++){

                    if(self.trmedplanList[i].checked){
                        self.HospitalCreateCollTrplanVO.list.push(self.trmedplanList[i]);
                    }
                    // if(self.addSign[i]){
                    //   if(self.shortageList.length == 0){
                    //     self.HospitalCreateCollTrplanVO.list.push(self.trmedplanList[i]);
                    //   }else{
                    //     for(var j=0;j<self.HospitalCreateCollTrplanVO.list.length;j++){
                    //       if(self.trmedplanList[i].guid == self.HospitalCreateCollTrplanVO.list[j].guid && self.HospitalCreateCollTrplanVO.list[i].supplierName == self.HospitalCreateCollTrplanVO.list[j].supplierName){
                    //         flg = false;
                    //          break;
                    //       } else {
                    //         flg = true;
                    //       }
                    //     }
                    //     if (flg) {
                    //       self.HospitalCreateCollTrplanVO.list.push(self.trmedplanList[i]);
                    //     }
                    //   }
                    // }
                }
                //不勾选
                if(self.HospitalCreateCollTrplanVO.list ==null || self.HospitalCreateCollTrplanVO.list ==''){
                    if(self.step && self.step == "2"){//临时表有数据,直接挑转
                        self.$route.router.go('/hospitalStockoutView');
                    }else{//临时表无数据,提示
                        self.MessageBox.alert('请勾选缺货单!');
                    }
                    return;
                }
                //勾选了,无论有无数据,都去保存
                Ajax.post('/billType/saveDoOsTrmedplan',JSON.stringify(self.HospitalCreateCollTrplanVO.list))
                    .then(function (response){
                        var data = response.data.data;
                        if(response.data.errorCode == 0){
                            self.$route.router.go('/hospitalStockoutView');
                        }else{
                            self.MessageBox.alert(response.data.message);
                        }
                    })
            },
            getData:function(isRefresh){
                var self = this;
                self.$set("trmedplanList",[]);
                if(isRefresh) {
                    this.search.page = 1;
                }
                Ajax.post('/billType/findTrmeddeptdoosByPlan',this.search)
                    .then(function(response){
                        var data=response.data.data;
                        for(var i=0;i<data.list.length;i++){
                            data.list[i].checked=false;
                        }
                        // self.$set('addSign',addSignTemp);
                        self.$set("trmedplanList",data.list);
                        self.search.totalPages=data.totalPages;

                        // 其他
                        // var addSignTemp = [];

                    })
            },
            // 科室查询
            depart:function(state){
                var self = this;
                self.search.parameter_category=state;
                Ajax.get('/util/departmentsInfo',self.search)
                    .then(function (response){
                        var data = response.data.data;
                        if(response.data.errorCode==0){
                            self.$set('deptlist',response.data.data);

                        }
                    })
            }
        },
        route:{
            activate : function(){
                this.checkStep();
                this.depart(2);
                this.getData(true);
                this.HospitalCreateCollTrplanVO.list = [];
            }
        }

    };
</script>