<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="jcktrnCtl">选择交易</el-button>
			<el-button type="primary" size="small" @click="selectJckyhflgAll">全选</el-button>
			<el-button type="primary" size="small" @click="selectJckyhflgNul">全否</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="jckyhflg" width="auto">
					<template v-slot="scope">
						<div class="checkbox-container">
							<el-checkbox v-model="scope.row.jckyhflg" @change="jckyhflgChange(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="jckyhusrnam" width="auto">
				</el-table-column>
				<el-table-column label="操作用户INR" prop="jckyhusrinr" width="auto">
				</el-table-column>
				<el-table-column label="操作时间" prop="jckyhdat" 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>

    <!-- 进出口押汇交易选择弹窗 -->
    <el-dialog title="进出口押汇交易选择" v-dialogDrag width="64%" :visible.sync="dialogTableVisible" v-if="dialogTableVisible" destroy-on-close :close-on-click-modal="false" :close-on-press-escape="false" :show-close="true" :modal-append-to-body="false" :append-to-body="true">
      <div v-if="!tableLoading && this.model.jcklst.length === 0">暂无数据</div>
      <div v-else style="width: 100%;height: 100%;">
        <el-table id='tableRef' height="calc(100% - 32px)" style="width: 100%;" v-loading="tableLoading" :data="model.jcklst" @row-dblclick="dbClickRow" :before-close="beforeClose">
          <el-table-column label="选中标志" prop="flg" width="auto">
            <template v-slot="scope">
              <div class="checkbox-container">
                <el-checkbox v-model="scope.row.flg" true-label="X" false-label=""></el-checkbox>
              </div>
            </template>
          </el-table-column>
          <el-table-column label="交易代码" prop="trncod" width="auto">
          </el-table-column>
          <el-table-column label="交易名称" prop="trnnam" width="auto">
          </el-table-column>
        </el-table>
      </div>
      <span slot="footer" style="padding-top:30px; text-align: left;">
        <c-button type="primary" @click="jcktrnAll">全选</c-button>
        <c-button type="primary" @click="jcktrnNul">全否</c-button>
        <c-button type="primary" @click="jcktrnSave">保存</c-button>
      </span>
    </el-dialog>


		<c-col :span="24" style="padding-top:20px">
			<span>控制标识勾选则表示该机构对选中交易进行低风险校验</span>
		</c-col>
	</div>
</template>

<script>
import codes from "~/config/CodeTable";
import moment from "moment";
import event from "../event";
import Api from "~/service/Api";
import { jckyhflgChange, selectJckyhflgAll, selectJckyhflgNul } from "~/service/manage/tbp.js";
import commonFunctions from "~/mixin/commonFunctions.js";

export default {
  props: ["model", "codes"],
  inject: ["root"],
  mixins: [commonFunctions],
  data() {
    return {
      tableLoading: false,
      dialogTableVisible: false, // 控制弹框的展示和隐藏
      pagination: {
        pageNum: 1,
        pageSize: 10,
        total: 0
      }
    };
  },
  mounted() {},
  computed: {
    isDisable() {
      if (this.model.rec.trncod === "YAHUIP") {
        return false;
      } else {
        return true;
      }
    }
  },
  methods: {
    //单选
    jckyhflgChange(row){
      const params = {
        rec: row,
        trnbchlst: this.model.trnbchlst
      };
      const loading = this.loading();
      jckyhflgChange(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();
      })
    },

    //全选
    selectJckyhflgAll(){
      if (this.model.rec.trncod == "YAHUIP") {
        const loading = this.loading();
        selectJckyhflgAll(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();
        })
      }
    },

    //全否
    selectJckyhflgNul(){
      if (this.model.rec.trncod == "YAHUIP") {
        const loading = this.loading();
        selectJckyhflgNul(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();
        })
      }
    },

    //选择交易
    async jcktrnCtl() {
      const loading = this.loading();
      const res = await Api.post("/manager/tbp/jcktrnCtl", this.model);
      if (res.respCode === SUCCESS) {
        loading.close();
        this.model.trnbchlst = res.data.trnbchlst;
        this.model.jcklst = res.data.jcklst;
        this.dialogTableVisible = true;
      } else {
        this.$notify.error({
          title: '错误',
          message: res.respMsg
        });
      }
      loading.close();
    },

    //弹窗全选
    jcktrnAll() {
      for (let i = 0; i < this.model.jcklst.length; i++) {
        this.model.jcklst[i].flg = "X";
      }
    },

    //弹窗全否
    jcktrnNul() {
      for (let i = 0; i < this.model.jcklst.length; i++) {
        this.model.jcklst[i].flg = "";
      }
    },

    //保存
    async jcktrnSave() {
      const loading = this.loading();
      const res = await Api.post("/manager/tbp/jcktrnSave", this.model);
      if (res.respCode === SUCCESS) {
        loading.close();
        this.model.trnbchlst = res.data.trnbchlst;
        this.dialogTableVisible = false;
      } else {
        this.$notify.error({
          title: '错误',
          message: res.respMsg
        });
      }
      loading.close();
    },
	
  }
};
</script>

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