<style>
  .CM_look{
      padding:4px!important;
      position: relative;
      top:1px;
  }
  .opUl li{
    display: inline-block;
    margin:10px 15px 10px 0;
  }
  .OPcommissionPeriods .singeRowTable tr td{
    padding: 8px 5px;
  }
  .OPcommissionPeriods .hoverSpan span:hover{
    cursor: pointer;
    text-decoration: underline;
    color: red;
  }
</style>
<template>
  <div class="flexOne OPcommissionPeriods">
    <div>
      <ul class="opUl">
        <li>
          <em>选择月份</em>
          <el-date-picker
          v-model="Month"
          value-format="yyyy-MM"
          type="month"
          placeholder="选择月">
        </el-date-picker>
        </li>
        <li v-show="btnShow">
            <el-button size="mini" type="danger" style="border-radius:14px" :loading="btnLoading" @click="generateTable">生成提成</el-button>
            <!-- <input v-loading="btnLoading" type="button" class="normalBtn" @click="generateTable" value="生成提成"/> -->
        </li>
      </ul>
    </div>
    <table v-loading="loading" class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <th>期数</th>
        <th>提成总金额</th>
        <th>操作信息</th>
        <th width="500px">操作备注</th>
        <th>{{$t('system.table_operation')}}</th>
      </tr>
      <tr v-for="item in dataList">
        <td>{{item.Periods}}</td>
        <td>{{item.SumPrice}}</td>
        <td>
          <p>{{item.CreateByStr}}</p>
          <p>{{item.CreateStr}}</p>
          </td>
        <td>{{item.Discription}}</td>
        <td>
          
          <el-tooltip class="item" effect="dark" content="查看" placement="top">
            <el-button type="primary" class="CM_look" @click="goUrl('OPCommissionDetail',item.ID)" icon="iconfont icon-chakan" circle></el-button>
          </el-tooltip>
          <el-tooltip class="item" effect="dark" content="一键制单" placement="top">
            <el-button @click="YijianZD(item)" type="danger" class="CM_look" icon="iconfont icon-mui-icon-add" circle></el-button>
          </el-tooltip>
          <el-tooltip class="item" effect="dark" content="手动制单" placement="top">
            <el-button type="primary" class="CM_look" @click="goUrlZD" icon="iconfont icon-danju1" circle></el-button>
          </el-tooltip>    
          
            <el-tooltip class="item" effect="dark" content="查看详情" placement="top">
              <el-popover
              placement="left"
              width="700"
              trigger="click">
              <table class="OPcommissionPeriods singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
                  <tr>
                      <th>公司</th>
                      <th>制单人</th>
                      <th width="56%">单据</th>
                      <th>制单时间</th>
                  </tr>
                  <tr v-for="(item,index) in djList" :key="index">
                    <td>{{item.BName}}</td>
                    <td>{{item.EmName}}</td>
                    <td>
                      <div class="hoverSpan" style="text-align: left;padding: 6px 4px;">
                        <span style="margin-right:5px;margin-bottom:5px" @click="goFinal(fin)" v-for="(fin,key) in item.FinanceIdList" :key="key">{{fin}}</span>  
                      </div>
                    </td>
                    <td>{{item.CreateDate}}</td>
                  </tr>
                  <tr v-if="djList.length==0">
                    <td style="text-align:center" colspan="4">暂无数据</td>
                  </tr>
              </table>
              <el-button @click="Chankan(item)" style="margin-left:5px" slot="reference" type="warning" class="CM_look" icon="iconfont icon-caidan-fill" circle></el-button>
            </el-popover>
            </el-tooltip>
          
          
           
        </td>
      </tr>
    </table>
    <!-- 分页 -->
    <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
          layout="total,prev, pager, next, jumper" :page-size='msg.PageSize' :total='total'>
    </el-pagination>
    <el-dialog
    title="提示"
    :visible.sync="dialogVisible"
    width="30%">
    <span>{{ErrorMessage}}</span>
    <span slot="footer" class="dialog-footer">
      <el-button size="mini" @click="dialogVisible = false">取 消</el-button>
      <el-button size="mini" type="danger" @click="dialogVisible = false">确 定</el-button>
    </span>
  </el-dialog>
  </div>
</template>

<script>
import moment from "moment"
  export default {
    data() {
      return {
        dialogVisible:false,
        ErrorMessage:'',
        Month:moment().format("YYYY-MM"),
        msg: {
          PageIndex: 1,
          PageSize: 20
        },
        loading:false,
        //数据源
        dataList:[],
        total:0,
        currentPage: 1,
        btnLoading:false,
        btnShow:false,
        djList:[],
      }
    },
    mounted() {
      let userInfo = this.getLocalStorage();
      let ActionMenuCode=userInfo.ActionMenuCode;
      if(ActionMenuCode.indexOf('P_OPCommissionSend')!=-1){
        this.btnShow=true;
      }

      this.getList();
    },
    methods: {
      goUrlZD(){
        let orderObj = {
          OrderID: 0,
          OrderSource: 8,
          Obj: {},
          SourceID: 0,
          CostType: 112,
          SelectState:true,
        }
        let id=[29,31];
        this.$router.push({
            name: 'ChoiceAddFinancialDocuments',
            query: {
              Type: 2,
              templateID: JSON.stringify(id),
              'blank': 'y',
              'orderObj': JSON.stringify(orderObj)
            }
          })
      },
      goFinal(fin){
        document.querySelector("#app").click();
        this.$router.push({
            name: 'FinancialDocumentsDetail',
            query: {
              id: fin,
              'blank': 'y',
            }
          })
      },
      Chankan(item){
        this.apipost(
          "Financial_post_GetOPCommissionBetchImportList",
          {PeriodsId:item.ID},
          res => {
            if(res.data.resultCode==1){
              this.djList=res.data.data;
            }else{
              this.Error(res.data.message);
            }
          },
          null
        );
      },
      YijianZD(item){
        this.loading=true;
        this.apipost(
          "Financial_post_SetOPCommissionBetchImport",
          {PeriodsId:item.ID},
          res => {
            this.loading=false;
            if(res.data.resultCode==1){
              this.Success(res.data.message)
              this.getList();
            }else{
              this.dialogVisible=true;
              this.ErrorMessage=res.data.message;
            }
          },
          null
        );
        
      },
      handleCurrentChange(val) {
        this.msg.PageIndex = val;
        this.getList();
      },
      goUrl(path,id) {
        this.$router.push({
          path: path,
          query: {
            PeriodsId:id,
            blank: 'y',
            tab: '期数详情'
          }
        });
      },
      //获取数据
      getList() {
        this.loading = true;
        this.apipost(
          "sellcommission_GetOPCommissionPageList",
          this.msg,
          res => {
            this.loading = false;
            if(res.data.resultCode==1){
              this.dataList = res.data.data.pageData;
              this.total = res.data.data.count;
            }else{
              this.Error(res.data.message);
            }
          },
          null
        );
      },
      //生成提成报表
      generateTable(){
        if(!this.Month||this.Month==""){
          this.Error("请选择月份!")
          return;
        }
        this.btnLoading=true;
        this.apipost(
            "sellcommission_SetOPCommission",{Month:this.Month},
            res => {
              this.btnLoading=false;

              if(res.data.resultCode==1){
                this.getList();
                this.Success('报表生成成功')
              }else{
                this.Error(res.data.message);
              }
            },
            null
          );
        }
    }
  }
</script>