<template>
  <div class="eibs-tab">
    <c-list-search @form-reset="handleReset" @form-search="handleSearch">
      <!-- 持续展示区 -->
      <template v-slot="searchSlot">
        <el-row>
          <c-col :span="24">
            <c-col :span="8">
              <el-form-item label="记录类型" prop="qrtp.ljschk">
                <c-select v-model="model.qrtp.ljschk" style="width:100%" dbCode="LJSCHK"></c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="记录范围" prop="qrtp.msgrag">
                <c-select v-model="model.qrtp.msgrag" style="width:100%" dbCode="MSGRNG"></c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="接收方向" prop="qrtp.revdrt">
                <c-select v-model="model.qrtp.revdrt" style="width:100%" dbCode="MSGDRT"></c-select>
              </el-form-item>
            </c-col>
          </c-col>
        </el-row>
        <!-- 可控展示区 -->
        <el-row v-show="searchSlot.searchToggle">
          <c-col :span="8">
            <el-form-item :label="$t('qrtp.起始时间')" prop="qrtp.dts">
              <c-date-picker type="date" v-model="model.qrtp.dts" style="width:100%"></c-date-picker>
            </el-form-item>
          </c-col>
          <c-col :span="8">
            <el-form-item :label="$t('qrtp.截止时间')" prop="qrtp.dte">
              <c-date-picker type="date" v-model="model.qrtp.dte" style="width:100%"></c-date-picker>
            </el-form-item>
          </c-col>
          <c-col :span="8">
            <el-form-item :label="$t('qrtp.报文标准')" prop="qrtp.msgtyp">
              <c-select v-model="model.qrtp.msgtyp" style="width:100%"></c-select>
            </el-form-item>
          </c-col>
          <c-col :span="8">
            <el-form-item :label="$t('qrtp.报文种类')" prop="qrtp.mty">
              <c-select v-model="model.qrtp.mty" style="width:100%"></c-select>
            </el-form-item>
          </c-col>
          <c-col :span="8">
            <el-form-item :label="$t('qrtp.报文状态')" prop="qrtp.msgsta">
              <c-select v-model="model.qrtp.msgsta" style="width:100%" dbCode="MGSSTA"></c-select>
            </el-form-item>
          </c-col>
          <c-col :span="8">
            <c-form-item :label="$t('qrtp.收报行BIC')" prop="qrtp.revbnk">
              <c-input v-model="model.qrtp.revbnk" maxlength="11"></c-input>
            </c-form-item>
          </c-col>
          <c-col :span="8">
            <c-form-item :label="$t('qrtp.发报行BIC')" prop="qrtp.sedbnk">
              <c-input v-model="model.qrtp.sedbnk" maxlength="11"></c-input>
            </c-form-item>
          </c-col>
          <c-col :span="8">
            <el-form-item :label="$t('qrtp.币种')" prop="qrtp.cur">
              <c-select v-model="model.qrtp.cur" style="width:100%"></c-select>
            </el-form-item>
          </c-col>
          <c-col :span="8">
            <c-form-item :label="$t('qrtp.金额下限')" prop="qrtp.amtdwl">
              <c-input v-model="model.qrtp.amtdwl"></c-input>
            </c-form-item>
          </c-col>
          <c-col :span="8">
            <c-form-item :label="$t('qrtp.金额上限')" prop="qrtp.amtupl">
              <c-input v-model="model.qrtp.amtupl"></c-input>
            </c-form-item>
          </c-col>
          <c-col :span="8">
            <c-form-item :label="$t('qrtp.CASE编号')" prop="qrtp.casnum">
              <c-input v-model="model.qrtp.casnum" maxlength="16"></c-input>
            </c-form-item>
          </c-col>
          <c-col :span="8">
            <c-form-item :label="$t('qrtp.汇票号码')" prop="qrtp.drtnum">
              <c-input v-model="model.qrtp.drtnum" maxlength="20"></c-input>
            </c-form-item>
          </c-col>
          <c-col :span="8">
            <c-form-item :label="$t('qrtp.报文20域')" prop="qrtp.tagt20">
              <c-input v-model="model.qrtp.tagt20" maxlength="16"></c-input>
            </c-form-item>
          </c-col>
          <c-col :span="8">
            <c-form-item :label="$t('qrtp.报文21域')" prop="qrtp.tagt21">
              <c-input v-model="model.qrtp.tagt21" maxlength="16"></c-input>
            </c-form-item>
          </c-col>
          <c-col :span="8">
            <c-form-item :label="$t('qrtp.UETR')" prop="qrtp.uetr">
              <c-input v-model="model.qrtp.uetr" maxlength="40"></c-input>
            </c-form-item>
          </c-col>
        </el-row>
      </template>
    </c-list-search>

    <!-- LT000081 : 记录范围 -->
    <!-- LT000305 : : -->

    <el-col :span="24" style="margin-top: 2px;margin-bottom: 1px;">
      <c-button :disabled="isFoldDisable" class="medium_bcs" size="medium" style="margin-left: 0" type="primary">
        {{ $t('public.归档') }}
      </c-button>
      <c-button :disabled="isRoutingDisable" class="medium_bcs" size="medium" style="margin-left: 20" type="primary">
        ReRouting
      </c-button>
      <c-button class="medium_bcs" size="medium" style="margin-left: 20" type="primary" @click="exportToExcel">
        {{ $t('public.导出Excel') }}
      </c-button>
    </el-col>

    <el-col :span="24" style="margin-top: 10px">
      <div style="height: 90%">
        <c-col :span="24">
          <el-tabs v-model="activeTab" class="y-tabs">
            <el-tab-pane label="报文查询" name="fb">
              <el-table
                :data="stmData.data" :columns="stmData.columns"
                v-loading="load" style="width: 100%"
                @selection-change="handleSelectionChange"
                @row-dblclick="dbClick" size="small" :border="true"
                height="calc(100vh - 420px)"
                :highlight-current-row="true"
              >
                <el-table-column type="selection" width="55"></el-table-column>
                <el-table-column
                  v-for="(item, key) in stmData.columns"
                  :key="key" :label="item.label"
                  :prop="item.prop"
                  :min-width="item.width"
                >
                  <template slot-scope="scope">
                    <c-select-value-to-label v-if="item.prop == 'sta'" v-model="scope.row.sta" dbCode="STACD1"></c-select-value-to-label>
                    <span v-else>{{ scope.row[item.prop] }}</span>
                  </template>
                </el-table-column>
                <el-table-column label="操作" fixed="right" min-width="150">
                  <template slot-scope="scope">
                    <c-button
                      style="margin-right: 5px"
                      size="small"
                      type="text"
                      @click="toQrtmgd(scope.row)"
                    >处理</c-button>
                  </template>
                </el-table-column>
              </el-table>

              <el-pagination
                layout="total, sizes, prev, pager, next, jumper"
                :total="pagination.total"
                :page-size="pagination.pageSize"
                :current-page.sync="pagination.pageNum"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
              ></el-pagination>
            </el-tab-pane>

            <el-tab-pane label="CASE查询/处理" name="fc">
              <el-table
                :data="stmData1.data"
                :columns="stmData1.columns"
                v-loading="load1"
                style="width: 100%"
                size="small" :border="true"
                height="calc(100vh - 420px)"
                :highlight-current-row="true"
                @selection-change="handleSelectionChange1"
              >
                <el-table-column type="selection" width="55"></el-table-column>
                <el-table-column
                  v-for="(item, key) in stmData1.columns"
                  :key="key" :label="item.label"
                  :prop="item.prop"
                  :min-width="item.width"
                ></el-table-column>
                <el-table-column label="操作" fixed="right" min-width="150">
                  <template slot-scope="scope">
                    <c-button
                      style="margin-right: 5px"
                      size="small"
                      type="primary"
                      @click="showMessage(scope.row)"
                    >预览</c-button>
                    <c-button
                      style="margin-right: 5px"
                      size="small"
                      type="primary"
                      @click="updateAck(scope.row)"
                    >更新</c-button>
                  </template>
                </el-table-column>
              </el-table>

              <el-pagination
                layout="total, sizes, prev, pager, next, jumper"
                :total="pagination1.total"
                :page-size="pagination1.pageSize"
                :current-page.sync="pagination1.pageNum"
                @size-change="handleSizeChange1"
                @current-change="handleCurrentChange1"
              ></el-pagination>
            </el-tab-pane>
          </el-tabs>
        </c-col>
      </div>
    </el-col>
  </div>
</template>
<script>
import event from "../event";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [event],
  data() {
    return {
      activeTab: 'fb',
      load: false,
      subtypCodes: [],
      multipleSelection: [],
      stmData: {
        columns: [
          {
            label: "收发日期",
            prop: "seddat",
            width: "180px"
          },
          {
            label: "汇票号码",
            prop: "drfnum",
            width: "180px"
          },
          {
            label: "CASE编号",
            prop: "casnum",
            width: "120px"
          },
          {
            label: "报文20域",
            prop: "sevref",
            width: "125px"
          },
          {
            label: "报文21域",
            prop: "relref",
            width: "120px"
          },
          {
            label: "UETR",
            prop: "uetr",
            width: "120px"
          },
          {
            label: "币种",
            prop: "cur",
            width: "50px"
          },
          {
            label: "金额",
            prop: "amt",
            width: "120px"
          },
          {
            label: "起息日",
            prop: "vludat",
            width: "90px"
          },
          {
            label: "发报行",
            prop: "sedbak",
            width: "100px"
          },
          {
            label: "收报行",
            prop: "revbak",
            width: "100px"
          },
          {
            label: "方向",
            prop: "megrevdrt",
            width: "50px"
          },
          {
            label: "类型",
            prop: "typ",
            width: "50px"
          },
          {
            label: "状态",
            prop: "sta",
            width: "80px"
          },
        ],
        data: [],
      },
      pagination: {
        pageNum: 1,
        pageSize: 10,
        total: 0,
      },
      // CASE查询/处理
      stmData1: {
        columns: [
          {
            label: "更新时间",
            prop: "amdtim",
            width: "120px"
          },
          {
            label: "G渠道",
            prop: "sweflg",
            width: "120px"
          },
          {
            label: "发报行BIC",
            prop: "sedbak",
            width: "120px"
          },
          {
            label: "收报行BIC",
            prop: "rcvbak",
            width: "120px"
          },
          {
            label: "CASE编号",
            prop: "casnum",
            width: "120px"
          },
          {
            label: "汇票号码",
            prop: "drtnum",
            width: "120px"
          },
          {
            label: "20域编号(发)",
            prop: "ownt20",
            width: "120px"
          },
          {
            label: "20域编号(收)",
            prop: "otht20",
            width: "120px"
          },
          {
            label: "账户行BIC(53域)",
            prop: "t53bic",
            width: "120px"
          },
          {
            label: "账户行BIC(54域)",
            prop: "t54bic",
            width: "120px"
          }
        ],
        data: [],
      },
      pagination1: {
        pageNum: 1,
        pageSize: 10,
        total: 0,
      },
      multipleSelection1: [],
      load1: false,
      rowdata: [],
    };
  },
  computed: {
    isFoldDisable: function () {
      return this.multipleSelection.length == 0;
    },
    isRoutingDisable: function () {
      return this.multipleSelection.length == 0;
    }
  },
  watch: {
    'model.sndp.msgtyp': {
      handler(newTyp, oldTyp) {
        // 把已经选择的 subtyp 重置
        this.model.sndp.subtyp = '';
        const { codes } = this;
        if (newTyp === 'sf2') {
          this.subtypCodes = codes.mttyp;
        } else if (newTyp === 'iso') {
          this.subtypCodes = codes.isotyp;
        } else if (newTyp === 'txt') {
          this.subtypCodes = codes.fmttyp;
        } else {
          this.subtypCodes = codes.cipstyp;
        }
      },
      deep: true
    }
  },
  methods: {
  },
  mounted: function () {
  },
};
</script>
<style lang="less" scoped>
::v-deep .c-content-scrollbar {
  height: 100% !important;
}

.eibs-tabs /deep/ {
  .m-table-search {
    padding: 20px 0px 10px 0px;
  }
}

.header-wrap {
  height: 36px;
  display: flex;
  justify-content: space-between;
  align-items: center;

  .title {
    font-size: 16px;
    color: #000;
  }

  .close-btn {
    padding: 3px;
    cursor: pointer;
  }
}

.m-list-btns {
  height: 300px;
  overflow: auto;
}

.medium_bcs {
  border-radius: 5px;
}

.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>