order-highout.vue 12.4 KB
<!--跟台高值出库:模板选择-->
<script>
  import model_tab from './include_model_tab.vue';

  module.exports = {
    data: function () {
      return {
        tab_index:0,
        // 跟台高值模板列表数据
        hvdoList: [],
        // 跟台高值模板的商品名称列表数据
        hvdoDetailList:[],
        // 图片数据
        imgcache:[],

        // 当前选择的模板
        currentModel:{},
        // 当前模板名称
        currentModelName:'',
        // 跟台高值模板的查询条件
        hvdoParams:{
          total: 0,
          page: 1,
          pageSize: 5,
          totalPages: 0
        },
        // 跟台高值某个模板的商品的查询条件
        hvdoDetailParams: {
          //total: 0,
          page: 1,
          pageSize: 99999,
          totalPages: 0,
          search_EQ_modelguid:'',// 模板的主键
        },


        openDialogFlg:false,// 是否弹出共享弹出框
        // 分享人
        supplierStaff:[],
        staffChecked:[],
        // 要共享的模板
        modelShare:{
          name:'',// 模板名称
          guid:'',// 模板guid
          mkstaffguid:'',// 业务员guid
          mkstaffname:'',// 业务员姓名
        }
      };
    },
    methods: {
      // 初始化操作
      getData:function(){
        var self = this;

        // 获得跟台高值模板列表
        Ajax.get('/trhv/listHvdo', self.hvdoParams)
          .then(function (response){
            var data = response.data.data;
            self.$set('hvdoList',data.list);

            self.hvdoParams.pageno = data.pageno;
            self.hvdoParams.totalPages = data.totalPages;
            self.hvdoParams.total = data.total;
        })
      },
      // 查询跟台高值模板中的商品明细数据
      getDetailData:function(modelguid,obj){
        var self = this;
        self.hvdoDetailParams.search_EQ_modelguid = modelguid;
        // 把当前选中的模板进行赋值
        self.currentModel = obj;

        // 获得跟台高值模板列表
        Ajax.get('/trhv/listHvdoDetail', self.hvdoDetailParams)
          .then(function (response){
            var data = response.data.data;
            if(response.data.errorCode==0){              
              self.$set('hvdoDetailList',data.list);
              // 封存商品图片信息
              self.$set('imgcache',response.data.senData);

              if(data.list==null || data.list.length==0){
                layer.msg('您没有权限查看该模板中的跟台高值商品信息!');
              }
            }else{
              layer.msg('获得模板数据异常!');
            }
        })
      },
      // 选择模板,下一步生成出库单
      genTrhvdo:function(){
        var self = this;
        if((self.currentModel.name||'')==''){
          layer.msg('请选择跟台高值模板!');
          return ;
        }
        // 首先判断医院是否选择了,如果没有选择,那么需要提示
        if(self.hvdoDetailList.length==0){
          layer.msg('该模板没有商品,请换一个跟台高值模板试试!');
          return ;
        }
        // 判断是否选择了收藏为模板
        self.MessageBox({
          title: '提示',
          message: "您选择的模板是“"+self.currentModel.name+"”,是否生成订单?",
          type: 'success',
          showCancelButton: true
        },function(action) {
          if(action=='confirm'){
            Ajax.post('/trhv/genTrhvdoByModel', self.currentModel)
              .then(function (response) {
                var billno = response.data.data;
                if(billno!=''){
                  layer.msg('生成订单成功!');

                  self.$route.router.go('/trhv/orderHighout4/'+billno);
                }
            });
            return ;
          } 
        }); 
      },      
      // 获得分享人
      openWin: function (guid,name) {
        var self = this;

        // 当前操作的模板
        self.modelShare.guid = guid;
        self.modelShare.name = name;

        Ajax.get('/trhv/getSharedPerson')
          .then(function(response){
            var data = response.data.data;
            if (response.data.errorCode == 0) {
              self.$set('supplierStaff',data.list);
              // 是否存在分享人
              if (self.supplierStaff.length > 0) {
                // 是否出现弹出窗
                self.openDialogFlg = true;
              } else {
                  layer.msg('没有可共享人!');
              }            
            } else {
                layer.msg(response.data.message);
            }
          });
      },
      // 关闭弹出框
      closeWin:function() {
        var self = this;
        self.openDialogFlg = false;
      },
      // 弹出框确定
      share: function() {
        var self = this;

        // 共享用户
        if(self.staffChecked!=null && self.staffChecked.length>=1){
          var staff = self.staffChecked[0];

          self.modelShare.mkstaffguid = staff.split("@")[0];
          self.modelShare.mkstaffname = staff.split("@")[1];
        }else{
            layer.msg('请选择要分享的用户!');
          return;
        }

        // 是否为收藏夹命名
        if (self.modelShare.name == '') {
            layer.msg('请为模板起个好名字!');
          return;
        }

        Ajax.post('/trhv/isExistHv',self.modelShare).then(function(response){
          var data = response.data;
          if (data.errorCode == 0) {
            if(data.data=='Y'){// 已经存在的名称
                layer.msg('模板名称重复,请换个名称试试!');
            }else{
              // 分享模板
              Ajax.post('/trhv/shareModel',self.modelShare).then(function(response){
                var data = response.data;
                if (data.errorCode == 0) {
                  // 操作成功
                  if(data.data>0){

                      self.MessageBox({title:'提示', message:'共享成功!', type: 'alert'},function(action){
                      self.openDialogFlg = false;
                    });
                  }else{

                      self.MessageBox({title:'提示', message:'共享失败!', type: 'alert'},function(action){
                      self.openDialogFlg = false;
                    });                    
                  }
                } else {
                    layer.msg(data.message);
                }
              })
            }
          } else {
              layer.msg(data.message);
          }
        })
      },
    },
    route: {
      activate: function () {
        this.getData();
      }
    },
    components: {
        model_tab
    },
    watch:{
      'staffChecked':function(val){
        if(val!=null && val.length>1){
            layer.msg('只能选择一个哦!');
          this.staffChecked.splice(val.length-1,1);
          return ;
        }
      }
    }
  };
</script>
<template>
  <div class="container resource close-left-menu contaNEW">
    <div class="pop-banner clearfix">
    <div class="operate-btns"></div>
    <h3 class="current-module">跟台高值出库</h3>
  </div>
  <div class="order-highout">

    <!--跟台高值出库Tab页-->
    <model_tab :tab_index="tab_index"></model_tab>


    <div class="step-btn">
      <a v-link="'/trhv/orderHighout2'">跳过,直接选择商品</a>
    </div>
    <div class="fheader gray-bottom mb-0">
      <h4 class="fh-collect">收藏夹</h4>
      <div class="statistics primary-text">
        <p class="fl ml-10">您的收藏夹共有</p> <em class="fl fW">{{hvdoParams.total==null?0:hvdoParams.total}}</em>
        <p class="fl"> 个模板</p>
      </div>
    </div>
    <div class="clearfix">
      <div class="pap-right mt-20">
        <!--没有模板中的商品数据的时候-->
        <div class="product-item clearfix" v-if="hvdoDetailList.length==0">
          <div class="product-item-r">
            <p>
            {{(hvdoDetailParams.modelguid||'')==''?'请选择跟台高值模板':'模板中没有商品明细'}}
            <p>
          </div>
        </div>
        <!--模板中的商品明细-->
        <div class="product-item clearfix"  v-for="hvdetail in hvdoDetailList">
          <div class="product-item-l">
            <div class="pro-pic pro-pic-lg">
              <imagebox v-bind:imgarr="imgcache[hvdetail.supplierGoodsguid] | original">
                <img class="pro-pic pro-pic-lg" style="margin-top: 0px;" 
                  v-bind:src="imgcache[hvdetail.supplierGoodsguid] | thumbnail">
                <span class="pic-max blue-search">
                </span>
              </imagebox>
            </div>
          </div>
          <div class="product-item-r">
            {{hvdetail.supplierGoodscode}}
            <br/>
            <span class="product-tit">{{hvdetail.supplierGoodsname}}</span>
            <br/>
            {{hvdetail.supplierGoodsspec}}
            <br/>
            {{hvdetail.manufacturer}}
            <br/>
            {{hvdetail.registkey}}
            <br/>
            {{hvdetail.supplierQty }}
          </div>
        </div>

      </div>
      <div class="pap-left">
        <div class="pap-min-h">
          <table class="itable itable-td-long-text">
            <!--itable-bordertop -->
            <thead>
              <tr>
                <th class="w50">序号</th>
                <th class="w140">模板名称</th>
                <th class="w90">订单条目数</th>
                <th class="w90">收藏时间</th>
                <th class="w60">收藏人</th>
                <th class="w50">操作</th>
              </tr>
            </thead>
            <tbody>
              <tr >
                <td colspan="10" v-if="hvdoList.length==0">
                暂无符合条件的记录
                </td>
              </tr>
              <tr v-for="hvdo in hvdoList" v-on:click="getDetailData(hvdo.guid,hvdo)">                
                <td>{{$index+1}}</td>
                <td>{{hvdo.name}}</td>
                <td>{{hvdo.countsum}}</td>
                <td>
                  {{hvdo.collectiontime}}
                </td>
                <td>{{hvdo.collectionstaff}}</td>
                <td>
                  <a v-on:click="openWin(hvdo.guid,hvdo.name)" 
                    v-if="'/supplier/trhv:saveModel' | myqx"
                    class="btn button-green">共享</a>
                </td>
              </tr>
            </tbody>
          </table>
          <div class="pagination m-20-0">
            <pagination
                 @page-change="getData"
                 :page-no.sync="hvdoParams.page"
                 :total-pages.sync="hvdoParams.totalPages">          
            </pagination>
          </div>
        </div>
        <div class="step-btn">
          <a v-on:click="genTrhvdo()" 
            v-if="'/supplier/trhv:genTrhvdo' | myqx">下一步,生成订单>></a>
        </div>
      </div>
    </div>
  </div>
</div>

<!-- 分享弹出 -->
<div v-bind:class="{'modal' : openDialogFlg, 'modal hide' :!openDialogFlg}">
  <div class="container resource">
    <div class="audit-detail" style="width:540px;height: 400px;">
      <div class="fheader" style="padding-left: 40px;margin-top: -60px;">
        <h2 class="fh-notes">模板共享</h4>
      </div>
      <div style="width:300px;height: 300px;float: left;border-right:1px solid rgba(96,111,122,.2);margin-left:20px;">            
        <sapn style="font-size: 15px;color: #606f7a;">请为模板起个好名字:</sapn>
        <input style="width:250px;margin-top: 10px; " class="" type="text" v-model="modelShare.name">
        <div style="text-align:center;padding-top:200px;">
          <button class="btn-d btn-d-activate btn-d-lg" @click="share">确定</button>
          <button class="btn-d btn-d-activate btn-d-lg" @click="closeWin">关闭</button>
        </div>  
      </div>
      <div style="width:200px;height: 300px;float: right;padding-top:0px;">
        <div class="checkbox-control checkbox-alone">
          <table >
            <tr style="height: 33px;" v-for="staff in supplierStaff">
              <td>
                <div >
                  <input type="checkbox" id="ch{{staff.guid}}"  
                    v-model="staffChecked"
                    value="{{staff.guid}}@{{staff.realname}}">
                  <label class="" for="ch{{staff.guid}}">{{staff.realname}}</label>
                </div>
              </td>
            </tr>
          </table>
        </div>
      </div> 
    </div>
  </div>
</div>
<!--end 分享弹出-->
</template>