<template>
  <div class="eibs-tab">
    <!-- <c-list-search @form-reset="selpHandleReset" @form-search="selpHandleSearch">
      <template v-slot="searchSlot"> -->
        <el-form
          class="m-table-search-form"
          ref="paramsForm"
          
          label-position="right"
          label-width="110px"
          size="small"
        >
         <!--line1-->
          <el-row>
            <c-col :span="24" style=""> 

              <c-col :span="8">
              <el-form-item label="申报类型" prop="bopquep.boptyp" style="width: 100%">
                <c-select
                  v-model="model.bopquep.boptyp"
                  style="width: 100%"
                  placeholder="请选择申报类型"
                >
                  <el-option
                    v-for="item in codes.boptyp"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>


<c-col :span="8">
              <el-form-item label="查询日期类型" prop="bopquep.dattyp" style="width: 100%">
                <c-select
                  v-model="model.bopquep.dattyp"
                  style="width: 100%"
                  placeholder="请选择查询日期类型"
                >
                  <el-option
                    v-for="item in codes.dattyp"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>

           

            <c-col :span="8">
                <el-form-item label="起止日期" style="width: 100%">
                  <c-col :span="11">
                    <c-date-picker
                      type="date"
                      v-model="model.bopquep.frmdat"
                      value-format="yyyy-MM-dd"
                      style="width: 100%"
                      placeholder="请选择From"
                    ></c-date-picker>
                  </c-col>
                  <c-col :span="2" style="text-align: center">
                    <label style="display: inline-block; width: 100%">-</label>
                  </c-col>
                  <c-col :span="11">
                    <c-date-picker
                      type="date"
                      v-model="model.bopquep.tildat"
                      value-format="yyyy-MM-dd"
                      style="width: 100%"
                      placeholder="请选择Until"
                    ></c-date-picker>
                  </c-col>
                </el-form-item>
              </c-col>
           
            
              </c-col>
                
          <c-col :span="24" style="text-align: right;height:36.8px" v-if="!searchToggle">
            <el-button size="small" @click="selpHandleReset">重置</el-button>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="small"
              @click="selpHandleSearch"
              >查询</el-button
            >
            <el-button type="text" @click="searchToggle=true">
                展开
              <i class="el-icon-arrow-down"></i>
            </el-button>
          </c-col>
           
          </el-row>


     

      

      <!--line3-->

      <!--line4-->

          <el-row v-show="searchToggle">
            <!--line2-->
            <c-col :span="24" style="">
             <c-col :span="8">
              <el-form-item label="申报号码" prop="bopquep.rptno" style="width: 100%">
                <c-input
                  v-model="model.bopquep.rptno"
                  maxlength="22"
                  placeholder="请输入申报号码"
                ></c-input>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="业务所属行" prop="bopquep.ownextkey" style="width: 100%">
                <c-select
                  v-model="model.bopquep.ownextkey"
                  style="width: 100%"
                  placeholder="请选择Initial Code"
                >
                </c-select>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item label="业务编号" prop="bopquep.ownref" style="width: 100%">
                <c-input
                  v-model="model.bopquep.ownref"
                  maxlength="16"
                  placeholder="请输入业务编号"
                ></c-input>
              </el-form-item>
            </c-col>

            
            </c-col>
            
            <c-col :span="24" style="">

              <c-col :span="8">
              <el-form-item label="客户类型" prop="bopquep.ptytyp" style="width: 100%">
                <c-select
                  v-model="model.bopquep.ptytyp"
                  style="width: 100%"
                  placeholder="请选择客户类型"
                >
                  <el-option
                    v-for="item in codes.ptytyp"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item label="客户名称" prop="bopquep.ptynam" style="width: 100%">
                <c-input
                  v-model="model.bopquep.ptynam"
                  style="width: 100%"
                  placeholder="请输入客户名称"
                ></c-input>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item label="结算方式" prop="bopquep.medtyp" style="width: 100%">
                <c-select
                  v-model="model.bopquep.medtyp"
                  style="width: 100%"
                  placeholder="请选择结算方式"
                >
                  <el-option
                    v-for="item in codes.medtyp"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>

             

            </c-col>
            
            <c-col :span="24" style="">
            <c-col :span="8">
              <el-form-item label="笔数" prop="bopquep.sum" style="width: 100%">
                <c-input
                  v-model="model.bopquep.sum"
                  placeholder="请输入笔数"
                ></c-input>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item label="业务状态" prop="bopquep.staflg" style="width: 100%">
                <c-select
                  v-model="model.bopquep.staflg"
                  style="width: 100%"
                  placeholder="请选择业务状态"
                >
                  <el-option
                    v-for="item in codes.staflg"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8" style="text-align: right;height:36.8px" v-if="searchToggle">
            <el-button size="small" @click="selpHandleReset">重置</el-button>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="small"
              @click="selpHandleSearch"
              >查询</el-button
            >
            <el-button type="text" @click="searchToggle=false">
                收起
              <i class="el-icon-arrow-up"></i>
            </el-button>
          </c-col>
            </c-col>
          </el-row>
        </el-form>
      <!-- </template>
    </c-list-search> -->

    <c-col :span="24" style="">
      <div style="border-bottom: 10px solid rgb(232, 232, 232)">
      </div>
    </c-col>

    <c-row style="margin-top: 20px">
      <c-col style="">
        <c-button size="small" type="primary" style="margin-left:0">导出Excel</c-button>
        <c-button size="small" type="primary" style="margin-left:0">应急导出</c-button>
        <c-button v-if="model.bopquep.boptyp=='DBJ'" size="small" type="primary" style="margin-left:0" @click="onWaitAdd(model.bopquep.boptyp.toLowerCase() +'add')">新增结汇申请书</c-button>
        <c-button v-if="model.bopquep.boptyp=='DBW'" size="small" type="primary" style="margin-left:0" @click="onWaitAdd(model.bopquep.boptyp.toLowerCase() +'add')">新增购汇申请书</c-button>
      </c-col>
    </c-row>

    <el-row>
      <c-col :span="24" style="">
        <c-istream-table :list="stmData.data" :columns="stmData.columns" style="width:100%" :showButtonFlg="true">
          <el-table-column fixed="right" prop="op" label="操作" width="200px">
            <template slot="header">
                <c-col :span="11" style="text-align:left"><span>操作</span></c-col>
                <!-- <c-col :span="12" style="text-align:right"><c-button icon="el-icon-s-tools"></c-button></c-col> -->
              </template>
            <template slot-scope="scope">
              <c-button style="margin-left: 0" size="small" @click="onWaitDetail(scope.$index,scope.row)">
                详情
              </c-button>
              <c-button style="margin-left: 3px" size="small"  @click="onWaitAmend(scope.$index,scope.row)">
                修改
              </c-button>
              <c-button style="margin-left: 3px" size="small" @click="onWaitDelete(scope.$index,scope.row)">
                删除
              </c-button>


              
            </template>
          </el-table-column>
        </c-istream-table>
      </c-col>
    </el-row>

   
  </div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Bopsel/Event";
import Utils from "~/utils";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [commonProcess],
  data() {
    return {
      searchToggle:false,
      stmData: {
        columns: [
          //{index:3,position:3,width:110,pattern:'date',label:'日期'},
          //{index:4,position:4,width:100,pattern:'code',label:'状态',code:this.codes.relstaEN},
          '0 1 "申报号码" 170 ',
          '1 2 "客户" 100',
          '16 3 "组织机构代码" 120',
          // '2 4 "基础" 80',
          {index:2,position:4,width:80,pattern:'code',label:'基础',code:this.codes.staflg},
          '5 5 "银行业务编号" 150',
          //'6 6, "收付汇日期" 200',
          {index:6,position:6,width:150,pattern:'date',label:'收付汇日期'},
          //'7 7, "申报类型" 198',
          {index:7,position:7,width:190,pattern:'code',label:'申报类型',code:this.codes.boptyp},
          '8 8, "币别" 80',
          //'9 9, "金额" 120',
          {index:9,position:9,width:120,pattern:'amt',label:'金额'},
          //'10 10, "客户类型" 120',
          {index:10,position:10,width:150,pattern:'code',label:'客户类型',code:this.codes.ptytyp},
          //'11 11, "结算方式" 100',
          {index:11,position:11,width:100,pattern:'code',label:'结算方式',code:this.codes.medtyp},
          '3 12, "申报" 80',
          '4 13, "管理" 80',
          '17 14, "对方客户名称" 120',
          '18 15, "结汇金额" 100',
          '19 16, "账号" 120',
          '20 17, "现汇金额" 100',
          '21 18, "账号" 120',
          '22 19, "其他金额" 100',
          '23 20, "账号" 120',
          '24, 21, "牌价" 80',
          '26, 22, "国内扣费金额" 120',
          '27, 23, "国外扣费金额" 120',
          '28, 24, "地区机构号" 110',
          '29, 25, "外汇账户账号" 120',
          '30, 26, "人民币账户账号" 160',
          '31, 27, "外汇账户开户行" 200',
          '32, 28, "人民币账户开户行" 160',
          '33, 29, "交易编码" 100',
          '34, 30, "外汇局批件号/备案表号/业务编号" 350',
          '35, 31, "结汇用途" 100',
          '36, 32, "结汇详细用途" 150',
          '37, 33, "填报人" 120',
          '38, 34, "填报人电话" 120',
        ],
        data: [],
      },
    };
  },
  methods: { ...Event ,
  // async onWaitDetail(idx, row) {
  //      console.log(idx);
  //      console.log(row);
  //      console.log(row.申报类型);
  //      let business=row.申报类型.toLowerCase() +"inf";
  //      let url = "/business/"+business;
  //      console.log(url);
  //      //url ="/business/"+"litopn";
  //      console.log(url);
  //      this.$router.history.push(url);
  //   },

  async onWaitAdd(business) {
        let viewurl = "/business/"+business;
        let params = {  };
        this.executeRule("addbut",params).then((res) => {
            if ((res.respCode == SUCCESS)) {
                Utils.copyValueFromVO(this.model, res.data);
                // this.$router.push({ path: "business/inftrnpsDetail", query: { idx: idx}});
                this.$router.push({ name: business.charAt(0).toUpperCase() + business.substring(1), params:{prePageId:this.model.pageId} });
            }else{
                const h = this.$createElement;
                const msg = res.respMsg||'请求执行失败!'
                this.$notify.error({ title: '错误', message: h('p',{style: 'word-break:break-all;'}, msg) })
            }
        });
    },

  async onWaitDetail(idx, row) {
        let business=row.申报类型.toLowerCase() +"inf";
        let viewurl = "/business/"+business;
        const selIds = [idx + 1];
        const selDst = "dblstm" //列表对应后台模型中的stream
        let params = { selDst, selIds };
        this.executeRule("dtlbut",params).then((res) => {
            if ((res.respCode == SUCCESS)) {
                Utils.copyValueFromVO(this.model, res.data);
                // this.$router.push({ path: "business/inftrnpsDetail", query: { idx: idx}});
                // this.$router.push({ path: viewurl, query: {} });
                this.$router.push({ name: business.charAt(0).toUpperCase() + business.substring(1), params:{prePageId:this.model.pageId} });
            }else{
                const h = this.$createElement;
                const msg = res.respMsg||'请求执行失败!'
                this.$notify.error({ title: '错误', message: h('p',{style: 'word-break:break-all;'}, msg) })
            }
        });
    },

    async onWaitAmend(idx, row) {
        let business=row.申报类型.toLowerCase() +"ame";
        let viewurl = "/business/"+business;
        const selIds = [idx + 1];
        const selDst = "dblstm" //列表对应后台模型中的stream
        let params = { selDst, selIds };
        this.executeRule("amebut",params).then((res) => {
            if ((res.respCode == SUCCESS)) {
                Utils.copyValueFromVO(this.model, res.data);
                // this.$router.push({ path: "business/inftrnpsDetail", query: { idx: idx}});
                this.$router.push({ name: business.charAt(0).toUpperCase() + business.substring(1), params:{prePageId:this.model.pageId} });
            }else{
                const h = this.$createElement;
                const msg = res.respMsg||'请求执行失败!'
                this.$notify.error({ title: '错误', message: h('p',{style: 'word-break:break-all;'}, msg) })
            }
        });
    },

    async onWaitDelete(idx, row) {
        let business=row.申报类型.toLowerCase() +"del";
        let viewurl = "/business/"+business;
        const selIds = [idx + 1];
        const selDst = "dblstm" //列表对应后台模型中的stream
        let params = { selDst, selIds };
        this.executeRule("delbut",params).then((res) => {
            if ((res.respCode == SUCCESS)) {
                Utils.copyValueFromVO(this.model, res.data);
                // this.$router.push({ path: "business/inftrnpsDetail", query: { idx: idx}});
                this.$router.push({ name: business.charAt(0).toUpperCase() + business.substring(1), params:{prePageId:this.model.pageId} });
            }else{
                const h = this.$createElement;
                const msg = res.respMsg||'请求执行失败!'
                this.$notify.error({ title: '错误', message: h('p',{style: 'word-break:break-all;'}, msg) })
            }
        });
    },

    // async onWaitAmend(idx, row) {
    //    console.log(idx);
    //    console.log(row);
    //    console.log(row.申报类型);
    //    let business=row.申报类型.toLowerCase() +"ame";
    //    let url = "/business/"+business;
    //    console.log(url);
    //    //url ="/business/"+"litopn";
    //    console.log(url);
    //    this.$router.history.push(url);
    // },

    // async onWaitDelete(idx, row) {
    //    console.log(idx);
    //    console.log(row);
    //    console.log(row.申报类型);
    //    let business=row.申报类型.toLowerCase() +"del";
    //    let url = "/business/"+business;
    //    console.log(url);
    //    //url ="/business/"+"litopn";
    //    console.log(url);
    //    this.$router.history.push(url);
    // },
    },
  created: function () {
    this.model.bopquep.boptyp = "ALL";
    this.model.bopquep.frmdat = new Date();
    this.model.bopquep.tildat = new Date();
  },

  

};
</script>
<style scoped>
.eibs-tab >>> .m-table-search{
  border-bottom: 0;
}
.eibs-tab >>> .m-table-search-operation-top {
  width: calc(95.833333% + 9px);
}
</style>