<template>
<div class="eContainer">
  <c-page title="">
    <!-- <div class="eContainer"> -->
    <c-content :height="120">
      <div class="eibs-tab">
        <el-form
          :model="model"
          ref="modelForm"
          tokenKey="modelForm"
          :validate-on-rule-change="false"
          label-width="150px"
          size="small"
        >
          <c-content>
            <!-- <c-col :span="24" style="margin:0 0 5px 0"> -->
            <c-col :span="12" style="height: 24px">
              <el-form-item label="基本信息" class="messageLabel">
              </el-form-item>
            </c-col>
            <c-col :span="11" style="text-align: right">
              <c-button
                size="small"
                type="primary"
                style="margin-left: 0"
                @click="display(model.trn.inr)"
                >交易快照</c-button
              >
              <c-button size="small" type="primary" style="margin-left: 0"
                >智能提示</c-button
              >
              <c-button
                size="small"
                @click="exit"
                type="primary"
                style="margin-left: 0"
                >返回</c-button
              >
            </c-col>
            <!-- </c-col> -->
            <c-col :span="24" style="height: 10px; margin-bottom: 10px">
              <el-divider></el-divider>
            </c-col>

            <!-- -------------------基础信息------------------- -->

                        <!-- ========================= Left ========================= -->
                        <c-col :span="11"> 
                            <c-col :span="24">
                                <c-col :span="22">
                                    <el-form-item label="业务编号">
                                        <c-input  v-model="model.trn.ownref" maxlength="16" disabled  placeholder="请输入业务编号"></c-input>
                                    </el-form-item>
                                </c-col>             
                                <c-col :span="2" style="text-align: right">
                                    <c-button
                                        style="margin:0;padding: 0 14px;"
                                        size="small"
                                        type="primary"
                                    >
                                    <i class="el-icon-info" style="font-size:15px"></i>
                                    </c-button>
                                </c-col>
                            </c-col>

                            <c-col :span="24">
                                <c-col :span="22">
                                    <el-form-item label="交易代码">
                                        <c-input  v-model="model.recpan.atp.cod" maxlength="6" disabled placeholder="请输入交易代码"></c-input>
                                    </el-form-item>
                                </c-col> 
                                <c-col :span="2" style="text-align: right">
                                    <c-button
                                        style="margin:0;padding: 0 14px;"
                                        size="small"
                                        type="primary"
                                    >
                                    <i class="el-icon-info" style="font-size:15px"></i>
                                    </c-button>
                                </c-col>
                            </c-col>

              <c-col :span="24">
                <c-col :span="13">
                  <el-form-item label="相关金额">
                    <c-input
                      v-model="model.trn.reloricur"
                      maxlength="3"
                      disabled
                      placeholder="请输入"
                    ></c-input>
                  </el-form-item>
                </c-col>
                <c-col :span="11">
                  <el-form-item label="" label-width="8px">
                    <c-input
                      v-model="model.trn.reloriamt"
                      disabled
                      placeholder="请输入"
                    ></c-input>
                  </el-form-item>
                </c-col>
              </c-col>

              <c-col :span="24">
                <c-col :span="13">
                  <el-form-item label="经办柜员">
                    <c-input
                      v-model="model.trn.usr"
                      maxlength="8"
                      disabled
                      placeholder="请输入经办柜员"
                    ></c-input>
                  </el-form-item>
                </c-col>

                <c-col :span="11">
                  <el-form-item label-width="40%" label="责任小组">
                    <!-- <c-input  v-model="model.trn.usg" maxlength="6" disabled  placeholder="请输入责任小组"></c-input> -->
                    <el-select
                      v-model="model.trn.usg"
                      style="width: 100%"
                      disabled
                    >
                      <el-option
                        v-for="item in codes.usgtxt"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                      />
                    </el-select>
                  </el-form-item>
                </c-col>
              </c-col>

              <c-col :span="24">
                <c-col :span="24">
                  <el-form-item label="根据识别号">
                    <c-input
                      v-model="model.trn.cortrninr"
                      maxlength="8"
                      disabled
                      placeholder="请输入根据识别号"
                    ></c-input>
                  </el-form-item>
                </c-col>

                <c-col :span="24">
                  <el-form-item label="执行日期">
                    <c-date-picker
                      type="date"
                      v-model="model.trn.exedat"
                      style="width: 100%"
                      disabled
                      placeholder="请选择执行日期"
                    ></c-date-picker>
                  </el-form-item>
                </c-col>
              </c-col>

              <c-col :span="24">
                <c-col :span="22">
                  <el-form-item label="信息文本">
                    <c-input
                      type="textarea"
                      v-model="model.trn.inftxt"
                      maxlength="65"
                      :rows="3"
                      show-word-limit
                      placeholder="请输入信息文本"
                    ></c-input>
                  </el-form-item>
                </c-col>
                <c-col :span="2" style="text-align: right">
                  <c-button
                    style="margin: 0; padding: 0 12px"
                    size="small"
                    icon="el-icon-search"
                    type="primary"
                  ></c-button>
                </c-col>
              </c-col>
            </c-col>

                        <!-- ========================= Right ========================= -->
                        <c-col :span="11" :offset="1">
                            <c-col :span="24">
                                    <c-col :span="22">
                                <el-form-item label="TRN主键">
                                        <c-input  v-model="model.trn.inr" disabled placeholder="请输入TRN主键"></c-input>
                                </el-form-item>
                                    </c-col>
                                    <c-col :span="2" style="text-align: right">
                                        <c-button
                                            style="margin:0;padding: 0 14px;"
                                            size="small"
                                            type="primary"
                                        >
                                        <i class="el-icon-info" style="font-size:15px"></i>
                                        </c-button>
                                    </c-col>
                            </c-col>

              <c-col :span="24">
                <el-form-item label="交易代码">
                  <c-input
                    v-model="this.atptxt"
                    maxlength="6"
                    disabled
                    placeholder="请输入交易代码"
                  ></c-input>
                </el-form-item>
              </c-col>

              <c-col :span="24">
                <el-form-item label="摘要信息">
                  <c-input
                    v-model="model.trn.objnam"
                    maxlength="40"
                    disabled
                    placeholder="请输入"
                  ></c-input>
                </el-form-item>
              </c-col>

              <c-col :span="24">
                <el-form-item label="发布状态">
                  <el-select
                    v-model="model.trn.relflg"
                    style="width: 100%"
                    disabled
                  >
                    <el-option
                      v-for="item in codes.relstaEN"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    />
                  </el-select>
                </el-form-item>
              </c-col>

              <c-col :span="24">
                <c-col :span="24">
                  <el-form-item label="经办柜员">
                    <c-input
                      v-model="model.recpan.cretrs.usr"
                      maxlength="8"
                      disabled
                      placeholder="请输入经办人"
                    ></c-input>
                  </el-form-item>
                </c-col>

                <c-col :span="24">
                  <el-form-item label="时间戳">
                    <c-input
                      v-model="model.recpan.cretrs.dattim"
                      disabled
                      placeholder="请输入时间戳"
                    ></c-input>
                  </el-form-item>
                </c-col>
              </c-col>

              <c-col :span="24">
                <el-form-item label="信息标志">
                  <el-select v-model="model.trn.infdsp" style="width: 100%">
                    <el-option
                      v-for="item in codes.infdsp"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    />
                  </el-select>
                </el-form-item>
              </c-col>

              <c-col :span="24">
                <el-form-item label="发送退回至">
                  <c-input
                    v-model="model.recpan.usr.extkey"
                    disabled
                    style="width: 100%"
                    placeholder=""
                  >
                  </c-input>
                </el-form-item>
              </c-col>
            </c-col>

            <!-- -------------------document------------------- -->
            <c-col :span="24" style="height: 24px">
              <el-form-item label="面函/报文" class="messageLabel">
              </el-form-item>
            </c-col>
            <c-col :span="24" style="height: 0px; margin-top: -5px">
              <el-divider></el-divider>
            </c-col>
            <c-col :span="24">
              <c-istream-table
                :list="documentsData.data"
                :columns="documentsData.columns"
              >
                <el-table-column label="介质" width="110px">
                  <template slot-scope="scope">
                    <el-form-item
                      label-width="0"
                      :prop="'trnmod.trndoc.doceot.' + scope.$index + '.cortyp'"
                    >
                      <c-select
                        v-model="scope.row.cortyp"
                        style="width: 100%"
                        disabled
                        placeholder="请选择"
                      >
                        <el-option
                          v-for="item in codes.doceotCortyp"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                        >
                        </el-option>
                      </c-select>
                    </el-form-item>
                  </template>
                </el-table-column>
                <el-table-column label="报文格式" width="150px">
                  <template slot-scope="scope">
                    <c-select
                      v-model="scope.row.docsnf"
                      style="width: 100%"
                      placeholder="请选择"
                      @change="executeDefault('trnmod.trndoc.doccur.docsnf')"
                    >
                      <el-option
                        v-for="item in codes.docsnf"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                      >
                      </el-option>
                    </c-select>
                  </template>
                </el-table-column>
                <el-table-column label="语言" width="150px">
                  <template slot-scope="scope">
                    <c-select
                      v-model="scope.row.docuil"
                      style="width: 100%"
                      placeholder="请选择"
                    >
                      <el-option
                        v-for="item in codes.uiltxt"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                      >
                      </el-option>
                    </c-select>
                  </template>
                </el-table-column>
                <el-table-column label="传送方式" width="110px">
                  <template slot-scope="scope">
                    <el-form-item
                      label-width="0"
                      :prop="'trnmod.trndoc.doceot.' + scope.$index + '.apf'"
                    >
                      <c-select
                        v-model="scope.row.apf"
                        disabled
                        style="width: 100%"
                        placeholder="请选择"
                      >
                        <el-option
                          v-for="item in codes.apftxt"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                        >
                        </el-option>
                      </c-select>
                    </el-form-item>
                  </template>
                </el-table-column>
                <el-table-column label="发送份数" width="70">
                  <template slot-scope="scope">
                    <c-input
                      v-model="scope.row.apfcpy1"
                      :readonly="true"
                      style="width: 100%"
                      placeholder="请选择"
                    >
                    </c-input>
                  </template>
                </el-table-column>
                <el-table-column label="抄送份数" width="70">
                  <template slot-scope="scope">
                    <c-input
                      v-model="scope.row.apfcpy2"
                      style="width: 100%"
                      placeholder="请选择"
                    >
                    </c-input>
                  </template>
                </el-table-column>
                <el-table-column label="" width="110px">
                  <template slot-scope="scope">
                    <el-form-item
                      label-width="0"
                      :prop="'trnmod.trndoc.doceot.' + scope.$index + '.staflg'"
                    >
                      <c-select
                        v-model="scope.row.staflg"
                        style="width: 100%"
                        placeholder="请选择"
                      >
                        <el-option
                          v-for="item in codes.swttlx"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value"
                        >
                        </el-option>
                      </c-select>
                    </el-form-item>
                  </template>
                </el-table-column>
                <el-table-column label="操作" width="200px" fixed="right">
                  <template slot-scope="scope">
                    <c-button
                      type="primary"
                      size="small"
                      :disabled="
                        (scope.row.pandsc == 'MT799' &&
                          model.didgrp &&
                          model.didgrp.rec &&
                          model.didgrp.rec.elcflg == 'Y') ||
                        suppress
                      "
                      @click="show(scope.$index, scope.row)"
                      style="margin-right: 10px"
                      >预览</c-button
                    >
                    <c-button
                      size="small"
                      type="primary"
                      style="margin-left: 0"
                      @click="handleDetail(scope.row.index, scope.row)"
                      >详情</c-button
                    >
                  </template>
                </el-table-column>
              </c-istream-table>
            </c-col>

            <c-col :span="24" style="height: 24px; margin-top: 20px">
              <el-form-item label="经办/复核" class="messageLabel">
              </el-form-item>
            </c-col>
            <c-col :span="24" style="height: 0px; margin-top: -5px">
              <el-divider></el-divider>
            </c-col>
            <c-col :span="24">
              <!-- <c-input  v-model="model.recpan.trsstm"  placeholder="请输入Signatures"></c-input> -->
              <c-col :span="24" :offset="0">
                <c-istream-table
                  :list="SignaturesData.data"
                  :columns="SignaturesData.columns"
                  :paginationShow="false"
                  style="width: 100%"
                >
                  <el-table-column label="行为" width="auto">
                    <template slot-scope="scope">
                      <span>{{ flg[scope.row.IDX] }}</span>
                    </template>
                  </el-table-column>
                </c-istream-table>
              </c-col>
            </c-col>

            <!-- -------------------workflow------------------- -->
            <c-col :span="24" style="height: 24px; margin-top: 20px">
              <el-form-item label="工作流服务" class="messageLabel">
              </el-form-item>
            </c-col>
            <c-col :span="24" style="height: 0px; margin-top: -5px">
              <el-divider></el-divider>
            </c-col>
            <c-col :span="24">
              <c-col :span="24" :offset="0">
                <c-istream-table
                  :list="stmData.data"
                  :columns="stmData.columns"
                  :paginationShow="false"
                  style="width: 100%"
                >
                </c-istream-table>
              </c-col>
            </c-col>
          </c-content>
        </el-form>
      </div>
      <!-- </div> -->
    </c-content>
  </c-page>
  </div>
</template>

<script>
import Trnrel from "~/model/Trnrel";
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Trnrel/Event";
import DocUtils from "~/utils/DocUtils";

export default {
  name: "InftrnpsDetail",
  mixins: [commonProcess],
  data() {
    return {
      model: new Trnrel().data,
      documentsData: {
        columns: [
          // "1 1 \"类型\" 300 1 0:0 1 CORTYP",
          // "2 2 \"外部密钥\" 300",
          // "3 3 \"文档\" auto",
          '1 4 "收报人" 90',
          '2 5 "描述" 200',
        ],
        data: [],
      },
      SignaturesData: {
        columns: [
          '1 2:1 "用户" 300',
          // '2 3:1 "Date / Time" 300',
          {
            index: 2,
            position: 3,
            width: 300,
            pattern: "time",
            label: "日期/时间",
          },
          // '3 5:1 "Action" 400',
          '4 1:1 "类型" 300',
        ],
        data: [],
      },
      codes: {
        infdsp: CodeTable.infdsp,
        flg: CodeTable.flg,
        atptxt: CodeTable.atptxt,
        relstaEN: CodeTable.relstaEN,
        usgtxt: CodeTable.usgtxt,
        wfetrssta: CodeTable.wfetrssta,
      },
      stmData: {
        columns: [
          '1 1 "编号" 100',
          '2 2 "服务" 100',
          // '3 3 "交易状态" 100',
          {
            index: 3,
            position: 3,
            width: 100,
            pattern: "code",
            label: "交易状态",
            code: CodeTable.wfetrssta,
          },
          '4 4 "最新更新" 120',
          '5 5 "重试" 100',
          '6 6 "文本" 200',
          '7 7 "相反文本" 200',
          // '8 8 "Target Time" auto'
          {
            index: 8,
            position: 8,
            width: "auto",
            pattern: "dateFormat",
            label: "目标时间",
          },
        ],
        data: [],
      },
      flg: [],
      atptxt: "",
      relstaEN: "",
      usgtxt: "",
    };
  },
  mounted() {
    this.loadData();
  },
  methods: {
    ...Event,
    async handleDetail(index, row) {
      const params = {
        index: row.idx,
      };
      let rtnmsg = await Api.post(
        `${this.requestPrefix}/executeDocpanDetail`,
        this.wrapper(params)
      );
      if (rtnmsg.respCode == SUCCESS) {
        this.title = row.pandsc;
        (this.centerDialogVisible = true), this.updateModel(rtnmsg.data);
        this.dialog = this.model.trnmod.trndoc.doceot[row.idx];
        this.index = row.idx;
      }
    },
    loadData() {
      // const { data } = this.$route.query
      this.model = JSON.parse(sessionStorage.getItem("InftrnpsDetail"));
      this.documentsData.data = this.model.recpan.smhstm.rows;
      this.SignaturesData.data = this.model.recpan.trsstm.rows;
      this.stmData.data = this.model.recpan.wfestm.rows;
      this.flg = this.ArrCalCode(this.SignaturesData.data, this.codes.flg, 3);
      this.atptxt = this.strCalCode(
        this.model.recpan.atp.cod,
        this.codes.atptxt
      );
      this.relstaEN = this.strCalCode(
        this.model.trn.relflg,
        this.codes.relstaEN
      );
      this.usgtxt = this.strCalCode(this.model.trn.usg, this.codes.usgtxt);
    },
    strCalCode(str, code) {
      var result = "";
      for (let i = 0; i < code.length; i++) {
        if (code[i].value === code) {
          result = code[i].label;
          continue;
        }
      }
      if (result === "") {
        return str;
      } else {
        return result;
      }
    },
    ArrCalCode(table, code, index) {
      var result = [];
      for (let i = 0; i < table.length; i++) {
        const d = table[i];
        const items = d.split("\t");
        result[i] = items[index];
        for (let j = 0; j < code.length; j++) {
          if (code[j].value === result[i]) {
            result[i] = code[j].label;
            continue;
          }
        }
      }
      return result;
    },
    exit() {
      this.$store.dispatch("TagsView/delView", this.$route);
      this.$router.history.push("/taskList");
    },
    async show(idx, row) {
      var params = {
        selDst: "recpan.smhstm",
        selIds: [idx + 1],
        selBtnId: "A",
      };
      let rtnmsg = await Api.post(
        `/business/trnrel/executeRule/recpan.smhstm`,
        this.wrapper(params)
      );
      if (rtnmsg.respCode == SUCCESS) {
        this.title = "面函";
        let viewurl = "/#/docpan/show";
        let XMLdata;
        if (row.类型 == "LET") {
          window.sessionStorage.docTXT = "";
          window.sessionStorage.docXML = rtnmsg.data.docimm_xmldocblk;
        } else if (row.pandsc == "MT799") {
          window.sessionStorage.docTXT = "";
          XMLdata = rtnmsg.data.litbenl1blk;
        }
        window.open(
          viewurl,
          "newwindow",
          "height=1200,width=800,top=100,left=100,toolbar=no,resizable=no,menubar=no,location=no, status=no"
        );
      } else {
        const h = this.$createElement;
        const msg = rtnmsg.respMsg || "请求执行失败!";
        this.$notify.error({
          title: "错误",
          message: h("p", { style: "word-break:break-all;" }, msg),
        });
      }
    },
  },
};
</script>
<style scoped>
.el-col >>> .el-divider--horizontal {
  margin-top: 10px;
}
.formItemLabel >>> .el-form-item__label {
  text-align: left;
  font-weight: bold;
}
.el-col >>> .el-divider--horizontal {
  margin-top: 5px;
}
.messageLabel >>> .el-form-item__label {
  text-align: left;
  font-weight: bold;
  font-size: 15px;
  color:#1561E0;
  width: auto!important;
}
</style>