<template>
  <div class="max-big-box">
    <div v-if="newModifyPageType&&detailsType!=1&&detailsType!=2&&detailsType!=3" class="big-max-box">
      <!--操作按钮-->
      <div class="top-box">
        <div class="input-box">
          <input class="search-input" type="text" placeholder="请输入申请标题名称/申请人关键字进行查询">
          <div class="dropdown-box" v-for="(item,index) in downList" :key="index">
            <p class="dropdown-left-title">{{item.name}}：</p>
            <div class="dropdown-right-box cursor_pointer"
                 @mouseenter="dropdownClickOpen(index,'1')" @mouseleave="dropdownClickOpen(index,'2')">
              <p class="dropdown-text">{{downList[index].downText}}</p>
              <div class="dropdown-for-max" v-if="downList[index].downType">
                <p v-for="(item,indexTwo) in downList[index].list" :key="indexTwo"
                   :class="{'color-A':downList[index].mouseColor == item}"
                   @mouseenter="colorTypeEnter(index,item)" @mouseleave="colorTypeLeave(index)"
                   @click="dropdownClick(index,item)">{{item}}</p>
              </div>
            </div>
          </div>
          <div class="time-box">
            <p>申请时间：</p>
            <p class="cursor_pointer" @click="openTimeBox('1')">{{playTime}}</p>
            <p>-</p>
            <p class="cursor_pointer" @click="openTimeBox('2')">{{endTime}}</p>
          </div>
          <div class="button-box cursor_pointer">
            <img src="~@/assets/images/icon_27.png">
            <p class="cursor_pointer">查询</p>
          </div>
        </div>
        <div class="top-right-box">
          <p class="add-button cursor_pointer" @click="clickPageType">新增</p>
          <p class="del-button cursor_pointer" @click="allDel">批量删除</p>
          <p class="text-p">已选择{{tableNum}}条</p>
        </div>
      </div>
      <!--表格-->
      <div class="table-box">
        <el-table
          ref="multipleTable"
          :row-key="getRowKey"
          :data="tableData"
          tooltip-effect="dark"
          style="width: 100%"
          @select-all="handleSelectionChange"
          @select="handleSelectionChange">
          <el-table-column
            :reserve-selection="true"
            type="selection"
            width="50">
          </el-table-column>
          <el-table-column
            type="index"
            :index="indexMethod"
            label="序号"
            width="65">
          </el-table-column>
          <el-table-column
            prop="name"
            label="申请标题"
            width="230">
          </el-table-column>
          <el-table-column
            prop="class"
            label="申请查看仓库"
            width="170">
          </el-table-column>
          <el-table-column
            prop="type"
            label="备注"
            width="270">
          </el-table-column>
          <el-table-column
            prop="text"
            label="申请时间"
            width="210">
          </el-table-column>
          <el-table-column
            prop="unitName"
            label="申请人"
            width="120">
          </el-table-column>
          <el-table-column
            prop="medicalName"
            label="是否已审批"
            width="180">
            <template slot-scope="scope">
              <p v-if="scope.row.medicalName==1">是</p>
              <div class="type-box" v-if="scope.row.medicalName==2">
                <p class="colorA">否</p>
                <p class="cursor_pointer" @click="oneGenerateOne">审批</p>
              </div>
            </template>
          </el-table-column>
          <el-table-column
            prop="materialNumber"
            label="审批时间"
            width="220">
          </el-table-column>
          <el-table-column
            prop="cName"
            label="审批结果"
            width="180">
            <template slot-scope="scope">
              <p :class="{'colorA':scope.row.cName==2||scope.row.cName==3}">{{scope.row.cName==1?"审批通过":(scope.row.cName==2?"退回修改":(scope.row.cName==3?"不通过":""))}}</p>
            </template>
          </el-table-column>
          <el-table-column
            prop="cTime"
            label="审批人"
            width="130">
          </el-table-column>
          <el-table-column
            label="生成功能"
            width="200">
            <template slot-scope="scope">
              <div class="table-button-max-display-box">
                <p class="cursor_pointer">生成word</p>
                <p class="cursor_pointer">生成pdf</p>
              </div>
            </template>
          </el-table-column>
          <el-table-column
            label="操作"
            width="220">
            <template slot-scope="scope">
              <div class="table-min-button">
                <div class="info-box cursor_pointer" @click="handleInfo(scope.$index, scope.row)">
                  <img src="~@/assets/images/icon_36.png">
                  <p>详情</p>
                </div>
                <div class="del-box cursor_pointer" @click="handleDelete(scope.$index, scope.row)">
                  <img src="~@/assets/images/icon_38.png">
                  <p>删除</p>
                </div>
              </div>
            </template>
          </el-table-column>
        </el-table>
      </div>
      <el-pagination
        background
        @current-change="handleCurrentChange"
        layout="prev, pager, next"
        :current-page="currentPage"
        :page-size="pagesize"
        :total="total">
      </el-pagination>
      <!--时间日历-->
      <div class="time-max-big-box" v-if="timeType!=0">
        <div class="time-big-box">
          <el-calendar class="time-min-box" v-model="timeValue">
          </el-calendar>
          <div class="button-box">
            <p class="cursor_pointer" @click="openTimeBox('0')">返回</p>
            <p class="cursor_pointer" @click="clearTimeData">清除</p>
            <p class="cursor_pointer" @click="setTimeData">确定</p>
          </div>
        </div>
      </div>
    </div>
    <new-modify
      v-if="!newModifyPageType&&detailsType!=1"
      :newModifyData="newModifyData"
      @newModifyLeftClick="newModifyLeftClick"
      @newModifyRightClick="newModifyRightClick"
    ></new-modify>
    <interactive-window
      v-if="windowType"
      :windowData="windowData"
      @windowLeftClick="windowLeftClick"
      @windowRightClick="windowRightClick"
    ></interactive-window>
    <details-page :dataInfo="dataInfo" v-if="detailsType==1"></details-page>
  </div>
</template>

<script>
  export default {
    name: "reviewTheAuthorization",//审核授权
    components:{
      detailsPage: resolve => {require(['@/components/detailsPage'], resolve)},//详情组件
      newModify: resolve => {require(['@/components/newModify'], resolve)},//新建-修改组件
      interactiveWindow: resolve => {require(['@/components/interactiveWindow'], resolve)},//提示弹窗
    },
    data () {
      return {
        //传输用数据
        transmissionData:{},
        //下拉框
        downList:[
          {
            name:"申请查看仓库",
            downType:false,
            downText:"全部",
            mouseColor:"",
            list:["全部","西南仓库","新桥仓库",]
          },
          {
            name:"是否已审批",
            downType:false,
            downText:"全部",
            mouseColor:"",
            list:["全部","是","否",]
          },
          {
            name:"审批结果",
            downType:false,
            downText:"全部",
            mouseColor:"",
            list:["全部","已通过","已拒绝",]
          },
        ],
        //表格限制
        pagesize: 8,
        currentPage:1,
        //列表总数
        total:0,
        /*数据*/
        tableData:[
          {
            id:"1",
            name:"895919293西南医院申请查看新桥医院仓库物资情况",
            class:"西南医院仓库",
            type:"备注信息备注信息备注信息备注信息备注信息",
            text:"2021-2-23 18:49:52",
            unitName:"杨爱国",
            medicalName:"1",
            materialNumber:"2021-2-23 18:49:52",
            cName:"1",
            cTime:"张建国",
          },
          {
            id:"2",
            name:"895919293西南医院申请查看新桥医院仓库物资情况",
            class:"西南医院仓库",
            type:"备注信息备注信息备注信息备注信息备注信息",
            text:"2021-2-23 18:49:52",
            unitName:"杨爱国",
            medicalName:"2",
            materialNumber:"2021-2-23 18:49:52",
            cName:"2",
            cTime:"张建国",
          },
          {
            id:"3",
            name:"895919293西南医院申请查看新桥医院仓库物资情况",
            class:"西南医院仓库",
            type:"备注信息备注信息备注信息备注信息备注信息",
            text:"2021-2-23 18:49:52",
            unitName:"杨爱国",
            medicalName:"1",
            materialNumber:"2021-2-23 18:49:52",
            cName:"3",
            cTime:"张建国",
          },
          {
            id:"4",
            name:"895919293西南医院申请查看新桥医院仓库物资情况",
            class:"西南医院仓库",
            type:"备注信息备注信息备注信息备注信息备注信息",
            text:"2021-2-23 18:49:52",
            unitName:"杨爱国",
            medicalName:"2",
            materialNumber:"2021-2-23 18:49:52",
            cName:"2",
            cTime:"张建国",
          },
        ],
        //选中数据
        multipleSelection:[],
        // 弹窗状态
        windowType:false,
        //弹窗组件数据
        windowData:{},
        //勾选数量
        tableNum:0,
        // 新增-修改页面状态
        newModifyPageType:true,
        //新增-修改页面数据
        newModifyData:{},
        //搜索时间
        playTime:"请选择时间",
        endTime:"请选择时间",
        //日历时间
        timeValue: new Date(),
        timeType:0,
        // 详情页状态
        detailsType:0,
        //给组件传参数据
        dataInfo:[],
      }
    },

    created(){

    },
    mounted() {

    },
    methods: {
      //时间选择事件
      openTimeBox(type){
        this.timeType=type
      },
      setTimeData(){
        let year = this.timeValue.getFullYear();
        let month = this.timeValue.getMonth()+1;
        let day = this.timeValue.getDate();
        if(this.timeType==1){
          this.playTime = year+'-'+month+'-'+day;
        }else if(this.timeType==2){
          this.endTime = year+'-'+month+'-'+day;
        }
        this.timeType = 0;
      },
      clearTimeData(){
        if(this.timeType==1){
          this.playTime = "请选择时间";
        }else if(this.timeType==2){
          this.endTime = "请选择时间";
        }
        this.timeType = 0;
      },
      //下拉菜单进入悬浮状态
      colorTypeEnter(type,item){
        this.downList[type].mouseColor=item;
      },
      //下拉菜单离开悬浮状态
      colorTypeLeave(type){
        this.downList[type].mouseColor = "";
      },
      // 下拉菜单选项悬浮事件
      dropdownClickOpen(type,state){
        if(state==1){
          this.downList[type].downType = true
        }else if(state==2){
          this.downList[type].downType = false
        }
      },
      // 下拉菜单点击事件
      dropdownClick(type,item){
        this.downList[type].downText = item;
        this.downList[type].downType = false;
      },
      // 审批
      oneGenerateOne(){
        let newData = {
          title:"提交",
          list:[
            {
              name:"标题",
              value:"",
            },
            {
              name:"审批凭证上传",
              value:"",
              uploadType:true
            }
          ]
        };
        this.newModifyData = {...newData};
        this.newModifyPageType = !this.newModifyPageType;
      },
      // 一键生成
      oneGenerate(){
        let newData = {
          title:"提交",
          list:[
            {
              name:"标题",
              value:"",
            },
          ]
        };
        this.newModifyData = {...newData};
        this.newModifyPageType = !this.newModifyPageType;
      },
      //新建组件状态切换
      clickPageType(){
        let newData = {
          title:"新增",
          list:[
            {
              name:"申请标题",
              value:"",
            },
            {
              name:"申请查看仓库",
              value:"请选择",
              list:["西南医院","金陵医院","新桥医院"]
            },
            {
              name:"备注",
              value:"",
              textArea:true,
            },
          ]
        };
        this.newModifyData = {...newData};
        this.newModifyPageType = !this.newModifyPageType;
      },
      // 批量删除
      allDel(){
        if(this.multipleSelection[0]){
          this.windowData = {
            type:"1",
            title:"提示",
            text:"确定要批量删除这些信息吗?",
            leftButton:"取消",
            rightButton:"确定",
          };
          this.windowType = !this.windowType;
        }else{
          this.windowData = {
            type:"3",
            title:"提示",
            text:"您没有勾选任何数据!",
            leftButton:"取消",
            rightButton:"确定",
          };
          this.windowType = !this.windowType;
        }
      },
      //表格绑定ID
      getRowKey (row) {
        return row.id
      },
      indexMethod(index) {
        return (this.currentPage-1)*this.pagesize+index+1;
      },
      //翻页
      handleCurrentChange(val) {
        console.log(`当前页: `,val);
        this.currentPage = val;
      },
      handleInfo(index, row){
        this.dataInfo =[
          {
            name:"申请标题",
            value:row.name,
          },
          {
            name:"申请查看仓库",
            value:row.class
          },
          {
            name:"备注",
            value:row.type,
          },
          {
            name:"申请时间",
            value:row.text,
          },
          {
            name:"申请人",
            value:row.unitName,
          },
        ]
        this.detailsType = 1;
      },
      // 删除
      handleDelete(index, row) {
        this.windowData = {
          type:"1",
          title:"提示",
          text:"确定要删除这条信息吗?",
          leftButton:"取消",
          rightButton:"确定",
        };
        this.windowType = !this.windowType;
      },
      //勾选
      handleSelectionChange(val) {
        this.multipleSelection = val;
        this.tableNum = this.multipleSelection.length
      },
      //弹窗组件左侧按钮方法-对应取消方法
      windowLeftClick(){
        this.windowType = !this.windowType;
      },
      //弹窗组件右侧按钮方法
      windowRightClick(){
        this.windowType = false;
        console.log("点击确定")
        let self = this;
        setTimeout(function(){
          self.windowText();
        },500);
      },
      //成功提示
      windowText(){
        this.windowData = {
          type:"2",
          title:"提示",
          text:"删除成功",
        };
        this.windowType = true;
      },
      //新增-修改组件内左侧按钮事件
      newModifyLeftClick(){
        this.newModifyPageType = !this.newModifyPageType;
      },
      //新增-修改组件内左侧按钮事件
      newModifyRightClick(data){
        this.newModifyPageType = !this.newModifyPageType;
        console.log("右键传值",data);
        this.windowData = {
          type:"2",
          title:"提示",
          text:"操作成功",
          leftButton:"取消",
          rightButton:"确定",
        };
        this.windowType = !this.windowType;
      },
      //供子组件调用方法
      outPage(){
        this.detailsType = 0;
      },
    }
  }
</script>

<style scoped lang="stylus">
  .max-big-box
    display flex
    flex-direction column
    flex:1;
    .big-max-box
      display flex
      flex-direction column
      flex:1;
      //搜索与操作按钮
      .top-box
        height:80px;
        .input-box
          width:1670px;
          height:30px;
          display flex
          margin-left:105px;
          .search-input
            height:28px;
            width:330px;
            border:1px solid $theme;
            padding-left:10px;
          .dropdown-box
            display flex
            color:$color_ff;
            z-index:1;
            margin-left:15px;
            .dropdown-left-title
              line-height:30px;
              font-size:$font_14;
            .dropdown-right-box
              font-size:$font_12;
              .dropdown-text
                width:160px;
                height:30px;
                line-height:30px;
                background:url("~@/assets/images/button_15.png");
                background-size:100% 100%;
              .dropdown-for-max
                background:$backColor1;
                border-bottom-right-radius 4px
                border-bottom-left-radius 4px
                p
                  width:160px;
                  height:30px;
                  line-height:30px;
                .color-A
                  /*
                  background:$backColor2 !important;
                  color:$color_ff !important;
                  */
                  color:$theme !important;
                  border-bottom-right-radius 4px
                  border-bottom-left-radius 4px
          .time-box
            width:380px;
            display flex
            margin-left:20px;
            p
              color:$color_ff;
            p:nth-child(1)
              width:100px;
              line-height:30px;
              font-size:$font_14;
            p:nth-child(2)
              width:120px;
              height:30px;
              background url("~@/assets/images/button_08.png")
              background-size 100% 100%
              font-size:$font_12;
              line-height:30px;
            p:nth-child(3)
              width:27px;
              line-height:30px;
            p:nth-child(4)
              width:120px;
              height:30px;
              background url("~@/assets/images/button_08.png")
              background-size 100% 100%
              line-height:30px;
              font-size:$font_12;
          .button-box
            margin-left:15px;
            display flex
            height:30px;
            width:80px;
            background:url("~@/assets/images/button_03.png");
            background-size:100% 100%;
            img
              display block
              height:20px;
              width:20px;
              margin:5px 6px 0 13px;
            p
              line-height:30px;
              font-size:$font_12;
              color:$color_ff;
        .top-right-box
          display flex
          margin-top: 20px;
          margin-left: 1470px;
          .add-button
            width:110px;
            height:30px;
            background:url("~@/assets/images/button_06_1.png");
            background-size:100% 100%;
            line-height:30px
            color:$color_ff;
            font-size:$font_12;
            padding-left:44px;
            text-align left
          .del-button
            margin-left:30px;
            width:110px;
            height:30px;
            background:url("~@/assets/images/button_05_1.png");
            background-size:100% 100%;
            line-height:30px
            color:$color_ff;
            font-size:$font_12;
            padding-left:41px;
            text-align left
          .text-p
            width:90px;
            color:$color_ff;
            line-height:30px
            font-size:$font_12;
      //表格
      .table-box
        width:1710px !important;
        margin:20px 105px;
        text-align center !important
        .type-box
          display flex
          width:150px;
          margin:0 auto;
          p:nth-child(1)
            width:90px;
          p:nth-child(2)
            width:60px;
            color:#333;
            font-size:$font_12;
            background url("~@/assets/images/button_14.png")
            background-size 100% 100%
            border-radius:4px;
        .colorA
          color:$theme3;
        .colorB
          color:$theme;
        .table-min-button
          width:145px;
          margin:0 auto;
          display flex
          .info-box
            height:20px;
            width:60px;
            font-size:$font_14;
            color:$theme;
            display flex
            margin-right:11px;
            img
              display block
              height:20px;
              width:20px;
              margin-right:4px;
          .add-box
            height:20px;
            width:60px;
            font-size:$font_14;
            color:$theme;
            display flex
            margin-right:11px;
            img
              display block
              height:20px;
              width:20px;
              margin-right:4px;
          .del-box
            height:20px;
            width:70px;
            font-size:$font_14;
            color:$theme3;
            display flex
            img
              display block
              height:20px;
              width:20px;
              margin-right:4px;
      //时间日历
      .time-max-big-box
        z-index 6
        height:100%;
        width:100%;
        position: absolute
        top:0;
        left:0;
        background:rgba(0,0,0,0.3);
        .time-big-box
          z-index 6
          height:750px;
          width:660px;
          position: absolute
          top:50%;
          left:50%;
          transform :translate3d(-50%,-50%,0)
          margin:auto;
          background $color_ff
          border-radius:8px;
          border:4px solid $theme;
          .button-box
            display flex
            color:$color_ff;
            width:390px;
            margin:20px auto;
            p:nth-child(1)
              height:30px;
              line-height:30px;
              width:120px;
              background:url("~@/assets/images/button_10.png");
              background-size 100% 100%
            p:nth-child(2)
              margin-left:20px;
              height:30px;
              line-height:30px;
              width:120px;
              background:url("~@/assets/images/button_05.png");
              background-size 100% 100%
            p:nth-child(3)
              margin-left:20px;
              height:30px;
              line-height:30px;
              width:120px;
              background:url("~@/assets/images/button_02.png");
              background-size 100% 100%
    //修改日期选择样式
    /*
    .el-calendar
      background $color_ff
    */
    //修改table表格样式
    .el-table
      background rgba(6,177,240,0.2)
    .el-table /deep/ .el-table__empty-text
      width: 100%;
      text-align left
      margin-left:825px;
    .el-table /deep/ .el-table__body-wrapper::-webkit-scrollbar
      width: 4px;     /*高宽分别对应横竖滚动条的尺寸*/
      height: 4px;
    .el-table /deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb
      border-radius: 5px;
      -webkit-box-shadow: inset 0 0 5px $theme;
      background: $theme;
    .el-table /deep/ .el-table__body-wrapper::-webkit-scrollbar-track
      -webkit-box-shadow: inset 0 0 5px rgba(255,255,255,0);
      border-radius: 0;
      background: rgba(255,255,255,0);
    .el-table /deep/ tr
    .el-table /deep/ th
      background rgba(6,177,240,0)
    .el-table::before
      height:0;
    .el-table /deep/ .cell
      max-height:46px;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
    .el-table /deep/ td
    .el-table /deep/ th.is-leaf
      border-bottom:0!important;
    .el-table /deep/ .el-checkbox__inner
      //background rgba(6,177,240,0.2)
      border 1px solid #216f93 !important
    .el-table /deep/ thead
      color:$color_ff;
    .el-table
      color:$color_a1
    .el-table /deep/ th
      text-align-last: center;
    .el-table /deep/ td
      text-align-last: center;
    .el-table /deep/ tbody tr:hover > td
      background rgba(6,177,240,0.2)
      color:$theme;
    .el-table /deep/ .el-checkbox
      width:14px;
      margin:0 auto;
      display block
    //修改动作条样式
    .el-pagination.is-background /deep/ .btn-next
    .el-pagination.is-background /deep/ .btn-prev
    .el-pagination.is-background /deep/ .el-pager li
      background:url("~@/assets/images/button_13.png");
      color:$color_ff;
    .el-pagination.is-background /deep/ .el-pager li:not(.disabled).active
      background:url("~@/assets/images/button_14.png");
      color:$color_ff;
    .colorA
      color :$theme;
    ::-webkit-input-placeholder
      color: $border_1;
    ::-moz-placeholder
      color: $border_1;
    ::-ms-input-placeholder
      color: $border_1;

</style>
