<template>
  <div class="eibs-tab">
    <c-col :span="12">
      <c-col :span="12">
        <el-form-item label="交易代码" prop="rec.trncod">
          <c-select v-model="model.rec.trncod" disabled style="width: 100%" placeholder="请选择交易代码" dbCode="PMSTRN">
          </c-select>
        </el-form-item>
      </c-col>
      <c-col :span="12">
        <el-form-item style="text-align: left; margin-left: 5px" label-width="0px" prop="rec.trnnam">
          <c-input v-model="model.rec.trnnam" disabled style="text-align: left; width: 100%" placeholder=""></c-input>
        </el-form-item>
      </c-col>
    </c-col>

    <c-col :span="24" style="text-align: right">
      <el-button type="primary" size="small" @click="selectCebpmsflgAll">全选</el-button>
      <el-button type="primary" size="small" @click="selectCebpmsflgNul">全否</el-button>
    </c-col>

    <c-col :span="24" style="margin-top: 10px;">
      <el-table :data="model.trnbchlst" height="480" :sticky-header="true" :border="true">
        <el-table-column label="光大银行权限控制标识" prop="cebpmsflg" width="auto">
          <template v-slot="scope">
            <div class="checkbox-container">
              <el-checkbox v-model="scope.row.cebpmsflg" @change="cebpmsflgChange(scope.row)" true-label="X" false-label="" :disabled="isDisable"></el-checkbox>
            </div>
          </template>
        </el-table-column>
        <el-table-column label="机构代码" prop="branch" width="auto">
        </el-table-column>
        <el-table-column label="机构名称" prop="bchnam" width="auto">
        </el-table-column>
        <el-table-column label="操作用户" prop="cebusrnam" width="auto">
        </el-table-column>
        <el-table-column label="操作日期" prop="cebpmsdat" width="auto">
        </el-table-column>
        <el-table-column label="INR" prop="inr" width="auto">
        </el-table-column>
        <el-table-column label="机构INR" prop="bchinr" width="auto">
        </el-table-column>
      </el-table>
    </c-col>

    <c-col :span="24" style="padding-top:20px">
      <span>权限勾选则表示该机构经办 二级福费廷业务时申请人和Selling Bank允许录入光大银行(含分支行)</span>
    </c-col>
  </div>
</template>

<script>
import event from "../event";
import codes from "~/config/CodeTable";
import { cebpmsflgChange, selectCebpmsflgAll, selectCebpmsflgNul } from "~/service/manage/tbp.js";
import commonFunctions from "~/mixin/commonFunctions.js";

export default {
  props: ["model", "codes"],
  inject: ["root"],
  mixins: [commonFunctions],
  data() {
    return {
      comfecList: [],
      pagination: {
        pageNum: 1,
        pageSize: 10,
        total: 0
      }
    };
  },
  mounted() {},
  computed: {
    isDisable() {
      if(this.model.rec.trncod === 'BPTOPN'){
        return false;
      }else{
        return true;
      }
    },
  },
  methods: {
    // queryFunc(pageNumber, pageSize) {
    //   this.model.pageNum = pageNumber;
    //   this.model.pageSize = pageSize;
    //   this.onDbitbpSearch();
    // },
    
    //单选
    cebpmsflgChange(row){
      const params = {
        rec: row,
        trnbchlst: this.model.trnbchlst
      };
      const loading = this.loading();
      cebpmsflgChange(params).then((res) => {
        if(res.respCode == SUCCESS) {
          loading.close();
          this.model.trnbchlst = res.data.trnbchlst;
        } else {
          this.$notify.error({
            title: '错误',
            message: res.respMsg
          });
        }
        loading.close();
      })
    },

    //全选
    selectCebpmsflgAll() {
      if (this.model.rec.trncod == "BPTOPN") {
        const loading = this.loading();
        selectCebpmsflgAll(this.model).then(res => {
          if(res.respCode == SUCCESS) {
            loading.close();
            this.model.trnbchlst = res.data.trnbchlst;
          } else {
            this.$notify.error({
              title: '错误',
              message: res.respMsg
            });
          }
          loading.close();
        })
      }
    },

    //全否
    selectCebpmsflgNul() {
      if (this.model.rec.trncod == "BPTOPN") {
        const loading = this.loading();
        selectCebpmsflgNul(this.model).then(res => {
          if(res.respCode == SUCCESS) {
            loading.close();
            this.model.trnbchlst = res.data.trnbchlst;
          } else {
            this.$notify.error({
              title: '错误',
              message: res.respMsg
            });
          }
          loading.close();
        })
      }
    }
  }
};
</script>

<style scoped lang="less">
.checkbox-container {
  display: flex;
  justify-content: center;
  align-items: center;
}
</style>