<template>
  <div class="eibs-tab">
    <c-list-search @form-reset="handleReset" @form-search="formSubmit">
      <template v-slot:extendsRight>
        <el-button type="primary" icon="el-icon-download" size="small" @click="exportExcel">导出</el-button>
      </template>
      <template v-slot="searchSlot">
        <el-form class="m-table-search-form" ref="paramsForm" label-position="right" label-width="110px" size="small">
          <el-row>
            <c-col :span="8">
              <el-form-item label="业务编号" prop="infcon.seaownref" style="width: 100%">
                <c-input v-model="model.infcon.seaownref" maxlength="16" placeholder="请输入业务编号"></c-input>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item label="日期" prop="infcon.opndatfrom" style="width: 100%">
                <c-col :span="11">
                  <c-date-picker type="date" v-model="model.infcon.opndatfrom" placeholder="请选择起始日期"
                                 value-format="yyyy-MM-dd" style="width: 100%"></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.infcon.opndatto" placeholder="请选择截至日期"
                                 style="width: 100%"
                                 value-format="yyyy-MM-dd"></c-date-picker>
                </c-col>
              </el-form-item>
            </c-col>
             <c-col :span="8">
              <el-form-item label="信用证类型" prop="infcon.sealcrtyp" style="width: 100%">
                <c-select v-model="model.infcon.sealcrtyp" dbCode="lcrtyp" :filterKey="['I','IT']"  style="width: 100%"
                          placeholder="请选择信用证类型">
                </c-select>
              </el-form-item>
            </c-col>
           
          </el-row>

          <el-row v-show="searchSlot.searchToggle">
            <c-col :span="8">
              <el-form-item label="客户号" prop="infcon.ptyExtkey" style="width: 100%">
                <c-input v-model="model.infcon.ptyExtkey" maxlength="24" placeholder="请输入客户号"></c-input>
              </el-form-item>
            </c-col>
             <c-col :span="8">
              <el-form-item label="当事人参考号" prop="infcon.searef" style="width: 100%">
                <c-input v-model="model.infcon.searef" maxlength="16" placeholder="请输入当事人参考号"></c-input>
              </el-form-item>
            </c-col>
           
            <c-col :span="8">
              <el-form-item label="当事人BIC/名称" prop="infcon.seapty" style="width: 100%">
                <c-input v-model="model.infcon.seapty" maxlength="24" placeholder="当事人BIC编码"></c-input>
              </el-form-item>
            </c-col>
           
            <c-col :span="8">
              <el-form-item label="业务状态" prop="infcon.seasta" style="width: 100%">
                <c-select v-model="model.infcon.seasta" style="width: 100%" dbCode="seasta" placeholder="请选择业务状态">
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="币种" prop="infcon.seacur" style="width: 100%">
                <c-select v-model="model.infcon.seacur" style="width: 100%" placeholder="请选择币种" dbCode="curtxt">
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="金额区间" prop="infcon.seaamtfr" style="width: 100%">
                <c-col :span="11">
                  <c-input v-model="model.infcon.seaamtfr" placeholder="请输入金额下限" style="width: 100%"></c-input>
                </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-input v-model="model.infcon.seaamtto" placeholder="请输入金额上限" style="width: 100%"></c-input>
                </c-col>
              </el-form-item>
            </c-col>
            <!-- <c-col :span="8">
              <el-form-item label="保兑指示" prop="infcon.seacnfdet" style="width: 100%">
                <c-select v-model="model.infcon.seacnfdet" style="width: 100%" placeholder="请选择保兑指示">
                  <el-option v-for="item in codes.cnfins" :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="infcon.seagodcod" style="width: 100%">
                <c-select v-model="model.infcon.seagodcod" dbCode="godcod" style="width: 100%" placeholder="请选择货物类型">
                </c-select>
              </el-form-item>
            </c-col> -->
          </el-row>
        </el-form>
      </template>
    </c-list-search>

    <div style="height: 90%">
      <c-col :span="24">
        <el-table
            v-loading="load"
						ref="configTable"
            :data="stmData.data"
            :showButtonFlg="true"
						height="calc(100vh - 400px)"
						size="small" 
            :border="true"
						:highlight-current-row="true"
            @sort-change="sortChange"
            @row-dblclick="TableDblRow"
        >
          <el-table-column
              v-for="(item, key) in columns"
              :key="key + Math.random()"
              :label="item.label"
              :prop="item.prop"
              :min-width="item.width"
               sortable="custom"
          >
          <template  slot-scope="scope">
            <div v-if="item.prop ==='stagod'">{{getCodelabel(scope.row[item.prop],'stagod')}}</div>
             <div style="text-align: right" v-else-if="item.prop.indexOf('amt') >= 0">{{moneyFormat(scope.row[item.prop])}}</div>
            <div v-else>{{scope.row[item.prop]}}</div>
          </template>
          </el-table-column>
          <el-table-column fixed="right" prop="op" label="操作" width="140px">
            <template slot="header">
              <c-col :span="11" style="text-align: center">
                <span>操作</span>
              </c-col>
              <c-button icon="el-icon-s-tools" @click="columnSetting(stmData.columns)"></c-button>
            </template>
            	<template slot-scope="scope">
                <c-button style="margin-left: 0" type='primary' size="small" @click="toDetail(scope.row)" slot="reference">Info
                </c-button>
							</template>
          </el-table-column>
        </el-table>
        <div class="pagination-box">
          <el-pagination
              style="margin-right: 30px;"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page.sync="pagination.pageIndex"
              :page-sizes="[10, 20, 50, 100, 500]"
              :page-size="pagination.pageSize"
              layout="total,sizes, prev, pager, next"
              :total="pagination.total">
          </el-pagination>
        </div>
      </c-col>
    </div>
    <!-- 自定义列属性弹框 -->
		<el-dialog v-dialogDrag class="showColumnDialog" v-if="showDig" :visible.sync="showDig" :title="'自定义列属性'" appenD-to-body style="padding:20px">
			<el-form-item label-width="0" style="display: flex;align-items: center">
				<el-checkbox-group v-model="columnGroup" @change="handleColumnChange">
					<el-checkbox
						class="selectColumnClass checkbox-left"
						style="margin-right:55px;width:150px"
						v-for="item in digColumns" :key="item.prop"
						:label="item.label">
							{{ item.label }}
					</el-checkbox>
				</el-checkbox-group>
			</el-form-item>
			<span slot="footer" style="text-align:center">
				<el-checkbox
					class="selectAllClass checkbox-left"
					:indeterminate="
						columnGroup.length > 0 &&
						columnGroup.length < digColumns.length
					"
					v-model="selectAll"
					@change="setAll">全选</el-checkbox>
				<el-button type="primary" @click="saveColumnEvent()" style="margin-left:10px;">保存</el-button>
			</span>
		</el-dialog>
  </div>
</template>
<script>
import event from '../event'

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [event],
  components: {},
  data() {
    return {
      load:false,
      column:'',//排序字段
      order:'',//正序倒序
      selectAll: [], // 是否全选
      digColumns: [], // 弹框的所有列
      columnGroup: [], // 弹框选中的列
      showDig: false, // 弹框的展示/隐藏
      // 表格相关
      stmData: {
        columns: [
          {
            label: '业务编号',
            prop: 'ownref',
            width:'150px',
            isShow: true
          },
          {
            label: '信用证编号',
            prop: 'issref',
            width:'150px',
            isShow: true
          },
         
          {
            label: '币种',
            prop: 'cur',
            width:'80px',
            isShow: true
          },

          {
            label: '金额',
            prop: 'amt',
            width:'150px',
            isShow: true

          },
          {
            label: '余额',
            prop: 'opnamt',
            width:'150px',
            isShow: true
          },
          {
            label: '创建日期',
            prop: 'credat',
            width:'150px',
            isShow: true
          },
          {
            label: '到期日',
            prop: 'expdat',
            width:'150px',
            isShow: true
          },
           {
            label: '闭卷日期',
            prop: 'clsdat',
            width:'150px',
            isShow: true
          },
          {
            label: '客户号',
            prop: 'benExtkey',
            width:'180px',
            isShow: true

          },
            {
            label: '客户名称',
            prop: 'benName',
            width:'300px',
            isShow: true
          },
          {
            label: '申请人名称',
            prop: 'aplName',
            width:'300px',
            isShow: true
          },
         
          {
            label: '开证行',
            prop: 'issExtkey',
            width:'180px',
            isShow: true
          },
          {
            label: '远期期限',
            prop: 'tenmaxday',
            width:'150px',
            isShow: true
          },
         
          {
            label: '分行名称',
            prop: 'bchName',
            width:'250px',
            isShow: true
          },
           {
            label: '经办柜员',
            prop: 'usrNam',
            width:'150px',
            isShow: true
          },
        ],
        data: [],
      },
      pagination: {
        pageIndex: 1,
        pageSize: 10,
        total: 0
      },
    
      // 处理
      initdialog: false,
      handlerDataList: [],
      currentHandleRow: {}
    };
  },
  methods: {},
  created: function () {
  },
  mounted(){
    this.getdbCode('godcod','CN','stagod');
    this.formSubmit();
  },
   computed: {
    columns() {
      return this.stmData.columns.filter(item => item.isShow);
    },
  },
};
</script>
<style scope>
.m-table-search {
  padding: 20px 0px 10px 0px;
}

.pagination-box {
  width: 100%;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 10px;
  background: #fff;
  margin-top: 5px;
}

.el-dialog__body {
  padding: 10px 5px 50px;
}

.m-table-search {
  padding: 20px 0px 10px 0px;
}

.btn-group-wrap {
  max-height: 200px;
  width: 100%;
  overflow-y: auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.btn-item {
  margin-bottom: 10px;
  margin-right: 10px;
}
</style>